aboutsummaryrefslogtreecommitdiff
path: root/modes/vblank_handler_list.gbasm
diff options
context:
space:
mode:
Diffstat (limited to 'modes/vblank_handler_list.gbasm')
-rw-r--r--modes/vblank_handler_list.gbasm32
1 files changed, 32 insertions, 0 deletions
diff --git a/modes/vblank_handler_list.gbasm b/modes/vblank_handler_list.gbasm
new file mode 100644
index 0000000..61f0836
--- /dev/null
+++ b/modes/vblank_handler_list.gbasm
@@ -0,0 +1,32 @@
+Update_VBlank_Handler:
+ PUSH HL
+ LD A, $mem_current_mode
+ AND $0f
+ SLA A
+ LD HL, =VBlank_Handler_List
+ ADD L
+ LD L, A
+ LD A, $00
+ ADC H
+ LD H, A
+ LD A, (HL+)
+ LD ($mem_vblank_jump_destination+1), A
+ LD A, (HL)
+ LD ($mem_vblank_jump_destination), A
+ POP HL
+ RET
+
+VBlank_Handler_List:
+ ; 0 (dungeon, dead)
+ .DB =Dungeon_VBLANK_Entrypoint
+
+ ; 1 (dungeon dialogue, menu)
+ .DB =Dialogue_VBLANK_Entrypoint
+
+ ; 2 (loading, animation)
+ .DB =Loading_VBLANK_Entrypoint
+
+.INCLUDE "modes/dialoguemenu.gbasm"
+.INCLUDE "modes/dungeon.gbasm"
+.INCLUDE "modes/loading.gbasm"
+.INCLUDE "modes/dungeongeneration.gbasm"