aboutsummaryrefslogtreecommitdiff
path: root/src/tiled/tiled.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/tiled/tiled.odin')
-rw-r--r--src/tiled/tiled.odin59
1 files changed, 32 insertions, 27 deletions
diff --git a/src/tiled/tiled.odin b/src/tiled/tiled.odin
index 373715a..d84c296 100644
--- a/src/tiled/tiled.odin
+++ b/src/tiled/tiled.odin
@@ -183,7 +183,7 @@ load_map :: proc(path: string) -> (Map, Error) {
return {}, .COULD_NOT_LOAD
}
- log.info(jmap)
+ // log.debug(jmap)
tmap: Map
err := convert_json_map(jmap, &tmap, path)
@@ -356,8 +356,8 @@ iterate_map_tiles :: proc(tmap: Map, callback: Map_Iterate_Callback) {
x: i32 = 0
y: i32 = 0
- for cell in tile_layer.data {
- if cell != 0 {
+ for cell, i 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)
@@ -372,7 +372,7 @@ iterate_map_tiles :: proc(tmap: Map, callback: Map_Iterate_Callback) {
}
}
-draw_map :: proc(tmap: Map) {
+test_cells :: proc(tmap: Map) {
for layer in tmap.layers {
tile_layer, ok := layer.layer.(Tile_Layer)
if !ok {
@@ -382,29 +382,9 @@ draw_map :: proc(tmap: Map) {
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]
-
- rl.DrawTexturePro(
- tile_set.texture,
- rl.Rectangle{
- x = f32(tile.src_start.x),
- y = f32(tile.src_start.y),
- width = f32(tile.src_size.x),
- height = f32(tile.src_size.y),
- },
- rl.Rectangle{
- x = f32(x),
- y = f32(y),
- width = f32(tile.src_size.x),
- height = f32(tile.src_size.y),
- },
- {0, 0},
- 0,
- rl.WHITE,
- )
+ for cell, i in tile_layer.data {
+ if cell > 0 {
+ log.debug(i, [2]i32{x, y}, cell)
}
x += tmap.tile_width
@@ -416,6 +396,31 @@ draw_map :: proc(tmap: Map) {
}
}
+draw_map :: proc(tmap: Map) {
+ draw_tile :: proc(x: i32, y: i32, tile: Tile, tile_set: Tile_Set) {
+ rl.DrawTexturePro(
+ tile_set.texture,
+ rl.Rectangle{
+ x = f32(tile.src_start.x),
+ y = f32(tile.src_start.y),
+ width = f32(tile.src_size.x),
+ height = f32(tile.src_size.y),
+ },
+ rl.Rectangle{
+ x = f32(x),
+ y = f32(y),
+ width = f32(tile.src_size.x),
+ height = f32(tile.src_size.y),
+ },
+ {0, 0},
+ 0,
+ rl.WHITE,
+ )
+ }
+
+ iterate_map_tiles(tmap, draw_tile)
+}
+
@(private)
load_image :: proc(filename: string, res_dir: string) -> rl.Texture2D {
path := strings.concatenate({res_dir, "/", filename})