unit: obj reset is now in a sub routine
authorLukas Krickl <lukas@krickl.dev>
Sun, 22 Jun 2025 03:49:31 +0000 (05:49 +0200)
committerLukas Krickl <lukas@krickl.dev>
Sun, 22 Jun 2025 03:49:31 +0000 (05:49 +0200)
src/rand.s
src/sys.s
src/update.s
src/wram.s

index 0305c4cebd598246d581a77f911b761a91b86d9e..1fb95f1b9355852da9e8e414159509a178dc27e0 100644 (file)
@@ -92,40 +92,3 @@ roll_d16:
   pop hl
   ret
 
-  
-  ; updates dice display if the timer is not 0
-dice_display_update:
-  ld a, [dd_timer]
-  cp a, 0
-  ret z
-
-  dec a ; timer--
-  ld [dd_timer], a
-  
-  ; display sprite 
-  call load_scroll
-  call load_unit_obj
-    
-
-  ; set y
-  ld a, [dd_y]
-  mul8 a
-  add a, OBJ_OFF_Y
-  sub a, b 
-  ld [hl+], a
-
-  ; set x pos
-  ld a, [dd_x]
-  mul8 a
-  add a, OBJ_OFF_X 
-  sub a, c
-  ld [hl+], a
-  
-  ; set tile
-  ld a, [dd_d16]
-  ld [hl+], a
-
-  xor a, a
-  ld [hl], a
-
-  ret
index 078879ddc28732bac8fd5dd5b4256c1ec966c9ae..1648bafcd736fbcaae4503531f12a73958225413 100644 (file)
--- a/src/sys.s
+++ b/src/sys.s
@@ -86,3 +86,9 @@ load_unit_obj:
 @load_unit_empty:
   ld hl, empty_oam
   ret
+
+  ; resets unit obj
+reset_unit_obj:
+  xor a, a
+  ld [unit_sprite], a
+  ret
index 33270073b7d75a35681789d46c32929accb68f64..08290a1501a8f2d49ce5e2582d608ff57aef4500 100644 (file)
@@ -30,8 +30,7 @@ update:
   ld [frame_count], a
 
   ; reset objects
-  xor a, a
-  ld [unit_sprite], a
+  call reset_unit_obj
   
   ld de, game_mode
   jp st_update
index 79e7432f6dd8eb9d30f76f2cf754cb5ca6d4316e..a160117c65f0a16af97df61a01e2139c23c823c8 100644 (file)
@@ -8,6 +8,7 @@ scratch: .adv 16
 
 
 shadow_oam: .adv OBJSMAX * oamsize 
+shadow_oam_end: 
 
 frame_ready: .adv 1
 frame_count: .adv 1
@@ -25,15 +26,6 @@ game_mode: .adv st_size
   ; status text buffer
 status_text: .adv 32
 
-; dice display
-; display the last d16 result 
-; at tile y/x for time frames
-dd_d16: .adv 1
-dd_flags: .adv 1
-dd_y: .adv 1
-dd_x: .adv 1
-dd_timer: .adv 1
-
   ; offset into bg_update_queue 
 bg_update_index: .adv 2
 bg_update_queue: .adv bge_size * BGE_MAX