Opened 22 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 |
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 by , 22 years ago
comment:3 by , 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 , 21 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:5 by , 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.
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.