From b8f2d96250ee31ce663ccfb6b3b8426939e79543 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 14 May 2023 10:52:50 +0100 Subject: [PATCH] Fix showing overwriting different save file warning when file name changed --- src/fios_gui.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp index a8c45e44d1..5f66345797 100644 --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -808,11 +808,12 @@ public: _file_to_saveload.name = FiosMakeSavegameName(this->filename_editbox.text.buf); const bool known_id = _load_check_data.settings.game_creation.generation_unique_id != 0; const bool different_id = known_id && _load_check_data.settings.game_creation.generation_unique_id != _settings_game.game_creation.generation_unique_id; - if (_settings_client.gui.savegame_overwrite_confirm >= 1 && different_id) { + const bool file_exists = FioCheckFileExists(_file_to_saveload.name, Subdirectory::SAVE_DIR); + if (_settings_client.gui.savegame_overwrite_confirm >= 1 && different_id && file_exists) { /* The save has a different id to the current game */ /* Show a caption box asking whether the user is sure to overwrite the save */ ShowQuery(STR_SAVELOAD_OVERWRITE_TITLE_DIFFERENT_ID, STR_SAVELOAD_OVERWRITE_WARNING_DIFFERENT_ID, this, SaveLoadWindow::SaveGameConfirmationCallback); - } else if (_settings_client.gui.savegame_overwrite_confirm >= (known_id ? 3 : 2) && FioCheckFileExists(_file_to_saveload.name, Subdirectory::SAVE_DIR)) { + } else if (_settings_client.gui.savegame_overwrite_confirm >= (known_id ? 3 : 2) && file_exists) { ShowQuery(STR_SAVELOAD_OVERWRITE_TITLE, STR_SAVELOAD_OVERWRITE_WARNING, this, SaveLoadWindow::SaveGameConfirmationCallback); } else { _switch_mode = SM_SAVE_GAME;