aboutsummaryrefslogtreecommitdiff
path: root/map/generationevents.gbasm
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-09-09 16:53:39 +0200
committerAstatin <[email protected]>2025-09-09 16:53:39 +0200
commitb5ca0d4bff573f14ac7d3b47ebd7b23c56346b5e (patch)
tree60be3e7de9dd156416b981df014e67244c0038f0 /map/generationevents.gbasm
parent03c359596bdacbf39cdc244d2f164d0ec94d5505 (diff)
Add per entity dialogue + screen darkening animation for future big menu openingHEADlatestmain
Diffstat (limited to 'map/generationevents.gbasm')
-rw-r--r--map/generationevents.gbasm59
1 files changed, 45 insertions, 14 deletions
diff --git a/map/generationevents.gbasm b/map/generationevents.gbasm
index 5fc35de..7d88f1d 100644
--- a/map/generationevents.gbasm
+++ b/map/generationevents.gbasm
@@ -29,7 +29,7 @@ Generation_Event_Execution:
RET
Generation_Event_Jump_Table:
- ; 00
+; 00
RET
NOP
NOP
@@ -55,17 +55,21 @@ Generation_Event_Jump_Table:
JP =.Entity_XY
NOP
+ ; 06
+ JP =.Set_Dialogue_Ptr
+ NOP
+
.Dialogue_Script:
- LD A, $enum_dungeon_dialogue_mode
- LD $mem_requested_mode, A
+ LD A, $enum_dungeon_dialogue_mode
+ LD $mem_requested_mode, A
- LD A, (HL+)
- LD $mem_dialogue_script_bank, A
- LD A, (HL+)
- LD ($mem_dialogue_script_program_counter), A
- LD A, (HL)
- LD ($mem_dialogue_script_program_counter+1), A
- JP =Dialogue_script_step
+ LD A, (HL+)
+ LD $mem_dialogue_script_bank, A
+ LD A, (HL+)
+ LD ($mem_dialogue_script_program_counter), A
+ LD A, (HL)
+ LD ($mem_dialogue_script_program_counter+1), A
+ JP =Dialogue_script_step
.Load_Entity:
LD A, (HL+)
@@ -78,31 +82,58 @@ Generation_Event_Jump_Table:
RET
.Entity_Random_Room:
+ LD A, (HL+)
+ LD E, A
+ SWAP E
+
LD A, $01
LD $tmp_var_3, A
LD D, (HL)
- CALL =FindFreeEntity
+ LD H, high($mem_entities_list)
+ LD L, E
LD A, D
JP =Initialize_Entity
.Entity_XY:
LD A, (HL+)
+ LD E, A
+ SWAP E
+
+ LD A, (HL+)
LD D, A
LD A, (HL+)
LD B, A
LD A, (HL+)
LD C, A
LD A, (HL)
- DBG
SWAP A
OR $02
LD $tmp_var_3, A
- CALL =FindFreeEntity
+ LD H, high($mem_entities_list)
+ LD L, E
LD A, D
JP =Initialize_Entity
+ .Set_Dialogue_Ptr:
+ LD D, high($mem_entities_list)
+ LD A, (HL+)
+ LD E, A
+ SWAP E
+ LD A, $0b
+ OR E
+ LD E, A
+ LD A, (HL+)
+ LD (DE), A
+ INC DE
+ LD A, (HL+)
+ LD (DE), A
+ INC DE
+ LD A, (HL)
+ LD (DE), A
+ RET
+
.Remove_Stairs:
LD HL, $mem_object_list
LD (HL), $00
- RET
+ RET