forked from jaildesigner-jailgames/jaildoctors_dilemma
Implementado el cambio de paleta durante el juego
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_CREDITS;
|
||||
section.name = SECTION_PROG_LOGO;
|
||||
|
||||
// Crea el objeto que controla los ficheros de recursos
|
||||
asset = new Asset(path.substr(0, path.find_last_of("\\/")));
|
||||
@@ -70,6 +70,7 @@ bool Director::loadConfig()
|
||||
options->keepAspect = true;
|
||||
options->borderEnabled = true;
|
||||
options->borderSize = 0.1f;
|
||||
options->palette = p_zxspectrum;
|
||||
|
||||
// Indicador de éxito en la carga
|
||||
bool success = true;
|
||||
@@ -167,6 +168,7 @@ bool Director::saveConfig()
|
||||
file << "keepAspect=" + boolToString(options->keepAspect) + "\n";
|
||||
file << "borderEnabled=" + boolToString(options->borderEnabled) + "\n";
|
||||
file << "borderSize=" + std::to_string(options->borderSize) + "\n";
|
||||
file << "palette=" + std::to_string(options->palette) + "\n";
|
||||
|
||||
// Cierra el fichero
|
||||
file.close();
|
||||
@@ -246,6 +248,21 @@ bool Director::setOptions(options_t *options, std::string var, std::string value
|
||||
}
|
||||
}
|
||||
|
||||
else if (var == "palette")
|
||||
{
|
||||
const int pal = std::stoi(value);
|
||||
|
||||
if (pal == 0)
|
||||
{
|
||||
options->palette = p_zxspectrum;
|
||||
}
|
||||
|
||||
else if (pal == 1)
|
||||
{
|
||||
options->palette = p_zxarne;
|
||||
}
|
||||
}
|
||||
|
||||
else if (var == "")
|
||||
{
|
||||
}
|
||||
@@ -623,6 +640,8 @@ bool Director::setFileList()
|
||||
// Intro
|
||||
asset->add("/data/title/loading_screen_bn.png", t_bitmap);
|
||||
asset->add("/data/title/loading_screen_color.png", t_bitmap);
|
||||
asset->add("/data/title/loading_screen_bn_zxarne.png", t_bitmap);
|
||||
asset->add("/data/title/loading_screen_color_zxarne.png", t_bitmap);
|
||||
|
||||
// Credits
|
||||
asset->add("/data/credits/shine.png", t_bitmap);
|
||||
@@ -652,7 +671,7 @@ void Director::setSection(section_t section)
|
||||
// Ejecuta la seccion de juego con el logo
|
||||
void Director::runLogo()
|
||||
{
|
||||
logo = new Logo(renderer, screen, asset, section.subsection);
|
||||
logo = new Logo(renderer, screen, asset, options, section.subsection);
|
||||
setSection(logo->run());
|
||||
delete logo;
|
||||
}
|
||||
@@ -660,7 +679,7 @@ void Director::runLogo()
|
||||
// Ejecuta la seccion de juego de la introducción
|
||||
void Director::runIntro()
|
||||
{
|
||||
intro = new Intro(renderer, screen, asset);
|
||||
intro = new Intro(renderer, screen, asset, options);
|
||||
setSection(intro->run());
|
||||
delete intro;
|
||||
}
|
||||
@@ -672,7 +691,7 @@ void Director::runTitle()
|
||||
{
|
||||
JA_PlayMusic(music);
|
||||
}
|
||||
title = new Title(renderer, screen, asset);
|
||||
title = new Title(renderer, screen, asset, options);
|
||||
setSection(title->run());
|
||||
delete title;
|
||||
}
|
||||
@@ -680,7 +699,7 @@ void Director::runTitle()
|
||||
// Ejecuta la seccion de los creditos del juego
|
||||
void Director::runCredits()
|
||||
{
|
||||
credits = new Credits(renderer, screen, asset);
|
||||
credits = new Credits(renderer, screen, asset, options);
|
||||
setSection(credits->run());
|
||||
delete credits;
|
||||
}
|
||||
@@ -688,7 +707,7 @@ void Director::runCredits()
|
||||
// Ejecuta la seccion de la demo, donde se ven pantallas del juego
|
||||
void Director::runDemo()
|
||||
{
|
||||
demo = new Demo(renderer, screen, asset, debug);
|
||||
demo = new Demo(renderer, screen, asset, options, debug);
|
||||
setSection(demo->run());
|
||||
delete demo;
|
||||
}
|
||||
@@ -697,7 +716,7 @@ void Director::runDemo()
|
||||
void Director::runGame()
|
||||
{
|
||||
JA_StopMusic();
|
||||
game = new Game(renderer, screen, asset, input, debug);
|
||||
game = new Game(renderer, screen, asset, options, input, debug);
|
||||
setSection(game->run());
|
||||
delete game;
|
||||
}
|
||||
@@ -712,18 +731,23 @@ void Director::run()
|
||||
case SECTION_PROG_LOGO:
|
||||
runLogo();
|
||||
break;
|
||||
|
||||
case SECTION_PROG_INTRO:
|
||||
runIntro();
|
||||
break;
|
||||
|
||||
case SECTION_PROG_TITLE:
|
||||
runTitle();
|
||||
break;
|
||||
|
||||
case SECTION_PROG_CREDITS:
|
||||
runCredits();
|
||||
break;
|
||||
|
||||
case SECTION_PROG_DEMO:
|
||||
runDemo();
|
||||
break;
|
||||
|
||||
case SECTION_PROG_GAME:
|
||||
runGame();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user