unit: Added unit demo code
authorLukas Krickl <lukas@krickl.dev>
Tue, 6 May 2025 18:22:17 +0000 (20:22 +0200)
committerLukas Krickl <lukas@krickl.dev>
Tue, 6 May 2025 18:22:17 +0000 (20:22 +0200)
This code simply sets up a unit update state for testing purposes

src/defs.s
src/map.s
src/unit.s

index db8778b683b67703bf6993e12a67c85dfd01c7f7..e7fccab4220e436fcd97c70910ace5150827f926 100644 (file)
@@ -69,6 +69,7 @@
 .se 0
 .de ACT_T_NULL, 1
 .de ACT_T_CURSOR, 1
+.de ACT_T_DEMO_1, 1
 
   ; actor struct 
   ; actor structs are basically just states
index eefe0c75ee4459e303afc5c0e94ab7e1e6dd604c..6a93d03650893d4c93273d504a6bc2ecb8d78624 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -6,9 +6,6 @@ map_init:
 
   call cells_draw_all
 
-  ; TOOD: remove demo unit load
-  call map_load_demo_actors
-
   ret
   
   ; loads a tile map into cells 
@@ -89,6 +86,11 @@ cells_draw_all:
 
   ; sets up some actors for debug purposes 
 map_load_demo_actors:
+  ; load a single demo actor into p0 units
+  ld de, unit_demo_1
+  ld hl, p0_units
+  ld bc, act_size
+  call memcpy
   ret
 
 #include "default_map.s"
index 0662dd907f8135306f6bc2eb3e5a93fd17393f5b..82bf1dd1f55d9ff6d50ae8b95e509e2e629cf5a1 100644 (file)
@@ -26,7 +26,8 @@ units_update:
       push hl
       pop de ; need hl in de for parameter
       call st_update
-
+      
+      pop hl
 @skip:
     ; next actor
     ld de, act_size
@@ -39,7 +40,10 @@ units_update:
 
   ret
 
+unit_demo_1_update:
+  ldnull bc
+  ret
 
 unit_demo_1:
-  st_def 0xFF, st_null_fn, st_null
-  act_def ACT_T_NULL, 1, 1, 1, 1, 1, 0 
+  st_def 0x00, unit_demo_1_update, unit_demo_1 
+  act_def ACT_T_DEMO_1, 1, 1, 1, 1, 1, 0