[Scummvm-git-logs] scummvm branch-2-5 -> 48dac7e4a544d5c739c56b89db919d53d8602671

NMIError 60350957+NMIError at users.noreply.github.com
Tue Oct 5 19:15:41 UTC 2021


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:
e98dab63f0 SAGA: Add separate ItE Windows and Linux detection entries
c56e449b2f SAGA: Add scanning music subdir during detection
48dac7e4a5 SAGA: Allow use of non-resource files for detection


Commit: e98dab63f03f051755fa2c2b4159730daeac7754
    https://github.com/scummvm/scummvm/commit/e98dab63f03f051755fa2c2b4159730daeac7754
Author: Coen Rampen (crampen at gmail.com)
Date: 2021-10-05T21:15:16+02:00

Commit Message:
SAGA: Add separate ItE Windows and Linux detection entries

This commit adds separate detection entries for the Windows and Linux versions
of Inherit The Earth.
There was a combined DOS/Windows/Linux entry with DOS as the platform. It is
not clear to me if this is a combined release or a single entry for three
separate releases, but the Windows and Linux release do exist as separate
releases. These would be detected with DOS as the platform, which would cause
the music not to work, because the DOS, Windows and Linux versions use
different music formats.

Changed paths:
    engines/saga/detection_tables.h


diff --git a/engines/saga/detection_tables.h b/engines/saga/detection_tables.h
index ec63cad795..d85a29ce2d 100644
--- a/engines/saga/detection_tables.h
+++ b/engines/saga/detection_tables.h
@@ -478,7 +478,60 @@ static const SAGAGameDescription gameDescriptions[] = {
 		NULL,
 	},
 
+	// Inherit the earth - Wyrmkeep Windows CD version
+	// Reported by eriktorbjorn
+	{
+		{
+			"ite",
+			"Windows CD Version",
+			{
+				{"ite.rsc",		GAME_RESOURCEFILE,	"8f4315a9bb10ec839253108a032c8b54", 8928678},
+				{"scripts.rsc",	GAME_SCRIPTFILE,	"a891405405edefc69c9d6c420c868b84", -1},
+				{"cave.mid",	GAME_RESOURCEFILE,	"f7619359323058b61ec44fa8ce7888e5", 4441},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformWindows,
+			ADGF_CD,
+			GUIO0()
+		},
+		GID_ITE,
+		GF_EXTRA_ITE_CREDITS,
+		ITE_DEFAULT_SCENE,
+		&ITE_Resources,
+		ARRAYSIZE(ITE_GameFonts),
+		ITE_GameFonts,
+		ITEPatch_Files,
+	},
+
+	// Inherit the earth - Wyrmkeep Linux CD version
+	// Reported by eriktorbjorn
+	{
+		{
+			"ite",
+			"Linux CD Version",
+			{
+				{"ite.rsc",		GAME_RESOURCEFILE,		"8f4315a9bb10ec839253108a032c8b54", 8928678},
+				{"scripts.rsc",	GAME_SCRIPTFILE,		"a891405405edefc69c9d6c420c868b84", -1},
+				{"music.rsc",	GAME_DIGITALMUSICFILE,	"d6454756517f042f01210458abe8edd4", 52894196},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformLinux,
+			ADGF_CD,
+			GUIO0()
+		},
+		GID_ITE,
+		GF_EXTRA_ITE_CREDITS,
+		ITE_DEFAULT_SCENE,
+		&ITE_Resources,
+		ARRAYSIZE(ITE_GameFonts),
+		ITE_GameFonts,
+		ITEPatch_Files,
+	},
+
 	// Inherit the earth - Windows/Linux/DOS CD version
+	// FIXME Unclear which version(s) this matches - Windows and Linux versions have separate entries above.
 	{
 		{
 			"ite",
@@ -502,7 +555,58 @@ static const SAGAGameDescription gameDescriptions[] = {
 		ITEPatch_Files,
 	},
 
+	// Inherit the earth - Wyrmkeep Italian Windows CD version (fan translation)
+	{
+		{
+			"ite",
+			"Windows CD Version",
+			{
+				{"ite.rsc",		GAME_RESOURCEFILE,	"8f4315a9bb10ec839253108a032c8b54", 8929956},
+				{"scripts.rsc",	GAME_SCRIPTFILE,	"a891405405edefc69c9d6c420c868b84", 350243},
+				{"cave.mid",	GAME_RESOURCEFILE,	"f7619359323058b61ec44fa8ce7888e5", 4441},
+				AD_LISTEND
+			},
+			Common::IT_ITA,
+			Common::kPlatformWindows,
+			ADGF_CD,
+			GUIO0()
+		},
+		GID_ITE,
+		0,
+		ITE_DEFAULT_SCENE,
+		&ITE_Resources,
+		ARRAYSIZE(ITE_GameFonts),
+		ITE_GameFonts,
+		ITEPatch_Files,
+	},
+
+	// Inherit the earth - Wyrmkeep Italian Linux CD version (fan translation)
+	{
+		{
+			"ite",
+			"Linux CD Version",
+			{
+				{"ite.rsc",		GAME_RESOURCEFILE,		"8f4315a9bb10ec839253108a032c8b54", 8929956},
+				{"scripts.rsc",	GAME_SCRIPTFILE,		"a891405405edefc69c9d6c420c868b84", 350243},
+				{"music.rsc",	GAME_DIGITALMUSICFILE,	"d6454756517f042f01210458abe8edd4", 52894196},
+				AD_LISTEND
+			},
+			Common::IT_ITA,
+			Common::kPlatformLinux,
+			ADGF_CD,
+			GUIO0()
+		},
+		GID_ITE,
+		0,
+		ITE_DEFAULT_SCENE,
+		&ITE_Resources,
+		ARRAYSIZE(ITE_GameFonts),
+		ITE_GameFonts,
+		ITEPatch_Files,
+	},
+
 	// Inherit the earth - Italian Windows/Linux/DOS CD version (fan translation)
+	// FIXME Unclear which version(s) this matches - Windows and Linux versions have separate entries above.
 	{
 		{
 			"ite",
@@ -526,7 +630,58 @@ static const SAGAGameDescription gameDescriptions[] = {
 		ITEPatch_Files,
 	},
 
+	// Inherit the earth - Wyrmkeep French Windows CD version (fan translation)
+	{
+		{
+			"ite",
+			"Windows CD Version",
+			{
+				{"ite.rsc",		GAME_RESOURCEFILE,	"8f4315a9bb10ec839253108a032c8b54", 8929384},
+				{"scripts.rsc",	GAME_SCRIPTFILE,	"a891405405edefc69c9d6c420c868b84", 355877},
+				{"cave.mid",	GAME_RESOURCEFILE,	"f7619359323058b61ec44fa8ce7888e5", 4441},
+				AD_LISTEND
+			},
+			Common::FR_FRA,
+			Common::kPlatformWindows,
+			ADGF_CD,
+			GUIO0()
+		},
+		GID_ITE,
+		0,
+		ITE_DEFAULT_SCENE,
+		&ITE_Resources,
+		ARRAYSIZE(ITE_GameFonts),
+		ITE_GameFonts,
+		ITEPatch_Files,
+	},
+
+	// Inherit the earth - Wyrmkeep French Linux CD version (fan translation)
+	{
+		{
+			"ite",
+			"Linux CD Version",
+			{
+				{"ite.rsc",		GAME_RESOURCEFILE,		"8f4315a9bb10ec839253108a032c8b54", 8929384},
+				{"scripts.rsc",	GAME_SCRIPTFILE,		"a891405405edefc69c9d6c420c868b84", 355877},
+				{"music.rsc",	GAME_DIGITALMUSICFILE,	"d6454756517f042f01210458abe8edd4", 52894196},
+				AD_LISTEND
+			},
+			Common::FR_FRA,
+			Common::kPlatformLinux,
+			ADGF_CD,
+			GUIO0()
+		},
+		GID_ITE,
+		0,
+		ITE_DEFAULT_SCENE,
+		&ITE_Resources,
+		ARRAYSIZE(ITE_GameFonts),
+		ITE_GameFonts,
+		ITEPatch_Files,
+	},
+
 	// Inherit the earth - French Windows/Linux/DOS CD version (fan translation)
+	// FIXME Unclear which version(s) this matches - Windows and Linux versions have separate entries above.
 	{
 		{
 			"ite",


Commit: c56e449b2fbe9a43b99ed49f3072a110982d2d33
    https://github.com/scummvm/scummvm/commit/c56e449b2fbe9a43b99ed49f3072a110982d2d33
Author: Coen Rampen (crampen at gmail.com)
Date: 2021-10-05T21:15:17+02:00

Commit Message:
SAGA: Add scanning music subdir during detection

Scanning the music subdirectory is now necessary for detecting the Windows
version of Inherit The Earth.

Changed paths:
    engines/saga/detection.cpp


diff --git a/engines/saga/detection.cpp b/engines/saga/detection.cpp
index b881ee015e..ea9f501c4c 100644
--- a/engines/saga/detection.cpp
+++ b/engines/saga/detection.cpp
@@ -38,6 +38,9 @@ static const PlainGameDescriptor sagaGames[] = {
 class SagaMetaEngineDetection : public AdvancedMetaEngineDetection {
 public:
 	SagaMetaEngineDetection() : AdvancedMetaEngineDetection(Saga::gameDescriptions, sizeof(Saga::SAGAGameDescription), sagaGames) {
+		static const char *const DIRECTORY_GLOBS[2] = { "music", 0 };
+		_maxScanDepth = 2;
+		_directoryGlobs = DIRECTORY_GLOBS;
 	}
 
 	const char *getEngineId() const override {


Commit: 48dac7e4a544d5c739c56b89db919d53d8602671
    https://github.com/scummvm/scummvm/commit/48dac7e4a544d5c739c56b89db919d53d8602671
Author: Coen Rampen (crampen at gmail.com)
Date: 2021-10-05T21:15:17+02:00

Commit Message:
SAGA: Allow use of non-resource files for detection

The engine expected all files listed in the detection entries to be resource
files. This commit adds the option to use a non-resource file for detection.
This is needed to use a MID file to detect one of the Windows versions of
Inherit the Earth.

Changed paths:
    engines/saga/detection_tables.h
    engines/saga/resource.cpp


diff --git a/engines/saga/detection_tables.h b/engines/saga/detection_tables.h
index d85a29ce2d..5abae60b76 100644
--- a/engines/saga/detection_tables.h
+++ b/engines/saga/detection_tables.h
@@ -487,7 +487,7 @@ static const SAGAGameDescription gameDescriptions[] = {
 			{
 				{"ite.rsc",		GAME_RESOURCEFILE,	"8f4315a9bb10ec839253108a032c8b54", 8928678},
 				{"scripts.rsc",	GAME_SCRIPTFILE,	"a891405405edefc69c9d6c420c868b84", -1},
-				{"cave.mid",	GAME_RESOURCEFILE,	"f7619359323058b61ec44fa8ce7888e5", 4441},
+				{"cave.mid",	0,					"f7619359323058b61ec44fa8ce7888e5", 4441},
 				AD_LISTEND
 			},
 			Common::EN_ANY,
diff --git a/engines/saga/resource.cpp b/engines/saga/resource.cpp
index 9f1ee723ae..49a697dbd4 100644
--- a/engines/saga/resource.cpp
+++ b/engines/saga/resource.cpp
@@ -169,7 +169,8 @@ bool Resource::createContexts() {
 
 	for (const ADGameFileDescription *gameFileDescription = _vm->getFilesDescriptions();
 		gameFileDescription->fileName; gameFileDescription++) {
-		addContext(gameFileDescription->fileName, gameFileDescription->fileType);
+		if (gameFileDescription->fileType > 0)
+			addContext(gameFileDescription->fileName, gameFileDescription->fileType);
 		if (gameFileDescription->fileType == GAME_SOUNDFILE) {
 			soundFileInArray = true;
 		}




More information about the Scummvm-git-logs mailing list