aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorD G Turner2013-12-10 02:04:25 +0000
committerD G Turner2013-12-10 02:04:25 +0000
commit6db7b81d5c8270fda6d65e71401ef571367617dd (patch)
tree641698f6cd054eeb187f993f9ec8c7122d447ef0 /engines
parent5dca63221da0a9de079ee948598ff67dacffbf5d (diff)
downloadscummvm-rg350-6db7b81d5c8270fda6d65e71401ef571367617dd.tar.gz
scummvm-rg350-6db7b81d5c8270fda6d65e71401ef571367617dd.tar.bz2
scummvm-rg350-6db7b81d5c8270fda6d65e71401ef571367617dd.zip
QUEEN: Restore previous detection code as fallback detector.
Diffstat (limited to 'engines')
-rw-r--r--engines/queen/detection.cpp35
1 files changed, 19 insertions, 16 deletions
diff --git a/engines/queen/detection.cpp b/engines/queen/detection.cpp
index f8cecf9eaa..e56efd5e17 100644
--- a/engines/queen/detection.cpp
+++ b/engines/queen/detection.cpp
@@ -372,7 +372,7 @@ public:
virtual int getMaximumSaveSlot() const { return 99; }
virtual void removeSaveState(const char *target, int slot) const;
- //const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const;
+ const ADGameDescription *fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const;
};
bool QueenMetaEngine::hasFeature(MetaEngineFeature f) const {
@@ -401,9 +401,8 @@ const ExtraGuiOptions QueenMetaEngine::getExtraGuiOptions(const Common::String &
return options;
}
-/* FIXME - Migrate this code (Use as falllback):
-GameList QueenMetaEngine::detectGames(const Common::FSList &fslist) const {
- GameList detectedGames;
+const ADGameDescription *QueenMetaEngine::fallbackDetect(const FileMap &allFiles, const Common::FSList &fslist) const {
+ static ADGameDescription desc;
// Iterate over all files in the given directory
for (Common::FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) {
@@ -417,27 +416,31 @@ GameList QueenMetaEngine::detectGames(const Common::FSList &fslist) const {
}
Queen::DetectedGameVersion version;
if (Queen::Resource::detectVersion(&version, &dataFile)) {
- GameDescriptor dg(queenGameDescriptor.gameid, queenGameDescriptor.description, version.language, version.platform);
+ desc.gameid = "queen";
+ desc.language = version.language;
+ desc.platform = version.platform;
+ desc.flags = ADGF_NO_FLAGS;
+ desc.guioptions = GUIO0();
if (version.features & Queen::GF_DEMO) {
- dg.updateDesc("Demo");
- dg.setGUIOptions(GUIO_NOSPEECH);
+ desc.extra = "Demo";
+ desc.flags = ADGF_DEMO;
+ desc.guioptions = GUIO_NOSPEECH;
} else if (version.features & Queen::GF_INTERVIEW) {
- dg.updateDesc("Interview");
- dg.setGUIOptions(GUIO_NOSPEECH);
+ desc.extra = "Interview";
+ desc.flags = ADGF_DEMO;
+ desc.guioptions = GUIO_NOSPEECH;
} else if (version.features & Queen::GF_FLOPPY) {
- dg.updateDesc("Floppy");
- dg.setGUIOptions(GUIO_NOSPEECH);
+ desc.extra = "Floppy";
+ desc.guioptions = GUIO_NOSPEECH;
} else if (version.features & Queen::GF_TALKIE) {
- dg.updateDesc("Talkie");
+ desc.extra = "Talkie";
}
- detectedGames.push_back(dg);
- break;
+ return (const ADGameDescription *)&desc;
}
}
}
- return detectedGames;
+ return 0;
}
-*/
SaveStateList QueenMetaEngine::listSaves(const char *target) const {
Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();