![]() |
Routines |
| Prev: AE5D | Up: Map | Next: AE81 |
|
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 |