Prev: BA63 Up: Map Next: BAB1
BA8B: Check For Early Draw
Used by the routine at HandleWaitingOutlaw.
Reads the controls while the outlaw is waiting. If the player moves the crosshair or fires, the outlaw is provoked and starts to draw at once, and "DRAW!!" appears in yellow, if it is not already on the screen.
Input
IX The address of the outlaw
CheckForEarlyDraw BA8B LD A,(IX+$06) Fetch the flag which shows that the outlaw has been provoked.
BA8E AND A Return if the outlaw has already been provoked.
BA8F RET NZ
BA90 CALL ReadControls Read the controls.
BA93 AND A Return if nothing has been pressed.
BA94 RET Z
BA95 LD A,$01 Set the flag to one.
BA97 LD (IX+$06),A Store the flag which shows the outlaw is provoked.
BA9A LD (IX+$0A),A Make this the last move.
BA9D LD (IX+$0B),A Make the timer run out on the next frame.
BAA0 LD HL,$A211 Point HL at DrawMessageState.
BAA3 LD A,(HL) Fetch the flag.
BAA4 AND A Return if the draw message has already been printed.
BAA5 RET NZ
BAA6 LD (HL),$01 Set the flag to one.
Print the "DRAW!!" message.
BAA8 LD HL,$502E Point HL at 502E (in the screen buffer).
BAAB LD DE,$BAD2 Point DE at DrawMessages_Yellow.
BAAE JP PrintLargeText Jump to PrintLargeText.
Prev: BA63 Up: Map Next: BAB1