Prev: 57856 Up: Map Next: 58089
57897: Draw Panel
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.
draw-panel
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