diff options
author | Gregory Montoir | 2005-09-02 10:49:21 +0000 |
---|---|---|
committer | Gregory Montoir | 2005-09-02 10:49:21 +0000 |
commit | e2d0352069fc9f38aa8412332dc06e23245fc0e0 (patch) | |
tree | f72da15ecfb2b1698602e31c34de78b81f9ad78b /scumm | |
parent | 6f7f7391b2cb1b6c62baeb5d392d761265508bb8 (diff) | |
download | scummvm-rg350-e2d0352069fc9f38aa8412332dc06e23245fc0e0.tar.gz scummvm-rg350-e2d0352069fc9f38aa8412332dc06e23245fc0e0.tar.bz2 scummvm-rg350-e2d0352069fc9f38aa8412332dc06e23245fc0e0.zip |
workaround bug #1223621
svn-id: r18731
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/debugger.cpp | 5 | ||||
-rw-r--r-- | 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); } |