From 98f62b9e65ad771cfa1993ac5da492650281f55f Mon Sep 17 00:00:00 2001 From: Max Horn Date: Wed, 4 Oct 2006 20:22:47 +0000 Subject: WORKAROUND bug #859513 (ZAK: "Oxygene-bug" on Mars) svn-id: r24116 --- engines/scumm/script_v5.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'engines/scumm/script_v5.cpp') diff --git a/engines/scumm/script_v5.cpp b/engines/scumm/script_v5.cpp index fdc73edac3..b9389f226c 100644 --- a/engines/scumm/script_v5.cpp +++ b/engines/scumm/script_v5.cpp @@ -587,6 +587,18 @@ void ScummEngine_v5::o5_animateActor() { return; } + // WORKAROUND bug #859513: While on mars, going outside without your helmet + // (or missing some other part of your "space suite" will cause your + // character to complain ("I can't breathe."). Unfortunately, this is + // coupled with an animate command, making it very difficult to return to + // safety (from where you came). The following hack works around this by + // ignoring that particular turn command. + if (_game.id == GID_ZAK && _currentRoom == 182 && anim == 246 && + ((_game.version < 3 && vm.slot[_currentScript].number == 82) + || (_game.version == 3 && vm.slot[_currentScript].number == 131))) { + return; + } + Actor *a = derefActor(act, "o5_animateActor"); a->animateActor(anim); } -- cgit v1.2.3