[Scummvm-git-logs] scummvm master -> 2842442e389b0d8b4ac01ec05c8aae84626db3eb

sluicebox noreply at scummvm.org
Sun Sep 7 22:50:10 UTC 2025


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

Summary:
2842442e38 SCI32: Fix LSL6HIRES bathroom door sound


Commit: 2842442e389b0d8b4ac01ec05c8aae84626db3eb
    https://github.com/scummvm/scummvm/commit/2842442e389b0d8b4ac01ec05c8aae84626db3eb
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-09-07T15:48:40-07:00

Commit Message:
SCI32: Fix LSL6HIRES bathroom door sound

Fixes bug #15880

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 91323ebdfe2..928a0a6bd97 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -10143,6 +10143,36 @@ static const uint16 larry6HiresPhoneOperatorPatch[] = {
 	PATCH_END
 };
 
+// When entering Larry's room (620) from the bathroom (630), the door sound is
+//  abruptly cut off. This also occurs in the original, because the script
+//  quickly disposes of the sound object before it can finish playing.
+//
+// We fix this by removing the dispose call so that the sound completely plays.
+//  There does not appear to be any benefit to this call, as the same local
+//  sound object is used for many other purposes in this room without explicit
+//  disposal. The local sound is automatically disposed of when cleaning up the
+//  global Sounds collection when changing rooms.
+//
+// Applies to: All versions
+// Responsible method: enterFromBathroomScr:changeState(9)
+// Fixes bug: #15880
+static const uint16 larry6HiresBathroomDoorSoundSignature[] = {
+	SIG_MAGICDWORD,
+	0x39, SIG_SELECTOR8(number),        // pushi number
+	0x78,                               // push1
+	0x76,                               // push0
+	0x38, SIG_SELECTOR16(dispose),      // pushi dispose
+	0x76,                               // push0
+	0x72, SIG_ADDTOOFFSET(+2),          // lofsa sfx
+	0x4a, SIG_UINT16(0x000a),           // send 0a [ sfx number: 0 dispose: ]
+	SIG_END
+};
+
+static const uint16 larry6HiresBathroomDoorSoundPatch[] = {
+	0x33, 0x0c,                         // jmp 0c [ skip ]
+	PATCH_END
+};
+
 // The Interface Help feature does not display its help cursor, but it instructs
 //  the player to expect this. The script attempts to set the cursor, but it is
 //  immediately reverted by the narration script. This is a script bug that
@@ -10295,6 +10325,7 @@ static const SciScriptPatcherEntry larry6HiresSignatures[] = {
 	{  true,   270, "fix incorrect setScale call",                 1, larry6HiresSetScaleSignature,         larry6HiresSetScalePatch },
 	{  true,   330, "fix whale oil lamp lockup",                   1, larry6HiresWhaleOilLampSignature,     larry6HiresWhaleOilLampPatch },
 	{  true,   610, "phone operator crash",                        1, larry6HiresPhoneOperatorSignature,    larry6HiresPhoneOperatorPatch },
+	{  true,   620, "bathroom door sound",                         1, larry6HiresBathroomDoorSoundSignature,larry6HiresBathroomDoorSoundPatch },
 	{  true,   680, "room 680 exits",                              1, larry6HiresRoom680ExitsSignature,     larry6HiresRoom680ExitsPatch },
 	{  true,   850, "guard delay (1/2)",                           1, larry6HiresGuardDelaySignature1,      larry6HiresGuardDelayPatch1 },
 	{  true,   850, "guard delay (2/2)",                           1, larry6HiresGuardDelaySignature2,      larry6HiresGuardDelayPatch2 },




More information about the Scummvm-git-logs mailing list