[Scummvm-git-logs] scummvm master -> 308999f2988b0d12d19abc62fb6bdbb56cd90249

elasota noreply at scummvm.org
Mon Mar 25 01:19:36 UTC 2024


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

Summary:
308999f298 MTROPOLIS: Add support for MTI Russian version


Commit: 308999f2988b0d12d19abc62fb6bdbb56cd90249
    https://github.com/scummvm/scummvm/commit/308999f2988b0d12d19abc62fb6bdbb56cd90249
Author: Walter Agazzi (walter.agazzi at protonmail.com)
Date: 2024-03-24T21:19:32-04:00

Commit Message:
MTROPOLIS: Add support for MTI Russian version

Changed paths:
    engines/mtropolis/boot.cpp
    engines/mtropolis/detection.h
    engines/mtropolis/detection_tables.h


diff --git a/engines/mtropolis/boot.cpp b/engines/mtropolis/boot.cpp
index 39fc3e19e32..cb75ccca672 100644
--- a/engines/mtropolis/boot.cpp
+++ b/engines/mtropolis/boot.cpp
@@ -870,7 +870,7 @@ bool BootScriptParser::parseHexDigits(Common::String &outToken) {
 		error("Missing hex digits in boot script constant");
 		return false;
 	}
-		
+
 	for (;;) {
 		if (isDigit(ch) || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F'))
 			outToken += ch;
@@ -1098,6 +1098,7 @@ public:
 	void bootObsidianRetailWinDe();
 	void bootMTIRetailMac();
 	void bootMTIGeneric();
+	void bootMTIRetailWinRu();
 	void bootSPQRMac();
 	void bootSPQRWin();
 	void bootGeneric();
@@ -1137,7 +1138,7 @@ private:
 	void setEnhancedBitDepth(BitDepth bitDepth);
 
 	void executeFunction(const Common::String &functionName, const Common::Array<Common::String> &paramTokens);
-	
+
 	void checkParams(const Common::String &functionName, const Common::Array<Common::String> &paramTokens, uint expectedCount);
 	void parseEnumSized(const Common::String &functionName, const Common::Array<Common::String> &paramTokens, uint paramIndex, const EnumBinding *bindings, uint numBindings, uint &outValue);
 	void parseString(const Common::String &functionName, const Common::Array<Common::String> &paramTokens, uint paramIndex, Common::String &outValue);
@@ -1349,6 +1350,16 @@ void BootScriptContext::bootMTIGeneric() {
 	addPlugIn(kPlugInStandard);
 }
 
+void BootScriptContext::bootMTIRetailWinRu() {
+	addPlugIn(kPlugInMTI);
+	addPlugIn(kPlugInStandard);
+
+	addArchive(kArchiveTypeInstallShieldCab, "installer", "fs/data1.cab");
+	addJunction("", "installer");
+
+	addJunction("", "fs");
+}
+
 void BootScriptContext::bootSPQRMac() {
 	addPlugIn(kPlugInSPQR);
 	addPlugIn(kPlugInStandard);
@@ -1664,6 +1675,16 @@ const Game games[] = {
 		MTBOOT_MTI_RETAIL_WIN,
 		&BootScriptContext::bootMTIGeneric
 	},
+	// Muppet Treasure Island - Retail - Windows - Russian - Installed
+	{
+		MTBOOT_MTI_RETAIL_WIN_RU_INSTALLED,
+		&BootScriptContext::bootMTIGeneric
+	},
+	// Muppet Treasure Island - Retail - Windows - Russian
+	{
+		MTBOOT_MTI_RETAIL_WIN_RU_DISC,
+		&BootScriptContext::bootMTIRetailWinRu
+	},
 	// Muppet Treasure Island - Demo - Windows
 	{
 		MTBOOT_MTI_DEMO_WIN,
@@ -2072,7 +2093,7 @@ void findMacMainSegment(Common::Archive &fs, Common::Path &resolvedPath, bool &r
 		isV2 = true;
 	} else {
 		// No MFmm files and no MFxx files, so if there are MFmx files, they could be the main segment of
-		// a mTropolis 2.x project or additional files belonging to 
+		// a mTropolis 2.x project or additional files belonging to
 		for (const Common::ArchiveMemberPtr &mfmxFile : mfmxFiles) {
 			SegmentSignatureType signatureType = identifyMacFileBySignature(fs, mfmxFile->getPathInArchive());
 
diff --git a/engines/mtropolis/detection.h b/engines/mtropolis/detection.h
index 5cdb80a22de..c31e2f649bb 100644
--- a/engines/mtropolis/detection.h
+++ b/engines/mtropolis/detection.h
@@ -67,6 +67,8 @@ enum MTropolisGameBootID {
 
 	MTBOOT_MTI_RETAIL_MAC,
 	MTBOOT_MTI_RETAIL_WIN,
+	MTBOOT_MTI_RETAIL_WIN_RU_INSTALLED,
+	MTBOOT_MTI_RETAIL_WIN_RU_DISC,
 	MTBOOT_MTI_DEMO_WIN,
 
 	MTBOOT_ALBERT1_WIN_DE,
diff --git a/engines/mtropolis/detection_tables.h b/engines/mtropolis/detection_tables.h
index 004c1ee9518..db1a06a65c0 100644
--- a/engines/mtropolis/detection_tables.h
+++ b/engines/mtropolis/detection_tables.h
@@ -506,6 +506,53 @@ static const MTropolisGameDescription gameDescriptions[] = {
 		MTBOOT_MTI_RETAIL_WIN,
 	},
 
+	{ // Muppet Treasure Island (Russian)
+		{
+			"mti",
+			"CD",
+			{
+				{ "DATA1.CAB",		0, "381cd741e3d47796d0ac9c4c867fa91f", 17639913 },
+				//{ "DATA1.HDR",		0, "62d2d807878352e2d775d9a4261f0a10", 5104 },
+				{ "MTI1.MPL",		0, "38685e63d09ac835db3c826bebd521c0", 28500187 },
+				//{ "MTI2.MPX",		0, "299929afb890398c385b13ee1446ece1", 431981661 },
+				//{ "MTI3.MPX",		0, "90bd8dd40fcc65579f723eb75ad92799", 306575085 },
+				//{ "MTI4.MPX",		0, "108628b01feb4d61ce40c9424de41b42", 201095285 },
+				AD_LISTEND
+			},
+			Common::RU_RUS,
+			Common::kPlatformWindows,
+			ADGF_NO_FLAGS,
+			GUIO0()
+		},
+		GID_MTI,
+		0,
+		MTBOOT_MTI_RETAIL_WIN_RU_DISC,
+	},
+
+	{ // Muppet Treasure Island (Russian, installed)
+		{
+			"mti",
+			"installed, CD",
+			{
+				{ "MTPLAY32.EXE",	0, "aad51b462d0961fb02d9c1422a41937f", 840192 },
+				//{ "GROUP3.R95",		0, "3b01850e511727aa270aff1d6cb1fcf8", 89088 },
+				//{ "MTIKIT.R95",		0, "f7183d9ff845a3a607f764920fc23b18", 101376 },
+				{ "MTI1.MPL",		0, "38685e63d09ac835db3c826bebd521c0", 28500187 },
+				//{ "MTI2.MPX",		0, "299929afb890398c385b13ee1446ece1", 431981661 },
+				//{ "MTI3.MPX",		0, "90bd8dd40fcc65579f723eb75ad92799", 306575085 },
+				//{ "MTI4.MPX",		0, "108628b01feb4d61ce40c9424de41b42", 201095285 },
+				AD_LISTEND
+			},
+			Common::RU_RUS,
+			Common::kPlatformWindows,
+			ADGF_NO_FLAGS,
+			GUIO0()
+		},
+		GID_MTI,
+		0,
+		MTBOOT_MTI_RETAIL_WIN_RU_INSTALLED,
+	},
+
 	{ // Muppet Treasure Island PC demo found on Score 38 (1997-02) [1996-07-17/19]
 		{
 			"mti",




More information about the Scummvm-git-logs mailing list