mirror of
https://github.com/pret/pokeyellow.git
synced 2026-04-26 01:31:29 -05:00
Add Nuzloptions menu to main menu
This commit is contained in:
parent
d20c0831d8
commit
830c454304
|
|
@ -34,7 +34,7 @@ MainMenu:
|
|||
jr z, .noSaveFile
|
||||
; there's a save file
|
||||
hlcoord 0, 0
|
||||
lb bc, 6, 13
|
||||
lb bc, 8, 13
|
||||
call TextBoxBorder
|
||||
hlcoord 2, 2
|
||||
ld de, ContinueText
|
||||
|
|
@ -42,7 +42,7 @@ MainMenu:
|
|||
jr .next2
|
||||
.noSaveFile
|
||||
hlcoord 0, 0
|
||||
lb bc, 4, 13
|
||||
lb bc, 6, 13
|
||||
call TextBoxBorder
|
||||
hlcoord 2, 2
|
||||
ld de, NewGameText
|
||||
|
|
@ -62,6 +62,7 @@ MainMenu:
|
|||
ld a, PAD_A | PAD_B | PAD_START
|
||||
ld [wMenuWatchedKeys], a
|
||||
ld a, [wSaveFileStatus]
|
||||
inc a
|
||||
ld [wMaxMenuItem], a
|
||||
call HandleMenuInput
|
||||
bit B_PAD_B, a
|
||||
|
|
@ -82,6 +83,11 @@ MainMenu:
|
|||
jr z, .choseContinue
|
||||
cp 1
|
||||
jp z, StartNewGame
|
||||
cp 2
|
||||
jr z, .choseOptionMenu
|
||||
call DisplayNuzloptionsMenu
|
||||
jp .mainMenuLoop
|
||||
.choseOptionMenu
|
||||
call DisplayOptionMenu
|
||||
ld a, TRUE
|
||||
ld [wOptionsInitialized], a
|
||||
|
|
@ -183,7 +189,141 @@ ContinueText:
|
|||
|
||||
NewGameText:
|
||||
db "NEW GAME"
|
||||
next "OPTION@"
|
||||
next "OPTION"
|
||||
next "NUZLOPTIONS@"
|
||||
|
||||
DisplayNuzloptionsMenu:
|
||||
call InitNuzloptionsMenu
|
||||
.nuzloptionsMenuLoop
|
||||
call JoypadLowSensitivity
|
||||
ldh a, [hJoy5]
|
||||
and PAD_START | PAD_B
|
||||
ret nz
|
||||
call NuzloptionsControl
|
||||
jr c, .dpadDelay
|
||||
call NuzloptionsMenu_UpdateSelectedOption
|
||||
.dpadDelay
|
||||
call NuzloptionsMenu_UpdateCursorPosition
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
jr .nuzloptionsMenuLoop
|
||||
|
||||
NuzloptionsMenu_UpdateSelectedOption:
|
||||
ld a, [wNuzloptionsCursorLocation]
|
||||
and a
|
||||
jr z, .all151
|
||||
ld hl, wNuzloptionsRandomise
|
||||
jr .update
|
||||
.all151
|
||||
ld hl, wNuzloptionsAll151Pokemon
|
||||
.update
|
||||
ldh a, [hJoy5]
|
||||
and PAD_LEFT | PAD_RIGHT
|
||||
jr z, .drawOnly
|
||||
ld a, [hl]
|
||||
xor 1
|
||||
ld [hl], a
|
||||
.drawOnly
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, .Strings
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
ld a, [wNuzloptionsCursorLocation]
|
||||
and a
|
||||
jr z, .placeAll151
|
||||
hlcoord 14, 6
|
||||
jr .place
|
||||
.placeAll151
|
||||
hlcoord 14, 4
|
||||
.place
|
||||
call PlaceString
|
||||
ret
|
||||
|
||||
.Strings:
|
||||
dw .Off
|
||||
dw .On
|
||||
|
||||
.Off: db "OFF@"
|
||||
.On: db "ON @"
|
||||
|
||||
NuzloptionsControl:
|
||||
ld hl, wNuzloptionsCursorLocation
|
||||
ldh a, [hJoy5]
|
||||
cp PAD_DOWN
|
||||
jr z, .pressedDown
|
||||
cp PAD_UP
|
||||
jr z, .pressedUp
|
||||
and a
|
||||
ret
|
||||
.pressedDown
|
||||
ld a, [hl]
|
||||
cp 1
|
||||
jr nz, .increase
|
||||
xor a
|
||||
ld [hl], a
|
||||
scf
|
||||
ret
|
||||
.increase
|
||||
inc [hl]
|
||||
scf
|
||||
ret
|
||||
.pressedUp
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr nz, .decrease
|
||||
ld [hl], 2
|
||||
.decrease
|
||||
dec [hl]
|
||||
scf
|
||||
ret
|
||||
|
||||
NuzloptionsMenu_UpdateCursorPosition:
|
||||
hlcoord 1, 1
|
||||
ld de, SCREEN_WIDTH
|
||||
ld c, 8
|
||||
.loop
|
||||
ld [hl], ' '
|
||||
add hl, de
|
||||
dec c
|
||||
jr nz, .loop
|
||||
hlcoord 1, 4
|
||||
ld bc, SCREEN_WIDTH * 2
|
||||
ld a, [wNuzloptionsCursorLocation]
|
||||
call AddNTimes
|
||||
ld [hl], '▶'
|
||||
ret
|
||||
|
||||
InitNuzloptionsMenu:
|
||||
hlcoord 0, 0
|
||||
lb bc, 8, SCREEN_WIDTH - 2
|
||||
call TextBoxBorder
|
||||
hlcoord 2, 2
|
||||
ld de, NuzloptionsText
|
||||
call PlaceString
|
||||
xor a
|
||||
ld [wNuzloptionsCursorLocation], a
|
||||
ld [wNuzloptionsAll151Pokemon], a
|
||||
ld [wNuzloptionsRandomise], a
|
||||
call NuzloptionsMenu_UpdateSelectedOption
|
||||
ld a, 1
|
||||
ld [wNuzloptionsCursorLocation], a
|
||||
call NuzloptionsMenu_UpdateSelectedOption
|
||||
xor a
|
||||
ld [wNuzloptionsCursorLocation], a
|
||||
inc a
|
||||
ldh [hAutoBGTransferEnabled], a
|
||||
call Delay3
|
||||
ret
|
||||
|
||||
NuzloptionsText:
|
||||
db "ALL 151 POKEMON:"
|
||||
next "RANDOMISE:@"
|
||||
|
||||
DisplayContinueGameInfo:
|
||||
xor a
|
||||
|
|
|
|||
|
|
@ -1940,6 +1940,9 @@ wPlayerMoney:: ds 3 ; BCD
|
|||
wRivalName:: ds NAME_LENGTH
|
||||
|
||||
wOptions:: db
|
||||
wNuzloptionsAll151Pokemon:: db
|
||||
wNuzloptionsRandomise:: db
|
||||
wNuzloptionsCursorLocation:: db
|
||||
|
||||
wObtainedBadges:: flag_array NUM_BADGES
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user