aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_c64.cpp14
2 files changed, 13 insertions, 2 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index a7165852b0..965933110c 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -422,6 +422,7 @@ protected:
void o_clearState08();
void o_stopCurrentScript();
void o_loadSound();
+ void o_getActorMoving();
void o_animateActor();
void o_putActorAtObject();
void o_unknown13();
diff --git a/scumm/script_c64.cpp b/scumm/script_c64.cpp
index 2ce6a89672..6c03abdd4f 100644
--- a/scumm/script_c64.cpp
+++ b/scumm/script_c64.cpp
@@ -143,7 +143,7 @@ void ScummEngine_c64::setupOpcodes() {
/* 54 */
OPCODE(o5_setObjectName),
OPCODE(o2_actorFromPos),
- OPCODE(o5_getActorMoving),
+ OPCODE(o_getActorMoving),
OPCODE(o_clearState08),
/* 58 */
OPCODE(o_beginOverride),
@@ -303,7 +303,7 @@ void ScummEngine_c64::setupOpcodes() {
/* D4 */
OPCODE(o5_setObjectName),
OPCODE(o2_actorFromPos),
- OPCODE(o5_getActorMoving),
+ OPCODE(o_getActorMoving),
OPCODE(o_setState08),
/* D8 */
OPCODE(o_stopCurrentScript),
@@ -533,6 +533,16 @@ void ScummEngine_c64::o_animateActor() {
a->animateActor(anim);
}
+void ScummEngine_c64::o_getActorMoving() {
+ getResultPos();
+ int act = getVarOrDirectByte(PARAM_1);
+ Actor *a = derefActor(act, "o_getActorMoving");
+ if (a->_moving)
+ setResult(1);
+ else
+ setResult(2);
+}
+
void ScummEngine_c64::o_putActorAtObject() {
int obj, x, y;
Actor *a;