La targeta d'ajuda ja ix amb els mandos i s'ha de deixar apretat el botó

This commit is contained in:
2024-10-03 17:37:33 +02:00
parent 71bd3bed52
commit 938e4ad011
9 changed files with 209 additions and 156 deletions

View File

@@ -19,6 +19,7 @@
#include "asset.h" // for Asset, assetType #include "asset.h" // for Asset, assetType
#include "dbgtxt.h" // for dbg_init #include "dbgtxt.h" // for dbg_init
#include "game.h" // for Game, GAME_MODE_DEMO_OFF, GAME_... #include "game.h" // for Game, GAME_MODE_DEMO_OFF, GAME_...
#include "global_inputs.h"
#include "hiscore_table.h" // for HiScoreTable #include "hiscore_table.h" // for HiScoreTable
#include "input.h" // for inputs_e, Input #include "input.h" // for inputs_e, Input
#include "instructions.h" // for Instructions #include "instructions.h" // for Instructions
@@ -106,6 +107,8 @@ Director::Director(int argc, char *argv[])
// Carga las musicas del juego // Carga las musicas del juego
loadMusics(); loadMusics();
globalInputs::init();
} }
Director::~Director() Director::~Director()

View File

@@ -16,7 +16,7 @@
#include "enemy_formations.h" // for stage_t, EnemyFormations, enemyIni... #include "enemy_formations.h" // for stage_t, EnemyFormations, enemyIni...
#include "explosions.h" // for Explosions #include "explosions.h" // for Explosions
#include "fade.h" // for Fade, FADE_RANDOM_SQUARE, FADE_VEN... #include "fade.h" // for Fade, FADE_RANDOM_SQUARE, FADE_VEN...
#include "global_inputs.h" // for checkGlobalInputs #include "global_inputs.h" // for globalInputs::check
#include "input.h" // for inputs_e, Input, INPUT_DO_NOT_ALLO... #include "input.h" // for inputs_e, Input, INPUT_DO_NOT_ALLO...
#include "item.h" // for Item, ITEM_COFFEE_MACHINE, ITEM_CLOCK #include "item.h" // for Item, ITEM_COFFEE_MACHINE, ITEM_CLOCK
#include "jail_audio.h" // for JA_PlaySound, JA_DeleteSound, JA_L... #include "jail_audio.h" // for JA_PlaySound, JA_DeleteSound, JA_L...
@@ -2306,7 +2306,7 @@ void Game::checkInput()
screen->checkInput(); screen->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
checkGlobalInputs(); globalInputs::check();
} }
// Pinta diferentes mensajes en la pantalla // Pinta diferentes mensajes en la pantalla

View File

@@ -9,6 +9,22 @@
#include "section.h" // for options_e, name, name_e, options #include "section.h" // for options_e, name, name_e, options
#include "utils.h" // for op_audio_t, options_t, op_music_t, boolToOnOff #include "utils.h" // for op_audio_t, options_t, op_music_t, boolToOnOff
namespace globalInputs
{
// Variables
std::vector<int> servicePressedCounter;
// Inicializa variables
void init()
{
const int numInputs = Input::get()->getNumControllers() + 1;
servicePressedCounter.reserve(numInputs);
for (int i = 0; i < numInputs; ++i)
{
servicePressedCounter.push_back(0);
}
}
// Termina // Termina
void quit(section::options_e code) void quit(section::options_e code)
{ {
@@ -40,7 +56,7 @@ void switchAudio()
} }
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
void checkGlobalInputs() void check()
{ {
// Comprueba si se sale con el teclado // Comprueba si se sale con el teclado
if (Input::get()->checkInput(input_exit, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_KEYBOARD)) if (Input::get()->checkInput(input_exit, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_KEYBOARD))
@@ -62,11 +78,21 @@ void checkGlobalInputs()
return; return;
} }
else if (Input::get()->checkInput(input_service, INPUT_DO_NOT_ALLOW_REPEAT, INPUT_USE_KEYBOARD)) else if (Input::get()->checkInput(input_service, INPUT_ALLOW_REPEAT, INPUT_USE_KEYBOARD))
{
servicePressedCounter[0]++;
if (servicePressedCounter[0] == 3000)
{ {
OnScreenHelp::get()->toggleState(); OnScreenHelp::get()->toggleState();
servicePressedCounter[0] = 0;
}
return; return;
} }
else
{
servicePressedCounter[0] = 0;
}
for (int i = 0; i < Input::get()->getNumControllers(); ++i) for (int i = 0; i < Input::get()->getNumControllers(); ++i)
{ {
@@ -90,5 +116,22 @@ void checkGlobalInputs()
switchAudio(); switchAudio();
return; return;
} }
if (Input::get()->checkInput(input_service, INPUT_ALLOW_REPEAT, INPUT_USE_GAMECONTROLLER, i))
{
servicePressedCounter[i + 1]++;
if (servicePressedCounter[i + 1] == 3000)
{
OnScreenHelp::get()->toggleState();
servicePressedCounter[i + 1] = 0;
}
return;
}
else
{
servicePressedCounter[i + 1] = 0;
}
}
} }
} }

View File

@@ -1,2 +1,9 @@
namespace globalInputs
{
// Inicializa variables
void init();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
void checkGlobalInputs(); void check();
}

View File

@@ -8,7 +8,7 @@
#include "asset.h" // for Asset #include "asset.h" // for Asset
#include "background.h" // for Background #include "background.h" // for Background
#include "fade.h" // for Fade, FADE_IN, FADE_OUT, FADE_RANDOM... #include "fade.h" // for Fade, FADE_IN, FADE_OUT, FADE_RANDOM...
#include "global_inputs.h" // for checkGlobalInputs #include "global_inputs.h" // for globalInputs::check
#include "input.h" // for Input #include "input.h" // for Input
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state #include "jail_audio.h" // for JA_GetMusicState, JA_Music_state
#include "lang.h" // for getText #include "lang.h" // for getText
@@ -220,7 +220,7 @@ void HiScoreTable::checkInput()
screen->checkInput(); screen->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
checkGlobalInputs(); globalInputs::check();
} }
// Bucle para la pantalla de instrucciones // Bucle para la pantalla de instrucciones

View File

@@ -7,7 +7,7 @@
#include <string> // for basic_string #include <string> // for basic_string
#include "asset.h" // for Asset #include "asset.h" // for Asset
#include "fade.h" // for Fade, FADE_FULLSCREEN, FADE_IN #include "fade.h" // for Fade, FADE_FULLSCREEN, FADE_IN
#include "global_inputs.h" // for checkGlobalInputs #include "global_inputs.h" // for globalInputs::check
#include "input.h" // for Input #include "input.h" // for Input
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state #include "jail_audio.h" // for JA_GetMusicState, JA_Music_state
#include "lang.h" // for getText #include "lang.h" // for getText
@@ -353,7 +353,7 @@ void Instructions::checkInput()
screen->checkInput(); screen->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
checkGlobalInputs(); globalInputs::check();
} }
// Bucle para la pantalla de instrucciones // Bucle para la pantalla de instrucciones

View File

@@ -4,7 +4,7 @@
#include <SDL2/SDL_video.h> // for SDL_WINDOWEVENT_SIZE_CHANGED #include <SDL2/SDL_video.h> // for SDL_WINDOWEVENT_SIZE_CHANGED
#include <string> // for basic_string #include <string> // for basic_string
#include "asset.h" // for Asset #include "asset.h" // for Asset
#include "global_inputs.h" // for checkGlobalInputs #include "global_inputs.h" // for globalInputs::check
#include "input.h" // for Input #include "input.h" // for Input
#include "jail_audio.h" // for JA_StopMusic, JA_PlayMusic #include "jail_audio.h" // for JA_StopMusic, JA_PlayMusic
#include "lang.h" // for getText #include "lang.h" // for getText
@@ -221,7 +221,7 @@ void Intro::checkInput()
screen->checkInput(); screen->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
checkGlobalInputs(); globalInputs::check();
} }
// Actualiza las escenas de la intro // Actualiza las escenas de la intro

View File

@@ -4,7 +4,7 @@
#include <SDL2/SDL_video.h> // for SDL_WINDOWEVENT_SIZE_CHANGED #include <SDL2/SDL_video.h> // for SDL_WINDOWEVENT_SIZE_CHANGED
#include <string> // for basic_string #include <string> // for basic_string
#include "asset.h" // for Asset #include "asset.h" // for Asset
#include "global_inputs.h" // for checkGlobalInputs #include "global_inputs.h" // for globalInputs::check
#include "input.h" // for Input #include "input.h" // for Input
#include "jail_audio.h" // for JA_StopMusic #include "jail_audio.h" // for JA_StopMusic
#include "param.h" // for param #include "param.h" // for param
@@ -126,7 +126,7 @@ void Logo::checkInput()
screen->checkInput(); screen->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
checkGlobalInputs(); globalInputs::check();
} }
// Gestiona el logo de JAILGAME // Gestiona el logo de JAILGAME

View File

@@ -8,7 +8,7 @@
#include "define_buttons.h" // for DefineButtons #include "define_buttons.h" // for DefineButtons
#include "fade.h" // for Fade, FADE_RANDOM_SQUARE #include "fade.h" // for Fade, FADE_RANDOM_SQUARE
#include "game_logo.h" // for GameLogo #include "game_logo.h" // for GameLogo
#include "global_inputs.h" // for checkGlobalInputs #include "global_inputs.h" // for globalInputs::check
#include "input.h" // for Input, inputs_e, INPUT_DO_NOT_ALLOW_RE... #include "input.h" // for Input, inputs_e, INPUT_DO_NOT_ALLOW_RE...
#include "jail_audio.h" // for JA_GetMusicState, JA_Music_state, JA_P... #include "jail_audio.h" // for JA_GetMusicState, JA_Music_state, JA_P...
#include "lang.h" // for getText #include "lang.h" // for getText
@@ -318,7 +318,7 @@ void Title::checkInput()
defineButtons->checkInput(); defineButtons->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego // Comprueba los inputs que se pueden introducir en cualquier sección del juego
checkGlobalInputs(); globalInputs::check();
} }
// Bucle para el titulo del juego // Bucle para el titulo del juego