diff options
author | Martin Kiewitz | 2013-12-18 19:02:35 +0100 |
---|---|---|
committer | Martin Kiewitz | 2013-12-18 19:02:35 +0100 |
commit | edd00bec6791af94b78959741d3176511f0715d9 (patch) | |
tree | c530f033cacc0e37da249c950a04037f00ddbb94 /engines/sci | |
parent | 675e6643f7c283f7d9c5320a49c15fd3a8893e4e (diff) | |
download | scummvm-rg350-edd00bec6791af94b78959741d3176511f0715d9.tar.gz scummvm-rg350-edd00bec6791af94b78959741d3176511f0715d9.tar.bz2 scummvm-rg350-edd00bec6791af94b78959741d3176511f0715d9.zip |
SCI: another kq6 patch for audio+text support
fixes dialog of man in robe complaining about mints in pawn shop
Diffstat (limited to 'engines/sci')
-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 }, |