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.)
This commit is contained in:
Colin Snover 2017-09-06 23:10:08 -05:00
parent 3ce5276b9c
commit 6571111efc
2 changed files with 17 additions and 0 deletions

View File

@ -519,6 +519,7 @@ static ADGameDescription s_fallbackDesc = {
static char s_fallbackGameIdBuf[256];
static const char *directoryGlobs[] = {
"avi",
"english",
"french",
"german",

View File

@ -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 },