- Ya se puede usar el mando en todas las secciones del juego

- Definido flag para compilar para consola de juegos (GAME_CONSOLE)
This commit is contained in:
2023-02-10 20:08:06 +01:00
parent 76e928e21d
commit 3be9d4459c
19 changed files with 393 additions and 354 deletions

View File

@@ -43,8 +43,12 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *
letters[0].enabled = true;
marqueeSpeed = 3;
// Crea el cartel de PRESS ENTER
// Crea el cartel de PRESS ENTER
#ifdef GAME_CONSOLE
const std::string caption = "PRESS START TO PLAY";
#else
const std::string caption = "PRESS ENTER TO PLAY";
#endif
const color_t textColor = stringToColor(options->palette, "white");
const color_t strokeColor = stringToColor(options->palette, "bright_blue");
@@ -84,71 +88,63 @@ void Title::checkEventHandler()
section->name = SECTION_PROG_QUIT;
break;
}
}
}
// Comprueba las teclas que se han pulsado
if ((eventHandler->type == SDL_KEYDOWN && eventHandler->key.repeat == 0) || (eventHandler->type == SDL_JOYBUTTONDOWN))
{
if (eventHandler->type == SDL_JOYBUTTONDOWN)
{
section->name = SECTION_PROG_GAME;
section->subsection = 0;
}
// Comprueba las entradas
void Title::checkInput()
{
switch (eventHandler->key.keysym.scancode)
{
case SDL_SCANCODE_ESCAPE:
section->name = SECTION_PROG_QUIT;
break;
if (input->checkInput(input_exit, REPEAT_FALSE))
{
section->name = SECTION_PROG_QUIT;
}
case SDL_SCANCODE_RETURN:
section->name = SECTION_PROG_GAME;
section->subsection = 0;
break;
else if (input->checkInput(input_toggle_border, REPEAT_FALSE))
{
screen->switchBorder();
resource->reLoadTextures();
}
case SDL_SCANCODE_B:
screen->switchBorder();
resource->reLoadTextures();
break;
else if (input->checkInput(input_video_mode, REPEAT_FALSE))
{
screen->switchVideoMode();
resource->reLoadTextures();
}
case SDL_SCANCODE_F:
screen->switchVideoMode();
resource->reLoadTextures();
break;
else if (input->checkInput(input_window_size_1, REPEAT_FALSE))
{
screen->setWindowSize(1);
resource->reLoadTextures();
}
case SDL_SCANCODE_F1:
screen->setWindowSize(1);
resource->reLoadTextures();
break;
else if (input->checkInput(input_window_size_2, REPEAT_FALSE))
{
screen->setWindowSize(2);
resource->reLoadTextures();
}
case SDL_SCANCODE_F2:
screen->setWindowSize(2);
resource->reLoadTextures();
break;
else if (input->checkInput(input_window_size_3, REPEAT_FALSE))
{
screen->setWindowSize(3);
resource->reLoadTextures();
}
case SDL_SCANCODE_F3:
screen->setWindowSize(3);
resource->reLoadTextures();
break;
else if (input->checkInput(input_window_size_4, REPEAT_FALSE))
{
screen->setWindowSize(4);
resource->reLoadTextures();
}
case SDL_SCANCODE_F4:
screen->setWindowSize(4);
resource->reLoadTextures();
break;
else if (input->checkInput(input_swap_palette, REPEAT_FALSE))
{
switchPalette();
}
case SDL_SCANCODE_F5:
switchPalette();
break;
#ifdef DEBUG
case SDL_SCANCODE_F6:
screen->showNotification("MAMA MIRA! SIN MANOS!");
break;
#endif
default:
break;
}
}
else if (input->checkInput(input_accept, REPEAT_FALSE) || input->checkInput(input_pause, REPEAT_FALSE))
{
section->name = SECTION_PROG_GAME;
section->subsection = 0;
}
}
@@ -191,14 +187,17 @@ void Title::renderMarquee()
// Actualiza las variables
void Title::update()
{
// Comprueba el manejador de eventos
checkEventHandler();
// Comprueba que la diferencia de ticks sea mayor a la velocidad del juego
if (SDL_GetTicks() - ticks > ticksSpeed)
{
// Actualiza el contador de ticks
ticks = SDL_GetTicks();
// Comprueba el manejador de eventos
checkEventHandler();
// Comprueba las entradas
checkInput();
// Incrementa el contador
counter++;