SCUMM: Move the #3832 workaround from o6_setState() to o6_animateActor()
This commit is contained in:
parent
8531668db9
commit
c69d83b638
1 changed files with 11 additions and 11 deletions
|
@ -1032,17 +1032,6 @@ void ScummEngine_v6::o6_setState() {
|
|||
int state = pop();
|
||||
int obj = pop();
|
||||
|
||||
// WORKAROUND for bug #3832: parts of Bruno are left on the screen when he
|
||||
// escapes Bumpusville with Trixie. Bruno (act. 11) and Trixie (act. 12) are
|
||||
// properly removed from the scene by the script, but not the combined actor
|
||||
// which is used by this animation (act. 6). Fix this before the door gets closed.
|
||||
if (_game.id == GID_SAMNMAX && _roomResource == 47 && vm.slot[_currentScript].number == 202 &&
|
||||
obj == 451 && state == 0 && _enableEnhancements) {
|
||||
Actor *a = derefActorSafe(6, "o6_setState");
|
||||
if (a)
|
||||
a->putActor(0, 0, 0);
|
||||
}
|
||||
|
||||
putState(obj, state);
|
||||
markObjectRectAsDirty(obj);
|
||||
if (_bgNeedsRedraw)
|
||||
|
@ -1274,6 +1263,17 @@ void ScummEngine_v6::o6_animateActor() {
|
|||
stopTalk();
|
||||
}
|
||||
}
|
||||
if (_game.id == GID_SAMNMAX && _roomResource == 47 && vm.slot[_currentScript].number == 202 &&
|
||||
act == 2 && anim == 249 && _enableEnhancements) {
|
||||
// WORKAROUND for bug #3832: parts of Bruno are left on the screen when he
|
||||
// escapes Bumpusville with Trixie. Bruno (act. 11) and Trixie (act. 12) are
|
||||
// properly removed from the scene by the script, but not the combined actor
|
||||
// which is used by this animation (act. 6).
|
||||
Actor *a = derefActorSafe(6, "o6_animateActor");
|
||||
if (a && a->_costume == 243)
|
||||
a->putActor(0, 0, 0);
|
||||
}
|
||||
|
||||
Actor *a = derefActor(act, "o6_animateActor");
|
||||
a->animateActor(anim);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue