Prev: CA31 Up: Map Next: CAA7
CA3F: Draw HUD
Used by the routines at RunGame and PrepareLife.
Draws the status panel at the top of the screen and the frame round the playfield. The panel has the scores, the numbers of ships with a ship icon beside each, and the high score. The frame has the sides, the lines along the top and bottom, the corners and some ticks. Last of all it draws the fuel gauge at the right.
status-panel
DrawHUD CA3F LD A,$46 A=46.
CA41 LD ($C9EE),A Player one's score is bright yellow.
CA44 LD A,$42 A=42.
CA46 LD ($C9FE),A Player two's score is bright red.
CA49 LD HL,$0F30 HL=0F30.
CA4C LD DE,$CA2E The second copy of the frame parameters.
CA4F CALL FillAttributes Call FillAttributes.
CA52 CALL PrintShipsRemaining Call PrintShipsRemaining.
CA55 LD A,($F656) The other player's ships.
CA58 ADD A,$1A Add 1A to A.
CA5A LD ($CA0B),A The digit of the other player's ships.
CA5D LD DE,$C9DA The hud text.
CA60 LD B,$08 B=08.
CA62 CALL PrintTextRepeatedly Call PrintTextRepeatedly.
CA65 LD HL,$0B30 HL=0B30.
CA68 LD DE,$C927 The ship icon.
CA6B CALL DrawBitmap Call DrawBitmap.
CA6E LD HL,$0BB0 HL=0BB0.
CA71 LD DE,$C927 The ship icon.
CA74 CALL DrawBitmap Call DrawBitmap.
DrawHUD_Frame CA77 LD IX,$CA1D The frame parameters.
CA7B LD DE,$CBF8 The frame corner table.
CA7E LD (IX+$09),E Write E to offset 09 of IX.
CA81 LD (IX+$0A),D Write D to offset 0A of IX.
CA84 LD DE,$CBE5 The frame tick table.
CA87 LD (IX+$0C),E Write E to offset 0C of IX.
CA8A LD (IX+$0D),D Write D to offset 0D of IX.
CA8D CALL DrawFrame Call DrawFrame.
CA90 CALL ColourFuelGauge_Yellow Call ColourFuelGauge_Yellow.
CA93 CALL DrawFuelGaugeFrame Call DrawFuelGaugeFrame.
CA96 LD HL,$37F0 HL=37F0.
CA99 PUSH HL Stash HL on the stack.
CA9A LD DE,$CBA8 The fuel gauge attributes.
CA9D CALL FillAttributes Call FillAttributes.
CAA0 POP HL Bring HL back off the stack.
CAA1 LD DE,$CB66 The fuel label graphic.
CAA4 JP DrawBitmap Jump to DrawBitmap.
Prev: CA31 Up: Map Next: CAA7