mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-04 17:29:11 +00:00
SCUMM: (ZAK/TOWNS) - fix bug no. 4594 and 4601
4594: "Zak keeps walk animation without moving" 4601: "SCUMM: Zak McKracken (FM-Towns) - shopkeeper keeps walking" Bug 4594 also happens with the original ZAK FM-TOWNS interpreter (unlike SCUMM1/2). I have added a workaround similiar to PR #2991. Bug 4601 does not happen with the original, although it seems to have the exaxct same cause and is also fixed by this workaround. So I have stopped exploring this one for now. I have limited the workaround to ZAK, since the bug reports are all from that game. To me, it looks like an oversight when converting the original SCUMM1/2 scripts to SCUMM3.
This commit is contained in:
parent
a408f44c1b
commit
fa48015bbd
@ -1188,10 +1188,19 @@ void Actor_v3::walkActor() {
|
||||
|
||||
if (_moving & MF_TURN) {
|
||||
new_dir = updateActorDirection(false);
|
||||
if (_facing != new_dir)
|
||||
if (_facing != new_dir) {
|
||||
setDirection(new_dir);
|
||||
else
|
||||
} else {
|
||||
// WORKAROUND for bug #4594 ("SCUMM: Zak McKracken - Zak keeps walk animation without moving")
|
||||
// This bug also happens with the original SCUMM3 (ZAK FM-TOWNS) interpreter (unlike SCUMM1/2
|
||||
// where the actors are apparently supposed to continue walking after being turned). We have
|
||||
// to stop the walking animation here...
|
||||
// This also fixes bug #4601 ("SCUMM: Zak McKracken (FM-Towns) - shopkeeper keeps walking"),
|
||||
// although that one does not happen with the original interpreter.
|
||||
if (_vm->_game.id == GID_ZAK && _moving == MF_TURN)
|
||||
startAnimActor(_standFrame);
|
||||
_moving = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user