pokegold-spaceworld/engine/debug/debug_menu.asm
2026-06-05 22:06:35 -04:00

153 lines
2.8 KiB
NASM

INCLUDE "constants.asm"
SECTION "engine/menu/debug_menu.asm", ROMX
; DebugJumpTable indices
const_def
const DEBUGMENU_FIGHT
const DEBUGMENU_FIELD
const DEBUGMENU_SOUNDTEST
const DEBUGMENU_SUBGAME
const DEBUGMENU_POKEDEX
const DEBUGMENU_TRAINERGEAR
DebugMenu::
call ClearTileMap
call ClearWindowData
call LoadFont
call LoadFontsBattleExtra
call ClearSprites
call GetMemSGBLayout
xor a
ld [wWhichIndexSet], a
ld hl, DebugMenuHeader
call LoadMenuHeader
call OpenMenu
call CloseWindow
jp c, TitleSequenceStart
ld a, BATTLE_SHIFT | TEXT_DELAY_FAST
ld [wOptions], a
ld a, [wMenuSelection]
ld hl, DebugJumpTable
jp CallJumptable
DebugJumpTable::
dw DebugMenuOptionFight
dw DebugMenuOptionField
dw DebugMenuSoundTest ; to home bank
dw DebugMenuOptionSubGames
dw DebugMenuOptionMonsterTest
dw DebugMenuOptionName
DebugMenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 5, 2, SCREEN_WIDTH - 7, SCREEN_HEIGHT - 1
dw .MenuData
db 1 ; default option
.MenuData:
db STATICMENU_CURSOR | STATICMENU_WRAP
db 0
dw DebugMenuItems
dw PlaceMenuStrings
dw .Strings
.Strings
db "ファイト@"
db "フィールド@"
db "サウンド@"
db "サブゲーム@"
db "モンスター@"
db "なまえ@"
DebugMenuItems:
db 6 ; items
db DEBUGMENU_FIGHT
db DEBUGMENU_FIELD
db DEBUGMENU_SOUNDTEST
db DEBUGMENU_SUBGAME
db DEBUGMENU_POKEDEX
db DEBUGMENU_TRAINERGEAR
db -1
DebugMenuOptionField::
ld hl, wDebugFlags
set DEBUG_FIELD_F, [hl] ; set debug mode
jp NewGame
DebugMenuOptionFight::
ld hl, wDebugFlags
set DEBUG_BATTLE_F, [hl]
predef FightDebugMenu
ld hl, wDebugFlags
res DEBUG_BATTLE_F, [hl]
ret
DebugMenuOptionSubGames::
callfar CallSubGameMenu
jp DebugMenu
DebugMenuOptionMonsterTest::
ld hl, wPokedexCaught
ld de, wPokedexSeen
ld b, NUM_POKEMON / 8
ld a, %11111111
.loop
ld [hli], a
ld [de], a
inc de
dec b
jr nz, .loop
ld a, (1 << ((NUM_POKEMON - 1) % 8)) - 1 ; discount #251
ld [hl], a
ld [de], a
callfar MonsterTest
ld a, %11100100
ldh [rBGP], a
OpenDebugMenu::
jp DebugMenu
DebugMenuOptionName::
callfar OpenTrainerGear
ld a, %11100100
ldh [rBGP], a
jp DebugMenu
SetDemoEventFlags:
ld hl, wd41a
set 5, [hl]
ld hl, wd41a
set 7, [hl] ; talked to blue
ld hl, wd41a
set 0, [hl] ; read email
ld hl, wd41a
set 3, [hl]
ld hl, wd41a
set 6, [hl]
ld hl, wd41a
set 6, [hl]
ld hl, wd41e
set 5, [hl]
ld hl, wd41b
set 1, [hl] ; followed oak to back room
ld hl, wd41c
set 4, [hl] ; received pokedexes
ld hl, wd41d
set 2, [hl] ; beat rival in lab
ld hl, wd41b
set 2, [hl] ; chose a starter
ld a, 1
ld [wPlayerHouse2FCurScript], a
ld a, 1
ld [wPlayerHouse1FCurScript], a
ld a, 6
ld [wSilentHillCurScript], a
ld a, 18
ld [wSilentHillLabFrontCurScript], a
ld a, 6
ld [wSilentHillLabBackCurScript], a
ld a, 2
ld [wSilentHillHouseCurScript], a
ret