aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsluicebox2019-10-24 14:36:17 -0700
committersluicebox2019-10-24 14:36:17 -0700
commit9f71bcab74ae2075cb290342470d54581b87b461 (patch)
treeaf0bcce543596e06c7e75f46f5cbe4b3607cd27e
parentee2aa6160cdd393f15253ee564252f486d4f03bd (diff)
downloadscummvm-rg350-9f71bcab74ae2075cb290342470d54581b87b461.tar.gz
scummvm-rg350-9f71bcab74ae2075cb290342470d54581b87b461.tar.bz2
scummvm-rg350-9f71bcab74ae2075cb290342470d54581b87b461.zip
SCI32: Return correct KPlatform32 value on Mac
Fixes GK1 Mac intro and other slideshow movies
-rw-r--r--engines/sci/engine/kmisc.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index 4c2bb2fe4b..43487939e5 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -663,10 +663,14 @@ reg_t kPlatform32(EngineState *s, int argc, reg_t *argv) {
return make_reg(0, kSciPlatformWindows);
case Common::kPlatformMacintosh:
// For Mac versions, kPlatform(0) with other args has more functionality
- if (argc > 1)
+ if (argc > 1) {
return kMacPlatform(s, argc - 1, argv + 1);
- else
- return make_reg(0, kSciPlatformMacintosh);
+ } else {
+ // SCI32 Mac claims to be DOS. GK1 depends on this in order to play its
+ // view-based slideshow movies. It appears that Sierra opted to change
+ // this return value instead of updating the game scripts for Mac.
+ return make_reg(0, kSciPlatformDOS);
+ }
default:
error("Unknown platform %d", g_sci->getPlatform());
}