From 9f71bcab74ae2075cb290342470d54581b87b461 Mon Sep 17 00:00:00 2001 From: sluicebox Date: Thu, 24 Oct 2019 14:36:17 -0700 Subject: SCI32: Return correct KPlatform32 value on Mac Fixes GK1 Mac intro and other slideshow movies --- engines/sci/engine/kmisc.cpp | 10 +++++++--- 1 file 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()); } -- cgit v1.2.3