[Scummvm-git-logs] scummvm branch-2-7 -> 41a342519a38231c2e0be16297a6ffc807cb9664

elasota noreply at scummvm.org
Thu Feb 2 16:43:40 UTC 2023


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:
295f1fc070 MTROPOLIS: Add boot+detection for Obsidian Macintosh Japanese version
41a342519a MTROPOLIS: Remove widescreen and subtitle options from incompatible languages, add auto-save to compatible languages.


Commit: 295f1fc070d81427eae0adec1f790e2f58789de9
    https://github.com/scummvm/scummvm/commit/295f1fc070d81427eae0adec1f790e2f58789de9
Author: elasota (ejlasota at gmail.com)
Date: 2023-02-02T11:43:06-05:00

Commit Message:
MTROPOLIS: Add boot+detection for Obsidian Macintosh Japanese 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 4fffb255801..77720334233 100644
--- a/engines/mtropolis/boot.cpp
+++ b/engines/mtropolis/boot.cpp
@@ -180,6 +180,7 @@ private:
 	bool _isMac;
 	bool _isRetail;
 	bool _isEnglish;
+	bool _isJapanese;
 
 	void unpackMacRetailInstaller(Common::Array<Common::SharedPtr<ProjectPersistentResource> > &persistentResources, Common::Array<FileIdentification> &files);
 	Common::SharedPtr<Obsidian::WordGameData> loadWinWordGameData();
@@ -191,6 +192,7 @@ private:
 ObsidianGameDataHandler::ObsidianGameDataHandler(const Game &game, const MTropolisGameDescription &gameDesc) : GameDataHandler(game, gameDesc) {
 	_isMac = (gameDesc.desc.platform == Common::kPlatformMacintosh);
 	_isEnglish = (gameDesc.desc.language == Common::EN_ANY);
+	_isJapanese = (gameDesc.desc.language == Common::JA_JPN);
 	_isRetail = ((gameDesc.desc.flags & ADGF_DEMO) == 0);
 }
 
@@ -221,7 +223,15 @@ void ObsidianGameDataHandler::unpackMacRetailInstaller(Common::Array<Common::Sha
 		{"RSGKit.rPP", MKTAG('M', 'F', 'c', 'o'), MKTAG('M', 'f', 'M', 'f')},
 	};
 
-	Common::SeekableReadStream *installerDataForkStream = Common::MacResManager::openFileOrDataFork("Obsidian Installer");
+	const char *installerFileName = nullptr;
+	if (_isEnglish)
+		installerFileName = "Obsidian Installer";
+	else if (_isJapanese)
+		installerFileName = "xn--u9j9ecg0a2fsa1io6k6jkdc2k";
+	else
+		error("Couldn't figure out what file name to use as installer to unpack");
+
+	Common::SeekableReadStream *installerDataForkStream = Common::MacResManager::openFileOrDataFork(installerFileName);
 	if (!installerDataForkStream)
 		error("Obsidian Installer has no data fork");
 
@@ -671,6 +681,16 @@ const ManifestFile obsidianRetailMacEnFiles[] = {
 	{nullptr, MTFT_AUTO}
 };
 
+const ManifestFile obsidianRetailMacJpFiles[] = {
+	{"xn--u9j9ecg0a2fsa1io6k6jkdc2k", MTFT_SPECIAL},
+	{"Obsidian Data 2", MTFT_ADDITIONAL},
+	{"Obsidian Data 3", MTFT_ADDITIONAL},
+	{"Obsidian Data 4", MTFT_ADDITIONAL},
+	{"Obsidian Data 5", MTFT_ADDITIONAL},
+	{"Obsidian Data 6", MTFT_ADDITIONAL},
+	{nullptr, MTFT_AUTO}
+};
+
 const ManifestFile obsidianDemoMacEnFiles[] = {
 	{"Obsidian Demo", MTFT_PLAYER},
 	{"Basic.rPP", MTFT_EXTENSION},
@@ -944,6 +964,14 @@ const Game games[] = {
 		&obsidianRetailEnSubtitlesDef,
 		GameDataHandlerFactory<ObsidianGameDataHandler>::create
 	},
+	// Obsidian - Retail - Macintosh - Japanese
+	{
+		MTBOOT_OBSIDIAN_RETAIL_MAC_JP,
+		obsidianRetailMacJpFiles,
+		nullptr,
+		nullptr,
+		GameDataHandlerFactory<ObsidianGameDataHandler>::create
+	},
 	// Obsidian - Retail - Windows - English
 	{
 		MTBOOT_OBSIDIAN_RETAIL_WIN_EN,
diff --git a/engines/mtropolis/detection.h b/engines/mtropolis/detection.h
index 18df731a9b6..c2080e41b81 100644
--- a/engines/mtropolis/detection.h
+++ b/engines/mtropolis/detection.h
@@ -43,6 +43,7 @@ enum MTropolisGameBootID {
 	MTBOOT_INVALID = 0,
 
 	MTBOOT_OBSIDIAN_RETAIL_MAC_EN,
+	MTBOOT_OBSIDIAN_RETAIL_MAC_JP,
 	MTBOOT_OBSIDIAN_RETAIL_WIN_EN,
 	MTBOOT_OBSIDIAN_RETAIL_WIN_DE,
 	MTBOOT_OBSIDIAN_RETAIL_WIN_IT,
diff --git a/engines/mtropolis/detection_tables.h b/engines/mtropolis/detection_tables.h
index b02be8254b9..775b5afb0ec 100644
--- a/engines/mtropolis/detection_tables.h
+++ b/engines/mtropolis/detection_tables.h
@@ -74,6 +74,28 @@ static const MTropolisGameDescription gameDescriptions[] = {
 		0,
 		MTBOOT_OBSIDIAN_RETAIL_MAC_EN,
 	},
+	{ // Obsidian Japanese Macintosh, dumped
+		{
+			"obsidian",
+			"V1.0, 1/13/97, CD",
+			{
+				{"Obsidian Data 2", 0, "d3b4746dd05adba87e15f83a1599c6fe", 570855424},
+				//{"Obsidian Data 3", 0, "96bb5f6ab893aca9e8e3ce19d19974fc", 616954880},
+				//{"Obsidian Data 4", 0, "54cf1745ea19e0cc33d76905d0b9fc41", 593788928},
+				//{"Obsidian Data 5", 0, "adc938b08ba2d2f0a08c934e6105b0f9", 583581824},
+				//{"Obsidian Data 6", 0, "09de40ab9001eda30291421d2736fa76", 551191680},
+				//{"xn--u9j9ecg0a2fsa1io6k6jkdc2k", 0, "af62516a9a9bd16bc5c01e755a9f7329", 9186432},
+				AD_LISTEND
+			},
+			Common::JA_JPN,
+			Common::kPlatformMacintosh,
+			ADGF_TESTING,
+			GUIO3(GAMEOPTION_WIDESCREEN_MOD, GAMEOPTION_AUTO_SAVE_AT_CHECKPOINTS, GAMEOPTION_SOUND_EFFECT_SUBTITLES)
+		},
+		GID_OBSIDIAN,
+		0,
+		MTBOOT_OBSIDIAN_RETAIL_MAC_JP,
+	},
 
 	{ // Obsidian Windows, installed
 		{


Commit: 41a342519a38231c2e0be16297a6ffc807cb9664
    https://github.com/scummvm/scummvm/commit/41a342519a38231c2e0be16297a6ffc807cb9664
Author: elasota (ejlasota at gmail.com)
Date: 2023-02-02T11:43:06-05:00

Commit Message:
MTROPOLIS: Remove widescreen and subtitle options from incompatible languages, add auto-save to compatible languages.

Changed paths:
    engines/mtropolis/detection_tables.h


diff --git a/engines/mtropolis/detection_tables.h b/engines/mtropolis/detection_tables.h
index 775b5afb0ec..ce3a66cf8ad 100644
--- a/engines/mtropolis/detection_tables.h
+++ b/engines/mtropolis/detection_tables.h
@@ -90,7 +90,7 @@ static const MTropolisGameDescription gameDescriptions[] = {
 			Common::JA_JPN,
 			Common::kPlatformMacintosh,
 			ADGF_TESTING,
-			GUIO3(GAMEOPTION_WIDESCREEN_MOD, GAMEOPTION_AUTO_SAVE_AT_CHECKPOINTS, GAMEOPTION_SOUND_EFFECT_SUBTITLES)
+			GUIO1(GAMEOPTION_AUTO_SAVE_AT_CHECKPOINTS)
 		},
 		GID_OBSIDIAN,
 		0,
@@ -144,7 +144,7 @@ static const MTropolisGameDescription gameDescriptions[] = {
 			Common::DE_DEU,
 			Common::kPlatformWindows,
 			ADGF_TESTING,
-			GUIO1(GAMEOPTION_WIDESCREEN_MOD)
+			GUIO1(GAMEOPTION_AUTO_SAVE_AT_CHECKPOINTS)
 		},
 		GID_OBSIDIAN,
 		0,
@@ -170,7 +170,7 @@ static const MTropolisGameDescription gameDescriptions[] = {
 			Common::IT_ITA,
 			Common::kPlatformWindows,
 			ADGF_TESTING,
-			GUIO1(GAMEOPTION_WIDESCREEN_MOD)
+			GUIO1(GAMEOPTION_AUTO_SAVE_AT_CHECKPOINTS)
 		},
 		GID_OBSIDIAN,
 		0,




More information about the Scummvm-git-logs mailing list