diff --git a/source/options.cpp b/source/options.cpp index 8bf39f5..7909403 100644 --- a/source/options.cpp +++ b/source/options.cpp @@ -59,9 +59,10 @@ auto loadFromFile() -> bool { init(); std::ifstream file(settings.config_file); + bool file_exists = file.is_open(); // Guardamos si el fichero existía al abrirlo // 2. Si el fichero existe, lo leemos para obtener los nombres de los mandos. - if (file.good()) { + if (file_exists) { // --- CASO: EL FICHERO EXISTE --- SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "\nReading file: %s", getFileName(settings.config_file).c_str()); std::string line; @@ -96,7 +97,7 @@ auto loadFromFile() -> bool { gamepad_manager.assignAndLinkGamepads(); // 4. Si el fichero no existía, lo creamos ahora con la configuración por defecto. - if (!file.good()) { + if (!file_exists) { SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, "Config file not found. Creating default settings."); saveToFile(); } @@ -104,6 +105,7 @@ auto loadFromFile() -> bool { return true; } + // Guarda el fichero de configuración auto saveToFile() -> bool { std::ofstream file(settings.config_file);