[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> ¶mTokens);
-
+
void checkParams(const Common::String &functionName, const Common::Array<Common::String> ¶mTokens, uint expectedCount);
void parseEnumSized(const Common::String &functionName, const Common::Array<Common::String> ¶mTokens, uint paramIndex, const EnumBinding *bindings, uint numBindings, uint &outValue);
void parseString(const Common::String &functionName, const Common::Array<Common::String> ¶mTokens, 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