Ticket #15225: puzzle-box-patch.txt

File puzzle-box-patch.txt, 1.8 KB (added by eriktorbjorn, 4 days ago)
Line 
1diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
2index afc213d4607..7430008fe8d 100644
3--- a/engines/sci/engine/script_patches.cpp
4+++ b/engines/sci/engine/script_patches.cpp
5@@ -13279,10 +13279,35 @@ static const uint16 pepperPatchGlassJar[] = {
6 PATCH_END
7 };
8
9+static const uint16 pepperSignaturePuzzleBox[] = {
10+ SIG_MAGICDWORD,
11+ 0x72, 0x7e, 0x07, // lofsa blankSpot[0ef5]
12+ 0x36, // push
13+ 0x72, 0x84, 0x02, // lofsa t3[09fb]
14+ 0x4a, 0x06, // send 06
15+ 0x39, 0x6e, // pushi 6e ; 110, 'n', init
16+ 0x78, // push1 ; x
17+ 0x72, 0x7e, 0x07, // lofsa blankSpot[0ef5]
18+ 0x36, // push
19+ 0x72, 0x94, 0x05, // lofsa t11[0d0b]
20+ 0x4a, 0x06, // send 06
21+ 0x39, 0x6e, // pushi 6e ; 110, 'n', init
22+ SIG_END
23+};
24+
25+static const uint16 pepperPatchPuzzleBox[] = {
26+ PATCH_ADDTOOFFSET(+5),
27+ 0x94, 0x05, // lofsa t11[0d0b]
28+ PATCH_ADDTOOFFSET(+10),
29+ 0x84, 0x02, // lofsa t3[09fb]
30+ PATCH_END
31+};
32+
33 // script, description, signature patch
34 static const SciScriptPatcherEntry pepperSignatures[] = {
35 { true, 894, "glass jar fix", 1, pepperSignatureGlassJar, pepperPatchGlassJar },
36 { true, 928, "Narrator lockup fix", 1, sciNarratorLockupSignature, sciNarratorLockupPatch },
37+ { true, 116, "Puzzle Box solvability fix", 1, pepperSignaturePuzzleBox, pepperPatchPuzzleBox },
38 SCI_SIGNATUREENTRY_TERMINATOR
39 };
40