[Scummvm-git-logs] scummvm master -> d2efce1c64470686bfbcc4e146edd84c06f46b89
sluicebox
noreply at scummvm.org
Tue Jan 2 08:18:09 UTC 2024
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:
d2efce1c64 SCI: Fix LSL5 TPrint script patch
Commit: d2efce1c64470686bfbcc4e146edd84c06f46b89
https://github.com/scummvm/scummvm/commit/d2efce1c64470686bfbcc4e146edd84c06f46b89
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2024-01-02T00:17:23-08:00
Commit Message:
SCI: Fix LSL5 TPrint script patch
The patch altered the frame size of a call instruction, but I failed
to update the matching argument count on the stack.
This caused Print to receive an incorrect argc and crash the
gymnastics scene in room 920.
See: 4a40ac92ea3d7d6efe76583b91b2769463c8f8db
Fixes bug #14791
Thanks to @EricTSten for reporting this
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 50ec36cfbc4..48fc70b1098 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -9030,6 +9030,8 @@ static const uint16 larry5PatchHollywoodSign[] = {
// Applies to: All versions
// Responsible method: Export 14 in script 0 (TPrint)
static const uint16 larry5SignatureHTPrintUninitParameter[] = {
+ 0x39, 0x04, // pushi 04 [ argc ]
+ SIG_ADDTOOFFSET(+5),
SIG_MAGICDWORD,
0x8f, 0x02, // lsp 02 [ often non-existent ]
0x59, 0x03, // &rest 03
@@ -9038,6 +9040,8 @@ static const uint16 larry5SignatureHTPrintUninitParameter[] = {
};
static const uint16 larry5PatchTPrintUninitParameter[] = {
+ 0x39, 0x03, // pushi 03 [ argc ]
+ PATCH_ADDTOOFFSET(+5),
0x33, 0x00, // jmp 00
0x59, 0x02, // &rest 02
0x47, 0xff, 0x00, 0x06, // calle proc225_0 [ Print ... &rest ]
More information about the Scummvm-git-logs
mailing list