[Scummvm-cvs-logs] scummvm master -> 61c36d133abcd2732fd602991bf4fb39c6783595

m-kiewitz m_kiewitz at users.sourceforge.net
Sat Dec 7 18:27:17 CET 2013


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
61c36d133a SCI: added kq6 patch for audio+text, not 100% done


Commit: 61c36d133abcd2732fd602991bf4fb39c6783595
    https://github.com/scummvm/scummvm/commit/61c36d133abcd2732fd602991bf4fb39c6783595
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2013-12-07T09:26:45-08:00

Commit Message:
SCI: added kq6 patch for audio+text, not 100% done

Changed paths:
    engines/sci/engine/script_patches.cpp



diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 5370c59..6bd69f5 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -975,19 +975,39 @@ const uint16 kq6laurabow2CDPatchAudioTextSupport5[] = {
 	PATCH_END
 };
 
-//          script, description,                                      signature                     patch
+// Additional patches specifically for King's Quest 6
+//  Fixes text window placement, when portrait+text is shown
+// Patched method: Kq6Talker::init
+const uint16 kq6CDSignatureAudioTextSupport1[] = {
+	SIG_MAGICDWORD,
+	0x89, 0x5a,                         // lsg global[5a]
+	0x35, 0x02,                         // ldi 02
+	0x1a,                               // eq?
+	0x31, 0x32,                         // bnt [jump-for-text-code]
+	0x87, 0x00,                         // lap param[0]
+	SIG_END
+};
+
+const uint16 kq6CDPatchAudioTextSupport1[] = {
+	PATCH_ADDTOOFFSET +5,
+	0x33, 0x32,                         // jmp [jump-for-text-code]
+	PATCH_END
+};
+
+//          script, description,                                      signature                                 patch
 SciScriptPatcherEntry kq6Signatures[] = {
-	{  true,   481, "duplicate baby cry",                          1, kq6SignatureDuplicateBabyCry, kq6PatchDuplicateBabyCry },
-	{  true,   907, "inventory stack fix",                         1, kq6SignatureInventoryStackFix, kq6PatchInventoryStackFix },
+	{  true,   481, "duplicate baby cry",                          1, kq6SignatureDuplicateBabyCry,             kq6PatchDuplicateBabyCry },
+	{  true,   907, "inventory stack fix",                         1, kq6SignatureInventoryStackFix,            kq6PatchInventoryStackFix },
 	// King's Quest 6 and Laura Bow 2 share basic patches for audio + text support
-	// *** King's Quest 6 audio + text support - CURRENTLY DISABLED ***
-	//  TODO: fix window placement (currently part of the text windows go off-screen)
-	//  TODO: fix hi-res portraits mode graphic glitches
-	{ false,   924, "CD: audio + text support 1",                  1, kq6laurabow2CDSignatureAudioTextSupport1, kq6laurabow2CDPatchAudioTextSupport1 },
-	{ false,   924, "CD: audio + text support 2",                  1, kq6laurabow2CDSignatureAudioTextSupport2, kq6laurabow2CDPatchAudioTextSupport2 },
-	{ false,   924, "CD: audio + text support 3",                  1, kq6laurabow2CDSignatureAudioTextSupport3, kq6laurabow2CDPatchAudioTextSupport3 },
-	{ false,   928, "CD: audio + text support 4",                  1, kq6laurabow2CDSignatureAudioTextSupport4, kq6laurabow2CDPatchAudioTextSupport4 },
-	{ false,   928, "CD: audio + text support 5",                  2, kq6laurabow2CDSignatureAudioTextSupport5, kq6laurabow2CDPatchAudioTextSupport5 },
+	// *** King's Quest 6 audio + text support ***
+	//  ToDO: fix window placement+size for dialog w/o portraits (lowres+hires)
+	//  TODO: fix lowres portraits staying on screen when hires portraits are used
+	{ false,   924, "CD: audio + text support KQ6&LB2 1",          1, kq6laurabow2CDSignatureAudioTextSupport1, kq6laurabow2CDPatchAudioTextSupport1 },
+	{ false,   924, "CD: audio + text support KQ6&LB2 2",          1, kq6laurabow2CDSignatureAudioTextSupport2, kq6laurabow2CDPatchAudioTextSupport2 },
+	{ false,   924, "CD: audio + text support KQ6&LB2 3",          1, kq6laurabow2CDSignatureAudioTextSupport3, kq6laurabow2CDPatchAudioTextSupport3 },
+	{ false,   928, "CD: audio + text support KQ6&LB2 4",          1, kq6laurabow2CDSignatureAudioTextSupport4, kq6laurabow2CDPatchAudioTextSupport4 },
+	{ false,   928, "CD: audio + text support KQ6&LB2 5",          2, kq6laurabow2CDSignatureAudioTextSupport5, kq6laurabow2CDPatchAudioTextSupport5 },
+	{ false,   909, "CD: audio + text support KQ6 1",              1, kq6CDSignatureAudioTextSupport1,          kq6CDPatchAudioTextSupport1 },
 	SCI_SIGNATUREENTRY_TERMINATOR
 };
 
@@ -2442,6 +2462,12 @@ void ScriptPatcher::processScript(uint16 scriptNr, byte *scriptData, const uint3
 					enablePatch(signatureTable, "Win: GM Music signal checks");
 				}
 				break;
+			case GID_KQ6:
+				if (g_sci->speechAndSubtitlesEnabled()) {
+					// Enables Audio + subtitles patches for King's Quest 6, when "Text and Speech: Both" is selected
+					enablePatch(signatureTable, "CD: audio + text support");
+				}
+				break;
 			case GID_LAURABOW2:
 				if (g_sci->speechAndSubtitlesEnabled()) {
 					// Enables Audio + subtitles patches for Laura Bow 2, when "Text and Speech: Both" is selected






More information about the Scummvm-git-logs mailing list