diff options
-rw-r--r-- | common/advancedDetector.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/common/advancedDetector.cpp b/common/advancedDetector.cpp index 1b0db4755a..b0a8001587 100644 --- a/common/advancedDetector.cpp +++ b/common/advancedDetector.cpp @@ -290,6 +290,7 @@ PluginError AdvancedMetaEngine::createInstance(OSystem *syst, Engine **engine) c typedef HashMap<String, bool, IgnoreCase_Hash, IgnoreCase_EqualTo> StringSet; typedef HashMap<String, int32, IgnoreCase_Hash, IgnoreCase_EqualTo> IntMap; +typedef HashMap<String, FilesystemNode, IgnoreCase_Hash, IgnoreCase_EqualTo> FileMap; static void reportUnknown(const StringMap &filesMD5, const IntMap &filesSize) { // TODO: This message should be cleaned up / made more specific. @@ -307,10 +308,10 @@ static void reportUnknown(const StringMap &filesMD5, const IntMap &filesSize) { printf("\n"); } -static ADGameDescList detectGameFilebased(const StringMap &allFiles, const Common::ADParams ¶ms); +static ADGameDescList detectGameFilebased(const FileMap &allFiles, const Common::ADParams ¶ms); static ADGameDescList detectGame(const FSList &fslist, const Common::ADParams ¶ms, Language language, Platform platform, const Common::String extra) { - StringMap allFiles; + FileMap allFiles; StringSet detectFiles; StringMap filesMD5; @@ -334,7 +335,7 @@ static ADGameDescList detectGame(const FSList &fslist, const Common::ADParams &p if (tstr.lastChar() == '.') tstr.deleteLastChar(); - allFiles[tstr] = file->getPath(); // Record the presence of this file + allFiles[tstr] = *file; // Record the presence of this file } // Compute the set of files for which we need MD5s for. I.e. files which are @@ -356,7 +357,7 @@ static ADGameDescList detectGame(const FSList &fslist, const Common::ADParams &p debug(3, "+ %s", fname.c_str()); char md5str[32+1]; - if (!md5_file_string(allFiles[fname].c_str(), md5str, params.md5Bytes)) + if (!md5_file_string(allFiles[fname], md5str, params.md5Bytes)) continue; filesMD5[fname] = md5str; @@ -464,7 +465,7 @@ static ADGameDescList detectGame(const FSList &fslist, const Common::ADParams &p * the maximal number of matching files. In case of a tie, the entry * coming first in the list is chosen. */ -static ADGameDescList detectGameFilebased(const StringMap &allFiles, const Common::ADParams ¶ms) { +static ADGameDescList detectGameFilebased(const FileMap &allFiles, const Common::ADParams ¶ms) { const ADFileBasedFallback *ptr; const char* const* filenames; |