diff options
author | Max Horn | 2002-12-24 00:41:59 +0000 |
---|---|---|
committer | Max Horn | 2002-12-24 00:41:59 +0000 |
commit | 2da14e0fa16772647bdf279936e834a4dd35b443 (patch) | |
tree | 5169baf33f4981c2c5db3540c9bc199f01cce2a1 /scumm/script_v6.cpp | |
parent | fcb708e1657fd77a60237b039d40bb5e6f5e1a99 (diff) | |
download | scummvm-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.cpp | 18 |
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); } |