[Scummvm-git-logs] scummvm master -> ced47b44eae3307ee9e84299833b275b5b122fca
bluegr
bluegr at gmail.com
Mon Oct 22 23:43:57 CEST 2018
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:
ced47b44ea SCI: Script patch for LB1 candles, bug #10743 (#1355)
Commit: ced47b44eae3307ee9e84299833b275b5b122fca
https://github.com/scummvm/scummvm/commit/ced47b44eae3307ee9e84299833b275b5b122fca
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2018-10-23T00:18:52+03:00
Commit Message:
SCI: Script patch for LB1 candles, bug #10743 (#1355)
Fixes a persistence bug in original game
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 2c3fe5e..7bc44f8 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -3346,6 +3346,32 @@ static const uint16 laurabow1PatchArmorOilingArmFix[] = {
PATCH_END
};
+// Jeeves lights the chapel candles (room 58) in act 2 but they don't stay
+// lit when re-entering until the next act. This is due to Room58:init
+// incorrectly testing the global variable that tracks Jeeves' act 2 state.
+//
+// We fix this by changing the test from if global155 equals 11, which it
+// never does, to if it's greater than 11. The global is set to 12 in
+// lightCandles:changeState(11) and it continues to increment as Jeeves'
+// chore sequence progresses, ending with 17.
+//
+// Applies to: DOS, Amiga, Atari ST
+// Responsible method: Room58:init
+// Fixes bug #10743
+static const uint16 laurabow1SignatureChapelCandlesPersistence[] = {
+ SIG_MAGICDWORD,
+ 0x89, 0x9b, // lsg global155 [ Jeeves' act 2 state ]
+ 0x35, 0x0b, // ldi b
+ 0x1a, // eq?
+ SIG_END
+};
+
+static const uint16 laurabow1PatchChapelCandlesPersistence[] = {
+ PATCH_ADDTOOFFSET(+4),
+ 0x1e, // gt?
+ PATCH_END
+};
+
// LB1 DOS doesn't acknowledge Lillian's presence in room 44 when she's sitting
// on the bed in act 4. Look, talk, etc respond that she's not there.
// This is due to not setting global 195 which tracks who is in the room.
@@ -3450,6 +3476,7 @@ static const SciScriptPatcherEntry laurabow1Signatures[] = {
{ true, 37, "armor move to fix", 2, laurabow1SignatureArmorMoveToFix, laurabow1PatchArmorMoveToFix },
{ true, 37, "allowing input, after oiling arm", 1, laurabow1SignatureArmorOilingArmFix, laurabow1PatchArmorOilingArmFix },
{ true, 44, "lillian bed fix", 1, laurabow1SignatureLillianBedFix, laurabow1PatchLillianBedFix },
+ { true, 58, "chapel candles persistence", 1, laurabow1SignatureChapelCandlesPersistence, laurabow1PatchChapelCandlesPersistence },
{ true, 236, "tell Lilly about Gertie blocking fix 1/2", 1, laurabow1SignatureTellLillyAboutGerieBlockingFix1, laurabow1PatchTellLillyAboutGertieBlockingFix1 },
{ true, 236, "tell Lilly about Gertie blocking fix 2/2", 1, laurabow1SignatureTellLillyAboutGerieBlockingFix2, laurabow1PatchTellLillyAboutGertieBlockingFix2 },
SCI_SIGNATUREENTRY_TERMINATOR
More information about the Scummvm-git-logs
mailing list