; 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, 1 ld [wPlayerHouse2FSceneID], a ld a, 1 ld [wPlayerHouse1FSceneID], a ld a, 6 ld [wSilentHillSceneID], a ld a, 18 ld [wSilentHillLabFrontSceneID], a ld a, 6 ld [wSilentHillLabBackSceneID], a ld a, 2 ld [wRivalHouseSceneID], a ret