From b04c85f5316b58a60b5ae161e9bbf3a20cf1b084 Mon Sep 17 00:00:00 2001 From: Astatin Date: Tue, 4 Mar 2025 18:27:00 +0900 Subject: Fix out of VBlank on dialogue open (most of the time) + object remove --- map/loading.gbasm | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) (limited to 'map/loading.gbasm') diff --git a/map/loading.gbasm b/map/loading.gbasm index f7ba1ab..505bc53 100644 --- a/map/loading.gbasm +++ b/map/loading.gbasm @@ -13,7 +13,7 @@ Load_Map: .For_X: LD A, C CALL =Load_Block - CALL =Display_Prepared_Block + CALL =Display_Main_Prepared_Block INC C LD A, C @@ -251,19 +251,55 @@ Load_Block: ; X in A, Y in B POP BC RET -Display_Prepared_Block: - PUSH AF - PUSH BC - PUSH DE +Load_Additional_Block: + LD A, $mem_display_flag + BIT 6, A + RET Z + LD A, $mem_additional_loading_block_y + LD B, A + LD A, $mem_additional_loading_block_x + CALL =Load_Block + LD A, $mem_prepared_block_tile + LD $mem_additional_loading_block_tile, A + LD A, $mem_prepared_block_position_1 + LD $mem_additional_loading_block_position_1, A + LD A, $mem_prepared_block_position_2 + LD $mem_additional_loading_block_position_2, A + RET +Display_Prepared_Blocks: LD A, $mem_map_loading_flags BIT 2, A - JR Z, =.End + JR Z, =.Skip_Main LD A, $mem_map_loading_flags RES 2, A LD $mem_map_loading_flags, A + CALL =Display_Main_Prepared_Block + + .Skip_Main: + LD A, $mem_display_flag + BIT 6, A + RET Z + RES 6, A + LD $mem_display_flag, A + + LD A, $mem_additional_loading_block_tile + LD $mem_prepared_block_tile, A + LD A, $mem_additional_loading_block_position_1 + LD $mem_prepared_block_position_1, A + LD A, $mem_additional_loading_block_position_2 + LD $mem_prepared_block_position_2, A + JP =Display_Main_Prepared_Block + +Display_Main_Prepared_Block: + PUSH AF + PUSH BC + PUSH DE + + + LD A, $mem_prepared_block_position_1 LD D, A -- cgit v1.2.3-70-g09d2