Prev: BCB4 Up: Map Next: BD31
BCE5: Draw the scroll-work at the foot of the screen
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