aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/scott
diff options
context:
space:
mode:
authorPaul Gilbert2019-06-23 12:42:00 -0700
committerPaul Gilbert2019-06-23 14:41:49 -0700
commita53e00597bdab2ffc1496f672010d9f51e69b991 (patch)
treec21f808e587134cb4658c61f344332216343ae16 /engines/glk/scott
parentb2b78f48f0ef5de7253df428cd53115e4a88a84d (diff)
downloadscummvm-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.cpp20
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();