Ya cambia la paleta de color de casi toda la habitación. Faltan los enemigos
This commit is contained in:
@@ -9,7 +9,7 @@ Director::Director(std::string path)
|
||||
section.name = SECTION_PROG_LOGO;
|
||||
section.subsection = SUBSECTION_LOGO_TO_INTRO;
|
||||
|
||||
section.name = SECTION_PROG_TITLE;
|
||||
section.name = SECTION_PROG_GAME;
|
||||
|
||||
// Crea el objeto que controla los ficheros de recursos
|
||||
asset = new Asset(path.substr(0, path.find_last_of("\\/")));
|
||||
|
||||
@@ -154,14 +154,7 @@ void Game::checkEventHandler()
|
||||
break;
|
||||
|
||||
case SDL_SCANCODE_F5:
|
||||
if (options->palette == p_zxspectrum)
|
||||
{
|
||||
options->palette = p_zxarne;
|
||||
}
|
||||
else
|
||||
{
|
||||
options->palette = p_zxspectrum;
|
||||
}
|
||||
switchPalette();
|
||||
reLoadTextures();
|
||||
break;
|
||||
|
||||
@@ -411,6 +404,23 @@ void Game::reLoadTextures()
|
||||
text->reLoadTexture();
|
||||
}
|
||||
|
||||
// Cambia la paleta
|
||||
void Game::switchPalette()
|
||||
{
|
||||
// Modifica la variable
|
||||
if (options->palette == p_zxspectrum)
|
||||
{
|
||||
options->palette = p_zxarne;
|
||||
}
|
||||
else
|
||||
{
|
||||
options->palette = p_zxspectrum;
|
||||
}
|
||||
|
||||
room->reLoadPalette();
|
||||
player->reLoadPalette();
|
||||
}
|
||||
|
||||
// Establece la pantalla en negro
|
||||
void Game::setBlackScreen()
|
||||
{
|
||||
|
||||
@@ -95,6 +95,9 @@ private:
|
||||
// Recarga todas las texturas
|
||||
void reLoadTextures();
|
||||
|
||||
// Cambia la paleta
|
||||
void switchPalette();
|
||||
|
||||
// Establece la pantalla en negro
|
||||
void setBlackScreen();
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@ Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Asset *asse
|
||||
mapWidth = 32;
|
||||
mapHeight = 16;
|
||||
paused = false;
|
||||
itemColor1 = stringToColor(options->palette, "magenta");
|
||||
itemColor2 = stringToColor(options->palette, "yellow");
|
||||
itemColor1 = "magenta";
|
||||
itemColor2 = "yellow";
|
||||
autoSurfaceDirection = 1;
|
||||
counter = 0;
|
||||
|
||||
@@ -57,7 +57,7 @@ Room::Room(std::string file, SDL_Renderer *renderer, Screen *screen, Asset *asse
|
||||
fillMapTexture();
|
||||
|
||||
// Establece el color del borde
|
||||
screen->setBorderColor(borderColor);
|
||||
screen->setBorderColor(stringToColor(options->palette, borderColor));
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -130,8 +130,8 @@ bool Room::loadMapFile(std::string file_path)
|
||||
item.asset = asset;
|
||||
item.renderer = renderer;
|
||||
item.counter = 0;
|
||||
item.color1 = itemColor1;
|
||||
item.color2 = itemColor2;
|
||||
item.color1 = stringToColor(options->palette, itemColor1);
|
||||
item.color2 = stringToColor(options->palette, itemColor2);
|
||||
|
||||
do
|
||||
{
|
||||
@@ -249,22 +249,22 @@ bool Room::setVars(std::string var, std::string value)
|
||||
|
||||
else if (var == "bgColor")
|
||||
{
|
||||
bgColor = stringToColor(options->palette, value);
|
||||
bgColor = value;
|
||||
}
|
||||
|
||||
else if (var == "border")
|
||||
{
|
||||
borderColor = stringToColor(options->palette, value);
|
||||
borderColor = value;
|
||||
}
|
||||
|
||||
else if (var == "itemColor1")
|
||||
{
|
||||
itemColor1 = stringToColor(options->palette, value);
|
||||
itemColor1 = value;
|
||||
}
|
||||
|
||||
else if (var == "itemColor2")
|
||||
{
|
||||
itemColor2 = stringToColor(options->palette, value);
|
||||
itemColor2 = value;
|
||||
}
|
||||
|
||||
else if (var == "tileset")
|
||||
@@ -464,13 +464,13 @@ std::string Room::getName()
|
||||
// Devuelve el color de la habitación
|
||||
color_t Room::getBGColor()
|
||||
{
|
||||
return bgColor;
|
||||
return stringToColor(options->palette, bgColor);
|
||||
}
|
||||
|
||||
// Devuelve el color del borde
|
||||
color_t Room::getBorderColor()
|
||||
{
|
||||
return borderColor;
|
||||
return stringToColor(options->palette, borderColor);
|
||||
}
|
||||
|
||||
// Crea la textura con el mapeado de la habitación
|
||||
@@ -794,8 +794,14 @@ void Room::reLoadTexture()
|
||||
// Recarga la paleta
|
||||
void Room::reLoadPalette()
|
||||
{
|
||||
itemColor1 = stringToColor(options->palette, "magenta");
|
||||
itemColor2 = stringToColor(options->palette, "yellow");
|
||||
// Cambia el color de los items
|
||||
for (auto item:items)
|
||||
{
|
||||
item->setColors(stringToColor(options->palette, itemColor1), stringToColor(options->palette, itemColor2));
|
||||
}
|
||||
|
||||
// Establece el color del borde
|
||||
screen->setBorderColor(stringToColor(options->palette, borderColor));
|
||||
}
|
||||
|
||||
// Obten el tamaño del tile
|
||||
|
||||
@@ -52,10 +52,10 @@ private:
|
||||
|
||||
// Variables
|
||||
std::string name; // Nombre de la habitación
|
||||
color_t bgColor; // Color de fondo de la habitación
|
||||
color_t borderColor; // Color del borde de la pantalla
|
||||
color_t itemColor1; // Color 1 para los items de la habitación
|
||||
color_t itemColor2; // Color 2 para los items de la habitación
|
||||
std::string bgColor; // Color de fondo de la habitación
|
||||
std::string borderColor; // Color del borde de la pantalla
|
||||
std::string itemColor1; // Color 1 para los items de la habitación
|
||||
std::string itemColor2; // Color 2 para los items de la habitación
|
||||
std::string roomUp; // Identificador de la habitación que se encuentra arriba
|
||||
std::string roomDown; // Identificador de la habitación que se encuentra abajp
|
||||
std::string roomLeft; // Identificador de la habitación que se encuentra a la izquierda
|
||||
|
||||
Reference in New Issue
Block a user