Opened 20 years ago

Closed 20 years ago

#1320 closed defect (fixed)

ZAK: Can't Give Club in 5.5 build

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


Using the 12/1 and 12/3 builds of 5.5, I can't "Give Golf Club to Shaman" in Zaire. (Or otherwise interact with him; clicking about randomly will occasionally bring up a "No Thanks" reply)

English, Floppy, Win32

I tested it in 5.1 and it worked fine, but I only recenly discovered this, so I can't offer a more narrow version range.

Ticket imported from: #853874. Ticket imported from: bugs/1320.

Attachments (2)

zak.s02 (5.0 KB ) - added by SF/pyrtolin 20 years ago.
Saved in Shaman's Hut
zak.s05 (4.1 KB ) - added by Kirben 20 years ago.
V1 zak save game

Download all attachments as: .zip

Change History (11)

by SF/pyrtolin, 20 years ago

Attachment: zak.s02 added

Saved in Shaman's Hut

comment:1 by SF/pyrtolin, 20 years ago

Summary: Can't Give Club in 5.5 buildZAK: Can't Give Club in 5.5 build

comment:2 by SF/pyrtolin, 20 years ago

(Where win32= Windows XP SP1, patched to current)

comment:3 by fingolfin, 20 years ago

There is no 5.1 and 5.5 version of ScummVM yet. We didn't even reach 1.0 so far :-) You probably mean 0.5.1 and a 0.5.5 CVS build (of which there are dozens different ones).

Anyway, while I'd love to debug this, I can't: I only have the german Zak.

comment:4 by Kirben, 20 years ago

Owner: set to Kirben

by Kirben, 20 years ago

Attachment: zak.s05 added

V1 zak save game

comment:5 by Kirben, 20 years ago

Owner: changed from Kirben to fingolfin

comment:6 by Kirben, 20 years ago

This problem is caused by fingolfin's changes in scumm/object.cpp revision 1.141. fingolfin, could you have a look at issue ? I have attached save game for v1 zak.

comment:7 by SF/guntherweber, 20 years ago

I encountered the same problem in the english AMIGA version and posted something to that end in the Help Forum. (I was just about to file a bug report of my own but checked if that problem was reported first and found this report.)

comment:8 by fingolfin, 20 years ago

I think that my change in object.cpp is correct. Maybe it uncovered a problem in the walkbox code or somesuch.

More to the point, getObjActToObjActDist() calculates the distance between the points (816,92) and (784,106). Pixelwise, this is (32,14); translated to the V1/V2 coord system (which divides x by 8 and y by 2) that gives (4,7); the maximum of which is 7. The old distance code would compute "4" as distance, which is clearly wrong.

The true issue may be related to the question why (816,92) and (784,106) are used for the computation.. considering that zak is at (816,92) while the shaman is at (784,92). (Well of course this is due to adjustXYToBeInBox(), but I need to check how this is done in the original).

comment:9 by fingolfin, 20 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.