workaround bug #1223621

svn-id: r18731
This commit is contained in:
Gregory Montoir 2005-09-02 10:49:21 +00:00
parent 6f7f7391b2
commit e2d0352069
2 changed files with 12 additions and 2 deletions

View File

@ -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);

View File

@ -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);
}