[Scummvm-git-logs] scummvm master -> cc05dbccd907c9c80e0f5899cb640f2c8a2beb57

sluicebox 22204938+sluicebox at users.noreply.github.com
Tue Aug 20 03:43:03 CEST 2019


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:
cc05dbccd9 SCI: Fix PQ3 doctor's mouth animation speed


Commit: cc05dbccd907c9c80e0f5899cb640f2c8a2beb57
    https://github.com/scummvm/scummvm/commit/cc05dbccd907c9c80e0f5899cb640f2c8a2beb57
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-08-19T18:37:44-07:00

Commit Message:
SCI: Fix PQ3 doctor's mouth animation speed

Fixes bug #10255

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 5d74130..cf391b8 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -7739,9 +7739,35 @@ static const uint16 pq3PatchGiveLocketPoints[] = {
 	PATCH_END
 };
 
+// The doctor's mouth moves too fast in room 36. doctorMouth:cyleSpeed is set to
+//  one, the maximum speed, unlike any other inset in the game. Most insets use
+//  the default speed of six and almost all the rest use an even slower speed.
+//  We set the doctor's mouth to the default speed.
+//
+// Applies to: All versions
+// Responsible method: insetDoctor:init
+// Fixes bug: #10255
+static const uint16 pq3SignatureDoctorMouthSpeed[] = {
+	0x38, SIG_MAGICDWORD,                // pushi cyleSpeed
+	      SIG_SELECTOR16(cycleSpeed),
+	0x78,                                // push1
+	0x78,                                // push1
+	SIG_ADDTOOFFSET(+13),
+	0x4a, 0x1c,                          // send 1c [ doctorMouth ... cycleSpeed: 1 ... ]
+	SIG_END,
+};
+
+static const uint16 pq3PatchDoctorMouthSpeed[] = {
+	0x32, PATCH_UINT16(0x0002),          // jmp 0002
+	PATCH_ADDTOOFFSET(+15),
+	0x4a, 0x16,                          // send 16 [ don't set cycleSpeed, use default (6) ]
+	SIG_END,
+};
+
 //          script, description,                                 signature                     patch
 static const SciScriptPatcherEntry pq3Signatures[] = {
-	{  true, 36, "give locket missing points",                1, pq3SignatureGiveLocketPoints, pq3PatchGiveLocketPoints },
+	{ true, 36, "give locket missing points",                1, pq3SignatureGiveLocketPoints, pq3PatchGiveLocketPoints },
+	{ true, 36, "doctor mouth speed",                        1, pq3SignatureDoctorMouthSpeed, pq3PatchDoctorMouthSpeed },
 	SCI_SIGNATUREENTRY_TERMINATOR
 };
 





More information about the Scummvm-git-logs mailing list