Opened 16 years ago

Closed 16 years ago

#807 closed defect (fixed)

ZAK256: backward walking

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

Description

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 Changed 16 years ago by fingolfin

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 Changed 16 years ago by SF/hibernatus

In the original engine of zak256, zak stops.

comment:3 Changed 16 years ago by SF/hibernatus

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 Changed 16 years ago by fingolfin

Owner: set to fingolfin
Resolution: fixed
Status: newclosed

comment:5 Changed 16 years ago by fingolfin

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.