[Scummvm-git-logs] scummvm master -> 72669972a4c315eeb79b144f04d1d0f2a14f8b7a

sluicebox noreply at scummvm.org
Sat May 3 16:00:16 UTC 2025


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

Summary:
2bc69dbb05 COMMON: Add missing semicolon
72669972a4 SCI32: Fix LSL6 picture plane width


Commit: 2bc69dbb053960c5ce61b30eff910f32eec159e9
    https://github.com/scummvm/scummvm/commit/2bc69dbb053960c5ce61b30eff910f32eec159e9
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-05-03T09:00:03-07:00

Commit Message:
COMMON: Add missing semicolon

Changed paths:
    common/str.cpp


diff --git a/common/str.cpp b/common/str.cpp
index 89c7e6a175c..f0b9dff287f 100644
--- a/common/str.cpp
+++ b/common/str.cpp
@@ -247,7 +247,7 @@ String String::forEachLine(String(*func)(const String, va_list args), ...) const
 	va_start(args, func);
 	while (index != npos) {
 		va_list args_;
-		va_copy(args_, args):
+		va_copy(args_, args);
 
 		String textLine = substr(prev_index, index - prev_index);
 		textLine = (*func)(textLine, args_);


Commit: 72669972a4c315eeb79b144f04d1d0f2a14f8b7a
    https://github.com/scummvm/scummvm/commit/72669972a4c315eeb79b144f04d1d0f2a14f8b7a
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-05-03T09:00:03-07:00

Commit Message:
SCI32: Fix LSL6 picture plane width

Fixes stale pixels in the west hallway rooms. Occurs in the original.

Fixes bug #15909

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 c154af54800..a807ea16ed5 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -10046,6 +10046,31 @@ static const uint16 larry6HiresHelpCursorPatch[] = {
 	PATCH_END
 };
 
+// LSL6 High-Res initializes the picture plane (global 3) to an incorrect width.
+//  It seems there was confusion over whether scripts should set a plane's rect
+//  with endpoint-inclusive or exclusive coordinates. This causes mirrored
+//  pictures to appear two pixels to the right, leaving a border of stale pixels
+//  from the previous screen. This occurs in the three west hallway rooms.
+//
+// When restarting the game, a different code path sets the correct width.
+//
+// We fix this by setting the correct picture plane width when the game starts.
+//
+// Applies to: All versions
+// Responsible method: rm100:dispose
+// Fixes bug: #15909
+static const uint16 larry6HiresPlaneWidthSignature[] = {
+	SIG_MAGICDWORD,
+	0x38, SIG_UINT16(0x0140),           // pushi 0140 [ right:  320 ]
+	0x38, SIG_UINT16(0x009a),           // pushi 009a [ bottom: 154 ]
+	SIG_END
+};
+
+static const uint16 larry6HiresPlaneWidthPatch[] = {
+	0x38, PATCH_UINT16(0x013f),         // pushi 013f [ right:  319 ]
+	PATCH_END
+};
+
 // When entering the west hallway (room 680) from outside the hotel, clicking
 //  Walk before Larry finishes moving breaks the room exits.
 //
@@ -10086,6 +10111,7 @@ static const SciScriptPatcherEntry larry6HiresSignatures[] = {
 	{  true,    71, "disable volume reset on startup (2/2)",       1, larry6HiresVolumeResetSignature,      larry6HiresVolumeResetPatch },
 	{  true,    71, "disable video benchmarking",                  1, sci2BenchmarkSignature,               sci2BenchmarkPatch },
 	{  true,    75, "fix help cursor",                             1, larry6HiresHelpCursorSignature,       larry6HiresHelpCursorPatch },
+	{  true,   100, "fix plane width",                             1, larry6HiresPlaneWidthSignature,       larry6HiresPlaneWidthPatch },
 	{  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 },




More information about the Scummvm-git-logs mailing list