From dc373b507ca68ada2cbf4c8e0d7949d6bc46ed9b Mon Sep 17 00:00:00 2001 From: Xander Swan <[hidden email]> Date: Tue, 23 Dec 2025 22:21:09 -0500 Subject: Use the tile collisions defined in tiled --- src/main.odin | 18 ++++++++++++------ src/platform.odin | 2 ++ src/tiled/tiled.odin | 26 ++++++++++++++++++-------- 3 files changed, 32 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/main.odin b/src/main.odin index 2e02f3c..ff794f6 100644 --- a/src/main.odin +++ b/src/main.odin @@ -49,10 +49,17 @@ init :: proc() { tile: tiled.Tile, tile_set: tiled.Tile_Set, ) { - make_platform({ - {f32(x), f32(y)}, - {f32(tile_set.tile_width), f32(tile_set.tile_height)}, - }) + objs, is_object_layer := tile.object_group.layer.(tiled.Object_Layer) + if !is_object_layer { + return + } + + for obj in objs { + make_platform({ + Vec2{f32(x), f32(y)} + obj.position, + obj.size, + }) + } } tiled.iterate_map_tiles(state.room, make_map_collisions) @@ -63,10 +70,9 @@ frame :: proc() { draw.new_frame() - draw_platforms() draw_player(state.player) - tiled.draw_map(state.room) + // draw_platforms() fps_text := fmt.caprintf( "FPS: %v", rl.GetFPS(), diff --git a/src/platform.odin b/src/platform.odin index 674e1a3..306df3b 100644 --- a/src/platform.odin +++ b/src/platform.odin @@ -17,8 +17,10 @@ make_platform :: proc(rect: Rect) -> (Entity_Handle, ^Platform) { draw_platforms :: proc() { iter := iter_entity_list(state.platform_list) + draw.renderer.tint = {1, 0, 0, 0.25} for p in entity_list_iter(&iter) { body := phys.get_body(p.body) draw.rect(cast(draw.Rect)body.rect) } + draw.renderer.tint = {1, 1, 1, 1} } diff --git a/src/tiled/tiled.odin b/src/tiled/tiled.odin index e01f6c5..373715a 100644 --- a/src/tiled/tiled.odin +++ b/src/tiled/tiled.odin @@ -138,7 +138,7 @@ Tile_Set :: struct { tile_height: i32, tile_offset: [2]i32, // in pixels - tiles: []Tile, + tiles: []i32, // array of GIDs } Tile :: struct { @@ -336,8 +336,8 @@ convert_json_map :: proc(jmap: Json_Map, tmap: ^Map, path: string) -> Error { } tmap.tile_sets[i] = tile_set - for j in int(tile_set.first_gid)..