diff options
author | Filippos Karapetis | 2009-04-23 21:06:34 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-04-23 21:06:34 +0000 |
commit | f2bd65339c7825b7208ef5840333bca7e1ae0ca0 (patch) | |
tree | 55af2a5b574ef56e80194c4794d9504a8c3979a8 | |
parent | 78f892f87c03603d635d1ccef9c0febc214be5d9 (diff) | |
download | scummvm-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
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 9 | ||||
-rw-r--r-- | engines/sci/scicore/vocab_debug.cpp | 2 |
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", |