From bbc5ab6ad02dbabcb79e1e83195288c0fb8cf1d1 Mon Sep 17 00:00:00 2001 From: Astatin Date: Tue, 19 Aug 2025 15:57:51 +0200 Subject: Add insect bite & frog grab sound effects + disallow 2 sound effects at once --- music/soundeffects.gbasm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'music/soundeffects.gbasm') diff --git a/music/soundeffects.gbasm b/music/soundeffects.gbasm index c164492..6bf4a15 100644 --- a/music/soundeffects.gbasm +++ b/music/soundeffects.gbasm @@ -24,6 +24,28 @@ Wait_Next_Frame: LD L, A .END +.MACRODEF CHANNEL_2_SOUND_EFFECT_LOOP =start =end + LD HL, =start + + $loop: + LD A, (HL+) + LD ($18), A + + LD A, (HL+) + LD ($19), A + + .RET_WAIT_NEXT_FRAME_SAVE_HL + + LD A, H + CP high(=end) + JR NZ, =$loop + LD A, L + CP low(=end) + JR NZ, =$loop + $end: +.END + + Play_Sound_Effect: LD A, ($mem_sound_effect_pc) CP $ff @@ -37,10 +59,16 @@ Play_Sound_Effect: RET .MACRODEF SET_SOUND_EFFECT =addr + PUSH AF + LD A, $mem_sound_flags + AND 0b00111110 + JR NZ =$end LD A, bank(=addr) LD ($mem_sound_effect_pc), A LD A, high(ptr(=addr)) LD ($mem_sound_effect_pc+1), A LD A, low(ptr(=addr)) LD ($mem_sound_effect_pc+2), A + $end: + POP AF .END -- cgit v1.2.3-70-g09d2