diff options
Diffstat (limited to 'engines/tsage')
-rw-r--r-- | engines/tsage/blue_force/blueforce_logic.cpp | 6 | ||||
-rw-r--r-- | engines/tsage/ringworld/ringworld_logic.cpp | 7 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_logic.cpp | 6 |
3 files changed, 13 insertions, 6 deletions
diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp index 22299c1bf1..9888f4dd91 100644 --- a/engines/tsage/blue_force/blueforce_logic.cpp +++ b/engines/tsage/blue_force/blueforce_logic.cpp @@ -255,14 +255,16 @@ Scene *BlueForceGame::createScene(int sceneNumber) { * Returns true if it is currently okay to restore a game */ bool BlueForceGame::canLoadGameStateCurrently() { - return true; + // Don't allow a game to be loaded if a dialog is active + return g_globals->_gfxManagers.size() == 1; } /** * Returns true if it is currently okay to save the game */ bool BlueForceGame::canSaveGameStateCurrently() { - return true; + // Don't allow a game to be saved if a dialog is active + return g_globals->_gfxManagers.size() == 1; } void BlueForceGame::rightClick() { diff --git a/engines/tsage/ringworld/ringworld_logic.cpp b/engines/tsage/ringworld/ringworld_logic.cpp index ad67b66f69..c87b95e0b8 100644 --- a/engines/tsage/ringworld/ringworld_logic.cpp +++ b/engines/tsage/ringworld/ringworld_logic.cpp @@ -196,14 +196,17 @@ Scene *RingworldGame::createScene(int sceneNumber) { * Returns true if it is currently okay to restore a game */ bool RingworldGame::canLoadGameStateCurrently() { - return !g_globals->getFlag(50); + // Don't allow a game to be loaded if a dialog is active + return !g_globals->getFlag(50) && (g_globals->_gfxManagers.size() == 1); + } /** * Returns true if it is currently okay to save the game */ bool RingworldGame::canSaveGameStateCurrently() { - return !g_globals->getFlag(50); + // Don't allow a game to be saved if a dialog is active + return !g_globals->getFlag(50) && (g_globals->_gfxManagers.size() == 1); } /*--------------------------------------------------------------------------*/ diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp index 3854a37384..ccedb3a18a 100644 --- a/engines/tsage/ringworld2/ringworld2_logic.cpp +++ b/engines/tsage/ringworld2/ringworld2_logic.cpp @@ -203,14 +203,16 @@ Scene *Ringworld2Game::createScene(int sceneNumber) { * Returns true if it is currently okay to restore a game */ bool Ringworld2Game::canLoadGameStateCurrently() { - return true; + // Don't allow a game to be loaded if a dialog is active + return g_globals->_gfxManagers.size() == 1; } /** * Returns true if it is currently okay to save the game */ bool Ringworld2Game::canSaveGameStateCurrently() { - return true; + // Don't allow a game to be saved if a dialog is active + return g_globals->_gfxManagers.size() == 1; } /*--------------------------------------------------------------------------*/ |