Opened 18 years ago

Closed 18 years ago

#353 closed defect (fixed)

ZAK256: counter door

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

Description

Hi there,

fingolfin today solved a bug concerning the airplane's restroom door, the phone company's counter door and the Caponian machine forcefield. Unfortunately that bugfix opened a new bug: If you put on hat+noseglasses, walk behind the phone company counter, close the counter door, enter the back room and go to the counter again, you're no longer able to open the counter door ("I can't reach it"). The only way to free Zak from that situation is to send Annie to read the number on the public phone, walk to Zak's room and dial that number.

Ticket imported from: #582365. Ticket imported from: bugs/353.

Change History (9)

comment:1 by fingolfin, 18 years ago

The problem is a walkbox problem, and I wonder how it worked in the original.

Basically, there is one big walkbox behind the counter. When one closes the counter door, that walkbox becomes locked, i.e. can't be entered anymore. But at the far end of the counter, there seems to be another walkbox (why?). When Zak stands in that, he can't get to the counter door anymore

comment:2 by SF/ender, 18 years ago

Owner: set to fingolfin

comment:3 by SF/ender, 18 years ago

assigning to fingolfin - since you were the last person to touch walkbox code, have fun :)

comment:4 by fingolfin, 18 years ago

(Note: this is based on the assumption that I read the code right: 0x80 means box locked, 0x20 means: lock for player only; object class 31 means player, i.e. it marks the player actor).

I analyzed what exactly happens here. The setup is as follows: Zak stands in box 4 (flags = 0x00, in front of the door to the alien room). The box behind the counter is box 3 (0xA0 = 0x80+0x20), the counter door is box 5 (0x00 or 0x80, depending on whether it is closed). To get to that door (in order to open it)

Now, that means box 3 is locked (0x80) for the player only (0x20), hence correctly Zak refuses to walk into/thru it.

FYI: when you open the counter door, box 5 and 3 both get set to 0x00; but when you leave the room and re-enter, box 3 is back to 0xA0. Ho hm. All weird :-)

comment:5 by fingolfin, 18 years ago

Sorry I mixed it up - the counter door is box 2 not 5. So in what I wrote, replace all "box 5" by "box 2" :-)

So when you open the counter, box 2 & 3 get set to 0x00. When you leave the room and re-enter, box will still be 0x00 (open), but box 3 will be 0xa0 (player only & locked?)

comment:6 by fingolfin, 18 years ago

While the actual issue is not yet fixed (if that is possible :-), my fix for bug #591678 does help here - at least you are not stuck forever anymore. Just enter the backroom, and leave it again, you now should be able to reach and open the counter.

comment:7 by fingolfin, 18 years ago

Priority: normallow

comment:8 by fingolfin, 18 years ago

This should be fixed in CVS now. Note that the boxflags internally changed, so save games might still be affected. Leaving a room and re-entering will fix the boxflags, though.

Please verify.

comment:9 by fingolfin, 18 years ago

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