aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2009-04-23 21:06:34 +0000
committerFilippos Karapetis2009-04-23 21:06:34 +0000
commitf2bd65339c7825b7208ef5840333bca7e1ae0ca0 (patch)
tree55af2a5b574ef56e80194c4794d9504a8c3979a8 /engines
parent78f892f87c03603d635d1ccef9c0febc214be5d9 (diff)
downloadscummvm-rg350-f2bd65339c7825b7208ef5840333bca7e1ae0ca0.tar.gz
scummvm-rg350-f2bd65339c7825b7208ef5840333bca7e1ae0ca0.tar.bz2
scummvm-rg350-f2bd65339c7825b7208ef5840333bca7e1ae0ca0.zip
Changed the "Intersections" opcode to "MoveCursor", after verifying it with Greg's SCI implementation and discussing it with waltervn. Also, the cursor hotspot is now fixed for Eco Quest 1 and probably SCI11 games as well (e.g. the game menu in KQ6 is now working)
svn-id: r40096
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kgraphics.cpp9
-rw-r--r--engines/sci/scicore/vocab_debug.cpp2
2 files changed, 6 insertions, 5 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 486e53a79f..ddaa0f30e3 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -311,12 +311,14 @@ reg_t kSetCursorNew(EngineState *s, int funct_nr, int argc, reg_t *argv) {
GFX_ASSERT(gfxop_set_pointer_position(s->gfx_state, pt));
break;
}
- case 3 :
- GFX_ASSERT(gfxop_set_pointer_view(s->gfx_state, UKPV(0), UKPV(1), UKPV(2), NULL));
+ case 3 : {
+ Common::Point hotspot = Common::Point(0, 0);
+ GFX_ASSERT(gfxop_set_pointer_view(s->gfx_state, UKPV(0), UKPV(1), UKPV(2), &hotspot));
s->mouse_pointer_view = UKPV(0);
s->mouse_pointer_loop = UKPV(1);
s->mouse_pointer_cel = UKPV(2);
break;
+ }
case 9 : {
Common::Point hotspot = Common::Point(SKPV(3), SKPV(4));
@@ -334,8 +336,7 @@ reg_t kSetCursorNew(EngineState *s, int funct_nr, int argc, reg_t *argv) {
reg_t kSetCursor(EngineState *s, int funct_nr, int argc, reg_t *argv) {
if (s->version >= SCI_VERSION(1, 001, 000) ||
- s->_gameName.equalsIgnoreCase("eco") || // Eco Quest 1 needs kSetCursorNew
- has_kernel_function(s, "MoveCursor")) {
+ s->_gameName.equalsIgnoreCase("eco")) { // Eco Quest 1 needs kSetCursorNew
return kSetCursorNew(s, funct_nr, argc, argv);
}
diff --git a/engines/sci/scicore/vocab_debug.cpp b/engines/sci/scicore/vocab_debug.cpp
index 8d1f6546b4..a4c0a17561 100644
--- a/engines/sci/scicore/vocab_debug.cpp
+++ b/engines/sci/scicore/vocab_debug.cpp
@@ -265,7 +265,7 @@ static const char *sci1_default_knames[SCI1_KNAMES_DEFAULT_ENTRIES_NR] = {
/*0x6e*/ "ShiftScreen",
/*0x6f*/ "Palette",
/*0x70*/ "MemorySegment",
- /*0x71*/ "Intersections",
+ /*0x71*/ "MoveCursor",
/*0x72*/ "Memory",
/*0x73*/ "ListOps",
/*0x74*/ "FileIO",