From 64c54591c356f41abe8df7de7afbd291279a99a5 Mon Sep 17 00:00:00 2001 From: Sven Meier Date: Sun, 17 Jun 2018 17:08:27 +0200 Subject: SCUMM: Workaround erroneous AKC_JUMP in German SPY Fox 3 Fixes Trac#3813 and makes this version of the game completable. --- engines/scumm/akos.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'engines') diff --git a/engines/scumm/akos.cpp b/engines/scumm/akos.cpp index 6d80315ccb..3d98a7b9b2 100644 --- a/engines/scumm/akos.cpp +++ b/engines/scumm/akos.cpp @@ -1632,6 +1632,15 @@ bool ScummEngine_v6::akos_increaseAnim(Actor *a, int chan, const byte *aksq, con case AKC_Jump: curpos = GUW(2); + + // WORKAROUND bug #3813: In the German version of SPY Fox 3: Operation Ozone + // the wig maker room 21 contains a costume animation 352 of an LED ticker + // with a jump to an erroneous position 846. + // To prevent an undefined 'uSweat token' the animation is reset to its start. + if (_game.id == GID_HEGAME && _language == Common::DE_DEU && \ + _currentRoom == 21 && a->_costume == 352 && curpos == 846) { + curpos = a->_cost.start[chan]; + } break; case AKC_Return: -- cgit v1.2.3