opció de preset al service menu (params_file → params_preset)
Defaults::Settings::PARAMS_FILE passa a PARAMS_PRESET (id intern: classic/arcade/red); director concatena .txt al carregar. Nou ListOption "GAME_PRESET" al service menu amb les tres opcions localitzades (cal reinici per aplicar). Validació al parser del YAML: si el preset desat no existeix, cau al default.
This commit is contained in:
+14
-4
@@ -126,7 +126,7 @@ namespace Options {
|
||||
std::vector<int> glowing_entries = {ManageHiScoreTable::NO_ENTRY, ManageHiScoreTable::NO_ENTRY}; // Últimas posiciones de entrada en la tabla
|
||||
std::string config_file; // Ruta al fichero donde guardar la configuración y las opciones del juego
|
||||
std::string controllers_file; // Ruta al fichero con las configuraciones de los mandos
|
||||
std::string params_file = Defaults::Settings::PARAMS_FILE; // Ruta al fichero de parámetros del juego
|
||||
std::string params_preset = Defaults::Settings::PARAMS_PRESET; // Identificador del preset de parámetros (classic/arcade/red)
|
||||
|
||||
// Reinicia las últimas entradas de puntuación
|
||||
void clearLastHiScoreEntries() {
|
||||
@@ -329,11 +329,21 @@ namespace Options {
|
||||
};
|
||||
|
||||
struct PendingChanges {
|
||||
Lang::Code new_language = Lang::Code::VALENCIAN; // Idioma en espera de aplicar
|
||||
Difficulty::Code new_difficulty = Difficulty::Code::NORMAL; // Dificultad en espera de aplicar
|
||||
bool has_pending_changes = false; // Indica si hay cambios pendientes
|
||||
Lang::Code new_language = Lang::Code::VALENCIAN; // Idioma en espera de aplicar
|
||||
Difficulty::Code new_difficulty = Difficulty::Code::NORMAL; // Dificultad en espera de aplicar
|
||||
std::string new_params_preset = Defaults::Settings::PARAMS_PRESET; // Preset de parámetros en espera de aplicar (requiere reinicio)
|
||||
bool has_pending_changes = false; // Indica si hay cambios pendientes
|
||||
};
|
||||
|
||||
// Lista d'identificadors de presets de paràmetres disponibles. Cada nom es correspon
|
||||
// amb el .txt al pack (data/config/<id>.txt). L'ordre marca el cicle al service menu.
|
||||
inline const std::vector<std::string> PARAMS_PRESETS = {"classic", "arcade", "red"};
|
||||
|
||||
// Tradueix l'identificador intern a la cadena visible (localitzada).
|
||||
auto getParamsPresetDisplayName(const std::string& preset_id) -> std::string;
|
||||
// Tradueix la cadena visible al seu identificador intern.
|
||||
auto getParamsPresetIdFromDisplay(const std::string& display_name) -> std::string;
|
||||
|
||||
// --- Variables ---
|
||||
extern Window window; // Opciones de la ventana
|
||||
extern Settings settings; // Opciones del juego
|
||||
|
||||
Reference in New Issue
Block a user