Prev: AE5D Up: Map Next: AE81
AE68: A chamber's socket (graphics 112 to 115)
Reached through UPDATES. The socket a valve of its kind (its graphic less 16, 96-99) is put on to activate the chamber; the valve does the work (LOOSE_VALVE). This only brings the sparkle back: when nothing lies in the room from the places and the record after the socket is empty -- as when the sparkle went because a valve lay here, and the valve has been picked up -- it puts the sparkle there again (graphic 108 plus the socket's kind).
The record keeps the sparkle's old position, which is what makes it appear in the right place: the projection it then asks for (CALC_PIXEL_XY_IY) is of the record at IY, which here is whatever an earlier routine left there -- the legs' record, in the simulator -- rather than the new sparkle's. The build's sessions never ran this; a scene staged in room $0C, with a valve in the room and then taken away, did (measured): the sparkle came back over the socket.
SOCKET AE68 CALL DRAW_AT_L16_D7 draw 16 left and 7 down
AE6B CALL ANY_SPECIAL_HERE anything from the places in the room: nothing to do
AE6E RET NZ
AE6F LD A,(IX+$20) the sparkle is there
AE72 AND A
AE73 RET NZ
AE74 LD A,(IX+$00) put it back, of the socket's kind
AE77 AND $03
AE79 OR $6C
AE7B LD (IX+$20),A
AE7E JP CALC_PIXEL_XY_IY project the record at IY
Prev: AE5D Up: Map Next: AE81