From c84d12e8d230cecb6268367d2b1604da8288da83 Mon Sep 17 00:00:00 2001 From: James Brown Date: Fri, 18 Oct 2002 04:33:46 +0000 Subject: Close in on the o6_wait:actDrawn problem svn-id: r5181 --- scumm/script_v2.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp index 773e994f6b..91dcfa75b1 100644 --- a/scumm/script_v2.cpp +++ b/scumm/script_v2.cpp @@ -2377,16 +2377,19 @@ void Scumm::o6_wait() return; break; case 226:{ /* wait until actor drawn */ - Actor *a = derefActorSafe(pop(), "o6_wait:226"); + int actnum = pop(); + Actor *a = derefActorSafe(actnum, "o6_wait:226"); int offs = (int16)fetchScriptWord(); - return; // FIXME - // This wait command doesn't return at the + // FIXME: This wait command doesn't return at the // correct times, which causes several script freezes // in The Dig. Eg, planetarium lightbridge, // and taking the rod in the museum AFTER looking at - // all the displays. Why? Is our code too optimised - // vs. the original? + // all the displays. This is testing actor 3 (Ego), + // so I'm guessing it's something to do with the way + // ego doesn't always stop his mouth moving. + if (actnum == 3) + return; if (a && a->isInCurrentRoom() && a->needRedraw) { _scriptPointer += offs; -- cgit v1.2.3