diff options
-rw-r--r-- | engines/sci/engine/guest_additions.cpp | 8 |
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; |