aboutsummaryrefslogtreecommitdiff
path: root/engines/groovie/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/groovie/detection.cpp')
-rw-r--r--engines/groovie/detection.cpp55
1 files changed, 21 insertions, 34 deletions
diff --git a/engines/groovie/detection.cpp b/engines/groovie/detection.cpp
index 0dd510abca..62887bac1e 100644
--- a/engines/groovie/detection.cpp
+++ b/engines/groovie/detection.cpp
@@ -131,7 +131,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"11h", "",
AD_ENTRY1s("disk.1", "5c0428cd3659fc7bbcd0aa16485ed5da", 227),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS,
+ Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE,
Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieV2, 1
@@ -142,7 +142,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"11h", "Demo",
AD_ENTRY1s("disk.1", "aacb32ce07e0df2894bd83a3dee40c12", 70),
- Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO, Common::GUIO_NOLAUNCHLOAD |
+ Common::EN_ANY, Common::kPlatformPC, ADGF_DEMO | ADGF_UNSTABLE, Common::GUIO_NOLAUNCHLOAD |
Common::GUIO_MIDIADLIB | Common::GUIO_MIDIMT32 | Common::GUIO_MIDIGM
},
kGroovieV2, 1
@@ -153,7 +153,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"11h", "Making Of",
AD_ENTRY1s("disk.1", "5c0428cd3659fc7bbcd0aa16485ed5da", 227),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NOMIDI | Common::GUIO_NOLAUNCHLOAD
+ Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, Common::GUIO_NOMIDI | Common::GUIO_NOLAUNCHLOAD
},
kGroovieV2, 2
},
@@ -163,7 +163,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"clandestiny", "Trailer",
AD_ENTRY1s("disk.1", "5c0428cd3659fc7bbcd0aa16485ed5da", 227),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NOMIDI | Common::GUIO_NOLAUNCHLOAD
+ Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, Common::GUIO_NOMIDI | Common::GUIO_NOLAUNCHLOAD
},
kGroovieV2, 3
},
@@ -173,7 +173,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"clandestiny", "",
AD_ENTRY1s("disk.1", "f79fc1515174540fef6a34132efc4c53", 76),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NOMIDI
+ Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, Common::GUIO_NOMIDI
},
kGroovieV2, 1
},
@@ -183,7 +183,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"unclehenry", "",
AD_ENTRY1s("disk.1", "0e1b1d3cecc4fc7efa62a968844d1f7a", 72),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NOMIDI
+ Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, Common::GUIO_NOMIDI
},
kGroovieV2, 1
},
@@ -193,7 +193,7 @@ static const GroovieGameDescription gameDescriptions[] = {
{
"tlc", "",
AD_ENTRY1s("disk.1", "32a1afa68478f1f9d2b25eeea427f2e3", 84),
- Common::EN_ANY, Common::kPlatformPC, ADGF_NO_FLAGS, Common::GUIO_NOMIDI
+ Common::EN_ANY, Common::kPlatformPC, ADGF_UNSTABLE, Common::GUIO_NOMIDI
},
kGroovieV2, 1
},
@@ -202,35 +202,22 @@ static const GroovieGameDescription gameDescriptions[] = {
{AD_TABLE_END_MARKER, kGroovieT7G, 0}
};
-static const ADParams detectionParams = {
- // Pointer to ADGameDescription or its superset structure
- (const byte *)gameDescriptions,
- // Size of that superset structure
- sizeof(GroovieGameDescription),
- // Number of bytes to compute MD5 sum for
- 5000,
- // List of all engine targets
- groovieGames,
- // Structure for autoupgrading obsolete targets
- 0,
- // Name of single gameid (optional)
- "groovie",
- // List of files for file-based fallback detection (optional)
- 0,
- // Flags
- kADFlagUseExtraAsHint,
- // Additional GUI options (for every game}
- Common::GUIO_NOSUBTITLES | Common::GUIO_NOSFX,
- // Maximum directory depth
- 1,
- // List of directory globs
- 0
-};
-
-
class GroovieMetaEngine : public AdvancedMetaEngine {
public:
- GroovieMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+ GroovieMetaEngine() : AdvancedMetaEngine(gameDescriptions, sizeof(GroovieGameDescription), groovieGames) {
+ _singleid = "groovie";
+
+ // Use kADFlagUseExtraAsHint in order to distinguish the 11th hour from
+ // its "Making of" as well as the Clandestiny Trailer; they all share
+ // the same MD5.
+ // TODO: Is this the only reason, or are there others (like the three
+ // potentially sharing a single directory) ? In the former case, then
+ // perhaps a better solution would be to add additional files
+ // to the detection entries. In the latter case, this TODO should be
+ // replaced with an according explanation.
+ _flags = kADFlagUseExtraAsHint;
+ _guioptions = Common::GUIO_NOSUBTITLES | Common::GUIO_NOSFX;
+ }
const char *getName() const {
return "Groovie";