![]() |
Routines |
| Prev: BCB4 | Up: Map | Next: BD31 |
|
Used by the routine at OBJECT_DONE.
Draws the panel's pieces from PANEL_DATA through the spare record at PANEL_RECORD: a slanting run of five of graphic 62 on each side, stepping 16 pixels in and 8 down, four pieces up each edge, and four single pieces, the left side the right mirrored. The lives (DRAW_LIVES), the score (PRINT_SCORE) and the three carried things (SHOW_CARRIED) go in the spaces it leaves. Called from the main loop (OBJECT_DONE) when a room has just been drawn, before the whole buffer is shown; it takes its colour from the room's, which the main loop has just filled the attributes with.
|
||||
| DISPLAY_PANEL | BCE5 | LD IX,PANEL_RECORD | IX = the spare record; the first entry | |
| BCE9 | LD HL,PANEL_DATA | |||
| BCEC | CALL TRANSFER_SPRITE | |||
| BCEF | LD DE,$F810 | the left run: five pieces, each 16 pixels right and 8 down | ||
| BCF2 | LD B,$05 | |||
| BCF4 | CALL MULTIPLE_PRINT_SPRITE | |||
| BCF7 | CALL TRANSFER_SPRITE | the right run: five, each 16 left and 8 down | ||
| BCFA | LD DE,$F8F0 | |||
| BCFD | LD B,$05 | |||
| BCFF | CALL MULTIPLE_PRINT_SPRITE | |||
| BD02 | CALL TRANSFER_SPRITE | two up the left edge, 32 pixels apart | ||
| BD05 | LD DE,$2000 | |||
| BD08 | LD B,$02 | |||
| BD0A | CALL MULTIPLE_PRINT_SPRITE | |||
| BD0D | CALL TRANSFER_SPRITE | two up the right edge | ||
| BD10 | LD B,$02 | |||
| BD12 | CALL MULTIPLE_PRINT_SPRITE | |||
| BD15 | CALL TRANSFER_SPRITE | two more on each edge, between them | ||
| BD18 | LD B,$02 | |||
| BD1A | CALL MULTIPLE_PRINT_SPRITE | |||
| BD1D | CALL TRANSFER_SPRITE | |||
| BD20 | LD B,$02 | |||
| BD22 | CALL MULTIPLE_PRINT_SPRITE | |||
| BD25 | CALL TRANSFER_SPRITE_AND_PRINT | the four single pieces | ||
| BD28 | CALL TRANSFER_SPRITE_AND_PRINT | |||
| BD2B | CALL TRANSFER_SPRITE_AND_PRINT | |||
| BD2E | JP TRANSFER_SPRITE_AND_PRINT | |||
| Prev: BCB4 | Up: Map | Next: BD31 |