diff --git a/source/defaults.h b/source/defaults.h index b2c9407..9035f58 100644 --- a/source/defaults.h +++ b/source/defaults.h @@ -235,5 +235,6 @@ constexpr int AUDIO_VOLUME = 100; // Settings constexpr bool SETTINGS_AUTOFIRE = true; constexpr bool SETTINGS_SHUTDOWN_ENABLED = false; +constexpr const char* PARAMS_FILE = "param_320x256.txt"; } // namespace Options } // namespace GameDefaults \ No newline at end of file diff --git a/source/director.cpp b/source/director.cpp index 77b7457..055f198 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -124,9 +124,9 @@ void Director::close() { void Director::loadParams() { // Carga los parametros para configurar el juego #ifdef ANBERNIC - const std::string paramFilePath = asset->get("param_320x240.txt"); + const std::string PARAM_FILE_PATH = Asset::get()->get("param_320x240.txt"); #else - const std::string PARAM_FILE_PATH = overrides.param_file == "--320x240" ? Asset::get()->get("param_320x240.txt") : Asset::get()->get("param_red.txt"); + const std::string PARAM_FILE_PATH = Asset::get()->get(Options::settings.params_file); #endif loadParamsFromFile(PARAM_FILE_PATH); } diff --git a/source/options.cpp b/source/options.cpp index cd90ba6..28e566d 100644 --- a/source/options.cpp +++ b/source/options.cpp @@ -134,6 +134,7 @@ auto saveToFile() -> bool { file << "game.difficulty=" << static_cast(settings.difficulty) << "\n"; file << "game.autofire=" << boolToString(settings.autofire) << "\n"; file << "game.shutdown_enabled=" << boolToString(settings.shutdown_enabled) << "\n"; + file << "game.params_file=" << settings.params_file << "\n"; // Opciones de mandos file << "\n## CONTROLLERS\n"; @@ -208,6 +209,7 @@ auto set(const std::string& var, const std::string& value) -> bool { }}, {"game.autofire", [](const auto& val) { settings.autofire = stringToBool(val); }}, {"game.shutdown_enabled", [](const auto& val) { settings.shutdown_enabled = stringToBool(val); }}, + {"game.params_file", [](const auto& val) { settings.params_file = val; }}, // Teclado {"keyboard.player", [](const auto& val) { keyboard.player_id = static_cast(stoi(val)); }}}; diff --git a/source/options.h b/source/options.h index 940eab3..587506f 100644 --- a/source/options.h +++ b/source/options.h @@ -66,6 +66,7 @@ struct Settings { std::vector 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 = GameDefaults::Options::PARAMS_FILE; // Ruta al fichero de parámetros del juego // Reinicia las últimas entradas de puntuación void clearLastHiScoreEntries() {