Opened 17 years ago

Closed 17 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, 17 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, 17 years ago

Owner: set to fingolfin

comment:3 by SF/ender, 17 years ago

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

comment:4 by fingolfin, 17 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, 17 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, 17 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, 17 years ago

Priority: normallow

comment:8 by fingolfin, 17 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, 17 years ago

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