[Scummvm-git-logs] scummvm master -> fef92525c4a3871ea9a34f508880c9b859479144

sev- noreply at scummvm.org
Mon Jul 14 12:58:09 UTC 2025


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

Summary:
46830e290d SCUMM: Sort games alphabetically when dumping detection entries
2f8e10f76b SCUMM: Disable detection entry dumping code
073ef5f300 GLK: Disable detection entry dumping code
76066f9221 GRIM: Always enable all detection entries
fef92525c4 ULTIMA: Always keep all detection entries


Commit: 46830e290d2bc4f72facdaa29c2c1b0e0f979e34
    https://github.com/scummvm/scummvm/commit/46830e290d2bc4f72facdaa29c2c1b0e0f979e34
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-07-14T14:49:31+02:00

Commit Message:
SCUMM: Sort games alphabetically when dumping detection entries

Changed paths:
    engines/scumm/detection.cpp


diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index ca9c941e954..4e2b71fd0eb 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -126,9 +126,26 @@ GameFilenamePattern ScummMetaEngineDetection::matchGameFilenamePattern(const MD5
 	return bestMatch;
 }
 
+struct EntryPos {
+	const char *gameid;
+	int id;
+
+	EntryPos(const char *gameid, int id) : gameid(gameid), id(id) {}
+};
+
+static int compareTreeNodes(const void *a, const void *b) {
+	return scumm_stricmp(((const EntryPos *)a)->gameid, ((const EntryPos *)b)->gameid);
+}
+
  void ScummMetaEngineDetection::dumpDetectionEntries() const {
-#if 0
-	for (const MD5Table *entry = md5table; entry->gameid != 0; ++entry) {
+
+	// Sort all entrues by gameid, as they are sorted by md5
+	Common::SortedArray<EntryPos *> gameIDs(compareTreeNodes);
+	for (int i = 0; md5table[i].gameid != 0; ++i)
+		gameIDs.insert(new EntryPos(md5table[i].gameid , i));
+
+	for (auto &iter : gameIDs) {
+		const MD5Table *entry = &md5table[iter->id];
 		PlainGameDescriptor pd = findGame(entry->gameid);
 		const char *title = pd.description;
 
@@ -160,7 +177,9 @@ GameFilenamePattern ScummMetaEngineDetection::matchGameFilenamePattern(const MD5
 
 		printf(")\n\n"); // Closing for 'game ('
 	}
-#endif
+
+	for (auto &iter : gameIDs)
+		delete iter;
 }
 
 PlainGameDescriptor ScummMetaEngineDetection::findGame(const char *gameid) const {


Commit: 2f8e10f76b2bca58cbf8d5f2594c3190aebfc8b8
    https://github.com/scummvm/scummvm/commit/2f8e10f76b2bca58cbf8d5f2594c3190aebfc8b8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-07-14T14:49:31+02:00

Commit Message:
SCUMM: Disable detection entry dumping code

We manually processed the entries, because unfortunately
there is not enough information for guessing correct file name in
detection. Thus, the produced tables are mostly unusable.

Changed paths:
    engines/scumm/detection.cpp


diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index 4e2b71fd0eb..3f8d4e2ce54 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -138,7 +138,7 @@ static int compareTreeNodes(const void *a, const void *b) {
 }
 
  void ScummMetaEngineDetection::dumpDetectionEntries() const {
-
+#if 0
 	// Sort all entrues by gameid, as they are sorted by md5
 	Common::SortedArray<EntryPos *> gameIDs(compareTreeNodes);
 	for (int i = 0; md5table[i].gameid != 0; ++i)
@@ -180,6 +180,7 @@ static int compareTreeNodes(const void *a, const void *b) {
 
 	for (auto &iter : gameIDs)
 		delete iter;
+#endif
 }
 
 PlainGameDescriptor ScummMetaEngineDetection::findGame(const char *gameid) const {


Commit: 073ef5f300a609ab73e1cf8f3f400707f46ce0ff
    https://github.com/scummvm/scummvm/commit/073ef5f300a609ab73e1cf8f3f400707f46ce0ff
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-07-14T14:49:32+02:00

Commit Message:
GLK: Disable detection entry dumping code

There is no way to understand file extension and in many cases
even file names. This renders the dumped entries unusable.

Manual producing of the table will be required

Changed paths:
    engines/glk/detection.cpp


diff --git a/engines/glk/detection.cpp b/engines/glk/detection.cpp
index 01ca8a1692b..c71b5dc5190 100644
--- a/engines/glk/detection.cpp
+++ b/engines/glk/detection.cpp
@@ -317,6 +317,7 @@ uint GlkMetaEngineDetection::getMD5Bytes() const {
 }
 
 void GlkMetaEngineDetection::dumpDetectionEntries() const {
+#if 0
 	enum class EngineName : uint8 {
     	COMPREHEND,
     	LEVEL9,
@@ -383,6 +384,7 @@ void GlkMetaEngineDetection::dumpDetectionEntries() const {
 			printf(")\n\n");
 		}
 	}
+#endif
 }
 
 


Commit: 76066f9221dc57b41e3932d08f0964f6b7771844
    https://github.com/scummvm/scummvm/commit/76066f9221dc57b41e3932d08f0964f6b7771844
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-07-14T14:49:32+02:00

Commit Message:
GRIM: Always enable all detection entries

PS2 versions require MPEG2 support, so instead of removing
their detection, which would lead to "cannot find game",
we move the check to the runtime and explain user why the
game cannot be run.

Changed paths:
    engines/grim/detection_tables.h
    engines/grim/metaengine.cpp


diff --git a/engines/grim/detection_tables.h b/engines/grim/detection_tables.h
index c4108e58303..e650aa2f751 100644
--- a/engines/grim/detection_tables.h
+++ b/engines/grim/detection_tables.h
@@ -539,7 +539,6 @@ static const GrimGameDescription gameDescriptions[] = {
 		GType_MONKEY4
 	},
 
-#if defined(USE_MPEG2)
 	{
 		// Escape from Monkey Island English PS2
 		{
@@ -605,7 +604,6 @@ static const GrimGameDescription gameDescriptions[] = {
 		},
 		GType_MONKEY4
 	},
-#endif
 
 	{
 		// Escape from Monkey Island CD demo (English)
diff --git a/engines/grim/metaengine.cpp b/engines/grim/metaengine.cpp
index 9e8d75c18e4..6b8f54e169e 100644
--- a/engines/grim/metaengine.cpp
+++ b/engines/grim/metaengine.cpp
@@ -82,6 +82,11 @@ Common::Error GrimMetaEngine::createInstance(OSystem *syst, Engine **engine, con
 
 	if (gd->gameType == GType_MONKEY4) {
 #ifdef ENABLE_MONKEY4
+#if !defined(USE_MPEG2)
+		if (gd->desc.platform == Common::kPlatformPS2) {
+			return Common::Error(Common::kUnsupportedGameidError, _s("Escape from Monkey Island PS2 support required MPEG2 support, which is not compiled in"));
+		}
+#endif
 		*engine = new EMIEngine(syst, gd->desc.flags, gd->gameType, gd->desc.platform, gd->desc.language);
 #else
 		return Common::Error(Common::kUnsupportedGameidError, _s("Escape from Monkey Island support is not compiled in"));


Commit: fef92525c4a3871ea9a34f508880c9b859479144
    https://github.com/scummvm/scummvm/commit/fef92525c4a3871ea9a34f508880c9b859479144
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-07-14T14:49:32+02:00

Commit Message:
ULTIMA: Always keep all detection entries

When we disable a subengine, we still want to detect the games,
just return "no engine capable of running the game" error.

Changed paths:
    engines/ultima/detection_tables.h


diff --git a/engines/ultima/detection_tables.h b/engines/ultima/detection_tables.h
index cd747fa4f5d..e47baffb7aa 100644
--- a/engines/ultima/detection_tables.h
+++ b/engines/ultima/detection_tables.h
@@ -46,7 +46,6 @@ namespace Ultima {
 #define ENTRY_ULTIMA6_NORMAL_UNSTABLE(FILENAME, MD5, FILESIZE, LANG, PLATFORM) {{"ultima6", 0, AD_ENTRY1s(FILENAME, MD5, FILESIZE), LANG, PLATFORM, ADGF_UNSTABLE, GUI_OPTIONS_ULTIMA6}, GAME_ULTIMA6, 0}
 
 static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
-#ifdef ENABLE_ULTIMA1
 	{
 		// Ultima I - The First Age of Darkness
 		{
@@ -97,9 +96,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GAME_ULTIMA1,
 		0
 	},
-#endif
 
-#ifdef ENABLE_ULTIMA4
 	{
 		// Ultima IV - Quest of the Avatar
 		{
@@ -129,9 +126,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GAME_ULTIMA4,
 		GF_VGA_ENHANCED
 	},
-#endif
 
-#ifdef ENABLE_ULTIMA6
 	// GOG Ultima VI
 	ENTRY_ULTIMA6("converse.a", "5065716423ef1389e3f7b4946d815c26", 162615,
 				Common::EN_ANY,
@@ -182,9 +177,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 	ENTRY_ULTIMA6("converse.a", "ee22a6ac3964f9ff11a48fcb3f4a9389", 162458,
 				Common::EN_ANY,
 				Common::kPlatformDOS),
-#endif
 
-#ifdef ENABLE_ULTIMA8
 	// Ultima VIII - CD (provided by ddeluca1com, bug #11944)
 	{
 		{
@@ -533,9 +526,7 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GAME_CRUSADER_REG,
 		0
 	},
-#endif
 
-#ifdef ENABLE_ULTIMA6
 	// GOG Martian Dreams
 	{
 		{
@@ -656,7 +647,6 @@ static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
 		GAME_SAVAGE_EMPIRE,
 		GF_VGA_ENHANCED
 	},
-#endif
 
 	{ AD_TABLE_END_MARKER, (GameId)0, 0 }
 };




More information about the Scummvm-git-logs mailing list