From a3f760e1f1f51a1cb1946381984b05481ecd74bf Mon Sep 17 00:00:00 2001 From: codegirl-007 Date: Mon, 6 Jul 2026 01:13:18 -0700 Subject: [PATCH] clean up paths --- entity.odin | 5 +++++ game.odin | 1 + pathfinding.odin | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/entity.odin b/entity.odin index 0a19d15..f036f27 100644 --- a/entity.odin +++ b/entity.odin @@ -27,6 +27,11 @@ entity_world_init :: proc() -> Entity_World { return Entity_World{} } +entity_world_destroy :: proc(ew: ^Entity_World) { + for i in 0 ..< MAX_ENTITIES { + path_destroy(&ew.path[i]) + } +} entity_spawn_colonist :: proc(ew: ^Entity_World, pos: Tile_Coord) -> Entity { for i in 0 ..< MAX_ENTITIES { if !ew.active[i] { diff --git a/game.odin b/game.odin index 936f631..0212eb6 100644 --- a/game.odin +++ b/game.odin @@ -147,6 +147,7 @@ game_draw :: proc(g: ^Game) { } game_shutdown :: proc(g: ^Game) { + entity_world_destroy(&g.world.entities) tilemap_destroy(&g.tilemap) } diff --git a/pathfinding.odin b/pathfinding.odin index 528c5f6..5df3342 100644 --- a/pathfinding.odin +++ b/pathfinding.odin @@ -207,3 +207,9 @@ path_reconstruct :: proc( return true } +path_destroy :: proc(path: ^Path) { + delete(path.tiles) + path.tiles = nil + path.count = 0 +} +