diff options
author | Paul Gilbert | 2018-03-21 21:05:33 -0400 |
---|---|---|
committer | Paul Gilbert | 2018-03-21 21:05:33 -0400 |
commit | 001f2434c6c09a2121fc60f5fa4bd54f6303d75f (patch) | |
tree | cd549b041cf11bbbd9bb73c54c3e5e026c6fb2bd | |
parent | a86a4e02863823da44961a9c0708eef1cdfd9f42 (diff) | |
download | scummvm-rg350-001f2434c6c09a2121fc60f5fa4bd54f6303d75f.tar.gz scummvm-rg350-001f2434c6c09a2121fc60f5fa4bd54f6303d75f.tar.bz2 scummvm-rg350-001f2434c6c09a2121fc60f5fa4bd54f6303d75f.zip |
XEEN: Don't allow GMM load/save on the main menus or intro/end cutscenes
-rw-r--r-- | engines/xeen/dialogs/dialogs_control_panel.cpp | 6 | ||||
-rw-r--r-- | engines/xeen/saves.cpp | 3 | ||||
-rw-r--r-- | engines/xeen/xeen.cpp | 4 |
3 files changed, 6 insertions, 7 deletions
diff --git a/engines/xeen/dialogs/dialogs_control_panel.cpp b/engines/xeen/dialogs/dialogs_control_panel.cpp index 177c7785f8..17c86ad5e3 100644 --- a/engines/xeen/dialogs/dialogs_control_panel.cpp +++ b/engines/xeen/dialogs/dialogs_control_panel.cpp @@ -169,9 +169,11 @@ int ControlPanel::execute() { intf.drawParty(true); if (result == 3) { - saves.loadGame(); + if (g_vm->canLoadGameStateCurrently()) + saves.loadGame(); } else if (result == 4) { - saves.saveGame(); + if (g_vm->canSaveGameStateCurrently()) + saves.saveGame(); } return result; diff --git a/engines/xeen/saves.cpp b/engines/xeen/saves.cpp index 0d4717679d..e2944d33fd 100644 --- a/engines/xeen/saves.cpp +++ b/engines/xeen/saves.cpp @@ -245,9 +245,6 @@ void SavesManager::newGame() { } bool SavesManager::loadGame() { - if (!g_vm->canLoadGameStateCurrently()) - return false; - GUI::SaveLoadChooser *dialog = new GUI::SaveLoadChooser(_("Load game:"), _("Load"), false); int slotNum = dialog->runModalWithCurrentTarget(); delete dialog; diff --git a/engines/xeen/xeen.cpp b/engines/xeen/xeen.cpp index 1c5fe4ac9e..eeace13c08 100644 --- a/engines/xeen/xeen.cpp +++ b/engines/xeen/xeen.cpp @@ -183,11 +183,11 @@ Common::Error XeenEngine::loadGameState(int slot) { } bool XeenEngine::canLoadGameStateCurrently() { - return _mode != MODE_COMBAT; + return _mode != MODE_COMBAT && _mode != MODE_STARTUP; } bool XeenEngine::canSaveGameStateCurrently() { - return _mode != MODE_COMBAT; + return _mode != MODE_COMBAT && _mode != MODE_STARTUP; } void XeenEngine::playGame() { |