pokegold-spaceworld/engine/debug/debug_menu.asm
Alieneer aa1da29acd
Some checks are pending
CI / build (push) Waiting to run
CI / build-macos (push) Waiting to run
Fix scene constants not exporting and add SCENE_ prefix (#187)
2026-08-03 19:58:16 -04:00

138 lines
2.9 KiB
NASM

; 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:
SetEvent SILENT_HILL_RIVAL_EVENT
SetEvent SILENT_HILL_TALKED_TO_BLUE
SetEvent PLAYER_HOUSE_2F_READ_EMAIL
SetEvent PLAYER_HOUSE_2F_TALKED_TO_KEN
SetEvent RIVAL_HOUSE_READ_RIVAL_EMAIL
SetEvent RIVAL_HOUSE_READ_RIVAL_EMAIL
SetEvent RIVAL_HOUSE_KEN_LEFT
SetEvent SILENT_HILL_LAB_BACK_FOLLOWED_OAK
SetEvent SILENT_HILL_LAB_FRONT_GOT_POKEDEX
SetEvent SILENT_HILL_LAB_FRONT_RIVAL_BATTLED
SetEvent SILENT_HILL_LAB_BACK_CHOSE_STARTER
ld a, SCENE_PLAYER_HOUSE_2F_KEN_LEFT
ld [wPlayerHouse2FSceneID], a
ld a, SCENE_PLAYER_HOUSE_1F_MOM_BACK
ld [wPlayerHouse1FSceneID], a
ld a, SCENE_SILENT_HILL_GOT_STARTER
ld [wSilentHillSceneID], a
ld a, SCENE_SILENT_HILL_LAB_FRONT_FINISHED
ld [wSilentHillLabFrontSceneID], a
ld a, SCENE_SILENT_HILL_LAB_BACK_CUTSCENE_OVER
ld [wSilentHillLabBackSceneID], a
ld a, SCENE_RIVAL_HOUSE_GOT_MAP_CARD
ld [wRivalHouseSceneID], a
ret