[Scummvm-git-logs] scummvm master -> 6444d279fe72f649050e92aaf6fafc423a413b83
sluicebox
22204938+sluicebox at users.noreply.github.com
Thu Oct 31 12:33:57 CET 2019
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:
6c367c5415 SCI32: Add Mac KQ7, HOYLE5, MOTHERGOOSE256 detection
cdf9954eb5 SCI32: Add HOYLE5 kFileIOReadString workaround
6444d279fe SCI32: Fix LSL6 Hires Mac restore from launcher
Commit: 6c367c54151bfd4e32a8407fc1e0c36d95755036
https://github.com/scummvm/scummvm/commit/6c367c54151bfd4e32a8407fc1e0c36d95755036
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-10-31T04:10:41-07:00
Commit Message:
SCI32: Add Mac KQ7, HOYLE5, MOTHERGOOSE256 detection
Changed paths:
engines/sci/detection_tables.h
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index 1023bd8..ed04d63 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -1258,6 +1258,15 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND},
Common::EN_ANY, Common::kPlatformWindows, ADGF_DROPPLATFORM, GUIO_HOYLE5 },
+ // Hoyle 5 (Hoyle Classic Games) - Macintosh CD
+ // VERSION file reports "1.000.000"
+ {"hoyle5", "", {
+ {"Data1", 0, "b280fbcdb1e0fa9d708e1f8d6050ef2d", 553372},
+ {"Data2", 0, "a1b4d73bc7672e4db2665657911fc5f2", 14429682},
+ {"Data3", 0, "65f9b79f2f8904a6277c8e6ee4fd7ac0", 75704},
+ AD_LISTEND},
+ Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO_HOYLE5_SAVELOAD },
+
#undef GUIO_HOYLE5
#undef GUIO_HOYLE5_SAVELOAD
@@ -2032,6 +2041,27 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND},
Common::EN_ANY, Common::kPlatformWindows, ADGF_DEMO, GUIO_KQ7_DEMO },
+ // King's Quest 7 - English Macintosh
+ {"kq7", "", {
+ {"Data1", 0, "e0d120473fee7a548b1418b18bffbd7d", 4964646},
+ {"Data2", 0, "a260b97fb2396a9cd6ac3df6a56a2499", 14645782},
+ {"Data3", 0, "a5a660a469c9ba7b179ba9757181d2af", 6664388},
+ {"Data4", 0, "556721a5e3f158c0a7a39e428402dd1f", 6438951},
+ {"Data5", 0, "c38c2f51c9c2bafd5fefdffca83bd372", 6661526},
+ {"Data6", 0, "2054e1ec891cad31b5c647b57eccff9c", 4489712},
+ {"Data7", 0, "c6e634ea56f6f82954baeab9c468c47b", 7552537},
+ {"Data8", 0, "5b4d7cc7b1b7fdd262c1f65bb9c8af5f", 7478357},
+ {"Data9", 0, "7aba74ca9a52fba1199ab06f602bd268", 7304634},
+ {"Data10", 0, "2ee17c2a1037067ecc218a7b65582062", 7066946},
+ {"Data11", 0, "5df02ec2b6289bd84cd97a9bc677773e", 7555953},
+ {"Data12", 0, "4a8cebdff7f8d431dbcd36d39c5af29e", 6925934},
+ {"Data13", 0, "3dd2903e170518011d3bc0eadada399a", 7071386},
+ //{"Data14", 0, "60d8435ae44c7e0e1d553269bf8a58e0", 7872208},
+ //{"Data15", 0, "4c4c33e93a2352473c1adf9e3981e6ca", 6924278},
+ //{"Data16", 0, "753d9bddf035bbb5391119e8dc0f464a", 3971083},
+ AD_LISTEND},
+ Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO_KQ7 },
+
#undef GUIO_KQ7_DEMO
#undef GUIO_KQ7
@@ -3122,6 +3152,16 @@ static const struct ADGameDescription SciGameDescriptions[] = {
AD_LISTEND},
Common::EN_ANY, Common::kPlatformWindows, ADGF_DROPPLATFORM, GUIO_MOTHERGOOSEHIRES },
+ // Mixed-Up Mother Goose Deluxe - English Macintosh CD
+ { "mothergoosehires", "",{
+ {"Data1", 0, "8a7ef3307d80adcd393c012f78a4e1d7", 609389},
+ {"Data2", 0, "94e72a735be859cac3cdf084497a03c7", 5550743},
+ {"Data3", 0, "4819cca5624615fcdd8838605661cd77", 5362685},
+ {"Data4", 0, "ea260cdb42405649136b08bdac45c708", 6368421},
+ {"Data5", 0, "eb5d6c76c69acafbbafa9e75b65f1da8", 3522384},
+ AD_LISTEND},
+ Common::EN_ANY, Common::kPlatformMacintosh, ADGF_MACRESFORK | ADGF_UNSTABLE, GUIO_MOTHERGOOSEHIRES },
+
#undef GUIO_MOTHERGOOSEHIRES
#endif // ENABLE_SCI32
Commit: cdf9954eb569060184c937a48217f7cd2a6f03f9
https://github.com/scummvm/scummvm/commit/cdf9954eb569060184c937a48217f7cd2a6f03f9
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-10-31T04:30:09-07:00
Commit Message:
SCI32: Add HOYLE5 kFileIOReadString workaround
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 0149f0e..49a5168 100644
--- a/engines/sci/engine/kernel_tables.h
+++ b/engines/sci/engine/kernel_tables.h
@@ -315,7 +315,7 @@ static const SciKernelMapSubEntry kFileIO_subops[] = {
{ SIG_SCIALL, 2, MAP_CALL(FileIOReadRaw), "iri", NULL },
{ SIG_SCIALL, 3, MAP_CALL(FileIOWriteRaw), "iri", NULL },
{ SIG_SCIALL, 4, MAP_CALL(FileIOUnlink), "r", NULL },
- { SIG_SCIALL, 5, MAP_CALL(FileIOReadString), "rii", NULL },
+ { SIG_SCIALL, 5, MAP_CALL(FileIOReadString), "rii", kFileIOReadString_workarounds },
{ SIG_SCIALL, 6, MAP_CALL(FileIOWriteString), "ir", NULL },
{ SIG_SCIALL, 7, MAP_CALL(FileIOSeek), "iii", NULL },
{ SIG_SCIALL, 8, MAP_CALL(FileIOFindFirst), "rri", NULL },
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index c071383..ddd6faf 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -778,6 +778,12 @@ const SciWorkaroundEntry kFileIOCheckFreeSpace_workarounds[] = {
SCI_WORKAROUNDENTRY_TERMINATOR
};
+// gameID, room,script,lvl, object-name, method-name, local-call-signature, index-range, workaround
+const SciWorkaroundEntry kFileIOReadString_workarounds[] = {
+ { GID_HOYLE5, -1, 64993, 0, "version", "readString", NULL, 0, 0, { WORKAROUND_IGNORE, 0 } }, // Zero passed as string when game initializes and VERSION file is present, which only Mac includes. Result is unused
+ SCI_WORKAROUNDENTRY_TERMINATOR
+};
+
// gameID, room,script,lvl, object-name, method-name, local-call-signature, index-range, workaround
const SciWorkaroundEntry kFindKey_workarounds[] = {
{ GID_ECOQUEST2, 100, 999, 0, "myList", "contains", NULL, 0, 0, { WORKAROUND_FAKE, 0 } }, // When Noah Greene gives Adam the Ecorder, and just before the game gives a demonstration, a null reference to a list is passed - bug #4987
diff --git a/engines/sci/engine/workarounds.h b/engines/sci/engine/workarounds.h
index 528fa93..3e626e6 100644
--- a/engines/sci/engine/workarounds.h
+++ b/engines/sci/engine/workarounds.h
@@ -75,6 +75,7 @@ extern const SciWorkaroundEntry kDoSoundPlay_workarounds[];
extern const SciWorkaroundEntry kDoSoundFade_workarounds[];
extern const SciWorkaroundEntry kFileIOOpen_workarounds[];
extern const SciWorkaroundEntry kFileIOCheckFreeSpace_workarounds[];
+extern const SciWorkaroundEntry kFileIOReadString_workarounds[];
extern const SciWorkaroundEntry kFindKey_workarounds[];
extern const SciWorkaroundEntry kFrameOut_workarounds[];
extern const SciWorkaroundEntry kDeleteKey_workarounds[];
Commit: 6444d279fe72f649050e92aaf6fafc423a413b83
https://github.com/scummvm/scummvm/commit/6444d279fe72f649050e92aaf6fafc423a413b83
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2019-10-31T04:31:06-07:00
Commit Message:
SCI32: Fix LSL6 Hires Mac restore from launcher
Changed paths:
engines/sci/engine/guest_additions.cpp
diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp
index cf70608..5ed3776 100644
--- a/engines/sci/engine/guest_additions.cpp
+++ b/engines/sci/engine/guest_additions.cpp
@@ -756,6 +756,14 @@ bool GuestAdditions::restoreFromLauncher() const {
return false;
}
+ // Delayed restore should not happen in LSL6 hires until the room number is set.
+ // LSL6:restore tests room numbers to determine if restoring is allowed, but the
+ // Mac version adds a call to kGetEvent in LSL6:init before the initial call to
+ // LSL6:newRoom. If the room number isn't set yet then restoring isn't allowed.
+ if (g_sci->getGameId() == GID_LSL6HIRES && _state->variables[VAR_GLOBAL][kGlobalVarCurrentRoomNo] == NULL_REG) {
+ return false;
+ }
+
_restoring = true;
// Any events queued up before the game restore can cause accidental
More information about the Scummvm-git-logs
mailing list