From 5a7a380e370014fdf216af488276fdbe95561e95 Mon Sep 17 00:00:00 2001 From: xCrystal Date: Thu, 30 Nov 2023 15:51:24 +0100 Subject: [PATCH] SFX player in debug menu --- engine/board/menu.asm | 2 +- engine/debug/debug_room.asm | 30 +++++++++++++++++++++++++++++- engine/events/trainer_scripts.asm | 2 +- ram/wram.asm | 2 ++ 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/engine/board/menu.asm b/engine/board/menu.asm index 257e4e73c..3f461514e 100755 --- a/engine/board/menu.asm +++ b/engine/board/menu.asm @@ -351,7 +351,7 @@ BoardMenu_BreakDieAnimation: ldh [hUsedSpriteIndex], a farcall _UpdateActiveSpritesAfterOffset - ld de, SFX_STRENGTH + ld de, SFX_PLACE_PUZZLE_PIECE_DOWN call PlaySFX ; play break die and appear die number animations diff --git a/engine/debug/debug_room.asm b/engine/debug/debug_room.asm index 3dccd5503..93aaa4871 100644 --- a/engine/debug/debug_room.asm +++ b/engine/debug/debug_room.asm @@ -28,6 +28,7 @@ DEF DEBUGROOMMENU_NUM_PAGES EQU const_value const DEBUGROOMMENUITEM_RAM_FLAG_CLR ; 12 const DEBUGROOMMENUITEM_CHANGE_SEX ; 13 const DEBUGROOMMENUITEM_BT_BUG_POKE ; 14 + const DEBUGROOMMENUITEM_SFX_PLAYER ; 15 _DebugRoom: ldh a, [hJoyDown] @@ -108,6 +109,7 @@ _DebugRoom: db "RAM FLAG CLR@" db "CHANGE SEX@" db "BT BUG POKE@" + db "SFX PLAYER@" .Jumptable: ; entries correspond to DEBUGROOMMENUITEM_* constants @@ -132,6 +134,7 @@ _DebugRoom: dw DebugRoomMenu_RAMFlagClr dw DebugRoomMenu_ChangeSex dw DebugRoomMenu_BTBugPoke + dw DebugRoomMenu_SFXPlayer .MenuItems: ; entries correspond to DEBUGROOMMENU_* constants @@ -161,12 +164,13 @@ _DebugRoom: db -1 ; DEBUGROOMMENU_PAGE_3 - db 6 + db 7 db DEBUGROOMMENUITEM_TEL_DEBUG db DEBUGROOMMENUITEM_SUM_RECALC db DEBUGROOMMENUITEM_RAM_FLAG_CLR db DEBUGROOMMENUITEM_CHANGE_SEX db DEBUGROOMMENUITEM_BT_BUG_POKE + db DEBUGROOMMENUITEM_SFX_PLAYER db DEBUGROOMMENUITEM_NEXT db -1 @@ -1680,6 +1684,30 @@ DebugRoomMenu_BTBugPoke: next "No. Clear flag?" done +DebugRoomMenu_SFXPlayer: + ld de, MUSIC_NONE + call PlayMusic + ld e, 0 +.loop + ld d, 0 + push de + ld hl, wDebugRoomSFXID + ld [hl], e + ld de, wDebugRoomSFXID + hlcoord 4, 16 + ld c, 1 + call PrintHexNumber + pop de + call PlaySFX + call DebugRoom_JoyWaitABSelect + call WaitSFX + ld a, [wDebugRoomSFXID] + inc a + ld e, a + cp NUM_SFX + jr c, .loop + ret + PrintHexNumber: ; Print the c-byte value from de to hl as hexadecimal digits. .loop diff --git a/engine/events/trainer_scripts.asm b/engine/events/trainer_scripts.asm index bd15e7a36..a1422abe3 100644 --- a/engine/events/trainer_scripts.asm +++ b/engine/events/trainer_scripts.asm @@ -33,7 +33,7 @@ AlreadyBeatenTrainerScript: SeenByTalkerScript:: waitsfx ; wait for any pending space-related sfx -; playsound SFX_ + playsound SFX_UNKNOWN_66 showemote EMOTE_TALK, LAST_TALKED, 20 trainerortalkerflagaction SET_FLAG callasm .TalkOrSkipTalker diff --git a/ram/wram.asm b/ram/wram.asm index ea7cb2c7a..6e574cc3d 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -924,6 +924,8 @@ wDebugRoomMonBox:: db NEXTU ; debug room GB ID values wDebugRoomGBID:: dw +NEXTU +wDebugRoomSFXID:: db ENDU endc