aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/kmisc.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2016-08-22 19:56:06 +0300
committerFilippos Karapetis2016-08-22 19:56:06 +0300
commitba8d6f6c0336b105127efb229989c6c76ad5e677 (patch)
treec8e6e9e49b2e7c547bf4e3478318c47e9256d649 /engines/sci/engine/kmisc.cpp
parent39307d1f4da51d9adc78da70ba1eddec237ff48b (diff)
downloadscummvm-rg350-ba8d6f6c0336b105127efb229989c6c76ad5e677.tar.gz
scummvm-rg350-ba8d6f6c0336b105127efb229989c6c76ad5e677.tar.bz2
scummvm-rg350-ba8d6f6c0336b105127efb229989c6c76ad5e677.zip
SCI32: Move the SCI32 Mac cursor handling code into GfxCursor32
This was left in the SCI16 code in commit 80d9182554
Diffstat (limited to 'engines/sci/engine/kmisc.cpp')
-rw-r--r--engines/sci/engine/kmisc.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp
index ff7370a002..70a1d696e8 100644
--- a/engines/sci/engine/kmisc.cpp
+++ b/engines/sci/engine/kmisc.cpp
@@ -30,6 +30,9 @@
#include "sci/engine/kernel.h"
#include "sci/engine/gc.h"
#include "sci/graphics/cursor.h"
+#ifdef ENABLE_SCI32
+#include "sci/graphics/cursor32.h"
+#endif
#include "sci/graphics/maciconbar.h"
#include "sci/console.h"
@@ -512,7 +515,7 @@ reg_t kMacPlatform(EngineState *s, int argc, reg_t *argv) {
// In SCI1.1, it's NOP
// In SCI32, it's used for remapping cursor ID's
if (getSciVersion() >= SCI_VERSION_2_1_EARLY) // Set Mac cursor remap
- g_sci->_gfxCursor->setMacCursorRemapList(argc - 1, argv + 1);
+ g_sci->_gfxCursor32->setMacCursorRemapList(argc - 1, argv + 1);
else if (getSciVersion() != SCI_VERSION_1_1)
warning("Unknown SCI1 kMacPlatform(0) call");
break;
@@ -613,7 +616,11 @@ reg_t kPlatform32(EngineState *s, int argc, reg_t *argv) {
case Common::kPlatformWindows:
return make_reg(0, kSciPlatformWindows);
case Common::kPlatformMacintosh:
- return make_reg(0, kSciPlatformMacintosh);
+ // For Mac versions, kPlatform(0) with other args has more functionality
+ if (argc > 1)
+ return kMacPlatform(s, argc - 1, argv + 1);
+ else
+ return make_reg(0, kSciPlatformMacintosh);
default:
error("Unknown platform %d", g_sci->getPlatform());
}