tiles: wip added tile update logic
authorLukas Krickl <lukas@krickl.dev>
Wed, 5 Nov 2025 04:34:51 +0000 (05:34 +0100)
committerLukas Krickl <lukas@krickl.dev>
Wed, 5 Nov 2025 04:34:51 +0000 (05:34 +0100)
src/map.s
src/tiles.s
src/update.s

index f04823e9d949a508bc7fb0749487a488c029d798..d77bc243ad005fdecb7aab7819af2d113c8395ce 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -33,6 +33,9 @@ map_load:
        call player_init
        call ui_init
 
+       ld de, tiles
+       call tile_next_set
+
        ret
        
        ; loads a tileset
index b87ac05384cbe423ccf6071777daeb3925c91440..3a2436c8f471640c34c0215970bd99dcbd62b86d 100644 (file)
@@ -4,14 +4,51 @@
 #define GFX_PHIVE 0x62
 #define GFX_EHIVE 0x4A
 #define GFX_FOOD 0x03
+
+       
+       ; inits the next tile
+       ; inputs:
+       ;               de: next tile
+tile_next_set:
+       ld a, d
+       ld [next_update_tile], a
+       ld a, e
+       ld [next_update_tile+1], a
+       ret
+       
+       ; updates the next tile
+       ; in the queue
+       ; inputs:
+       ;               next_update_tile
+       ;       sets next_update_tile to next tile 
+       ;               wraps to first tile if end is reached
+tile_next_update:
+       ld a, [next_update_tile]
+       ld d, a
+       ld a, [next_update_tile+1]
+       ld e, a
        
+       push de
+       call tile_update
+       pop de
+
+       ; next tile
+       ld hl, t_size
+       add hl, de
+       push hl
+       pop de
+       ; TODO: wrap back to start
+       call tile_next_set
+
+       ret
+
        ; updates a tile with its 
        ; routine
        ; inputs:
        ;               de: tile
 tile_update:
        ret
-       
+
        ; table of update routines
        ; for each tile
 tile_update_table:
index a5cf3d1f518327535ee849b7d7670ca71fc43a54..7e399f7f091df205be82747a1b6e7344eb9480c4 100644 (file)
@@ -15,6 +15,8 @@ update_game:
 
        call enemy_update
 
+       call tile_next_update
+
        call ui_update