aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Brown2002-12-28 05:26:21 +0000
committerJames Brown2002-12-28 05:26:21 +0000
commitf64806f85f9f3d8d8450842d2df47ebbc6ca2519 (patch)
treeba6e2c4a407aa72040bf5444764c3eaf462e6dc1
parent77b905d0c223ff5067b20a37dfd7158d10185b45 (diff)
downloadscummvm-rg350-f64806f85f9f3d8d8450842d2df47ebbc6ca2519.tar.gz
scummvm-rg350-f64806f85f9f3d8d8450842d2df47ebbc6ca2519.tar.bz2
scummvm-rg350-f64806f85f9f3d8d8450842d2df47ebbc6ca2519.zip
Initial (buggy) implementation of CURSOR_SET - the Cannon sequence now almost works, except for a centering bug
svn-id: r6220
-rw-r--r--scumm/script_v8.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index 0ab6411e0e..ad064390a7 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -822,7 +822,17 @@ void Scumm_v8::o8_cursorCommand()
for (i = 0; i < 16; i++)
_charsetColorMap[i] = _charsetData[_string[1].t_charset][i] = (unsigned char)args[i];
break;
- case 0xE9: // SO_CURSOR_PUT
+ case 0xE9: // SO_CURSOR_PUT
+ mouse.x = pop();
+ mouse.y = pop();
+ _virtual_mouse_x = mouse.x + virtscr[0].xstart;
+ _virtual_mouse_y = mouse.y + camera._cur.y - (_realHeight / 2);
+ _virtual_mouse_y -= 16;
+
+ _system->set_mouse_pos(mouse.x, mouse.y);
+ _system->update_screen();
+ warning("warped mouse to (%d, %d)", mouse.x, mouse.y);
+ break;
default:
error("o8_cursorCommand: default case %d", subOp);
}