From 7d25c20110bb267c036158450d784e49d1c0509e Mon Sep 17 00:00:00 2001 From: codegirl-007 Date: Sun, 14 Jun 2026 00:02:16 -0700 Subject: [PATCH] clean up memory after the game is done --- game/app.odin | 5 +++++ main.odin | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/game/app.odin b/game/app.odin index a822289..a13e09d 100644 --- a/game/app.odin +++ b/game/app.odin @@ -20,5 +20,10 @@ run :: proc() { render_world(&world) rl.EndDrawing() } + + delete(world.path) + delete(world.towers) + delete(world.events) + } diff --git a/main.odin b/main.odin index 4a0e0bb..b85189b 100644 --- a/main.odin +++ b/main.odin @@ -1,8 +1,24 @@ package main import game "./game" +import "core:fmt" +import "core:mem" + main :: proc() { + track: mem.Tracking_Allocator + mem.tracking_allocator_init(&track, context.allocator) + defer mem.tracking_allocator_destroy(&track) + context.allocator = mem.tracking_allocator(&track) + game.run() + + // Report at exit + fmt.printf("peak heap: %d bytes\n", track.peak_memory_allocated) + fmt.printf("still live: %d bytes\n", track.current_memory_allocated) + + for _, leak in track.allocation_map { + fmt.printf("leak at %v: %m\n", leak.location, leak.size) + } }