aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
authorMartin Kiewitz2013-11-21 12:10:07 +0100
committerMartin Kiewitz2013-11-21 12:10:07 +0100
commit39efe3999a9531f7e2898f15c2afdad3d294e3f2 (patch)
treefd2f66351c196d592ded7f0cafdf80ed8547c0ff /engines/sci/engine
parent103463296c32d36b75316356e8809fab3b1ef370 (diff)
downloadscummvm-rg350-39efe3999a9531f7e2898f15c2afdad3d294e3f2.tar.gz
scummvm-rg350-39efe3999a9531f7e2898f15c2afdad3d294e3f2.tar.bz2
scummvm-rg350-39efe3999a9531f7e2898f15c2afdad3d294e3f2.zip
SCI: improved lb2/kq6 patch
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/script_patches.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 6d279c0cfd..0043f21c2c 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -138,8 +138,9 @@ SciScriptPatcherSelector selectorTable[] = {
{ "put", -1, }, // Police Quest 1 VGA
{ "solvePuzzle", -1, }, // Quest For Glory 3
{ "timesShownID", -1, }, // Space Quest 1 VGA
- { "startText", -1, }, // King's Quest 6 CD / Laura Bow 2 CD
- { "startAudio", -1, }, // King's Quest 6 CD / Laura Bow 2 CD
+ { "startText", -1, }, // King's Quest 6 CD / Laura Bow 2 CD for audio+text support
+ { "startAudio", -1, }, // King's Quest 6 CD / Laura Bow 2 CD for audio+text support
+ { "modNum", -1, }, // King's Quest 6 CD / Laura Bow 2 CD for audio+text support
{ NULL, -1 }
};
@@ -161,7 +162,8 @@ enum ScriptPatcherSelectors {
SELECTOR_solvePuzzle,
SELECTOR_timesShownID,
SELECTOR_startText,
- SELECTOR_startAudio
+ SELECTOR_startAudio,
+ SELECTOR_modNum
};
// ===========================================================================
@@ -920,12 +922,12 @@ const uint16 kq6PatchInventoryStackFix[] = {
// We currently use global 98d to hold a kMemory pointer.
// Patched method: Messager::sayNext / lb2Messager::sayNext (always use text branch)
const uint16 kq6laurabow2CDSignatureAudioTextSupport1[] = {
- SIG_MAGICDWORD,
0x89, 0x5a, // lsg global[5a]
0x35, 0x02, // ldi 02
0x12, // and
+ SIG_MAGICDWORD,
0x31, 0x13, // bnt [audio call]
- 0x38, SIG_ADDTOOFFSET +1, 0x00, // pushi 00de (lb2) / pushi 00df (kq6)
+ 0x38, SIG_SELECTOR16 + SELECTOR_modNum, // pushi modNum
SIG_END
};