SCI32: Return correct KPlatform32 value on Mac

Fixes GK1 Mac intro and other slideshow movies
This commit is contained in:
sluicebox 2019-10-24 14:36:17 -07:00
parent ee2aa6160c
commit 9f71bcab74

View File

@ -663,10 +663,14 @@ reg_t kPlatform32(EngineState *s, int argc, reg_t *argv) {
return make_reg(0, kSciPlatformWindows); return make_reg(0, kSciPlatformWindows);
case Common::kPlatformMacintosh: case Common::kPlatformMacintosh:
// For Mac versions, kPlatform(0) with other args has more functionality // For Mac versions, kPlatform(0) with other args has more functionality
if (argc > 1) if (argc > 1) {
return kMacPlatform(s, argc - 1, argv + 1); return kMacPlatform(s, argc - 1, argv + 1);
else } else {
return make_reg(0, kSciPlatformMacintosh); // 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: default:
error("Unknown platform %d", g_sci->getPlatform()); error("Unknown platform %d", g_sci->getPlatform());
} }