Routines |
Prev: 37233 | Up: Map | Next: 37298 |
Used by the routine at InGameControls.
|
||||||||
InGame_MoveCursor | 37259 | PUSH AF | Stash the keypress on the stack. | |||||
37260 | LD B,120 | B=INK: BLACK, PAPER: WHITE (BRIGHT) . | ||||||
37262 | CALL InGame_UpdateCursorPosition | Call InGame_UpdateCursorPosition. | ||||||
37265 | POP AF | Restore the keypress from the stack. | ||||||
37266 | CP 4 | Jump to Handler_MoveCursorRight if "right" was pressed. | ||||||
37268 | LD A,(37336) | |||||||
37271 | JR Z,Handler_MoveCursorRight | |||||||
Else "left" was pressed, so check if there's a slot on the left still to move to.
|
||||||||
37273 | OR A | Jump to InGame_MoveCursorLeft if *InGame_HighlightedOption is not zero. | ||||||
37274 | JR NZ,InGame_MoveCursorLeft | |||||||
The cursor IS at the first position, 0 so reset it to the last position +1.
|
||||||||
37276 | LD A,3 | A=3. | ||||||
Process the "left" action.
|
||||||||
InGame_MoveCursorLeft | 37278 | DEC A | Decrease A by one. | |||||
37279 | JR InGame_WriteCursorPosition | Jump to InGame_WriteCursorPosition. | ||||||
Handle moving the cursor right.
|
||||||||
Handler_MoveCursorRight | 37281 | CP 2 | Jump to InGame_MoveCursorRight if the cursor still has slots to the right it can move to, and is not in the last position. | |||||
37283 | JR NZ,InGame_MoveCursorRight | |||||||
The cursor IS at the last position, 2 so reset it to the starting position -1.
|
||||||||
37285 | LD A,255 | A=255. | ||||||
Process the "right" action.
|
||||||||
InGame_MoveCursorRight | 37287 | INC A | Increment the cursor position by one. | |||||
The cursor position has changed, left or right, both actions follow the same flow.
|
||||||||
InGame_WriteCursorPosition | 37288 | LD (37336),A | Write A to *InGame_HighlightedOption. | |||||
37291 | LD B,104 | B=INK: BLACK, PAPER: CYAN (BRIGHT) . | ||||||
37293 | CALL InGame_UpdateCursorPosition | Call InGame_UpdateCursorPosition. | ||||||
37296 | JR InGameControls_Loop | Jump to InGameControls_Loop. |
Prev: 37233 | Up: Map | Next: 37298 |