From e2d0352069fc9f38aa8412332dc06e23245fc0e0 Mon Sep 17 00:00:00 2001 From: Gregory Montoir Date: Fri, 2 Sep 2005 10:49:21 +0000 Subject: workaround bug #1223621 svn-id: r18731 --- scumm/debugger.cpp | 5 +++-- scumm/script_v6.cpp | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/scumm/debugger.cpp b/scumm/debugger.cpp index 524158d207..6db2c8f0a1 100644 --- a/scumm/debugger.cpp +++ b/scumm/debugger.cpp @@ -387,10 +387,11 @@ bool ScummDebugger::Cmd_Actor(int argc, const char **argv) { value2 = atoi(argv[4]); if (!strcmp(argv[2], "animvar")) { - a->setAnimVar(value, value2); DebugPrintf("Actor[%d].animVar[%d] = %d\n", actnum, value, a->getAnimVar(value)); - + } else if (!strcmp(argv[2], "anim")) { + a->animateActor(value); + DebugPrintf("Actor[%d].animateActor(%d)\n", actnum, value); } else if (!strcmp(argv[2], "ignoreboxes")) { a->_ignoreBoxes = (value > 0); DebugPrintf("Actor[%d].ignoreBoxes = %d\n", actnum, a->_ignoreBoxes); diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 17fbbe4475..0ad4d32ded 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -1271,6 +1271,15 @@ void ScummEngine_v6::o6_animateActor() { // (593 is the time machine in room 57), or if this is simply a script bug. act = 6; } + if (_gameId == GID_SAMNMAX && _roomResource == 35 && + vm.slot[_currentScript].number == 202 && act == 4 && anim == 14) { + // WORKAROUND bug #1223621 (Animation glitch at World of Fish). + // Before starting animation 14 of the fisherman, make sure he isn't + // talking anymore. This appears to be a bug in the original game as well. + if (getTalkingActor() == 4) { + stopTalk(); + } + } Actor *a = derefActor(act, "o6_animateActor"); a->animateActor(anim); } -- cgit v1.2.3