From 1754937f0721f304f742575e9a27fc7ba10d8374 Mon Sep 17 00:00:00 2001 From: Xander Swan <[hidden email]> Date: Tue, 23 Dec 2025 21:35:30 -0500 Subject: Add temp tile collisions --- src/tiled/tiled.odin | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/tiled') diff --git a/src/tiled/tiled.odin b/src/tiled/tiled.odin index e1627a5..e01f6c5 100644 --- a/src/tiled/tiled.odin +++ b/src/tiled/tiled.odin @@ -344,6 +344,34 @@ convert_json_map :: proc(jmap: Json_Map, tmap: ^Map, path: string) -> Error { return .NONE } +Map_Iterate_Callback :: proc(i32, i32, Tile, Tile_Set) + +iterate_map_tiles :: proc(tmap: Map, callback: Map_Iterate_Callback) { + for layer in tmap.layers { + tile_layer, ok := layer.layer.(Tile_Layer) + if !ok { + continue + } + + x: i32 = 0 + y: i32 = 0 + + for cell in tile_layer.data { + if cell != 0 { + tile := tmap.tiles[cell - 1] + tile_set := tmap.tile_sets[tile.tile_set] + callback(x, y, tile, tile_set) + } + + x += tmap.tile_width + if x > (tmap.width - 1) * tmap.tile_width { + x = 0 + y += tmap.tile_height + } + } + } +} + draw_map :: proc(tmap: Map) { for layer in tmap.layers { tile_layer, ok := layer.layer.(Tile_Layer) -- cgit v1.3-2-g0d8e