[Scummvm-git-logs] scummvm master -> 94bf32650fa9feb729b10a1dd730fe832c2c6744
bluegr
bluegr at gmail.com
Mon Mar 11 10:51:36 CET 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:
94bf32650f SCI: Fix SQ4CD Sock's door, bug #10914 (#1533)
Commit: 94bf32650fa9feb729b10a1dd730fe832c2c6744
https://github.com/scummvm/scummvm/commit/94bf32650fa9feb729b10a1dd730fe832c2c6744
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-03-11T11:51:33+02:00
Commit Message:
SCI: Fix SQ4CD Sock's door, bug #10914 (#1533)
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 5a22599..d8533f4 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -116,6 +116,7 @@ static const char *const selectorNameTable[] = {
"has", // King's Quest 6, GK1
"modeless", // King's Quest 6 CD
"cycler", // Space Quest 4 / system selector
+ "addToPic", // Space Quest 4
"loop", // Laura Bow 1 Colonel's Bequest, QFG4
"setLoop", // Laura Bow 1 Colonel's Bequest, QFG4
"ignoreActors", // Laura Bow 1 Colonel's Bequest
@@ -210,6 +211,7 @@ enum ScriptPatcherSelectors {
SELECTOR_has,
SELECTOR_modeless,
SELECTOR_cycler,
+ SELECTOR_addToPic,
SELECTOR_loop,
SELECTOR_setLoop,
SELECTOR_ignoreActors,
@@ -11102,6 +11104,29 @@ static const uint16 sq4PatchZeroGravityBlast[] = {
PATCH_END
};
+// The door to Sock's is immediately disposed of in the CD version, breaking its
+// Look message and preventing it from being drawn when restoring a saved game.
+// We remove the incorrect dispose call along with a redundant addToPic.
+//
+// Applies to: English PC CD
+// Responsible method: rm370:init
+// Fixes bug #10914
+static const uint16 sq4CdSignatureSocksDoor[] = {
+ 0x38, SIG_SELECTOR16(addToPic), // pushi addToPic
+ 0x76, // push0
+ 0x39, SIG_SELECTOR8(dispose), // pushi dispose
+ 0x76, // push0
+ SIG_MAGICDWORD,
+ 0x72, SIG_UINT16(0x0176), // lofsa door
+ 0x4a, 0x08, // send 08 [ door addToPic: dispose: ]
+ SIG_END
+};
+
+static const uint16 sq4CdPatchSocksDoor[] = {
+ 0x32, PATCH_UINT16(0x0009), // jmp 0009
+ PATCH_END
+};
+
// The scripts in SQ4CD support simultaneous playing of speech and subtitles,
// but this was not available as an option. The following two patches enable
// this functionality in the game's GUI options dialog.
@@ -11201,6 +11226,7 @@ static const SciScriptPatcherEntry sq4Signatures[] = {
{ true, 298, "Floppy: endless flight", 1, sq4FloppySignatureEndlessFlight, sq4FloppyPatchEndlessFlight },
{ true, 700, "Floppy: throw stuff at sequel police bug", 1, sq4FloppySignatureThrowStuffAtSequelPoliceBug, sq4FloppyPatchThrowStuffAtSequelPoliceBug },
{ true, 45, "CD: walk in from below for room 45 fix", 1, sq4CdSignatureWalkInFromBelowRoom45, sq4CdPatchWalkInFromBelowRoom45 },
+ { true, 370, "CD: sock's door restore and message fix", 1, sq4CdSignatureSocksDoor, sq4CdPatchSocksDoor },
{ true, 391, "CD: missing Audio for universal remote control", 1, sq4CdSignatureMissingAudioUniversalRemote, sq4CdPatchMissingAudioUniversalRemote },
{ true, 396, "CD: get points for changing back clothes fix", 1, sq4CdSignatureGetPointsForChangingBackClothes, sq4CdPatchGetPointsForChangingBackClothes },
{ true, 405, "CD/Floppy: zero gravity blast fix", 1, sq4SignatureZeroGravityBlast, sq4PatchZeroGravityBlast },
More information about the Scummvm-git-logs
mailing list