mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
45 lines
878 B
NASM
45 lines
878 B
NASM
; This function is used to wait a short period after printing a letter to the
|
|
; screen unless the player presses the A/B button or the delay is turned off
|
|
; through the [wd730] or [wLetterPrintingDelayFlags] flags.
|
|
PrintLetterDelay::
|
|
ld a, [wd730]
|
|
bit 6, a
|
|
ret nz
|
|
ld a, [wLetterPrintingDelayFlags]
|
|
bit 1, a
|
|
ret z
|
|
push hl
|
|
push de
|
|
push bc
|
|
ld a, [wLetterPrintingDelayFlags]
|
|
bit 0, a
|
|
jr z, .waitOneFrame
|
|
ld a, [wOptions]
|
|
and $f
|
|
ldh [hFrameCounter], a
|
|
jr .checkButtons
|
|
.waitOneFrame
|
|
ld a, 1
|
|
ldh [hFrameCounter], a
|
|
.checkButtons
|
|
call Joypad
|
|
ldh a, [hJoyHeld]
|
|
.checkAButton
|
|
bit BIT_A_BUTTON, a
|
|
jr z, .checkBButton
|
|
jr .endWait
|
|
.checkBButton
|
|
bit BIT_B_BUTTON, a
|
|
jr z, .buttonsNotPressed
|
|
.endWait
|
|
call DelayFrame
|
|
jr .done
|
|
.buttonsNotPressed ; if neither A nor B is pressed
|
|
ldh a, [hFrameCounter]
|
|
and a
|
|
jr nz, .checkButtons
|
|
.done
|
|
pop bc
|
|
pop de
|
|
pop hl
|
|
ret
|