![]() |
Routines |
| Prev: 57856 | Up: Map | Next: 58089 |
|
Used by the routines at SwitchPlayer and RunGame.
Draws the panel at the edges of the screen. This is made of four frames, which are drawn with DrawFrame using the table at FrameTable, the pictures and the text of the panel, and the attributes of the rectangles at PanelRectangles. The direction gauges are also drawn.
|
|||||
| DrawPanel | 57897 | CALL UpdatePanelDigits | Refresh the digits of the lives and bottles in the panel text. | ||
|
Draw the four frames of the panel: the message box, the game window and the frames of the two direction gauges.
|
|||||
| 57900 | LD IX,58395 | Point IX at the first frame in the table at FrameTable. | |||
| 57904 | CALL DrawFrame | Draw the message box. | |||
| 57907 | CALL DrawFrame | Draw the game window. | |||
| 57910 | CALL DrawFrame | Draw the frame of the left direction gauge. | |||
| 57913 | CALL DrawFrame | Draw the frame of the right direction gauge. | |||
|
Draw the corner pieces beside the message box and the empty dial of each direction gauge.
|
|||||
| 57916 | LD HL,32088 | Set the position of the left corner piece. | |||
| 57919 | LD DE,25351 | Point DE at MenuCornerLeft. | |||
| 57922 | CALL DrawPicture | Draw it. | |||
| 57925 | LD HL,32160 | Set the position of the right corner piece. | |||
| 57928 | LD DE,25357 | Point DE at MenuCornerRight. | |||
| 57931 | CALL DrawPicture | Draw it. | |||
| 57934 | LD HL,47032 | Set the position of the empty dial of the right gauge. | |||
| 57937 | LD DE,33253 | Point DE at DialPicture. | |||
| 57940 | CALL DrawPicture | Draw it. | |||
| 57943 | LD HL,46864 | Set the position of the empty dial of the left gauge. | |||
| 57946 | LD DE,33253 | Point DE at DialPicture. | |||
| 57949 | CALL DrawPicture | Draw it. | |||
|
Draw the dial and needle of each direction gauge.
|
|||||
| 57952 | LD A,8 | Set the heading of the needle to 8. | |||
| 57954 | LD (23768),A | Store it as the heading to draw. | |||
| 57957 | LD A,(42402) | Fetch the column of the second gauge. | |||
| 57960 | LD (42890),A | Patch it into the drawing routine as the column to draw at. | |||
| 57963 | CALL DrawDirectionGauge | Draw the dial of the second gauge. | |||
| 57966 | LD A,(42398) | Fetch the column of the first gauge. | |||
| 57969 | LD (42890),A | Patch it into the drawing routine as the column to draw at. | |||
| 57972 | LD A,8 | Set the heading of the needle to 8 again. | |||
| 57974 | LD (23768),A | Store it as the heading to draw. | |||
| 57977 | CALL DrawDirectionGauge | Draw the dial of the first gauge. | |||
|
Print the 19 text records of the panel: the headings of the scores, the digits, the lives and bottles, and the high score.
|
|||||
| 57980 | LD DE,57631 | Point DE at PanelText. | |||
| 57983 | LD B,19 | Set the number of records to 19. | |||
| 57985 | CALL PrintTextRecords | Print them. | |||
|
Colour the icons on both sides of the panel.
|
|||||
| 57988 | LD HL,12032 | Set the position of the left lives icon. | |||
| 57991 | LD DE,57824 | Point DE at PanelRectangles. | |||
| 57994 | CALL FillRectangle | Colour it. | |||
| 57997 | LD L,232 | Move across to the right side. | |||
| 57999 | LD DE,57824 | Point DE at PanelRectangles. | |||
| 58002 | CALL FillRectangle | Colour it. | |||
| 58005 | LD H,80 | Move down to the bottle icons. | |||
| 58007 | LD DE,57827 | Point DE at PanelRectangles_Second. | |||
| 58010 | CALL FillRectangle | Colour the right bottle icon. | |||
| 58013 | LD L,0 | Move across to the left side. | |||
| 58015 | LD DE,57827 | Point DE at PanelRectangles_Second. | |||
| 58018 | CALL FillRectangle | Colour the left bottle icon. | |||
| 58021 | LD HL,26632 | Set the position of the left spare icon. | |||
| 58024 | LD DE,57830 | Point DE at PanelRectangles_Third. | |||
| 58027 | CALL FillRectangle | Colour it. | |||
| 58030 | LD L,232 | Move across to the right side. | |||
| 58032 | LD DE,57830 | Point DE at PanelRectangles_Third. | |||
| 58035 | CALL FillRectangle | Colour it. | |||
|
Draw the bubbles that show the lives and the bottles of each player.
|
|||||
| 58038 | LD DE,30209 | Point DE at SpriteBubble_1. | |||
| 58041 | CALL CopyRectangleRows | Copy it into the picture buffer at 62720. | |||
| 58044 | LD HL,20480 | Set the position of the left bottle. | |||
| 58047 | LD DE,25675 | Point DE at BottlePicture. | |||
| 58050 | CALL DrawPicture | Draw it. | |||
| 58053 | LD L,232 | Move across to the right side. | |||
| 58055 | LD DE,25675 | Point DE at BottlePicture. | |||
| 58058 | CALL DrawPicture | Draw it. | |||
| 58061 | LD HL,12032 | Set the position of the left bubble. | |||
| 58064 | LD DE,62720 | Point DE at the buffered bubble picture. | |||
| 58067 | CALL DrawPicture | Draw it. | |||
| 58070 | LD L,232 | Move across to the right side. | |||
| 58072 | LD DE,62720 | Point DE at the buffered bubble picture. | |||
| 58075 | CALL DrawPicture | Draw it. | |||
|
Draw the empty bars of the two gauges.
|
|||||
| 58078 | LD HL,34560 | Set the position of the bar of the first gauge. | |||
| 58081 | CALL DrawGaugeBar | Draw it. | |||
| 58084 | LD L,168 | Set the position of the bar of the second gauge. | |||
| 58086 | JP DrawGaugeBar | Jump to DrawGaugeBar. | |||
| Prev: 57856 | Up: Map | Next: 58089 |