aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/script_v2.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp
index 1532aa8d8e..e06da3a7b5 100644
--- a/scumm/script_v2.cpp
+++ b/scumm/script_v2.cpp
@@ -1181,8 +1181,26 @@ void Scumm_v2::o2_setObjectName() {
}
void Scumm_v2::o2_cursorCommand() {
- getVarOrDirectWord(0x80);
- warning("TODO: o2_cursorCommand()");
+ int cmd = getVarOrDirectWord(0x80);
+ int a2 = cmd >> 8;
+
+ if (a2 & 4) {Warning("TODO: o2_cursorCommand(userface);} // Toggle verbs on/off, etc
+
+ if (a2 & 1) { // Freeze
+ if (a2 & 8)
+ freezeScripts(0);
+ else
+ unfreezeScripts();
+ }
+
+ if (a2 & 2) { // Cursor Show/Hide
+ if (a2 & 16)
+ _cursor.state = 1;
+ else
+ _cursor.state = 0;
+
+ verbMouseOver(0);
+ }
}
void Scumm_v2::o2_getActorWalkBox() {