diff options
author | Paul Gilbert | 2019-06-23 12:42:00 -0700 |
---|---|---|
committer | Paul Gilbert | 2019-06-23 14:41:49 -0700 |
commit | a53e00597bdab2ffc1496f672010d9f51e69b991 (patch) | |
tree | c21f808e587134cb4658c61f344332216343ae16 /engines/glk/scott | |
parent | b2b78f48f0ef5de7253df428cd53115e4a88a84d (diff) | |
download | scummvm-rg350-a53e00597bdab2ffc1496f672010d9f51e69b991.tar.gz scummvm-rg350-a53e00597bdab2ffc1496f672010d9f51e69b991.tar.bz2 scummvm-rg350-a53e00597bdab2ffc1496f672010d9f51e69b991.zip |
GLK: Show unknown variant dialog for unknown detection entries
Diffstat (limited to 'engines/glk/scott')
-rw-r--r-- | engines/glk/scott/detection.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/glk/scott/detection.cpp b/engines/glk/scott/detection.cpp index e2c98723c4..03445ea090 100644 --- a/engines/glk/scott/detection.cpp +++ b/engines/glk/scott/detection.cpp @@ -77,14 +77,28 @@ bool ScottMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &g while (p->_md5 && p->_filesize != filesize && md5 != p->_md5) ++p; - if (p->_filesize) { + DetectedGame gd; + if (!p->_gameId) { + if (!isBlorb && filename.hasSuffixIgnoreCase(".dat")) + continue; + + const PlainGameDescriptor &desc = SCOTT_GAME_LIST[0]; + gd = DetectedGame(desc.gameId, desc.description, Common::UNK_LANG, Common::kPlatformUnknown); + gd.canBeAdded = true; + gd.hasUnknownFiles = true; + FileProperties fp; + fp.md5 = md5; + fp.size = filesize; + gd.matchedFiles[filename] = fp; + + } else { // Found a match PlainGameDescriptor gameDesc = findGame(p->_gameId); DetectedGame gd(p->_gameId, gameDesc.description, Common::EN_ANY, Common::kPlatformUnknown); gd.addExtraEntry("filename", file->getName()); - - gameList.push_back(gd); } + + gameList.push_back(gd); } return !gameList.empty(); |