aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v6.cpp
diff options
context:
space:
mode:
authorJames Brown2002-12-27 00:23:45 +0000
committerJames Brown2002-12-27 00:23:45 +0000
commit1dab4170a95c0cdf072ff682366a57c61ec4941e (patch)
tree7926845388bdeed7e48cc18a6179d3730b6cd828 /scumm/script_v6.cpp
parentc9aff94855818c3a7415f81a5790011ff17525e0 (diff)
downloadscummvm-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_v6.cpp')
-rw-r--r--scumm/script_v6.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index 800405e540..2acdb068aa 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -2072,13 +2072,14 @@ void Scumm_v6::o6_wait()
{
switch (fetchScriptByte()) {
case 168:{
- int offs = fetchScriptWordSigned();
- if (derefActorSafe(pop(), "o6_wait")->moving) {
- _scriptPointer += offs;
- o6_breakHere();
- }
- return;
+ Actor *a = derefActorSafe(pop(), "o6_wait");
+ int offs = (int16)fetchScriptWord();
+ if (a && a->isInCurrentRoom() && a->moving) {
+ _scriptPointer += offs;
+ o6_breakHere();
}
+ return;
+ }
case 169:
// HACK: For Conroy Bumpus' song in Sam & Max.
// During the song three calls to o6_wait() appear,