aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README4
-rw-r--r--doc/games-mac.tex4
-rw-r--r--engines/scumm/plugin.cpp15
3 files changed, 13 insertions, 10 deletions
diff --git a/README b/README
index 2fbe6a1ce4..b5ac4027e9 100644
--- a/README
+++ b/README
@@ -281,10 +281,6 @@ Secondly, most of the newer games shipped only with a single data file on the
Macintosh. You used to have to manually convert that data file, but this is no
longer necessary, as ScummVM can now open and understand the format natively.
-For all Humongous Entertainment Macintosh games you have to set the platform
-to Macintosh manually for them to work, otherwise the games will crash soon
-after the intro.
-
For further information on copying Macintosh game files to your hard disk see:
http://wiki.scummvm.org/index.php/HOWTO-Mac_Games
diff --git a/doc/games-mac.tex b/doc/games-mac.tex
index aaf35b100b..8d21e69955 100644
--- a/doc/games-mac.tex
+++ b/doc/games-mac.tex
@@ -13,10 +13,6 @@ Secondly, most of the newer games shipped only with a single data file on the
Macintosh. You used to have to manually convert that data file, but this is no
longer necessary, as ScummVM can now open and understand the format natively.
-For all Humongous Entertainment Macintosh games you have to set the platform
-to Macintosh manually for them to work, otherwise the games will crash soon
-after the intro.
-
For further information on copying Macintosh game files to your hard disk see:
\url{http://wiki.scummvm.org/index.php/HOWTO-Mac_Games}
diff --git a/engines/scumm/plugin.cpp b/engines/scumm/plugin.cpp
index cd073aefed..31fbcfd268 100644
--- a/engines/scumm/plugin.cpp
+++ b/engines/scumm/plugin.cpp
@@ -995,7 +995,13 @@ static void detectGames(const FSList &fslist, Common::List<DetectorResult> &resu
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);
- 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 {
+ dr.game.platform = d.md5Entry->platform;
+ }
// HACK: Special case to distinguish the V1 demo from the full version
// (since they have identical MD5):
@@ -1045,8 +1051,13 @@ static void detectGames(const FSList &fslist, Common::List<DetectorResult> &resu
dr.game = *g;
dr.extra = g->variant; // FIXME: We (ab)use 'variant' for the 'extra' description for now.
- if (gfp->platform != Common::kPlatformUnknown)
+
+ // 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 if (gfp->platform != Common::kPlatformUnknown) {
dr.game.platform = gfp->platform;
+ }
// If a variant has been specified, use that!