From 6571111efca8ade4e958b31318ebb5026d30c1f5 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Wed, 6 Sep 2017 23:10:08 -0500 Subject: 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.) --- engines/sci/detection.cpp | 1 + engines/sci/detection_tables.h | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) 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 }, -- cgit v1.2.3