aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-08-19 17:36:46 +0200
committerAstatin <[email protected]>2025-08-19 17:36:46 +0200
commit2695e4c42c4bd8007803cf674384a8a34bcd78ef (patch)
tree3f69d28c7e43b966ce1ffbb2e0298d8eccdcc46e
parentbbc5ab6ad02dbabcb79e1e83195288c0fb8cf1d1 (diff)
Do not close dialogue on start button
-rw-r--r--definitions.gbasm1
-rw-r--r--dialogues/functions.gbasm6
-rw-r--r--gui.gbasm4
-rw-r--r--main.gbasm5
-rw-r--r--map/dungeons/morningforest.gbasm6
-rw-r--r--map/objects.gbasm20
-rw-r--r--music/load.gbasm17
7 files changed, 46 insertions, 13 deletions
diff --git a/definitions.gbasm b/definitions.gbasm
index e50008e..e7cfd7d 100644
--- a/definitions.gbasm
+++ b/definitions.gbasm
@@ -78,6 +78,7 @@
; bit 4: if dialogue box text should be refreshed (part2)
; bit 5: if object display is paused
; bit 6: if additional tile should be loaded
+; bit 7: 1 when the dialogue box cannot be closed with start button
.DEFINE mem_current_mode ($c014)
.DEFINE mem_requested_mode ($c015)
diff --git a/dialogues/functions.gbasm b/dialogues/functions.gbasm
index 366abf9..237f3e9 100644
--- a/dialogues/functions.gbasm
+++ b/dialogues/functions.gbasm
@@ -79,7 +79,7 @@ Dialogue_script_instruction_Jump_Table:
POP HL
LD A, $mem_display_flag
- AND $40 ; Keeping the object ones
+ AND $c0 ; Keeping the object ones
OR $05
LD $mem_display_flag, A
@@ -117,7 +117,7 @@ Dialogue_script_instruction_Jump_Table:
POP HL
LD A, $mem_display_flag
- AND $40 ; Keeping the object ones
+ AND $c0 ; Keeping the object ones
OR $07
LD $mem_display_flag, A
@@ -176,7 +176,7 @@ Dialogue_script_instruction_Jump_Table:
POP HL
LD A, $mem_display_flag
- AND $40 ; Keeping the object ones
+ AND $c0 ; Keeping the object ones
OR $07
LD $mem_display_flag, A
diff --git a/gui.gbasm b/gui.gbasm
index 667788d..bd03284 100644
--- a/gui.gbasm
+++ b/gui.gbasm
@@ -268,8 +268,9 @@ Check_dialogue_action:
CP $00
RET Z
BIT 0, A
+ RET Z
.SET_SOUND_EFFECT =_sound_effect_Click
- JP NZ, =Dialogue_script_step
+ JP =Dialogue_script_step
.Dungeon_Menu:
LD A, $mem_button_action
@@ -282,6 +283,7 @@ Check_dialogue_action:
BIT 3, A
JR Z, =.test_attack_chosen
.SET_SOUND_EFFECT =_sound_effect_Menu_Close
+ LD A, $69
JP =Exit_Menu
.test_attack_chosen:
diff --git a/main.gbasm b/main.gbasm
index e6a6ba1..37b1331 100644
--- a/main.gbasm
+++ b/main.gbasm
@@ -10,12 +10,11 @@ Entrypoint:
LD HL, $mem_bunny_attacks
LD A, $01
LD (HL+), A
- LD A, $03
- LD (HL+), A
XOR A
LD (HL+), A
LD (HL+), A
- LD A, $02
+ LD (HL+), A
+ LD A, $01
LD $mem_number_of_attacks, A
LD A, bank(=Morning_Forest)
diff --git a/map/dungeons/morningforest.gbasm b/map/dungeons/morningforest.gbasm
index af59699..3ee08e3 100644
--- a/map/dungeons/morningforest.gbasm
+++ b/map/dungeons/morningforest.gbasm
@@ -22,12 +22,6 @@ Morning_Forest:
.max_floor: .DB 0x0a, inv(0x0a)
.spawning_patterns:
- ; DBG
- .DB $entity_frog_index, $entity_frog_index, $entity_frog_index, $entity_frog_index, $ff
- .DB $entity_frog_index, $entity_frog_index, $entity_frog_index, $entity_frog_index, $ff
- .DB $entity_frog_index, $entity_frog_index, $entity_frog_index, $entity_frog_index, $ff
- .DB $entity_frog_index, $entity_frog_index, $entity_frog_index, $entity_frog_index, $ff
-
.DB $entity_cat_index, $entity_cat_index, $entity_cat_index, $entity_fimsh_index, 0b00000010
.DB $entity_cat_index, $entity_cat_index, $entity_penguin_index, $entity_fimsh_index, 0b00100011
.DB $entity_cat_index, $entity_cat_index, $entity_fox_index, $entity_fimsh_index, 0b00100111
diff --git a/map/objects.gbasm b/map/objects.gbasm
index 4fdc195..0bfc20f 100644
--- a/map/objects.gbasm
+++ b/map/objects.gbasm
@@ -221,6 +221,26 @@ Stairs_Action:
.skip_update_floor_count:
+ LD A, $mem_sound_flags
+ BIT 1, A
+ CALL NZ, =Reset_Music_Channel1
+ LD A, $mem_sound_flags
+ BIT 2, A
+ CALL NZ, =Reset_Music_Channel2
+ LD A, $mem_sound_flags
+ BIT 3, A
+ CALL NZ, =Reset_Music_Channel3
+ LD A, $mem_sound_flags
+ BIT 4, A
+ CALL NZ, =Reset_Music_Channel4
+ LD A, $mem_sound_flags
+ AND 0b11000001
+ LD $mem_sound_flags, A
+ LD A, $00
+ LD $mem_sound_effect_frame_count, A
+ LD A, $ff
+ LD ($mem_sound_effect_pc), A
+
.SET_SOUND_EFFECT =_sound_effect_Next_Floor
RET
diff --git a/music/load.gbasm b/music/load.gbasm
index eac38ac..1632233 100644
--- a/music/load.gbasm
+++ b/music/load.gbasm
@@ -8,20 +8,37 @@
.END
Reset_Music_Channels:
+ CALL =Reset_Music_Channel4
+ CALL =Reset_Music_Channel3
+ CALL =Reset_Music_Channel2
+
+Reset_Music_Channel1:
LD A, $00
LD ($11), A
LD ($12), A
LD ($13), A
LD ($14), A
+ RET
+
+Reset_Music_Channel2:
+ LD A, $00
LD ($16), A
LD ($17), A
LD ($18), A
LD ($19), A
+ RET
+
+Reset_Music_Channel3:
+ LD A, $00
LD ($1A), A
LD ($1B), A
LD ($1C), A
LD ($1D), A
LD ($1E), A
+ RET
+
+Reset_Music_Channel4:
+ LD A, $00
LD ($20), A
LD ($21), A
LD ($22), A