[Scummvm-git-logs] scummvm master -> 1f0d363ab4e505f96da9952f18a2ae7a10c1f8e0

csnover csnover at users.noreply.github.com
Sun Dec 11 19:33:49 CET 2016


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
6de396d787 SCI32: Add workaround for Hoyle5 startup call to kPlatform
1f0d363ab4 SCI: Add SQ3 1.0P signature


Commit: 6de396d78703d5a3bf0bc92268d1e51bb0ad2b5e
    https://github.com/scummvm/scummvm/commit/6de396d78703d5a3bf0bc92268d1e51bb0ad2b5e
Author: Colin Snover (github.com at zetafleet.com)
Date: 2016-12-11T12:31:45-06:00

Commit Message:
SCI32: Add workaround for Hoyle5 startup call to kPlatform

Fixes Trac#9665.

Changed paths:
    engines/sci/engine/kernel_tables.h
    engines/sci/engine/workarounds.cpp
    engines/sci/engine/workarounds.h


diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h
index 8093147..d847cf0 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -743,7 +743,7 @@ static SciKernelMapEntry s_kernelMap[] = {
 	{ MAP_CALL(Platform),          SIG_SCI16, SIGFOR_ALL,    "(.*)",                  NULL,            NULL },
 #ifdef ENABLE_SCI32
 	{ "Platform", kPlatform32,     SIG_SCI32, SIGFOR_MAC,    "(.*)",                  NULL,            NULL },
-	{ "Platform", kPlatform32,     SIG_SCI32, SIGFOR_ALL,    "(i)",                   NULL,            NULL },
+	{ "Platform", kPlatform32,     SIG_SCI32, SIGFOR_ALL,    "(i)",                   NULL,            kPlatform32_workarounds },
 #endif
 	{ MAP_CALL(Portrait),          SIG_EVERYWHERE,           "i(.*)",                 NULL,            NULL }, // subop
 	{ MAP_CALL(PrevNode),          SIG_EVERYWHERE,           "n",                     NULL,            NULL },
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index 2f40f6c..30f82e9 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -692,6 +692,12 @@ const SciWorkaroundEntry kPalVarySetPercent_workarounds[] = {
 };
 
 //    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround
+const SciWorkaroundEntry kPlatform32_workarounds[] = {
+	{ GID_HOYLE5,         -1,     0,  0,             "hoyle4", "newRoom",                   NULL,     0, { WORKAROUND_FAKE,      1 } }, // at the start of the game, incorrectly uses SCI16 calling convention for kPlatform
+	SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
+//    gameID,           room,script,lvl,          object-name, method-name, local-call-signature, index,                workaround
 const SciWorkaroundEntry kRandom_workarounds[] = {
 	{ GID_TORIN,        51400,64928,  0,               "Blink", "init",                     NULL,     0, { WORKAROUND_STILLCALL,  0 } }, // when Lycentia knocks Torin out after he removes her collar
 	{ GID_TORIN,        51400,64928,  0,               "Blink", "cycleDone",                NULL,     0, { WORKAROUND_STILLCALL,  0 } }, // when Lycentia knocks Torin out after he removes her collar
diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h
index 2d72ae5..f93226d 100644
--- a/engines/sci/engine/workarounds.h
+++ b/engines/sci/engine/workarounds.h
@@ -86,6 +86,7 @@ extern const SciWorkaroundEntry kMemory_workarounds[];
 extern const SciWorkaroundEntry kMoveCursor_workarounds[];
 extern const SciWorkaroundEntry kNewWindow_workarounds[];
 extern const SciWorkaroundEntry kPalVarySetPercent_workarounds[];
+extern const SciWorkaroundEntry kPlatform32_workarounds[];
 extern const SciWorkaroundEntry kRandom_workarounds[];
 extern const SciWorkaroundEntry kReadNumber_workarounds[];
 extern const SciWorkaroundEntry kResCheck_workarounds[];


Commit: 1f0d363ab4e505f96da9952f18a2ae7a10c1f8e0
    https://github.com/scummvm/scummvm/commit/1f0d363ab4e505f96da9952f18a2ae7a10c1f8e0
Author: Colin Snover (github.com at zetafleet.com)
Date: 2016-12-11T12:32:04-06:00

Commit Message:
SCI: Add SQ3 1.0P signature

Closes Trac#9626. Closes gh-858.

Changed paths:
    engines/sci/detection_tables.h


diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index 4a3d13c..0ca9c59 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -4077,6 +4077,20 @@ static const struct ADGameDescription SciGameDescriptions[] = {
 		AD_LISTEND},
 		Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI)	},
 
+	// Space Quest 3 - English DOS (from telanus, bug report Trac#9626)
+	// Game version 1.0P 1989-03-22
+	// SCI interpreter version 0.000.453
+	{"sq3", "", {
+		{"resource.map", 0, "6dd8f59dd8a0c8131f34b159044e645e", 5598},
+		{"resource.001", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 170496},
+		{"resource.002", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 312537},
+		{"resource.003", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 325576},
+		{"resource.004", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 321377},
+		{"resource.005", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 328162},
+		{"resource.006", 0, "ceeda7202b96e5c85ecaa88a40a540fc", 356560},
+		AD_LISTEND},
+		Common::EN_ANY, Common::kPlatformDOS, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI)	},
+
 	// Space Quest 3 - English DOS (from abevi, bug report #2612718)
 	{"sq3", "", {
 		{"resource.map", 0, "eca165515c6b62b05fa86b7d8f727660", 5598},





More information about the Scummvm-git-logs mailing list