aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-08-07 12:40:56 +0200
committerAstatin <[email protected]>2025-08-07 12:40:56 +0200
commit162fad62713d6b2e175c4cd5d7e53ebe7dedef11 (patch)
treef45ede24dd539e9bcc297917a9b341055e130a76
parent8b7594415a4ca28b0193d24d59c3089f046a3be1 (diff)
Add menu, next floor, attack cancel/arrow move failed sound effects
-rw-r--r--gui.gbasm31
-rw-r--r--main.gbasm2
-rw-r--r--map/objects.gbasm2
-rw-r--r--modes/dungeongeneration.gbasm4
-rw-r--r--modes/titlescreen.gbasm7
-rw-r--r--music/soundeffects/click.gbasm2
-rw-r--r--music/soundeffects/menu.gbasm146
-rw-r--r--music/soundeffects/nextfloor.gbasm23
-rw-r--r--music/title-screen-music.furbin707 -> 701 bytes
-rw-r--r--music/title-screen.vgmbin6221 -> 6137 bytes
-rw-r--r--playerattacks.gbasm2
11 files changed, 197 insertions, 22 deletions
diff --git a/gui.gbasm b/gui.gbasm
index 6f1e2b2..667788d 100644
--- a/gui.gbasm
+++ b/gui.gbasm
@@ -171,6 +171,8 @@ Move_dialogue_cursor:
CP $enum_dungeon_menu_mode
RET NZ
+ LD A, $mem_menu_cursor_position
+ LD D, A
LD A, $mem_cursor_max_position
LD C, A
LD A, $mem_last_button_direction
@@ -181,15 +183,13 @@ Move_dialogue_cursor:
CP B
RET Z
- .SET_SOUND_EFFECT =_sound_effect_Click
-
DEC A
BIT 1, A
JR Z, =.Vertical_axis
LD A, $mem_menu_cursor_position
XOR $02
CP C
- JR NC, =Reload_EP_Cost
+ JR NC, =.Sound_effect
LD $mem_menu_cursor_position, A
JR =Reload_EP_Cost
@@ -197,9 +197,17 @@ Move_dialogue_cursor:
LD A, $mem_menu_cursor_position
XOR $01
CP C
- JR NC, =Reload_EP_Cost
+ JR NC, =.Sound_effect
LD $mem_menu_cursor_position, A
+ .Sound_effect:
+ LD A, $mem_menu_cursor_position
+ CP D
+ JR NZ, =.moved_sound_effect
+ .fail_move_sound_effect:
+ .SET_SOUND_EFFECT =_sound_effect_Move_arrow_failed
+ .moved_sound_effect:
+
Reload_EP_Cost:
LD A, $mem_menu_cursor_position
ADD low($mem_bunny_attacks)
@@ -272,13 +280,14 @@ Check_dialogue_action:
CP $00
RET Z
BIT 3, A
- JP NZ, =Exit_Menu
+ JR Z, =.test_attack_chosen
+ .SET_SOUND_EFFECT =_sound_effect_Menu_Close
+ JP =Exit_Menu
+
+ .test_attack_chosen:
BIT 0, A
RET Z
- LD A, $mem_menu_cursor_position
- LD D, A
-
LD A, $mem_current_focused_attack_ep_cost
LD B, A
LD A, $mem_bunny_mana
@@ -295,10 +304,6 @@ Check_dialogue_action:
ADD L
LD L, A
- LD A, $mem_menu_cursor_position
- CP D
- JR NZ, =.moved_sound_effect
- .SET_SOUND_EFFECT =_sound_effect_Click
.moved_sound_effect:
LD A, (HL+)
LD D, A
@@ -355,7 +360,7 @@ Open_dialogue_on_dungeon_menu_mode:
AND $40 ; Keeping object additional tile
OR $0d
LD $mem_display_flag, A
- .SET_SOUND_EFFECT =_sound_effect_Click
+ .SET_SOUND_EFFECT =_sound_effect_Menu_Open
RET
diff --git a/main.gbasm b/main.gbasm
index c480918..61aa158 100644
--- a/main.gbasm
+++ b/main.gbasm
@@ -64,6 +64,8 @@ Entrypoint:
.INCLUDE "map/maps.gbasm"
.INCLUDE "map/dungeons.gbasm"
.INCLUDE "music/soundeffects/click.gbasm"
+.INCLUDE "music/soundeffects/menu.gbasm"
+.INCLUDE "music/soundeffects/nextfloor.gbasm"
_music_Dungeon:
.INCLUDEBIN "music/morning-forest.vgm"
diff --git a/map/objects.gbasm b/map/objects.gbasm
index df15e09..e7dd028 100644
--- a/map/objects.gbasm
+++ b/map/objects.gbasm
@@ -220,6 +220,8 @@ Stairs_Action:
LD $mem_floor_count_bin, A
.skip_update_floor_count:
+
+ .SET_SOUND_EFFECT =_sound_effect_Next_Floor
RET
Heal_Action:
diff --git a/modes/dungeongeneration.gbasm b/modes/dungeongeneration.gbasm
index b7affed..1a0498f 100644
--- a/modes/dungeongeneration.gbasm
+++ b/modes/dungeongeneration.gbasm
@@ -225,7 +225,9 @@ Dungeon_generation_VBlank:
CALL =Reset_Entities_Collision_Map
- CALL =Reset_Music_Channels
+ LD A, $mem_sound_flags
+ CP $00
+ CALL Z, =Reset_Music_Channels
LD A, $01
LD $mem_sound_flags, A
DI
diff --git a/modes/titlescreen.gbasm b/modes/titlescreen.gbasm
index 2a53f48..64e6aee 100644
--- a/modes/titlescreen.gbasm
+++ b/modes/titlescreen.gbasm
@@ -123,13 +123,6 @@ Title_Screen_Start_Pressed:
CALL =Reset_Music_Channels
; Magic sound effect stuff
- LD A, $8f
- LD ($26), A
- LD A, $ee
- LD ($25), A
- LD A, $ff
- LD ($24), A
- LD A, $3f
LD ($20), A
LD A, $f2
LD ($21), A
diff --git a/music/soundeffects/click.gbasm b/music/soundeffects/click.gbasm
index 8b811db..296512e 100644
--- a/music/soundeffects/click.gbasm
+++ b/music/soundeffects/click.gbasm
@@ -7,7 +7,7 @@ _sound_effect_Click:
LD A, $80
LD ($16), A
; LD A, $a1
- LD A, $f3
+ LD A, $83
LD ($17), A
; LD A, $16
LD A, $83
diff --git a/music/soundeffects/menu.gbasm b/music/soundeffects/menu.gbasm
new file mode 100644
index 0000000..1266ff4
--- /dev/null
+++ b/music/soundeffects/menu.gbasm
@@ -0,0 +1,146 @@
+_sound_effect_Menu_Open:
+ LD A, $mem_sound_flags
+ SET 2, A
+ LD $mem_sound_flags, A
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ LD A, $06
+ LD ($18), A
+ LD A, $87
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ LD A, $83
+ LD ($18), A
+ LD A, $87
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $08
+ LD ($17), A
+ LD A, $0b
+ LD ($18), A
+ LD A, $86
+ LD ($19), A
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
+
+_sound_effect_Menu_Close:
+ LD A, $mem_sound_flags
+ SET 2, A
+ LD $mem_sound_flags, A
+
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ LD A, $06
+ LD ($18), A
+ LD A, $87
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $82
+ LD ($17), A
+ LD A, $0b
+ LD ($18), A
+ LD A, $86
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $08
+ LD ($17), A
+ LD A, $0b
+ LD ($18), A
+ LD A, $86
+ LD ($19), A
+
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
+
+_sound_effect_Move_arrow_failed:
+ LD A, $mem_sound_flags
+ SET 2, A
+ LD $mem_sound_flags, A
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $52
+ LD ($17), A
+ LD A, $16
+ LD ($18), A
+ LD A, $84
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $08
+ LD ($17), A
+ LD A, $16
+ LD ($18), A
+ LD A, $84
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $3f
+ LD ($16), A
+ LD A, $52
+ LD ($17), A
+ LD A, $16
+ LD ($18), A
+ LD A, $84
+ LD ($19), A
+
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+ .RET_WAIT_NEXT_FRAME
+
+ LD A, $08
+ LD ($17), A
+ LD A, $16
+ LD ($18), A
+ LD A, $84
+ LD ($19), A
+
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
diff --git a/music/soundeffects/nextfloor.gbasm b/music/soundeffects/nextfloor.gbasm
new file mode 100644
index 0000000..c663b5c
--- /dev/null
+++ b/music/soundeffects/nextfloor.gbasm
@@ -0,0 +1,23 @@
+_sound_effect_Next_Floor:
+ LD A, $mem_sound_flags
+ SET 4, A
+ LD $mem_sound_flags, A
+
+ ; Magic sound effect stuff
+ LD A, $3f
+ LD ($20), A
+ LD A, $f2
+ LD ($21), A
+ LD A, $01
+ LD ($22), A
+ LD A, $80
+ LD ($23), A
+
+ LD A, $mem_sound_flags
+ SET 5, A
+ LD $mem_sound_flags, A
+ LD A, $10
+ LD $mem_sound_effect_frame_count, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+ RET
diff --git a/music/title-screen-music.fur b/music/title-screen-music.fur
index 9a474c5..4750f4e 100644
--- a/music/title-screen-music.fur
+++ b/music/title-screen-music.fur
Binary files differ
diff --git a/music/title-screen.vgm b/music/title-screen.vgm
index 4c6725b..342011a 100644
--- a/music/title-screen.vgm
+++ b/music/title-screen.vgm
Binary files differ
diff --git a/playerattacks.gbasm b/playerattacks.gbasm
index 41eca24..b8eb745 100644
--- a/playerattacks.gbasm
+++ b/playerattacks.gbasm
@@ -74,6 +74,8 @@ Canceled_Attack:
LD A, $04
LD $mem_bunny_animation, A
+ .SET_SOUND_EFFECT =_sound_effect_Move_arrow_failed
+
LD A, $mem_bunny_mana
LD B, A
LD A, $mem_current_focused_attack_ep_cost