aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorMatthew Hoops2009-12-31 05:30:25 +0000
committerMatthew Hoops2009-12-31 05:30:25 +0000
commit92a8d1360a4b98fbf050123617e637df1042ad3c (patch)
treeeb814d79b46fb6fc21cd6b61d02c821ea59ed8f9 /engines/sci
parent7d131627fe6296ea4ce46db62900e4800b6b6816 (diff)
downloadscummvm-rg350-92a8d1360a4b98fbf050123617e637df1042ad3c.tar.gz
scummvm-rg350-92a8d1360a4b98fbf050123617e637df1042ad3c.tar.bz2
scummvm-rg350-92a8d1360a4b98fbf050123617e637df1042ad3c.zip
kLocalToGlobal has a 'Plane' variant in SCI32 like its kGlobalToLocal sibling. The restore menu is now slightly navigatable.
svn-id: r46790
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/engine/kernel.cpp2
-rw-r--r--engines/sci/engine/kevent.cpp6
2 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp
index 702113b23a..ad335c2cb8 100644
--- a/engines/sci/engine/kernel.cpp
+++ b/engines/sci/engine/kernel.cpp
@@ -218,7 +218,7 @@ SciKernelFunction kfunct_mappers[] = {
/*1c*/ DEFUN("GetEvent", kGetEvent, ".*"),
///*1c*/ DEFUN("GetEvent", kGetEvent, "io"),
/*1d*/ DEFUN("GlobalToLocal", kGlobalToLocal, "oo*"),
- /*1e*/ DEFUN("LocalToGlobal", kLocalToGlobal, "o"),
+ /*1e*/ DEFUN("LocalToGlobal", kLocalToGlobal, "oo*"),
/*1f*/ DEFUN("MapKeyToDir", kMapKeyToDir, "o"),
/*20*/ DEFUN("DrawMenuBar", kDrawMenuBar, "i"),
/*21*/ DEFUN("MenuSelect", kMenuSelect, "oi*"),
diff --git a/engines/sci/engine/kevent.cpp b/engines/sci/engine/kevent.cpp
index ffdc597652..fbc0f71cad 100644
--- a/engines/sci/engine/kevent.cpp
+++ b/engines/sci/engine/kevent.cpp
@@ -229,6 +229,12 @@ reg_t kGlobalToLocal(EngineState *s, int argc, reg_t *argv) {
}
reg_t kLocalToGlobal(EngineState *s, int argc, reg_t *argv) {
+#ifdef ENABLE_SCI32
+ // SCI32 has an extra argument for a plane here
+ if (argc > 1)
+ warning("kLocalToGlobal Plane: %04x:%04x", PRINT_REG(argv[1]));
+#endif
+
reg_t obj = argc ? argv[0] : NULL_REG; // Can this really happen? Lars
SegManager *segMan = s->_segMan;