[Scummvm-git-logs] scummvm master -> 70b6db41d1d76fcf490a367eaf165a832cd5e540
sluicebox
noreply at scummvm.org
Wed Sep 24 18:37:26 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:
70b6db41d1 SCI: Apply SQ4 intro timing workaround to Amiga
Commit: 70b6db41d1d76fcf490a367eaf165a832cd5e540
https://github.com/scummvm/scummvm/commit/70b6db41d1d76fcf490a367eaf165a832cd5e540
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2025-09-24T11:36:27-07:00
Commit Message:
SCI: Apply SQ4 intro timing workaround to Amiga
Fixes SQ4 English Amiga spending minutes on the title screen.
See: a398d363b17cea9362ca75895985ac97d7485ccd
Fixes bug #16219
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 0f825021b0f..28059705c2f 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -22580,27 +22580,27 @@ static const uint16 sq4CdPatchGettingShotWhileGettingRope[] = {
PATCH_END
};
-// During the SQ4 introduction logo, EGA versions increase the number of calls
+// During the SQ4 introduction logo, non-VGA games increase the number of calls
// to kPaletteAnimate by 40x. This was probably to achieve the same delay as
// VGA even though no palette animation occurred. This adjustment interferes
// with our kPaletteAnimate speed throttling for SQ4 scripts such as this, bug
-// #6057. We remove the EGA delay, making all versions consistent, otherwise
-// the logo is displayed for over 3 minutes instead of 5 seconds.
+// #6057. We use the VGA delay to make all versions consistent, otherwise the
+// logo is displayed for over 3 minutes instead of 5 seconds.
//
-// Applies to: English PC EGA Floppy, Japanese PC-98
+// Applies to: English PC EGA Floppy, Japanese PC-98, English and German Amiga
// Responsible method: rmScript:changeState
-// Fixes bug #6193
-static const uint16 sq4SignatureEgaIntroDelay[] = {
- SIG_MAGICDWORD,
+// Fixes bugs: #6193, #16219
+static const uint16 sq4SignatureEgaAmigaIntroDelay[] = {
0x89, 0x69, // lsg 69 [ system colors ]
- 0x35, 0x10, // ldi 10
- 0x1e, // gt? [ system colors > 16 ]
- 0x30, // bnt [ use EGA delay ]
+ 0x35, SIG_ADDTOOFFSET(+1), // ldi [ EGA: 16, Amiga: 32 ]
+ SIG_MAGICDWORD,
+ 0x1e, // gt? [ system colors > 16 or 32 ]
+ 0x30, SIG_UINT16(0x0006), // bnt [ use EGA/Amiga delay ]
SIG_END
};
-static const uint16 sq4PatchEgaIntroDelay[] = {
- 0x33, 0x06, // jmp 06 [ don't use EGA delay ]
+static const uint16 sq4PatchEgaAmigaIntroDelay[] = {
+ 0x33, 0x06, // jmp 06 [ don't use EGA/Amiga delay ]
PATCH_END
};
@@ -23919,7 +23919,7 @@ static const uint16 sq4PatchSkateORamaChaseWestExit[] = {
// script, description, signature patch
static const SciScriptPatcherEntry sq4Signatures[] = {
- { true, 1, "Floppy: EGA intro delay fix", 2, sq4SignatureEgaIntroDelay, sq4PatchEgaIntroDelay },
+ { true, 1, "Floppy: EGA/Amiga intro delay fix", 2, sq4SignatureEgaAmigaIntroDelay, sq4PatchEgaAmigaIntroDelay },
{ true, 298, "Floppy: endless flight", 1, sq4FloppySignatureEndlessFlight, sq4FloppyPatchEndlessFlight },
{ true, 376, "Floppy: set sequel police description", 1, sq4FloppySignatureSequelPoliceDescription, sq4FloppyPatchSequelPoliceDescription },
{ true, 376, "Floppy: click atm card on sequel police fix", 1, sq4FloppySignatureClickAtmCardOnSequelPolice, sq4FloppyPatchClickAtmCardOnSequelPolice },
More information about the Scummvm-git-logs
mailing list