[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