ServiceMenu: afegida opció per a canviar el idioma

This commit is contained in:
2025-06-12 13:50:05 +02:00
parent e6f4e27fbd
commit f9b576ea25
14 changed files with 307 additions and 109 deletions

View File

@@ -97,6 +97,14 @@ struct GamepadOptions
buttons{SDL_GAMEPAD_BUTTON_WEST, SDL_GAMEPAD_BUTTON_NORTH, SDL_GAMEPAD_BUTTON_EAST, SDL_GAMEPAD_BUTTON_START, SDL_GAMEPAD_BUTTON_BACK} {}
};
// --- Opciones pendientes de aplicar ---
struct PendingChanges
{
lang::Code new_language; // Idioma en espera de aplicar
GameDifficulty new_difficulty; // Dificultad en espera de aplicar
bool has_pending_changes = false; // Indica si hay cambios pendientes
};
// --- Opciones generales del programa ---
struct Options
{
@@ -105,6 +113,7 @@ struct Options
VideoOptions video; // Opciones de vídeo
AudioOptions audio; // Opciones de audio
std::vector<GamepadOptions> controllers; // Opciones de mando para cada jugador
PendingChanges pending_changes; // Opciones que se aplican al cerrar
};
// --- Variables globales ---
@@ -117,4 +126,5 @@ bool saveOptionsFile(std::string file_path); // Guarda el fichero de configuraci
void setKeyboardToPlayer(int player_id); // Asigna el teclado al jugador
void swapOptionsKeyboard(); // Intercambia el teclado de jugador
void swapOptionsControllers(); // Intercambia los jugadores asignados a los dos primeros mandos
int getPlayerWhoUsesKeyboard(); // Averigua quién está usando el teclado
int getPlayerWhoUsesKeyboard(); // Averigua quién está usando el teclado
void applyPendingChanges(); // Aplica los cambios pendientes copiando los valores a sus variables