diff options
author | James Brown | 2002-12-27 00:23:45 +0000 |
---|---|---|
committer | James Brown | 2002-12-27 00:23:45 +0000 |
commit | 1dab4170a95c0cdf072ff682366a57c61ec4941e (patch) | |
tree | 7926845388bdeed7e48cc18a6179d3730b6cd828 /scumm/script_v5.cpp | |
parent | c9aff94855818c3a7415f81a5790011ff17525e0 (diff) | |
download | scummvm-rg350-1dab4170a95c0cdf072ff682366a57c61ec4941e.tar.gz scummvm-rg350-1dab4170a95c0cdf072ff682366a57c61ec4941e.tar.bz2 scummvm-rg350-1dab4170a95c0cdf072ff682366a57c61ec4941e.zip |
Patch 650135 (method 3): FOA parrot hang
svn-id: r6185
Diffstat (limited to 'scumm/script_v5.cpp')
-rw-r--r-- | scumm/script_v5.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 1f2afdd98f..f624eec045 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -2348,10 +2348,12 @@ void Scumm_v5::o5_wait() _opcode = fetchScriptByte(); switch (_opcode & 0x1F) { - case 1: /* wait for actor */ - if (derefActorSafe(getVarOrDirectByte(0x80), "o5_wait")->moving) - break; - return; + case 1: { /* wait for actor */ + Actor *a = derefActorSafe(getVarOrDirectByte(0x80), "o5_wait"); + if (a && a->isInCurrentRoom() && a->moving) + break; + return; + } case 2: /* wait for message */ if (_vars[VAR_HAVE_MSG]) break; |