Files
pokeyellow/engine/debug/debug_menu.asm
T

78 lines
1.3 KiB
NASM

DebugMenu:
IF DEF(_DEBUG)
call ClearScreen
; These debug names are used for FightDebugMenu.
; StartNewGameDebug uses the debug names from PrepareOakSpeech.
ld hl, DebugBattlePlayerName
ld de, wPlayerName
ld bc, NAME_LENGTH
call CopyData
ld hl, DebugBattleRivalName
ld de, wRivalName
ld bc, NAME_LENGTH
call CopyData
call LoadFontTilePatterns
call LoadHpBarAndStatusTilePatterns
call ClearSprites
call RunDefaultPaletteCommand
hlcoord 5, 6
lb bc, 3, 9
call TextBoxBorder
hlcoord 7, 7
ld de, DebugMenuOptions
call PlaceString
ld a, TEXT_DELAY_MEDIUM
ld [wOptions], a
ld a, PAD_A | PAD_B | PAD_START
ld [wMenuWatchedKeys], a
xor a
ld [wMenuJoypadPollCount], a
inc a
ld [wMaxMenuItem], a
ld a, 7
ld [wTopMenuItemY], a
dec a
ld [wTopMenuItemX], a
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
ld [wMenuWatchMovingOutOfBounds], a
call HandleMenuInput
bit B_PAD_B, a
ld hl, DisplayTitleScreen
ret nz
ld a, [wCurrentMenuItem]
and a ; FIGHT?
jp z, FightDebugMenu
; DEBUG
ld hl, wStatusFlags6
set BIT_DEBUG_MODE, [hl]
ld hl, StartNewGameDebug
ret
DebugBattlePlayerName:
db "Tom@"
DebugBattleRivalName:
db "Juerry@"
DebugMenuOptions:
db "FIGHT"
next "DEBUG@"
INCLUDE "engine/debug/fight_debug_menu.asm"
INCLUDE "engine/debug/set_box_debug_menu.asm"
ELSE
ret
ENDC