5 Commits

8 changed files with 27 additions and 14 deletions

6
.gitignore vendored
View File

@@ -1,6 +1,6 @@
.vscode
*.DS_Store
bin
data/config.txt
data/config.bin
data/score.bin
data/config/config.txt
data/config/config.bin
data/config/score.bin

View File

@@ -3,7 +3,8 @@ executable = coffee_crisis
windows:
@echo off
if not exist bin\ (mkdir bin)
g++ -std=c++11 -Wall -O2 source/*.cpp -lmingw32 -lSDL2main -lSDL2 -o bin/$(executable).exe
g++ -std=c++11 -Wall -O2 source/*.cpp -lmingw32 -lSDL2main -lSDL2 -ffunction-sections -fdata-sections -Wl,--gc-sections -static-libstdc++ -o bin/$(executable).exe
strip -s -R .comment -R .gnu.version bin/$(executable).exe --strip-unneeded
macos:
mkdir -p bin
g++ source/*.cpp -std=c++11 -Wall -O2 -lSDL2 -o bin/$(executable)_macos

Binary file not shown.

Binary file not shown.

View File

@@ -236,7 +236,7 @@ void Instructions::checkEventHandler()
}
// Bucle para la pantalla de instrucciones
void Instructions::run(mode_e mode)
section_t Instructions::run(mode_e mode)
{
this->mode = mode;
@@ -245,4 +245,6 @@ void Instructions::run(mode_e mode)
update();
render();
}
return section;
}

View File

@@ -59,7 +59,7 @@ public:
~Instructions();
// Bucle principal
void run(mode_e mode);
section_t run(mode_e mode);
};
#endif

View File

@@ -301,7 +301,10 @@ void Title::update()
if (demo)
{
runDemoGame();
runInstructions(m_auto);
if (section.name != PROG_SECTION_QUIT)
{
runInstructions(m_auto);
}
}
else
section.name = PROG_SECTION_LOGO;
@@ -483,7 +486,10 @@ void Title::update()
if (demo)
{
runDemoGame();
runInstructions(m_auto);
if (section.name != PROG_SECTION_QUIT)
{
runInstructions(m_auto);
}
init();
demo = false;
counter = TITLE_COUNTER;
@@ -939,19 +945,23 @@ section_t Title::run()
}
// Ejecuta la parte donde se muestran las instrucciones
void Title::runInstructions(mode_e mode)
section_t Title::runInstructions(mode_e mode)
{
instructions = new Instructions(renderer, screen, asset, lang);
instructions->run(mode);
section = instructions->run(mode);
delete instructions;
return section;
}
// Ejecuta el juego en modo demo
void Title::runDemoGame()
section_t Title::runDemoGame()
{
demoGame = new Game(1, 0, renderer, screen, asset, lang, input, true, options);
demoGame->run();
section = demoGame->run();
delete demoGame;
return section;
}
// Modifica las opciones para los controles de los jugadores

View File

@@ -117,10 +117,10 @@ private:
void applyOptions();
// Ejecuta la parte donde se muestran las instrucciones
void runInstructions(mode_e mode);
section_t runInstructions(mode_e mode);
// Ejecuta el juego en modo demo
void runDemoGame();
section_t runDemoGame();
// Modifica las opciones para los controles de los jugadores
bool updatePlayerInputs(int numPlayer);