[Scummvm-git-logs] scummvm master -> 90036a56f8492405e9f4417ad47a6b791ee2066d
csnover
csnover at users.noreply.github.com
Wed Oct 4 07:30:19 CEST 2017
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
60bdb7936f SCI: Fix disassembly of 32-bit addresses
08f501117b SCI32: Give more specific game version numbers
90036a56f8 SCI32: Speed up memory check counter in lighthouse in Lighthouse
Commit: 60bdb7936f4584025d8ce8bafe2e1d8afd16b369
https://github.com/scummvm/scummvm/commit/60bdb7936f4584025d8ce8bafe2e1d8afd16b369
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-10-04T00:27:18-05:00
Commit Message:
SCI: Fix disassembly of 32-bit addresses
Changed paths:
engines/sci/console.cpp
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index 2416834..75fa606 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -3625,7 +3625,7 @@ bool Console::cmdDisassembleAddress(int argc, const char **argv) {
uint opCount = 1;
bool printBWTag = false;
bool printBytes = false;
- uint16 size;
+ uint32 size;
if (parse_reg_t(_engine->_gamestate, argv[1], &vpc, false)) {
debugPrintf("Invalid address passed.\n");
@@ -3650,7 +3650,6 @@ bool Console::cmdDisassembleAddress(int argc, const char **argv) {
}
do {
- // TODO: Use a true 32-bit reg_t for the position (vpc)
vpc = disassemble(_engine->_gamestate, make_reg32(vpc.getSegment(), vpc.getOffset()), nullptr, printBWTag, printBytes);
} while ((vpc.getOffset() > 0) && (vpc.getOffset() + 6 < size) && (--opCount));
Commit: 08f501117bc019a411513e580590c4b4c9b18ac4
https://github.com/scummvm/scummvm/commit/08f501117bc019a411513e580590c4b4c9b18ac4
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-10-04T00:27:18-05:00
Commit Message:
SCI32: Give more specific game version numbers
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 a8be13e..d04d425 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -2275,7 +2275,7 @@ static const SciScriptPatcherEntry kq7Signatures[] = {
// (global 204 bit 15), but global 201 is not a flag global (it holds a
// reference to theInvisCursor). This patch stops clearing after 1359 (global
// 200 bit 15). Hopefully that is good enough to not break the game.
-// Applies to at least: English 1.0 & 2.0
+// Applies to at least: English 1.0c & 2.0a
static const uint16 lighthouseFlagResetSignature[] = {
SIG_MAGICDWORD,
0x34, SIG_UINT16(0x58f), // ldi 1423
Commit: 90036a56f8492405e9f4417ad47a6b791ee2066d
https://github.com/scummvm/scummvm/commit/90036a56f8492405e9f4417ad47a6b791ee2066d
Author: Colin Snover (github.com at zetafleet.com)
Date: 2017-10-04T00:27:18-05:00
Commit Message:
SCI32: Speed up memory check counter in lighthouse in Lighthouse
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 d04d425..162d97e 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -2288,9 +2288,37 @@ static const uint16 lighthouseFlagResetPatch[] = {
PATCH_END
};
+// When doing a system check on the portal computer in the lighthouse, the game
+// counts up to 1024MB, one megabyte at a time. In the original engine, this
+// count speed would be video speed dependent, but with our frame rate
+// throttler, it takes 17 seconds. So, replace this slowness with a much faster
+// POST that is more accurate to the original game.
+// Applies to at least: US English 1.0c
+static const uint16 lighthouseMemoryCountSignature[] = {
+ SIG_MAGICDWORD,
+ 0x8d, 0x02, // lst 2
+ 0x35, 0x0a, // ldi 10
+ 0x24, // le?
+ 0x31, 0x3b, // bnt [to second digit overflow]
+ SIG_ADDTOOFFSET(+4), // ldi, sat
+ 0x8d, 0x03, // lst 3
+ 0x35, 0x0a, // ldi 10
+ SIG_END
+};
+
+static const uint16 lighthouseMemoryCountPatch[] = {
+ PATCH_ADDTOOFFSET(+2), // lst 2
+ 0x35, 0x02, // ldi 2
+ PATCH_ADDTOOFFSET(+9), // le?, bnt, ldi, sat, lst
+ 0x35, 0x02, // ldi 2
+ PATCH_END
+};
+
+
// script, description, signature patch
static const SciScriptPatcherEntry lighthouseSignatures[] = {
{ true, 5, "fix bad globals clear after credits", 1, lighthouseFlagResetSignature, lighthouseFlagResetPatch },
+ { true, 360, "fix slow computer memory counter", 1, lighthouseMemoryCountSignature, lighthouseMemoryCountPatch },
{ true, 64990, "increase number of save games (1/2)", 1, sci2NumSavesSignature1, sci2NumSavesPatch1 },
{ true, 64990, "increase number of save games (2/2)", 1, sci2NumSavesSignature2, sci2NumSavesPatch2 },
{ true, 64990, "disable change directory button", 1, sci2ChangeDirSignature, sci2ChangeDirPatch },
More information about the Scummvm-git-logs
mailing list