aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/guest_additions.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp
index 6d7bbea7d4..eee26aca3c 100644
--- a/engines/sci/engine/guest_additions.cpp
+++ b/engines/sci/engine/guest_additions.cpp
@@ -740,6 +740,14 @@ bool GuestAdditions::restoreFromLauncher() const {
// which will automatically return the `_delayedRestoreGameId` instead
// of prompting the user for a save game
invokeSelector(g_sci->getGameObject(), SELECTOR(restore));
+
+ // The normal save game system resets _delayedRestoreGameId with a
+ // call to `EngineState::reset`, but RAMA uses a custom save game
+ // system which does not reset the engine, so we need to clear the
+ // ID here or the engine will just try to restore the game forever
+ if (g_sci->getGameId() == GID_RAMA) {
+ _state->_delayedRestoreGameId = -1;
+ }
}
_restoring = false;