unit: units now mark the correct unit as active
authorLukas Krickl <lukas@krickl.dev>
Tue, 20 May 2025 13:16:27 +0000 (15:16 +0200)
committerLukas Krickl <lukas@krickl.dev>
Tue, 20 May 2025 13:16:27 +0000 (15:16 +0200)
src/map.s
src/ui.s
src/unit.s

index b103d87d0a40ef844c0c32e50c0b953c85f7a6a6..493d6854b550c39a13458947fd65edf77634fdfb 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -113,9 +113,8 @@ map_load_demo_actors:
   ld hl, p0_units + act_size
   ld bc, act_size
   call memcpy
-
+  
   call unit_next_no_current
-  call ui_unit_need_draw
 
   ret
 
index e3d28824dbfec980980d5d6f2e7fc7054187a3d4..e47534959ead9ca218d05445771af5e3cffa6c77 100644 (file)
--- a/src/ui.s
+++ b/src/ui.s
@@ -8,6 +8,8 @@ ui_init:
   ret
 
   ; schedules a unit draw
+  ; sets draw flag for UI 
+  ; and sets current unit as ui_draw_actor
   ; inputs:
   ;   de: unit
 ui_unit_need_draw:
index 564dcb69e93ca6efedd82768d99e68e201736833..66bc1578a874da567cf26ff2befe13509692f6e9 100644 (file)
@@ -42,7 +42,6 @@ units_update:
   ret
 
 unit_demo_1_init:
-  call ui_unit_need_draw
   ldnull bc
   ret
   
@@ -447,8 +446,11 @@ unit_next_no_current:
   ld a, [unit_next_best_act_ptr+1]
   ld [ui_draw_actor+1], a
   ld d, a
-  call unit_switch_to_active
 
+  push de
+  call unit_switch_to_active
+  pop de
+  call ui_unit_need_draw
   ret
 
 @retry:
@@ -487,7 +489,7 @@ unit_demo_1:
 
 unit_demo_2:
   st_def 0x00, unit_demo_1_init, st_unit_demo_1_idle
-  act_def ACT_T_DEMO_1, 0, 1, 2, 3, 4, 5, 3, 3, 0 
+  act_def ACT_T_DEMO_1, 0, 1, 2, 3, 4, 7, 3, 3, 0 
   act_st_def NULL, NULL, st_unit_demo_1_update, st_unit_demo_1_idle
 
 st_unit_demo_1_update: