diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/advancedDetector.cpp | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/common/advancedDetector.cpp b/common/advancedDetector.cpp index 24e884a164..da65c30411 100644 --- a/common/advancedDetector.cpp +++ b/common/advancedDetector.cpp @@ -72,27 +72,6 @@ GameList gameIDList(const Common::ADParams ¶ms) { return GameList(params.list); } -static void upgradeTargetIfNecessary(const Common::ADParams ¶ms) { - if (params.obsoleteList == 0) - return; - - const char *gameid = ConfMan.get("gameid").c_str(); - - for (const Common::ADObsoleteGameID *o = params.obsoleteList; o->from; ++o) { - if (!scumm_stricmp(gameid, o->from)) { - gameid = o->to; - ConfMan.set("gameid", o->to); - - if (o->platform != Common::kPlatformUnknown) - ConfMan.set("platform", Common::getPlatformCode(o->platform)); - - warning("Target upgraded from %s to %s", o->from, o->to); - ConfMan.flushToDisk(); - break; - } - } -} - GameDescriptor findGameID( const char *gameid, const Common::ADParams ¶ms @@ -221,10 +200,24 @@ PluginError detectGameForEngineCreation( const Common::ADParams ¶ms ) { - upgradeTargetIfNecessary(params); - Common::String gameid = ConfMan.get("gameid"); + if (params.obsoleteList != 0) { + for (const Common::ADObsoleteGameID *o = params.obsoleteList; o->from; ++o) { + if (!scumm_stricmp(gameid.c_str(), o->from)) { + gameid = o->to; + ConfMan.set("gameid", o->to); + + if (o->platform != Common::kPlatformUnknown) + ConfMan.set("platform", Common::getPlatformCode(o->platform)); + + warning("Target upgraded from %s to %s", o->from, o->to); + ConfMan.flushToDisk(); + break; + } + } + } + FSList fslist; FilesystemNode dir(ConfMan.get("path")); if (!dir.listDir(fslist, FilesystemNode::kListFilesOnly)) { |