[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