diff options
Diffstat (limited to 'home/joypad.asm')
-rw-r--r-- | home/joypad.asm | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/home/joypad.asm b/home/joypad.asm index 6d9bd743e..d5bfc83f3 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -198,14 +198,14 @@ GetJoypad:: ; 984 .updateauto ; An input of $ff will end the stream. ld a, [hli] - cp a, $ff + cp a, -1 jr z, .stopauto ld b, a ; A duration of $ff will end the stream indefinitely. ld a, [hli] ld [AutoInputLength], a - cp a, $ff + cp a, -1 jr nz, .next ; The current input is overwritten. @@ -362,17 +362,20 @@ Functiona80:: ; a80 push af xor a ld [hConnectionStripLength], a - ld a, $6 + ld a, 6 ld [hConnectedMapWidth], a -.asm_a8d + +.loop push hl hlcoord 18, 17 call Functionb06 pop hl + call JoyTextDelay ld a, [hJoyLast] - and $3 - jr z, .asm_a8d + and A_BUTTON | B_BUTTON + jr z, .loop + pop af ld [hConnectedMapWidth], a pop af @@ -381,67 +384,69 @@ Functiona80:: ; a80 ; aa5 Functionaa5:: ; aa5 +.loop call JoyTextDelay ld a, [hJoyLast] and A_BUTTON | B_BUTTON - jr z, Functionaa5 + jr z, .loop ret ; aaf KeepTextOpen:: ; aaf - ld a, [InLinkBattle] + ld a, [wLinkMode] and a - jr nz, .asm_ac1 - call Functionac6 + jr nz, .link + call .wait_input push de ld de, SFX_READ_TEXT_2 call PlaySFX pop de ret -.asm_ac1 +.link ld c, 65 jp DelayFrames ; ac6 -Functionac6:: ; ac6 +.wait_input: ; ac6 ld a, [hOAMUpdate] push af ld a, $1 ld [hOAMUpdate], a ld a, [InputType] or a - jr z, .asm_ad9 - callba Function1de28a -.asm_ad9 - call Functionaf5 + jr z, .input_wait_loop + callba _DudeAutoInput_A + +.input_wait_loop + call .blink_cursor call JoyTextDelay ld a, [hJoyPressed] - and $3 - jr nz, .asm_af1 + and A_BUTTON | B_BUTTON + jr nz, .received_input call RTC ld a, $1 ld [hBGMapMode], a call DelayFrame - jr .asm_ad9 + jr .input_wait_loop -.asm_af1 +.received_input pop af ld [hOAMUpdate], a ret ; af5 -Functionaf5:: ; af5 +.blink_cursor: ; af5 ld a, [$ff9b] - and $10 - jr z, .asm_aff - ld a, $ee - jr .asm_b02 + and %00010000 ; bit 4, a + jr z, .cursor_off + ld a, "▼" + jr .load_cursor_state -.asm_aff +.cursor_off ld a, [TileMap + 17 + 17 * SCREEN_WIDTH] -.asm_b02 +.load_cursor_state ld [TileMap + 18 + 17 * SCREEN_WIDTH], a ret ; b06 @@ -450,7 +455,7 @@ Functionb06:: ; b06 push bc ld a, [hl] ld b, a - ld a, $ee + ld a, "▼" cp b pop bc jr nz, .asm_b27 @@ -462,11 +467,11 @@ Functionb06:: ; b06 dec a ld [hConnectedMapWidth], a ret nz - ld a, $7a + ld a, "─" ld [hl], a - ld a, $ff + ld a, -1 ld [hConnectionStripLength], a - ld a, $6 + ld a, 6 ld [hConnectedMapWidth], a ret |