aboutsummaryrefslogtreecommitdiff
path: root/modes/maploading.gbasm
diff options
context:
space:
mode:
Diffstat (limited to 'modes/maploading.gbasm')
-rw-r--r--modes/maploading.gbasm183
1 files changed, 0 insertions, 183 deletions
diff --git a/modes/maploading.gbasm b/modes/maploading.gbasm
deleted file mode 100644
index ab8ecbe..0000000
--- a/modes/maploading.gbasm
+++ /dev/null
@@ -1,183 +0,0 @@
-; VBlank: Write loading text, then wait for generation, then loading vram stuff
-; When VBlank interrupts -> context switch
-; When stat out of vblank interrupt -> context switch back to generation
-
-.MACRODEF ENABLE_MODE_2_INTERRUPT
- LD A, low(=Map_Loading_Out_Of_VBlank)
- LD ($mem_stat_jump_destination), A
- LD A, high(=Map_Loading_Out_Of_VBlank)
- LD ($mem_stat_jump_destination+1), A
- .RESET_INTERRUPTS
- LD A, $20
- LD $reg_lcd_status, A
- LD A, $02
- LD $reg_interrupt_enable, A
-.END
-
-.MACRODEF DISABLE_MODE_2_INTERRUPT
- LD A, $00
- LD $reg_lcd_status, A
- LD A, $00
- LD $reg_interrupt_enable, A
-.END
-
-Map_Loading:
- LD SP, $fffe
-
- LD A, $00
- LD $reg_viewport_x, A
- LD A, $68
- LD $reg_viewport_y, A
-
- LD A, $00
- LD $mem_display_flag, A
-
- LD A, ($mem_dungeon+1)
- LD H, A
- LD A, ($mem_dungeon+2)
- LD L, A
- LD A, ($mem_dungeon)
- CALL =Load_Dungeon_Txt
-
- LD A, $f4
- LD ($9ecb), A
-
- LD HL, $9ec9
- LD A, $mem_floor_count
- CALL =Print_8bit
-
- LD A, $07
- LD $reg_bg_palette, A
-
- LD A, $lcdc_guibg_tilemap
- LD $reg_lcd_controller, A
-
- CALL =Reset_Map
-
- .LOAD_BANK_OF =_map_Test
- LD HL, $mem_dungeon_map
- LD BC, $0080
- LD DE, ptr(=_map_Test)
- CALL =memcpy
-
- LD A, ($mem_dungeon+1)
- LD H, A
- LD A, ($mem_dungeon+2)
- LD L, A
- LD A, ($mem_dungeon)
- CALL =Load_Dungeon_Spawn_patterns
- LD A, $entity_questgoalbunny_index
- LD $mem_loaded_special_entity_index, A
-
- CALL =Reload_EP_Cost
- LD B, $0f
- LD C, $0f
- CALL =Initialize_Bunny
-
- LD HL, $mem_entities_list
- CALL =Center_viewport_around_entity
-
- LD A, $mem_map_loading_flags
- OR $01
- LD $mem_map_loading_flags, A
-
- LD HL, $mem_object_list
- LD BC, $0080
- CALL =bff
-
- ; Reset animations
- LD HL, $mem_animation_list
- LD BC, $1f
- CALL =bzero
-
- ; Clear OAM buffer
- LD HL, $mem_oam_buffer
- LD BC, $00a0
- CALL =bzero
-
- LD A, $00
- LD $mem_display_flag, A
- LD $mem_moving_animation_step, A
- LD $mem_animation_wait_frames, A
- LD $mem_blinking_animation_counter, A
-
- LD A, $mem_bunny_x
- LD $mem_bunny_predicted_x, A
- LD A, $mem_bunny_y
- LD $mem_bunny_predicted_y, A
-
- LD A, $mem_map_loading_flags
- RES 3, A
- LD $mem_map_loading_flags, A
-
- LD A, $enum_dungeon_mode
- LD $mem_current_mode, A
- LD $mem_requested_mode, A
-
- LD A, $00
- LD $mem_oam_buffer_low, A
- CALL =Display_Entities
-
- CALL =Generation_Event_Execution
-
- CALL =Load_Prepared_Map
-
- CALL =VBlank_Wait
-
-Map_Loading_VBlank:
- .ENABLE_MODE_2_INTERRUPT
- EI
-
- ; Heart
- LD A, $f0
- LD ($9d62), A
-
- ; Energy points
- LD A, $f1
- LD ($9d66), A
-
- ; Floor
- LD A, $f4
- LD ($9d73), A
-
- LD B, B
- CALL =Reload_Entities_Tile_Data
- LD B, B
- ; Clear OAM
- LD HL, $fe00
- LD BC, $00a0
- CALL =bzero
-
- LD DE, $mem_map_loading_buffer
- LD HL, $9800
- LD BC, $0400
- CALL =memcpy
- CALL =Load_Objects
-
- LD HL, $9d71
- LD A, $mem_floor_count
- CALL =Print_8bit
-
- CALL =Update_VBlank_Handler
-
- DI
- .DISABLE_MODE_2_INTERRUPT
-
- CALL =Reset_Entities_Collision_Map
-
- .ENABLE_VBLANK_INTERRUPTS
- .RESET_INTERRUPTS
- EI
-
- .Wait_for_Interrupt.loop:
- LD A, $reg_lcd_status
- HALT
- JP =.Wait_for_Interrupt.loop
-
-Map_Loading_Out_Of_VBlank:
- PUSH AF
- CALL =VBlank_Wait
- .ENABLE_MODE_2_INTERRUPT
- .RESET_INTERRUPTS
- POP AF
- RETI