aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsluicebox2019-10-16 20:02:08 -0700
committersluicebox2019-10-16 20:02:08 -0700
commit0334d953646f18df5cd88023ec042a5fed3d7602 (patch)
treef7a46da1809fd2c375b513e5767d93eae51c3ab3
parentf7593adb3e778b733d300ff97216b2ff61439bbd (diff)
downloadscummvm-rg350-0334d953646f18df5cd88023ec042a5fed3d7602.tar.gz
scummvm-rg350-0334d953646f18df5cd88023ec042a5fed3d7602.tar.bz2
scummvm-rg350-0334d953646f18df5cd88023ec042a5fed3d7602.zip
SCI32: Fix QFG4 error when clicking after runes puzzle
Fixes a bug in a script patch, trac #11211
-rw-r--r--engines/sci/engine/script_patches.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 0544ded8b6..4c9a0d6447 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -179,6 +179,7 @@ static const char *const selectorNameTable[] = {
"advanceCurIcon", // QFG4
"amount", // QFG4
"approachVerbs", // QFG4
+ "claimed", // QFG4
"cue", // QFG4
"getCursor", // QFG4
"heading", // QFG4
@@ -293,6 +294,7 @@ enum ScriptPatcherSelectors {
SELECTOR_advanceCurIcon,
SELECTOR_amount,
SELECTOR_approachVerbs,
+ SELECTOR_claimed,
SELECTOR_cue,
SELECTOR_getCursor,
SELECTOR_heading,
@@ -12484,7 +12486,9 @@ static const uint16 qfg4RunesPuzzleSignature2[] = {
0x76, // push0
0x87, 0x01, // lap 01
0x4a, SIG_UINT16(0x0004), // send 04 [ event type? ]
- SIG_ADDTOOFFSET(+1349),
+ SIG_ADDTOOFFSET(+495),
+ 0x39, SIG_SELECTOR8(claimed), // pushi claimed
+ SIG_ADDTOOFFSET(+852),
// sTurnTheDial:changeState
0x30, SIG_UINT16(0x0112), // bnt 0112 [ state 2 ]
SIG_ADDTOOFFSET(+268),
@@ -12516,7 +12520,7 @@ static const uint16 qfg4RunesPuzzlePatch2[] = {
0x38, PATCH_UINT16(0x0163), // pushi 0163
0x45, 0x04, PATCH_UINT16(0x0002), // callb proc0_3 [ is puzzle solved? ]
0x31, 0x1b, // bnt 1b [ handle mouse/key down events ]
- 0x32, PATCH_UINT16(0x01ec), // jmp 01ec [ ignore events if puzzle is solved ]
+ 0x32, PATCH_UINT16(0x01f0), // jmp 01f0 [ ignore events if puzzle is solved ]
PATCH_ADDTOOFFSET(+1350),
// sTurnTheDial:changeState
0x30, PATCH_UINT16(0x0123), // bnt 0123 [ state 2 ]