[Scummvm-git-logs] scummvm master -> 062d3088a8890ea407e6deb7917ad37b58353e10
sluicebox
22204938+sluicebox at users.noreply.github.com
Tue Sep 3 02:24:32 CEST 2019
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:
062d3088a8 SCI: Disable LONGBOW Amiga speed test
Commit: 062d3088a8890ea407e6deb7917ad37b58353e10
https://github.com/scummvm/scummvm/commit/062d3088a8890ea407e6deb7917ad37b58353e10
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-09-02T17:24:13-07:00
Commit Message:
SCI: Disable LONGBOW Amiga speed test
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 3dcbae1..44282e1 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -4914,6 +4914,29 @@ static const uint16 longbowPatchAmigaFulkRescue[] = {
PATCH_END
};
+// The Amiga version has an unusual speed test which takes 10 seconds to run in
+// ScummVM, causing the test to assume a slow machine speed and reduce details
+// throughout the game. We disable the speed test and its long delay before the
+// the Sierra logo so that the fastest machine speed is used.
+//
+// Applies to: English Amiga Floppy
+// Responsible method: speedScript:changeState
+static const uint16 longbowSignatureAmigaSpeedTest[] = {
+ // state 1
+ 0x32, SIG_UINT16(0x0164), // jmp 0164 [ end of method ]
+ SIG_ADDTOOFFSET(+0xe9),
+ // state 2
+ SIG_MAGICDWORD,
+ 0x35, 0x02, // ldi 02 [ fastest machine speed ]
+ 0x32, SIG_UINT16(0x000f), // jmp 000f [ set machine speed ]
+ SIG_END
+};
+
+static const uint16 longbowPatchAmigaSpeedTest[] = {
+ 0x32, PATCH_UINT16(0x00e9), // jmp 00e9 [ skip test, use fastest machine speed ]
+ SIG_END
+};
+
// script, description, signature patch
static const SciScriptPatcherEntry longbowSignatures[] = {
{ true, 140, "green man riddles and forest sweep fix", 1, longbowSignatureGreenManForestSweepFix, longbowPatchGreenManForestSweepFix },
@@ -4927,6 +4950,7 @@ static const SciScriptPatcherEntry longbowSignatures[] = {
{ true, 350, "day 9 cobbler hut fix", 10, longbowSignatureCobblerHut, longbowPatchCobblerHut },
{ true, 530, "amiga pub fix", 1, longbowSignatureAmigaPubFix, longbowPatchAmigaPubFix },
{ true, 600, "amiga fulk rescue fix", 1, longbowSignatureAmigaFulkRescue, longbowPatchAmigaFulkRescue },
+ { true, 803, "amiga speed test", 1, longbowSignatureAmigaSpeedTest, longbowPatchAmigaSpeedTest },
SCI_SIGNATUREENTRY_TERMINATOR
};
More information about the Scummvm-git-logs
mailing list