mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-10-03 23:09:47 -04:00
396 lines
7.5 KiB
NASM
396 lines
7.5 KiB
NASM
INCLUDE "constants.asm"
|
||
|
||
SECTION "engine/menu/debug_menu.asm", ROMX
|
||
|
||
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, $41
|
||
ld [wce5f], 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 05, 02, SCREEN_WIDTH - 7, SCREEN_HEIGHT - 1
|
||
dw .MenuData
|
||
db 01 ; default option
|
||
|
||
.MenuData:
|
||
db $A0
|
||
db 0 ; items
|
||
dw DebugMenuItems
|
||
db $8A, $1F
|
||
dw .Strings
|
||
|
||
.Strings
|
||
db "ファイト@"
|
||
db "フィールド@"
|
||
db "サウンド@"
|
||
db "サブゲーム@"
|
||
db "モンスター@"
|
||
db "なまえ@"
|
||
|
||
DebugMenuItems:
|
||
db 06
|
||
db 00
|
||
db 01
|
||
db 02
|
||
db 03
|
||
db 04
|
||
db 05
|
||
db -1
|
||
|
||
DebugMenuOptionField::
|
||
ld hl, wDebugFlags
|
||
set DEBUG_FIELD_F, [hl] ; set debug mode
|
||
jp StartNewGame
|
||
|
||
DebugMenuOptionFight::
|
||
ld hl, wDebugFlags
|
||
set DEBUG_BATTLE_F, [hl]
|
||
ld a, $54
|
||
call Predef
|
||
ld hl, wDebugFlags
|
||
res DEBUG_BATTLE_F, [hl]
|
||
ret
|
||
|
||
DebugMenuOptionSubGames::
|
||
callab CallSubGameMenu
|
||
jp DebugMenu
|
||
|
||
DebugMenuOptionMonsterTest::
|
||
ld hl, wPokedexOwned
|
||
ld de, wPokedexSeen
|
||
ld b, 31
|
||
ld a, -1
|
||
.loop
|
||
ld [hl+], a
|
||
ld [de], a
|
||
inc de
|
||
dec b
|
||
jr nz, .loop
|
||
ld a, 3
|
||
ld [hl], a
|
||
ld [de], a
|
||
callab MonsterTest
|
||
ld a, %11100100
|
||
ldh [rBGP], a
|
||
|
||
Function40eb::
|
||
jp DebugMenu
|
||
|
||
DebugMenuOptionName::
|
||
callab OpenTrainerGear
|
||
ld a, %11100100
|
||
ldh [rBGP], a
|
||
jp DebugMenu
|
||
|
||
SECTION "engine/menu/debug_menu.asm@Sound Test", ROMX
|
||
|
||
_DebugMenuSoundTest::
|
||
call ClearTileMap
|
||
call LoadFontExtra
|
||
call ClearSprites
|
||
call GetMemSGBLayout
|
||
xor a
|
||
ldh [hDebugMenuSoundMenuIndex], a
|
||
call .DetermineDescriptionPointer
|
||
|
||
.RefreshScreenAndLoop:
|
||
call WaitBGMap
|
||
|
||
.Loop:
|
||
call ClearJoypad
|
||
call GetJoypad
|
||
ldh a, [hJoyDown]
|
||
and a
|
||
jr z, .Loop
|
||
|
||
bit A_BUTTON_F, a
|
||
jr nz, .a_pressed
|
||
|
||
bit B_BUTTON_F, a
|
||
jr nz, .b_pressed
|
||
|
||
bit START_F, a
|
||
jr nz, .start_pressed
|
||
|
||
bit D_UP_F, a
|
||
jr nz, .up_pressed
|
||
|
||
bit D_DOWN_F, a
|
||
jr nz, .down_pressed
|
||
|
||
ret
|
||
|
||
.a_pressed
|
||
ldh a, [hDebugMenuSoundBank]
|
||
ld c, a
|
||
ldh a, [hDebugMenuSoundID]
|
||
jr .RefreshScreenAndLoop
|
||
|
||
.up_pressed
|
||
ldh a, [hDebugMenuSoundMenuIndex]
|
||
inc a
|
||
cp 55
|
||
jr nz, .SetIndex
|
||
|
||
xor a
|
||
|
||
.SetIndex:
|
||
ldh [hDebugMenuSoundMenuIndex], a
|
||
call .DetermineDescriptionPointer
|
||
jr .RefreshScreenAndLoop
|
||
|
||
.down_pressed
|
||
ldh a, [hDebugMenuSoundMenuIndex]
|
||
dec a
|
||
cp -1
|
||
jr nz, .SetIndex2
|
||
|
||
ld a, 54
|
||
|
||
.SetIndex2:
|
||
ldh [hDebugMenuSoundMenuIndex], a
|
||
call .DetermineDescriptionPointer
|
||
jr .RefreshScreenAndLoop
|
||
|
||
.start_pressed
|
||
ldh a, [hDebugMenuSoundBank]
|
||
ld c, a
|
||
ld a, -1
|
||
jr .RefreshScreenAndLoop
|
||
|
||
.b_pressed
|
||
ldh a, [hDebugMenuSoundBank]
|
||
ld c, a
|
||
ld a, 10
|
||
ld [wcdb5], a
|
||
ld [wcdb6], a
|
||
ld a, -1
|
||
ld [wcdb4], a
|
||
jr .RefreshScreenAndLoop
|
||
|
||
.DetermineDescriptionPointer:
|
||
ld hl, .TextPointers
|
||
ldh a, [hDebugMenuSoundMenuIndex]
|
||
add a
|
||
add a ; a * 8
|
||
ld d, 0
|
||
ld e, a
|
||
add hl, de
|
||
ld a, [hli]
|
||
ldh [hDebugMenuSoundID], a
|
||
ld a, [hli]
|
||
ldh [hDebugMenuSoundBank], a
|
||
ld a, [hli]
|
||
ld e, a
|
||
ld d, [hl]
|
||
call CopyStringToStringBuffer2
|
||
call .DisplayText
|
||
ret
|
||
|
||
.DisplayText:
|
||
ld hl, hDebugMenuSoundMenuIndex
|
||
inc [hl]
|
||
ld hl, .String
|
||
call PrintText
|
||
ld hl, hDebugMenuSoundMenuIndex
|
||
dec [hl]
|
||
ld c, 3
|
||
call DelayFrames
|
||
ret
|
||
|
||
.String:
|
||
deciram hDebugMenuSoundMenuIndex, 1, 1
|
||
text "<LINE>@"
|
||
text_from_ram wStartDay
|
||
text " "
|
||
done
|
||
|
||
.TextPointers:
|
||
; id? bank? description
|
||
dbbw $00, $3A, SoundTest_PalletTownText
|
||
dbbw $00, $3A, SoundTest_PokecenterText
|
||
dbbw $00, $3A, SoundTest_PokegymText
|
||
dbbw $07, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $0C, $3A, SoundTest_PokeEvolutionText
|
||
dbbw $08, $3A, SoundTest_HealingText
|
||
dbbw $02, $3A, SoundTest_QuestionMarkText
|
||
dbbw $03, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_QuestionMarkText
|
||
dbbw $00, $3A, SoundTest_ReservedText
|
||
dbbw $00, $3A, SoundTest_OakText
|
||
dbbw $00, $3A, SoundTest_RivalText
|
||
dbbw $00, $3A, SoundTest_StAnneText
|
||
dbbw $66, $3A, SoundTest_Fanfare3Text
|
||
dbbw $68, $3A, SoundTest_Fanfare5Text
|
||
dbbw $69, $3A, SoundTest_Fanfare6Text
|
||
dbbw $63, $3A, SoundTest_FanfareText
|
||
dbbw $21, $3A, SoundTest_FluteText
|
||
dbbw $04, $3B, SoundTest_BattleText
|
||
dbbw $05, $3B, SoundTest_BattleText
|
||
dbbw $00, $3B, SoundTest_BattleText
|
||
dbbw $00, $3B, SoundTest_ChampionBattleText
|
||
dbbw $0B, $3B, SoundTest_VictoryText
|
||
dbbw $00, $3B, SoundTest_VictoryText
|
||
dbbw $00, $3B, SoundTest_VictoryText
|
||
dbbw $67, $3B, SoundTest_Fanfare4Text
|
||
dbbw $68, $3B, SoundTest_Fanfare5Text_2
|
||
dbbw $6B, $3B, SoundTest_Fanfare8Text
|
||
dbbw $00, $3C, SoundTest_TitleText
|
||
dbbw $00, $3C, SoundTest_EndingText
|
||
dbbw $00, $3C, SoundTest_HallOfFameText
|
||
dbbw $00, $3C, SoundTest_KenkiYujiyoText
|
||
dbbw $00, $3C, SoundTest_JigglypuffSongText
|
||
dbbw $09, $3C, SoundTest_BikeText
|
||
dbbw $00, $3C, SoundTest_SurfText
|
||
dbbw $00, $3C, SoundTest_CasinoText
|
||
dbbw $00, $3C, SoundTest_IntroBattleText
|
||
dbbw $00, $3C, SoundTest_DungeonText
|
||
dbbw $00, $3C, SoundTest_DungeonText
|
||
dbbw $00, $3C, SoundTest_DungeonText
|
||
dbbw $00, $3C, SoundTest_DungeonText
|
||
dbbw $00, $3C, SoundTest_TouText
|
||
dbbw $00, $3C, SoundTest_TouText
|
||
dbbw $0A, $3C, SoundTest_DealerText
|
||
dbbw $00, $3C, SoundTest_DealerText
|
||
dbbw $00, $3C, SoundTest_DealerText
|
||
dbbw $66, $3C, SoundTest_Fanfare3Text_2
|
||
dbbw $69, $3C, SoundTest_Fanfare6Text_2
|
||
dbbw -1 -1, .TextPointers
|
||
|
||
SoundTest_PalletTownText:
|
||
db "マサラタウン@"
|
||
|
||
SoundTest_PokecenterText:
|
||
db "#センター@"
|
||
|
||
SoundTest_PokegymText:
|
||
db "#ジム@"
|
||
|
||
SoundTest_PokeEvolutionText:
|
||
db "#しんか@"
|
||
|
||
SoundTest_HealingText:
|
||
db "あさあさあさ@"
|
||
|
||
SoundTest_ReservedText:
|
||
db "つれていかれる@"
|
||
|
||
SoundTest_OakText:
|
||
db "オーキドとともに@"
|
||
|
||
SoundTest_RivalText:
|
||
db "ライバル@"
|
||
|
||
SoundTest_StAnneText:
|
||
db "サントアンヌゴウ@"
|
||
|
||
SoundTest_FluteText:
|
||
db "ふえ@"
|
||
|
||
SoundTest_BattleText:
|
||
db "せんとう@"
|
||
|
||
SoundTest_ChampionBattleText:
|
||
db "さいしゆうせんとう@"
|
||
|
||
SoundTest_VictoryText:
|
||
db "かち@"
|
||
|
||
SoundTest_FanfareText:
|
||
db "フぁンファーレ@"
|
||
|
||
SoundTest_Fanfare3Text:
|
||
db "フぁンファーレ3@"
|
||
|
||
SoundTest_Fanfare5Text:
|
||
db "フぁンファーレ5@"
|
||
|
||
SoundTest_Fanfare6Text:
|
||
db "フぁンファーレ6@"
|
||
|
||
SoundTest_Fanfare4Text:
|
||
db "フぁンファーレ4@"
|
||
|
||
SoundTest_Fanfare5Text_2:
|
||
db "フぁンファーレ5@"
|
||
|
||
SoundTest_Fanfare8Text:
|
||
db "フぁンファーレ8@"
|
||
|
||
SoundTest_Fanfare3Text_2:
|
||
db "フぁンファーレ3@"
|
||
|
||
SoundTest_Fanfare6Text_2:
|
||
db "フぁンファーレ6@"
|
||
|
||
SoundTest_TitleText:
|
||
db "タイトル@"
|
||
|
||
SoundTest_EndingText:
|
||
db "エンディング@"
|
||
|
||
SoundTest_HallOfFameText:
|
||
db "でんどういり@"
|
||
|
||
SoundTest_KenkiYujiyoText:
|
||
db "けんきゆうじよ@"
|
||
|
||
SoundTest_JigglypuffSongText:
|
||
db "プりンノうた@"
|
||
|
||
SoundTest_BikeText:
|
||
db "じてんしや@"
|
||
|
||
SoundTest_SurfText:
|
||
db "うみ@"
|
||
|
||
SoundTest_CasinoText:
|
||
db "カジノ@"
|
||
|
||
SoundTest_IntroBattleText:
|
||
db "オープニングデモ@"
|
||
|
||
SoundTest_DungeonText:
|
||
db "どうくつ@"
|
||
|
||
SoundTest_TouText:
|
||
db "とう@"
|
||
|
||
SoundTest_DealerText:
|
||
db "ディーラー@"
|
||
|
||
SoundTest_QuestionMarkText:
|
||
db "?@"
|
||
|