diff options
author | Paul Gilbert | 2010-10-02 00:08:13 +0000 |
---|---|---|
committer | Paul Gilbert | 2010-10-02 00:08:13 +0000 |
commit | f94752f7528c406d68353dc75cad4047c4af86a2 (patch) | |
tree | 55d674bec4bb434b93099ba93f447bcea668e127 /engines/lure/scripts.cpp | |
parent | 1177692701ccfef3eee94ab092a606c0da631566 (diff) | |
download | scummvm-rg350-f94752f7528c406d68353dc75cad4047c4af86a2.tar.gz scummvm-rg350-f94752f7528c406d68353dc75cad4047c4af86a2.tar.bz2 scummvm-rg350-f94752f7528c406d68353dc75cad4047c4af86a2.zip |
LURE: Partial fix for #3008511 Goewin getting stuck
This workaround prevents the Weregate from closing whilst Goewin is still within it
svn-id: r52971
Diffstat (limited to 'engines/lure/scripts.cpp')
-rw-r--r-- | engines/lure/scripts.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/lure/scripts.cpp b/engines/lure/scripts.cpp index 20758466ad..20cbd328ce 100644 --- a/engines/lure/scripts.cpp +++ b/engines/lure/scripts.cpp @@ -901,6 +901,16 @@ uint16 Script::execute(uint16 startOffset) { uint16 offset = startOffset; bool breakFlag = false; + // WORKAROUND: Prevents the Weregate door closing prematurely + if (startOffset == 3941) { + Hotspot *goewinHotspot = r.getActiveHotspot(GOEWIN_ID); + if (!goewinHotspot->doorCloseCheck(10025)) { + // Goewin is still blocking the door, so reschedule the closing + r.delayList().add(1, startOffset, false); + return 0; + } + } + param = 0; fields.setField(SEQUENCE_RESULT, 0); |