aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Snover2017-09-06 23:10:08 -0500
committerColin Snover2017-09-08 16:02:32 -0500
commit6571111efca8ade4e958b31318ebb5026d30c1f5 (patch)
tree5d88211b6547ee3af6da0f91f73ab32a8e58e23a
parent3ce5276b9cfe776fde752216b26b149e96543c1f (diff)
downloadscummvm-rg350-6571111efca8ade4e958b31318ebb5026d30c1f5.tar.gz
scummvm-rg350-6571111efca8ade4e958b31318ebb5026d30c1f5.tar.bz2
scummvm-rg350-6571111efca8ade4e958b31318ebb5026d30c1f5.zip
SCI32: Detect KQ7 2.00b using platform-specific files
The GOG.com release is missing the AVIs used for the intro & ending animations in Windows. I'm unaware of any substantive differences between the DOS and Windows versions otherwise, so just not allowing Windows to be selected as a platform when the video files are missing seems like it should be fine. (Same thing in the opposite direction for a case where the DOS Robot files are missing, though I don't know of a specific case where that is a thing with KQ7 2.00b.)
-rw-r--r--engines/sci/detection.cpp1
-rw-r--r--engines/sci/detection_tables.h16
2 files changed, 17 insertions, 0 deletions
diff --git a/engines/sci/detection.cpp b/engines/sci/detection.cpp
index 17a1ece3e1..1707f13480 100644
--- a/engines/sci/detection.cpp
+++ b/engines/sci/detection.cpp
@@ -519,6 +519,7 @@ static ADGameDescription s_fallbackDesc = {
static char s_fallbackGameIdBuf[256];
static const char *directoryGlobs[] = {
+ "avi",
"english",
"french",
"german",
diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h
index 3ee4459a5e..6f539a9c45 100644
--- a/engines/sci/detection_tables.h
+++ b/engines/sci/detection_tables.h
@@ -1890,6 +1890,14 @@ static const struct ADGameDescription SciGameDescriptions[] = {
{"kq7", "", {
{"resource.map", 0, "8676b0fbbd7362989a029fe72fea14c6", 18709},
{"resource.000", 0, "51c1ead1163e19a2de8f121c39df7a76", 200764100},
+ // Having the same number of files in the detection entries is needed
+ // for the DOS version to have equal priority to the Windows version
+ // that is detected with additional files, and we might as well check
+ // for the DOS-specific files here too since there are at least some
+ // Windows-only releases of this game too
+ {"avi/91.rbt", 0, NULL, -1},
+ {"avi/911.rbt", 0, NULL, -1},
+ {"avi/912.rbt", 0, NULL, -1},
AD_LISTEND},
Common::EN_ANY, Common::kPlatformDOS, ADGF_TESTING | ADGF_CD, GUIO_KQ7 },
@@ -1898,6 +1906,14 @@ static const struct ADGameDescription SciGameDescriptions[] = {
{"kq7", "", {
{"resource.map", 0, "8676b0fbbd7362989a029fe72fea14c6", 18709},
{"resource.000", 0, "51c1ead1163e19a2de8f121c39df7a76", 200764100},
+ // We need to look for these AVIs before enabling the Windows version
+ // because GOG.com releases are missing them. Their contents do not
+ // matter (some users replace them with higher quality versions created
+ // from the rare 1.65c release, which should not cause a detection
+ // failure)
+ {"avi/e108x11.avi", 0, NULL, -1},
+ {"avi/e208x11.avi", 0, NULL, -1},
+ {"avi/int08x11.avi", 0, NULL, -1},
AD_LISTEND},
Common::EN_ANY, Common::kPlatformWindows, ADGF_TESTING | ADGF_CD, GUIO_KQ7 },