aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorColin Snover2017-06-19 20:44:33 -0500
committerColin Snover2017-06-19 20:45:43 -0500
commita3824d0f399b36a90f427780d25bab99ffb0c13e (patch)
tree82e78242243e9d0b6278a1d9a2c0f1e37279fa98 /engines/sci
parent5a512c1c2c1259b436047eaa84f3481b8854e35e (diff)
downloadscummvm-rg350-a3824d0f399b36a90f427780d25bab99ffb0c13e.tar.gz
scummvm-rg350-a3824d0f399b36a90f427780d25bab99ffb0c13e.tar.bz2
scummvm-rg350-a3824d0f399b36a90f427780d25bab99ffb0c13e.zip
SCI32: Create Torin-specific save game count limitation remover
Fixes Trac#9840.
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/script_patches.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 787d88fbc6..9e7e7c6552 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -5588,12 +5588,27 @@ static const uint16 torinVolumeResetPatch2[] = {
PATCH_END
};
+// Torin-specific version of sci2NumSavesSignature1/2
+// Applies to at least: English CD
+static const uint16 torinNumSavesSignature[] = {
+ SIG_MAGICDWORD,
+ 0x36, // push
+ 0x35, 0x14, // ldi 20
+ 0x20, // ge?
+ SIG_END
+};
+
+static const uint16 torinNumSavesPatch[] = {
+ PATCH_ADDTOOFFSET(+1), // push
+ 0x35, 0x63, // ldi 99
+ PATCH_END
+};
+
// script, description, signature patch
static const SciScriptPatcherEntry torinSignatures[] = {
{ true, 64000, "disable volume reset on startup 1/2", 1, torinVolumeResetSignature1, torinVolumeResetPatch1 },
{ true, 64000, "disable volume reset on startup 2/2", 1, torinVolumeResetSignature2, torinVolumeResetPatch2 },
- { true, 64990, "increase number of save games", 1, sci2NumSavesSignature1, sci2NumSavesPatch1 },
- { true, 64990, "increase number of save games", 1, sci2NumSavesSignature2, sci2NumSavesPatch2 },
+ { true, 64866, "increase number of save games", 1, torinNumSavesSignature, torinNumSavesPatch },
SCI_SIGNATUREENTRY_TERMINATOR
};