Opened 21 years ago

Closed 21 years ago

#807 closed defect (fixed)

ZAK256: backward walking

Reported by: SF/hibernatus Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Zak McKracken


ScummVM 0.4.1cvs Built on May 25 2003 01:50:26

In the intro, when zak speaks with his boss. Zak does the moonwalk when he says "I'm sick of making up stupid stories". Normally, zak should stop in the center of the room instead of walking backward to the left.

Ticket imported from: #743049. Ticket imported from: bugs/807.

Change History (5)

comment:1 by fingolfin, 21 years ago

Stopping, that's what he does in the original Zak, yes. But I see nothing at all in the Zak256 which could be held responsible for Zak stopping... in particular, when directly comparing the two, then Zak does this in script 127: [00B4] (11) animateActor(1,255) -> which tells actor 1 (Zak) to stop moving and go to the stand frame. But Zak256 does this in script 4: [00DF] (11) animateCostume(1,3) -> this tells actor 1 to go to the stand frame - and nothing else. In particular it does not imply stopping.

So either Zak256's engine is different in this regard from all other Scumm versions, or this is a script bug, in which case the "moon walk" would also occur when playing using the original Zak256 engine.

comment:2 by SF/hibernatus, 21 years ago

In the original engine of zak256, zak stops.

comment:3 by SF/hibernatus, 21 years ago

Here is the instruction which makes zak stop: [00E3] (11) animateCostume(1,245)

In actor.cpp, line 522: case 4: turnToDirection(dir); break;

I've looked in zak.exp, and what's missing here is: moving = MF_TURN; (only in case 4 of course)

comment:4 by fingolfin, 21 years ago

Owner: set to fingolfin
Resolution: fixed
Status: newclosed

comment:5 by fingolfin, 21 years ago

Fixed in CVS. I did apply the fix unconditionally, not just for Zak256, because it seems to be the right thing to do, based on some other scumm games I looked at. However, it could still cuase regressions.

Note: See TracTickets for help on using tickets.