diff options
author | sluicebox | 2019-10-31 04:31:06 -0700 |
---|---|---|
committer | sluicebox | 2019-10-31 04:31:06 -0700 |
commit | 6444d279fe72f649050e92aaf6fafc423a413b83 (patch) | |
tree | 3c8d4c147cc4a8a5885c3ce78d6b4af8b4c4aa14 /engines/sci/engine | |
parent | cdf9954eb569060184c937a48217f7cd2a6f03f9 (diff) | |
download | scummvm-rg350-6444d279fe72f649050e92aaf6fafc423a413b83.tar.gz scummvm-rg350-6444d279fe72f649050e92aaf6fafc423a413b83.tar.bz2 scummvm-rg350-6444d279fe72f649050e92aaf6fafc423a413b83.zip |
SCI32: Fix LSL6 Hires Mac restore from launcher
Diffstat (limited to 'engines/sci/engine')
-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 cf70608acc..5ed3776415 100644 --- a/engines/sci/engine/guest_additions.cpp +++ b/engines/sci/engine/guest_additions.cpp @@ -756,6 +756,14 @@ bool GuestAdditions::restoreFromLauncher() const { return false; } + // Delayed restore should not happen in LSL6 hires until the room number is set. + // LSL6:restore tests room numbers to determine if restoring is allowed, but the + // Mac version adds a call to kGetEvent in LSL6:init before the initial call to + // LSL6:newRoom. If the room number isn't set yet then restoring isn't allowed. + if (g_sci->getGameId() == GID_LSL6HIRES && _state->variables[VAR_GLOBAL][kGlobalVarCurrentRoomNo] == NULL_REG) { + return false; + } + _restoring = true; // Any events queued up before the game restore can cause accidental |