diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index afc213d4607..7430008fe8d 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -13279,10 +13279,35 @@ static const uint16 pepperPatchGlassJar[] = { PATCH_END }; +static const uint16 pepperSignaturePuzzleBox[] = { + SIG_MAGICDWORD, + 0x72, 0x7e, 0x07, // lofsa blankSpot[0ef5] + 0x36, // push + 0x72, 0x84, 0x02, // lofsa t3[09fb] + 0x4a, 0x06, // send 06 + 0x39, 0x6e, // pushi 6e ; 110, 'n', init + 0x78, // push1 ; x + 0x72, 0x7e, 0x07, // lofsa blankSpot[0ef5] + 0x36, // push + 0x72, 0x94, 0x05, // lofsa t11[0d0b] + 0x4a, 0x06, // send 06 + 0x39, 0x6e, // pushi 6e ; 110, 'n', init + SIG_END +}; + +static const uint16 pepperPatchPuzzleBox[] = { + PATCH_ADDTOOFFSET(+5), + 0x94, 0x05, // lofsa t11[0d0b] + PATCH_ADDTOOFFSET(+10), + 0x84, 0x02, // lofsa t3[09fb] + PATCH_END +}; + // script, description, signature patch static const SciScriptPatcherEntry pepperSignatures[] = { { true, 894, "glass jar fix", 1, pepperSignatureGlassJar, pepperPatchGlassJar }, { true, 928, "Narrator lockup fix", 1, sciNarratorLockupSignature, sciNarratorLockupPatch }, + { true, 116, "Puzzle Box solvability fix", 1, pepperSignaturePuzzleBox, pepperPatchPuzzleBox }, SCI_SIGNATUREENTRY_TERMINATOR };