[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