added arena for storing data

This commit is contained in:
Simon Kellet 2026-06-02 22:25:33 +01:00
parent b7e7357ef4
commit 8cec191732

View File

@ -1,6 +1,7 @@
package main
import "core:fmt"
import vmem "core:mem/virtual"
import "core:os"
import SDL "vendor:sdl2"
@ -16,19 +17,24 @@ print_usage :: proc() {
os.exit(1)
}
main :: proc() {
arena: vmem.Arena
arena_err := vmem.arena_init_growing(&arena)
ensure(arena_err == nil)
arena_allocator := vmem.arena_allocator(&arena)
defer vmem.arena_destroy(&arena) //clean up everything!
file := Ppm_file{}
if len(os.args) > 3 || len(os.args) < 2 {
print_usage()
}
filename := os.args[1]
if ok, err := load_ppm(&file, filename); !ok {
if ok, err := load_ppm(&file, filename, arena_allocator); !ok {
fmt.eprintfln("ERROR: Failed to load file '%s': %s ", filename, os.error_string(err))
os.exit(1)
}
ppm_parse(&file)
ppm_parse(&file, arena_allocator)
window_width: i32 = i32(
file.width,