forked from jaildesigner-jailgames/jaildoctors_dilemma
Cambio de paleta en los finales
This commit is contained in:
@@ -9,7 +9,7 @@ Director::Director(int argc, char *argv[])
|
|||||||
section.name = SECTION_PROG_LOGO;
|
section.name = SECTION_PROG_LOGO;
|
||||||
section.subsection = SUBSECTION_LOGO_TO_INTRO;
|
section.subsection = SUBSECTION_LOGO_TO_INTRO;
|
||||||
|
|
||||||
section.name = SECTION_PROG_GAME;
|
section.name = SECTION_PROG_ENDING2;
|
||||||
|
|
||||||
// Crea e inicializa las opciones del programa
|
// Crea e inicializa las opciones del programa
|
||||||
iniOptions();
|
iniOptions();
|
||||||
@@ -309,10 +309,15 @@ void Director::loadResources(section_t section)
|
|||||||
// Texturas
|
// Texturas
|
||||||
std::vector<std::string> textureList;
|
std::vector<std::string> textureList;
|
||||||
textureList.push_back("ending1.png");
|
textureList.push_back("ending1.png");
|
||||||
|
textureList.push_back("ending1_zxarne.png");
|
||||||
textureList.push_back("ending2.png");
|
textureList.push_back("ending2.png");
|
||||||
|
textureList.push_back("ending2_zxarne.png");
|
||||||
textureList.push_back("ending3.png");
|
textureList.push_back("ending3.png");
|
||||||
|
textureList.push_back("ending3_zxarne.png");
|
||||||
textureList.push_back("ending4.png");
|
textureList.push_back("ending4.png");
|
||||||
|
textureList.push_back("ending4_zxarne.png");
|
||||||
textureList.push_back("ending5.png");
|
textureList.push_back("ending5.png");
|
||||||
|
textureList.push_back("ending5_zxarne.png");
|
||||||
textureList.push_back("smb2.png");
|
textureList.push_back("smb2.png");
|
||||||
|
|
||||||
resource->loadTextures(textureList);
|
resource->loadTextures(textureList);
|
||||||
@@ -1248,10 +1253,15 @@ bool Director::setFileList()
|
|||||||
|
|
||||||
// Ending
|
// Ending
|
||||||
asset->add("/data/ending/ending1.png", t_bitmap);
|
asset->add("/data/ending/ending1.png", t_bitmap);
|
||||||
|
asset->add("/data/ending/ending1_zxarne.png", t_bitmap);
|
||||||
asset->add("/data/ending/ending2.png", t_bitmap);
|
asset->add("/data/ending/ending2.png", t_bitmap);
|
||||||
|
asset->add("/data/ending/ending2_zxarne.png", t_bitmap);
|
||||||
asset->add("/data/ending/ending3.png", t_bitmap);
|
asset->add("/data/ending/ending3.png", t_bitmap);
|
||||||
|
asset->add("/data/ending/ending3_zxarne.png", t_bitmap);
|
||||||
asset->add("/data/ending/ending4.png", t_bitmap);
|
asset->add("/data/ending/ending4.png", t_bitmap);
|
||||||
|
asset->add("/data/ending/ending4_zxarne.png", t_bitmap);
|
||||||
asset->add("/data/ending/ending5.png", t_bitmap);
|
asset->add("/data/ending/ending5.png", t_bitmap);
|
||||||
|
asset->add("/data/ending/ending5_zxarne.png", t_bitmap);
|
||||||
|
|
||||||
// Credits
|
// Credits
|
||||||
asset->add("/data/credits/shine.png", t_bitmap);
|
asset->add("/data/credits/shine.png", t_bitmap);
|
||||||
|
|||||||
@@ -191,15 +191,7 @@ void Ending::checkEventHandler()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_F5:
|
case SDL_SCANCODE_F5:
|
||||||
// switchPalette();
|
switchPalette();
|
||||||
break;
|
|
||||||
|
|
||||||
case SDL_SCANCODE_RIGHT:
|
|
||||||
++scene %= 5;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SDL_SCANCODE_LEFT:
|
|
||||||
--scene %= 5;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -319,13 +311,24 @@ void Ending::iniTexts()
|
|||||||
void Ending::iniPics()
|
void Ending::iniPics()
|
||||||
{
|
{
|
||||||
// Vector con las rutas y la posición
|
// Vector con las rutas y la posición
|
||||||
std::vector<textAndPos_t> texts;
|
std::vector<textAndPos_t> pics;
|
||||||
|
|
||||||
texts.push_back({"ending1.png", 48});
|
if (options->palette == p_zxspectrum)
|
||||||
texts.push_back({"ending2.png", 26});
|
{
|
||||||
texts.push_back({"ending3.png", 29});
|
pics.push_back({"ending1.png", 48});
|
||||||
texts.push_back({"ending4.png", 63});
|
pics.push_back({"ending2.png", 26});
|
||||||
texts.push_back({"ending5.png", 53});
|
pics.push_back({"ending3.png", 29});
|
||||||
|
pics.push_back({"ending4.png", 63});
|
||||||
|
pics.push_back({"ending5.png", 53});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pics.push_back({"ending1_zxarne.png", 48});
|
||||||
|
pics.push_back({"ending2_zxarne.png", 26});
|
||||||
|
pics.push_back({"ending3_zxarne.png", 29});
|
||||||
|
pics.push_back({"ending4_zxarne.png", 63});
|
||||||
|
pics.push_back({"ending5_zxarne.png", 53});
|
||||||
|
}
|
||||||
|
|
||||||
// Crea los sprites
|
// Crea los sprites
|
||||||
for (auto sp : spritePics)
|
for (auto sp : spritePics)
|
||||||
@@ -336,18 +339,18 @@ void Ending::iniPics()
|
|||||||
}
|
}
|
||||||
spritePics.clear();
|
spritePics.clear();
|
||||||
|
|
||||||
for (auto t : texts)
|
for (auto p : pics)
|
||||||
{
|
{
|
||||||
endingTexture_t sp;
|
endingTexture_t sp;
|
||||||
|
|
||||||
// Crea la texture
|
// Crea la texture
|
||||||
sp.texture = resource->getTexture(t.caption);
|
sp.texture = resource->getTexture(p.caption);
|
||||||
const int width = sp.texture->getWidth();
|
const int width = sp.texture->getWidth();
|
||||||
const int height = sp.texture->getHeight();
|
const int height = sp.texture->getHeight();
|
||||||
|
|
||||||
// Crea el sprite
|
// Crea el sprite
|
||||||
sp.sprite = new Sprite({0, 0, width, height}, sp.texture, renderer);
|
sp.sprite = new Sprite({0, 0, width, height}, sp.texture, renderer);
|
||||||
sp.sprite->setPos({(GAMECANVAS_WIDTH - width) / 2, t.pos});
|
sp.sprite->setPos({(GAMECANVAS_WIDTH - width) / 2, p.pos});
|
||||||
|
|
||||||
// Crea la coverTexture
|
// Crea la coverTexture
|
||||||
sp.coverTexture = new Texture(renderer);
|
sp.coverTexture = new Texture(renderer);
|
||||||
@@ -381,7 +384,7 @@ void Ending::iniPics()
|
|||||||
|
|
||||||
// Crea el sprite
|
// Crea el sprite
|
||||||
sp.coverSprite = new Sprite({0, 0, sp.coverTexture->getWidth(), sp.coverTexture->getHeight() - 8}, sp.coverTexture, renderer);
|
sp.coverSprite = new Sprite({0, 0, sp.coverTexture->getWidth(), sp.coverTexture->getHeight() - 8}, sp.coverTexture, renderer);
|
||||||
sp.coverSprite->setPos({(GAMECANVAS_WIDTH - sp.coverTexture->getWidth()) / 2, t.pos});
|
sp.coverSprite->setPos({(GAMECANVAS_WIDTH - sp.coverTexture->getWidth()) / 2, p.pos});
|
||||||
sp.coverSprite->setSpriteClip(0, 8, -1, -1);
|
sp.coverSprite->setSpriteClip(0, 8, -1, -1);
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
@@ -624,4 +627,29 @@ void Ending::updateMusicVolume()
|
|||||||
const int volume = 128 * step;
|
const int volume = 128 * step;
|
||||||
JA_SetVolume(volume);
|
JA_SetVolume(volume);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cambia la paleta
|
||||||
|
void Ending::switchPalette()
|
||||||
|
{
|
||||||
|
if (options->palette == p_zxspectrum)
|
||||||
|
{
|
||||||
|
options->palette = p_zxarne;
|
||||||
|
|
||||||
|
spritePics.at(0).sprite->setTexture(resource->getTexture("ending1_zxarne.png"));
|
||||||
|
spritePics.at(1).sprite->setTexture(resource->getTexture("ending2_zxarne.png"));
|
||||||
|
spritePics.at(2).sprite->setTexture(resource->getTexture("ending3_zxarne.png"));
|
||||||
|
spritePics.at(3).sprite->setTexture(resource->getTexture("ending4_zxarne.png"));
|
||||||
|
spritePics.at(4).sprite->setTexture(resource->getTexture("ending5_zxarne.png"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
options->palette = p_zxspectrum;
|
||||||
|
|
||||||
|
spritePics.at(0).sprite->setTexture(resource->getTexture("ending1.png"));
|
||||||
|
spritePics.at(1).sprite->setTexture(resource->getTexture("ending2.png"));
|
||||||
|
spritePics.at(2).sprite->setTexture(resource->getTexture("ending3.png"));
|
||||||
|
spritePics.at(3).sprite->setTexture(resource->getTexture("ending4.png"));
|
||||||
|
spritePics.at(4).sprite->setTexture(resource->getTexture("ending5.png"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -108,6 +108,9 @@ private:
|
|||||||
// Actualiza el volumen de la musica
|
// Actualiza el volumen de la musica
|
||||||
void updateMusicVolume();
|
void updateMusicVolume();
|
||||||
|
|
||||||
|
// Cambia la paleta
|
||||||
|
void switchPalette();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Ending(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
Ending(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ void Ending2::checkEventHandler()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_F5:
|
case SDL_SCANCODE_F5:
|
||||||
// switchPalette();
|
switchPalette();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -284,49 +284,63 @@ void Ending2::iniSpriteList()
|
|||||||
spriteList.clear();
|
spriteList.clear();
|
||||||
|
|
||||||
// Añade los valores
|
// Añade los valores
|
||||||
spriteList.push_back("abad");
|
spriteList.push_back("bin");
|
||||||
spriteList.push_back("abad_bell");
|
spriteList.push_back("diskette");
|
||||||
|
spriteList.push_back("bird");
|
||||||
|
spriteList.push_back("chip");
|
||||||
|
spriteList.push_back("code");
|
||||||
|
spriteList.push_back("paco");
|
||||||
|
spriteList.push_back("printer");
|
||||||
|
|
||||||
|
spriteList.push_back("bell");
|
||||||
|
spriteList.push_back("dong");
|
||||||
|
|
||||||
spriteList.push_back("amstrad_cs");
|
spriteList.push_back("amstrad_cs");
|
||||||
|
spriteList.push_back("breakout");
|
||||||
|
|
||||||
spriteList.push_back("arounder_fly");
|
spriteList.push_back("arounder_fly");
|
||||||
spriteList.push_back("arounder_stop");
|
spriteList.push_back("arounder_stop");
|
||||||
spriteList.push_back("arounder_walk");
|
spriteList.push_back("arounder_walk");
|
||||||
spriteList.push_back("arounders_door");
|
spriteList.push_back("arounders_door");
|
||||||
spriteList.push_back("arounders_machine");
|
spriteList.push_back("arounders_machine");
|
||||||
|
|
||||||
|
spriteList.push_back("abad");
|
||||||
|
spriteList.push_back("abad_bell");
|
||||||
|
|
||||||
spriteList.push_back("bat");
|
spriteList.push_back("bat");
|
||||||
spriteList.push_back("batman_bell");
|
spriteList.push_back("batman_bell");
|
||||||
spriteList.push_back("batman_fire");
|
spriteList.push_back("batman_fire");
|
||||||
spriteList.push_back("batman");
|
spriteList.push_back("batman");
|
||||||
spriteList.push_back("bell");
|
|
||||||
spriteList.push_back("bin");
|
|
||||||
spriteList.push_back("bird");
|
|
||||||
spriteList.push_back("breakout");
|
|
||||||
spriteList.push_back("bry");
|
|
||||||
spriteList.push_back("chip");
|
|
||||||
spriteList.push_back("code");
|
|
||||||
spriteList.push_back("demon");
|
spriteList.push_back("demon");
|
||||||
spriteList.push_back("heavy");
|
spriteList.push_back("heavy");
|
||||||
spriteList.push_back("dimallas");
|
spriteList.push_back("dimallas");
|
||||||
spriteList.push_back("diskette");
|
|
||||||
spriteList.push_back("dong");
|
|
||||||
spriteList.push_back("guitar");
|
spriteList.push_back("guitar");
|
||||||
|
|
||||||
spriteList.push_back("jb_alien");
|
spriteList.push_back("jb_alien");
|
||||||
spriteList.push_back("jb_human");
|
spriteList.push_back("jb_human");
|
||||||
|
|
||||||
|
spriteList.push_back("bry");
|
||||||
spriteList.push_back("jailer");
|
spriteList.push_back("jailer");
|
||||||
spriteList.push_back("jailer2");
|
spriteList.push_back("jailer2");
|
||||||
spriteList.push_back("jailer3");
|
spriteList.push_back("jailer3");
|
||||||
|
|
||||||
spriteList.push_back("lamp");
|
spriteList.push_back("lamp");
|
||||||
spriteList.push_back("macaronni_ted");
|
spriteList.push_back("macaronni_ted");
|
||||||
|
|
||||||
spriteList.push_back("matatunos");
|
spriteList.push_back("matatunos");
|
||||||
spriteList.push_back("mummy");
|
|
||||||
spriteList.push_back("paco");
|
|
||||||
spriteList.push_back("printer");
|
|
||||||
spriteList.push_back("qvoid");
|
|
||||||
spriteList.push_back("sam");
|
|
||||||
spriteList.push_back("sigmasua");
|
|
||||||
spriteList.push_back("spider");
|
|
||||||
spriteList.push_back("tuno");
|
spriteList.push_back("tuno");
|
||||||
|
|
||||||
|
spriteList.push_back("mummy");
|
||||||
|
spriteList.push_back("sam");
|
||||||
|
|
||||||
|
spriteList.push_back("qvoid");
|
||||||
|
spriteList.push_back("sigmasua");
|
||||||
|
|
||||||
spriteList.push_back("tv_panel");
|
spriteList.push_back("tv_panel");
|
||||||
spriteList.push_back("tv");
|
spriteList.push_back("tv");
|
||||||
|
|
||||||
|
spriteList.push_back("spider");
|
||||||
spriteList.push_back("shock");
|
spriteList.push_back("shock");
|
||||||
spriteList.push_back("wave");
|
spriteList.push_back("wave");
|
||||||
|
|
||||||
@@ -531,7 +545,7 @@ void Ending2::createTexts()
|
|||||||
|
|
||||||
// Crea los últimos textos
|
// Crea los últimos textos
|
||||||
// El primer texto va a continuación del ultimo spriteText
|
// El primer texto va a continuación del ultimo spriteText
|
||||||
const int start = spriteTexts.back()->getPosY() + text->getCharacterSize() * 6;
|
const int start = spriteTexts.back()->getPosY() + text->getCharacterSize() * 15;
|
||||||
list.clear();
|
list.clear();
|
||||||
list.push_back("THANK YOU");
|
list.push_back("THANK YOU");
|
||||||
list.push_back("FOR PLAYING!");
|
list.push_back("FOR PLAYING!");
|
||||||
@@ -612,4 +626,10 @@ void Ending2::updateMusicVolume()
|
|||||||
const int volume = 128 * step;
|
const int volume = 128 * step;
|
||||||
JA_SetVolume(volume);
|
JA_SetVolume(volume);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cambia la paleta
|
||||||
|
void Ending2::switchPalette()
|
||||||
|
{
|
||||||
|
options->palette = (options->palette == p_zxspectrum) ? p_zxarne : p_zxspectrum;
|
||||||
}
|
}
|
||||||
@@ -110,6 +110,9 @@ private:
|
|||||||
// Actualiza el volumen de la musica
|
// Actualiza el volumen de la musica
|
||||||
void updateMusicVolume();
|
void updateMusicVolume();
|
||||||
|
|
||||||
|
// Cambia la paleta
|
||||||
|
void switchPalette();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Ending2(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
Ending2(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options);
|
||||||
|
|||||||
Reference in New Issue
Block a user