summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-06-05 10:50:24 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-06-05 10:50:24 -0400
commit55c518b2922a2d8a41212a952a68c17c7c9a3f8b (patch)
tree31cc135bc18bf11893d5ca3bca47c9ee27bf141f /src/game.cpp
parentb0b1159780311c7c8ca9a9d41d11794e91e8895c (diff)
pk.h: update to 0.6.0 + handle breaking changes
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 349acb1..67a9600 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -67,7 +67,7 @@ void Game_RecordImGui() {
}
void Game_Tick(double delta) {
- pk_bucket_reset(pkeSettings.mem.bkt);
+ pk_mem_bucket_reset(pkeSettings.mem_bkt.game_transient);
if (pkeSettings.rt.nextLevel != LevelHandle_MAX) {
// TODO async this
@@ -117,6 +117,7 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) {
pkeSettings.executablePath = executablePath;
fprintf(stdout, "Game_Main Entering\n");
try {
+ Game_Init();
pk_ev_init();
PkeThreads_Init();
AM_Init();
@@ -125,7 +126,6 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) {
PkeCamera_Init();
pke_level_init();
pke_scene_master_init();
- Game_Init();
CreateWindow(windowProps);
EntityType_Init();
PkeInput_Init();
@@ -292,7 +292,7 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) {
GAME_SHUTDOWN:
fprintf(stdout, "Game_Main SHUTDOWN INITIATED\n");
#ifndef NDEBUG
- pk_memory_debug_print();
+ // TODO debug print buckets before shutdown
#endif
for (long i = 0; i < LoadedPkePlugins.next; ++i) {
if (LoadedPkePlugins[i].OnTeardown) {
@@ -300,7 +300,6 @@ GAME_SHUTDOWN:
}
}
PkePlugin_Teardown();
- Game_Teardown();
EntityType_Teardown();
FontType_Teardown();
pke_ui_teardown();
@@ -315,16 +314,24 @@ GAME_SHUTDOWN:
AM_Teardown();
PkeThreads_Teardown();
pk_ev_teardown();
- pk_memory_debug_print();
+ Game_Teardown();
+ // TODO debug print buckets after shutdown
fprintf(stdout, "Game_Main Exiting\n");
}
void Game_Init() {
- pkeSettings.mem.bkt = pk_bucket_create("game-transient", 1UL << 26, true);
+ pkeSettings.mem_bkt.game = pk_mem_bucket_create("game", 1UL << 26, PK_MEMBUCKET_FLAG_NONE);
+ pkeSettings.mem_bkt.game_transient = pk_mem_bucket_create("game-transient", 1UL << 26, PK_MEMBUCKET_FLAG_TRANSIENT);
+ pk_mem_bucket_set_client_mem_bucket(pkeSettings.mem_bkt.game);
for (uint64_t i = 0; i < consoleBufferCount; ++i) {
memset(consoleBuffer[i], '\0', consoleLineLength);
}
}
-void Game_Teardown() { }
+void Game_Teardown() {
+ pk_mem_bucket_destroy(pkeSettings.mem_bkt.game_transient);
+ pk_mem_bucket_destroy(pkeSettings.mem_bkt.game);
+ pkeSettings.mem_bkt.game_transient = NULL;
+ pkeSettings.mem_bkt.game = NULL;
+}