aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.gbasm14
-rw-r--r--map/objects.gbasm5
2 files changed, 15 insertions, 4 deletions
diff --git a/main.gbasm b/main.gbasm
index a4ce1fc..38359a9 100644
--- a/main.gbasm
+++ b/main.gbasm
@@ -13,8 +13,7 @@
$HBlank_Wait.End:
.END
-.MACRODEF ENABLE_WINDOW
- .HBLANK_WAIT
+.MACRODEF ENABLE_WINDOW_NO_WAIT_HBLANK
XOR A
LD $reg_viewport_x, A
LD $reg_viewport_y, A
@@ -26,6 +25,11 @@
LD $reg_lcd_controller, A
.END
+.MACRODEF ENABLE_WINDOW
+ .HBLANK_WAIT
+ .ENABLE_WINDOW_NO_WAIT_HBLANK
+.END
+
.MACRODEF DISABLE_WINDOW
PUSH BC
LD A, $mem_prepared_viewport_x
@@ -80,6 +84,9 @@ New_Dungeon:
CALL =Load_Map
CALL =Load_Objects
+ LD A, $00
+ LD $mem_display_flag, A
+ .ENABLE_WINDOW_NO_WAIT_HBLANK
.ENABLE_VBLANK_INTERRUPTS
EI
Wait_for_VRAM.loop:
@@ -88,6 +95,7 @@ New_Dungeon:
JP =Wait_for_VRAM.loop
VBLANK_Entrypoint:
+ .ENABLE_WINDOW_NO_WAIT_HBLANK
LD HL, $9c00
LD A, $mem_bunny_health
CALL =Print_8bit
@@ -99,11 +107,11 @@ VBLANK_Entrypoint:
CALL =Display_Object
CALL $OAM_DMA_Transfer_routine
- .ENABLE_WINDOW
; LYC
LD A, $09
LD $reg_lyc, A
.ENABLE_LYC_INTERRUPT
+ .RESET_STAT_INTERRUPT
EI
CALL =Object_Interactions_Check
diff --git a/map/objects.gbasm b/map/objects.gbasm
index f3ef48f..e3410d4 100644
--- a/map/objects.gbasm
+++ b/map/objects.gbasm
@@ -52,6 +52,9 @@ Spawn_stairs:
RET
Stairs_action:
+ DI
+ LD A, $00
+ LD $reg_interrupt_flags, A
Stairs_action.Wait_VBlank:
LD A, $reg_lcd_status
AND $03
@@ -170,7 +173,7 @@ Load_Objects:
Object_Interactions_Check:
LD A, $mem_moving_animation_step
- CP $0d
+ CP $00
JR NZ, =Object_Interactions_Check.End
LD A, $mem_map_loading_flags
BIT 1, A