diff options
-rw-r--r-- | engines/scumm/plugin.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/engines/scumm/plugin.cpp b/engines/scumm/plugin.cpp index 62c0e70547..b980681220 100644 --- a/engines/scumm/plugin.cpp +++ b/engines/scumm/plugin.cpp @@ -991,16 +991,13 @@ static void detectGames(const FSList &fslist, Common::List<DetectorResult> &resu dr.game = *g; dr.game.gameid = d.md5Entry->gameid; - // Sanity check - if (dr.game.platform != Common::kPlatformUnknown && dr.game.platform != d.md5Entry->platform) - warning("SCUMM detectGames: Platform values differ for MD5 '%s': %d vs %d (please report to Fingolfin)", - md5str, dr.game.platform, d.md5Entry->platform); - - // Force game to have Mac platform, if required by HE game - if (dr.fp.genMethod == kGenHEMac || dr.fp.genMethod == kGenHEMacNoParens) { - dr.game.platform = Common::kPlatformMacintosh; - } else { + // Set the platform value. The value from the MD5 record has + // highest priority; if missing (i.e. set to unknown) we try + // to use that from the filename pattern record instead. + if (d.md5Entry->platform != Common::kPlatformUnknown) { dr.game.platform = d.md5Entry->platform; + } else if (gfp->platform != Common::kPlatformUnknown) { + dr.game.platform = gfp->platform; } // HACK: Special case to distinguish the V1 demo from the full version |