package game import "core:log" import "core:mem" // Global Config Variables // ----------------------------------------------------------------------------- DEBUG_MODE :: true WINDOW_TITLE :: "Graveyard" WINDOW_WIDTH :: 1920 WINDOW_HEIGHT :: 1080 GAME_WIDTH :: 480 GAME_HEIGHT :: 270 MAX_ENEMIES :: 35 MAX_PROPS :: 64 TILE_SIZE :: 32 // ----------------------------------------------------------------------------- main :: proc() { context.logger = log.create_console_logger() defer log.destroy_console_logger(context.logger) when DEBUG_MODE { track: mem.Tracking_Allocator mem.tracking_allocator_init(&track, context.allocator) defer mem.tracking_allocator_destroy(&track) context.allocator = mem.tracking_allocator(&track) } game := game_init() for game_should_run(&game) { game_update(&game) game_draw(&game) } game_close(&game) when DEBUG_MODE { if len(track.allocation_map) > 0 { log.errorf("\nMEMORY LEAKS: %v allocation(s)", len(track.allocation_map)) for _, entry in track.allocation_map { log.errorf(" %v bytes @ %v", entry.size, entry.location) } } if len(track.bad_free_array) > 0 { log.errorf("\nBAD FREES: %v", len(track.bad_free_array)) for entry in track.bad_free_array { log.errorf(" %v @ %v", entry.memory, entry.location) } } } }