tiles: adjacent tiles are now stored in an array
authorLukas Krickl <lukas@krickl.dev>
Tue, 11 Nov 2025 17:19:35 +0000 (18:19 +0100)
committerLukas Krickl <lukas@krickl.dev>
Tue, 11 Nov 2025 17:19:35 +0000 (18:19 +0100)
src/tiles.s

index a1534bf2bb881e9e48077a87578b19cd4cf0e0da..86c4a19c9de688a83bb8e208046c0278df583f3e 100644 (file)
@@ -216,8 +216,25 @@ tile_get_adjacent:
 
        ; 2) get tiles left and right (up to 2 tiles)
 
+       ; left
+       tile_adjacent_store 0, (-1 * t_size) & 0xFFFF
+       ; right
+       tile_adjacent_store (MAP_W-1), t_size
+
        ; 3) get tiles below (up to 3 tiles)
 
+       ; check if y is already MAP_H-1 if so skip
+       ld a, [update_tile_y]
+       cp a, MAP_H-1
+       jp z, @skip_below
+
+               ; down/center tile      
+               tile_adjacent_store 0xFF, (t_size * MAP_W)
+               ; down/left tile
+               tile_adjacent_store 0, (t_size * (MAP_W+1))
+               ; down/right tile
+               tile_adjacent_store (MAP_W-1), (t_size * (MAP_W-1))
+@skip_below:
 
        ret