[Scummvm-git-logs] scummvm master -> 4e347027faca6fc777060616f95313af0dac9706

sluicebox 22204938+sluicebox at users.noreply.github.com
Sat May 22 04:00:54 UTC 2021


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:
f3e890889f SCI32: Fix GK1 CD end-game font
4e347027fa SCI: Fix SQ4 Spanish detection entry's options


Commit: f3e890889f8638f2b8ad10c0fb703ba9ca9ee2c9
    https://github.com/scummvm/scummvm/commit/f3e890889f8638f2b8ad10c0fb703ba9ca9ee2c9
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-05-21T21:42:53-06:00

Commit Message:
SCI32: Fix GK1 CD end-game font

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 c18e1c8297..a0461c7e39 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -3830,6 +3830,27 @@ static const uint16 gk1MacTalismanInsetPatch[] = {
 	PATCH_END
 };
 
+// In the final scene before the credits the wrong font is used and the 'a' with
+//  an umlaut in "Schattenjager" isn't displayed. endTalker:font is set to 999
+//  which doesn't include decorated characters. Font 40 has the same glyphs as
+//  999 plus the decorated characters, so we use that instead. This patch is
+//  only to be applied to English versions; localized ones have different fonts.
+//
+// Applies to: English CD versions
+// Responsible method: heap in script 670
+static const uint16 gk1EndGameFontSignature[] = {
+	SIG_MAGICDWORD,                     // endTalker
+	SIG_UINT16(0x0002),                 // modeless = 2
+	SIG_UINT16(0x03e7),                 // font = 999
+	SIG_END
+};
+
+static const uint16 gk1EndGameFontPatch[] = {
+	PATCH_ADDTOOFFSET(+2),
+	PATCH_UINT16(0x0028),               // font = 40
+	PATCH_END
+};
+
 // Narrator lockup fix for GK1 CD / Mac, see sciNarratorLockupSignature.
 //  The custom code in these versions overlaps with the generic patch signature
 //  so we enable the correct one based on game version and platform.
@@ -3890,6 +3911,7 @@ static const SciScriptPatcherEntry gk1Signatures[] = {
 	{  true,   420, "fix day 6 empty booth message",               6, gk1EmptyBoothMessageSignature,    gk1EmptyBoothMessagePatch },
 	{  true,   420, "fix lorelei dance timer",                     1, gk1LoreleiDanceTimerSignature,    gk1LoreleiDanceTimerPatch },
 	{  true,   480, "win: play day 6 bayou ritual avi videos",     3, gk1BayouRitualAviSignature,       gk1BayouRitualAviPatch },
+	{ false,   670, "fix end game font",                           1, gk1EndGameFontSignature,          gk1EndGameFontPatch },
 	{  true,   710, "fix day 9 vine swing speech playing",         1, gk1Day9VineSwingSignature,        gk1Day9VineSwingPatch },
 	{  true,   710, "fix day 9 mummy animation (floppy)",          1, gk1MummyAnimateFloppySignature,   gk1MummyAnimateFloppyPatch },
 	{  true,   710, "fix day 9 mummy animation (cd)",              1, gk1MummyAnimateCDSignature,       gk1MummyAnimateCDPatch },
@@ -21414,6 +21436,11 @@ void ScriptPatcher::processScript(uint16 scriptNr, SciSpan<byte> scriptData) {
 				if (_isMacSci11 && !g_sci->getResMan()->testResource(ResourceId(kResourceTypeView, 56))) {
 					enablePatch(signatureTable, "mac: fix missing talisman view");
 				}
+
+				if (g_sci->getLanguage() == Common::EN_ANY &&
+					g_sci->getResMan()->testResource(ResourceId(kResourceTypeFont, 40))) {
+					enablePatch(signatureTable, "fix end game font");
+				}
 				break;
 			case GID_GK2:
 				// Enable subtitle compatibility if a sync resource is present


Commit: 4e347027faca6fc777060616f95313af0dac9706
    https://github.com/scummvm/scummvm/commit/4e347027faca6fc777060616f95313af0dac9706
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2021-05-21T21:42:53-06:00

Commit Message:
SCI: Fix SQ4 Spanish detection entry's options

This is a localized floppy version that was distributed on a CD,
it doesn't have the features of the CD version

Changed paths:
    engines/sci/detection_tables.h


diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index 86b2a27b77..3fd8dc3241 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -5368,7 +5368,7 @@ static const struct ADGameDescription SciGameDescriptions[] = {
 		AD_LISTEND},
 		Common::EN_ANY, Common::kPlatformDOS, ADGF_PIRATED, GUIO_SQ4_CD	},
 
-	// Space Quest 4 - Spanish DOS CD (from jvprat, is still text only, not talkie, also includes english language)
+	// Space Quest 4 - Spanish DOS Floppy version distributed on a CD (from jvprat, also includes english language)
 	// Executable scanning reports "1.SQ4.057", VERSION file reports "1.000"
 	// SCI interpreter version 1.000.200 (just a guess)
 	{"sq4", "", {
@@ -5380,7 +5380,7 @@ static const struct ADGameDescription SciGameDescriptions[] = {
 		{"resource.004", 0, "776fba81c110d1908776232cbe190e20", 1253752},
 		{"resource.005", 0, "55fae26c2a92f16ef72c1e216e827c0f", 1098328},
 		AD_LISTEND},
-		Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO_SQ4_CD	},
+		Common::ES_ESP, Common::kPlatformDOS, ADGF_ADDENGLISH, GUIO_STD16 },
 
 	// Space Quest 4 - Spanish DOS Floppy (from jvprat, also includes english language)
 	// Executable scanning reports "1.SQ4.056", VERSION file reports "1.000"




More information about the Scummvm-git-logs mailing list