[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