diff options
-rw-r--r-- | scumm/script_v1.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scumm/script_v1.cpp b/scumm/script_v1.cpp index 30f50c147c..5170c9b276 100644 --- a/scumm/script_v1.cpp +++ b/scumm/script_v1.cpp @@ -1250,10 +1250,17 @@ void Scumm::o5_getActorRoom() void Scumm::o5_getActorScale() { + // INDY3 uses this opcode as a wait_for_actor(); if (_gameId == GID_INDY3_256) { - getVarOrDirectByte(0x80); /*FIXME: missing stuff here */ - return; + byte *oldaddr = _scriptPointer - 1; + + if (derefActorSafe(getVarOrDirectByte(0x80), "o5_wait")->moving) { + _scriptPointer = oldaddr; + o5_breakHere(); + } + return; } + getResultPos(); setResult(derefActorSafe(getVarOrDirectByte(0x80), "o5_getActorScale")->scalex); } |