aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v6.cpp
diff options
context:
space:
mode:
authorMax Horn2002-12-24 00:41:59 +0000
committerMax Horn2002-12-24 00:41:59 +0000
commit2da14e0fa16772647bdf279936e834a4dd35b443 (patch)
tree5169baf33f4981c2c5db3540c9bc199f01cce2a1 /scumm/script_v6.cpp
parentfcb708e1657fd77a60237b039d40bb5e6f5e1a99 (diff)
downloadscummvm-rg350-2da14e0fa16772647bdf279936e834a4dd35b443.tar.gz
scummvm-rg350-2da14e0fa16772647bdf279936e834a4dd35b443.tar.bz2
scummvm-rg350-2da14e0fa16772647bdf279936e834a4dd35b443.zip
more V8 opcodes (mostly rerouting to V6 ones)
svn-id: r6088
Diffstat (limited to 'scumm/script_v6.cpp')
-rw-r--r--scumm/script_v6.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 6cd1f16df1..bbcd745b76 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -337,7 +337,7 @@ void Scumm_v6::setupOpcodes()
OPCODE(o6_invalid),
OPCODE(o6_invalid),
/* EC */
- OPCODE(o6_getActorPriority),
+ OPCODE(o6_getActorLayer),
OPCODE(o6_getObjectNewDir),
OPCODE(o6_invalid),
OPCODE(o6_invalid),
@@ -1223,7 +1223,11 @@ void Scumm_v6::o6_getRandomNumberRange()
void Scumm_v6::o6_getActorMoving()
{
- push(derefActorSafe(pop(), "o6_getActorMoving")->moving);
+ Actor *a = derefActorSafe(pop(), "o6_getActorMoving");
+ if (a)
+ push(a->moving);
+ else
+ push(0);
}
void Scumm_v6::o6_isScriptRunning()
@@ -1238,7 +1242,11 @@ void Scumm_v6::o6_isRoomScriptRunning()
void Scumm_v6::o6_getActorRoom()
{
- push(derefActorSafe(pop(), "o6_getActorRoom")->room);
+ Actor *a = derefActorSafe(pop(), "o6_getActorRoom");
+ if (a)
+ push(a->room);
+ else
+ push(0);
}
void Scumm_v6::o6_getObjectX()
@@ -2875,11 +2883,11 @@ void Scumm_v6::o6_pickOneOfDefault()
push(i);
}
-void Scumm_v6::o6_getActorPriority()
+void Scumm_v6::o6_getActorLayer()
{
Actor *a;
- a = derefActorSafe(pop(), "getActorPriority");
+ a = derefActorSafe(pop(), "getActorLayer");
push(a->layer);
}