diff options
-rw-r--r-- | engines/sci/engine/script_patches.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index e9b51b4b6e..1121000a10 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -978,7 +978,7 @@ static const uint16 kq6laurabow2CDPatchAudioTextSupport5[] = { PATCH_END }; -// Additional patches specifically for King's Quest 6 +// Additional patch specifically for King's Quest 6 // Fixes text window placement, when portrait+text is shown // Patched method: Kq6Talker::init static const uint16 kq6CDSignatureAudioTextSupport1[] = { @@ -997,7 +997,7 @@ static const uint16 kq6CDPatchAudioTextSupport1[] = { PATCH_END }; -// Additional patches specifically for King's Quest 6 +// Additional patch specifically for King's Quest 6 // Fixes low-res portrait staying on screen for hi-res mode // Patched method: Talker::startText // this method is called by Narrator::say and acc is 0 for text-only and true for audio+text @@ -1021,6 +1021,27 @@ static const uint16 kq6CDPatchAudioTextSupport2[] = { PATCH_END }; +// Additional patch specifically for King's Quest 6 +// Fixes special windows, used for example in the Pawn shop (room 280), +// when the man in a robe complains about no more mints. +// Patched method: KQ6Print::say +// Currently those windows wait for a mouse-click and don't close automatically +static const uint16 kq6CDSignatureAudioTextSupport3[] = { + SIG_MAGICDWORD, + 0x8f, 0x01, // lsp param[1] + 0x35, 0x01, // ldi 01 + 0x1a, // eq? + 0x31, 0x0c, // bnt [code to set property repressText to 1] + 0x38, // pushi (selector addText) + SIG_END +}; + +static const uint16 kq6CDPatchAudioTextSupport3[] = { + PATCH_ADDTOOFFSET +5, + 0x18, 0x18, // not (waste bytes) + PATCH_END +}; + // Fixes text window placement, when portrait+text is shown (Guard in room 220) // Patched method: tlkGateGuard1::init & tlkGateGuard2::init static const uint16 kq6CDSignatureAudioTextSupportGuards[] = { @@ -1079,6 +1100,7 @@ static const SciScriptPatcherEntry kq6Signatures[] = { { false, 928, "CD: audio + text support KQ6&LB2 5", 2, kq6laurabow2CDSignatureAudioTextSupport5, kq6laurabow2CDPatchAudioTextSupport5 }, { false, 909, "CD: audio + text support KQ6 1", 1, kq6CDSignatureAudioTextSupport1, kq6CDPatchAudioTextSupport1 }, { false, 928, "CD: audio + text support KQ6 2", 1, kq6CDSignatureAudioTextSupport2, kq6CDPatchAudioTextSupport2 }, + { false, 104, "CD: audio + text support KQ6 3", 1, kq6CDSignatureAudioTextSupport3, kq6CDPatchAudioTextSupport3 }, { false, 1009, "CD: audio + text support KQ6 Guards", 2, kq6CDSignatureAudioTextSupportGuards, kq6CDPatchAudioTextSupportGuards }, { false, 1027, "CD: audio + text support KQ6 Stepmother", 1, kq6CDSignatureAudioTextSupportStepmother, kq6CDPatchAudioTextSupportJumpAlways }, { false, 1037, "CD: audio + text support KQ6 Gnomes", 1, kq6CDSignatureAudioTextSupportGnomes, kq6CDPatchAudioTextSupportJumpAlways }, |