From 5daa12fed0449a7811fc25ec62236bc060a56fa7 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 9 Sep 2025 16:05:14 -0400 Subject: pke: first-pass promote pke_level over pke_scene Major runtime ownership overhaul (scene -> level). Major ecs 'marked for removal' overhaul, ensuring that entities and their components are actually being removed when levels are unloaded. --- tests/pke-test-dummy.cpp | 1 + tests/pke-test-serialization.cpp | 27 ++++++++++++--------------- 2 files changed, 13 insertions(+), 15 deletions(-) (limited to 'tests') diff --git a/tests/pke-test-dummy.cpp b/tests/pke-test-dummy.cpp index efd1ff7..e8c34ba 100644 --- a/tests/pke-test-dummy.cpp +++ b/tests/pke-test-dummy.cpp @@ -6,6 +6,7 @@ #include "ecs.hpp" #include "physics.hpp" #include "pk.h" +#include "player-input.hpp" #include "scene.hpp" #include "static-ui.hpp" #include "thread-pool.hpp" diff --git a/tests/pke-test-serialization.cpp b/tests/pke-test-serialization.cpp index bf491f5..374d77e 100644 --- a/tests/pke-test-serialization.cpp +++ b/tests/pke-test-serialization.cpp @@ -6,6 +6,7 @@ #include "game-settings.hpp" #include "camera.hpp" #include "ecs.hpp" +#include "level.hpp" #include "physics.hpp" #include "pk.h" #include "scene.hpp" @@ -18,8 +19,8 @@ #include pk_membucket *bkt = nullptr; -const char *test_scene_name = "srlztn_test_scene"; -pke_scene *test_scene = nullptr; +const char *test_level_name = "srlztn_test_level"; +pke_level *test_level = nullptr; FontType *ft; #define FAKE_UUID_GEN(oct) { .uuid = { oct,oct,oct,oct,oct,oct,oct,oct,oct,oct,oct,oct,oct,oct,oct,oct } } @@ -53,29 +54,27 @@ void pke_test_serialization_spinup() { AM_Init(); ECS_Init(); Physics_Init(); + pke_level_init(); PkeCamera_Init(); pke_scene_master_init(); pke_input_init(); pke_ui_init(); FontType_Init(); - test_scene = pke_scene_create(test_scene_name); - // FontTypeIndex fti; - // FontType *ft = FontType_GetFonts(fti); - // assert(fti > FontTypeIndex{0}); - // ft->uuid = uuid_17; + test_level = pke_level_create(test_level_name, pk_uuid_zed, pk_uuid_zed); // pk_funcinstr_teardown(); }; void pke_test_serialization_teardown() { // pk_funcinstr_init(); - // pke_scene_remove(test_scene->scene_handle); // TODO this doesn't work? - test_scene = nullptr; + pke_level_teardown(test_level); + test_level = nullptr; FontType_Teardown(); pke_ui_teardown(); pke_input_teardown(); pke_scene_master_teardown(); PkeCamera_Teardown(); Physics_Teardown(); + pke_level_teardown(); ECS_Teardown(); AM_Teardown(); PkeThreads_Teardown(); @@ -186,7 +185,7 @@ int pke_test_deserialization_101() { std::stringstream ss(test_001_str); try { bkt = pk_mem_bucket_create("pke_test_serialization", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); - h = pke_deserialize_init(bkt); + h = pke_deserialize_init(test_level, bkt); pke_deserialize_scene_from_stream(ss, h); @@ -329,8 +328,7 @@ int pke_test_deserialization_102() { std::stringstream ss(test_002_str); try { bkt = pk_mem_bucket_create("pke_test_serialization", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); - h = pke_deserialize_init(bkt); - h->scene = test_scene; + h = pke_deserialize_init(test_level, bkt); pke_deserialize_scene_from_stream(ss, h); @@ -508,8 +506,7 @@ int pke_test_deserialization_103() { std::stringstream ss(test_003_str); try { bkt = pk_mem_bucket_create("pke_test_serialization", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); - h = pke_deserialize_init(bkt); - h->scene = test_scene; + h = pke_deserialize_init(test_level, bkt); pke_deserialize_scene_from_stream(ss, h); @@ -688,7 +685,7 @@ int pke_test_deserialization_104() { std::stringstream ss(test_004_str); try { bkt = pk_mem_bucket_create("pke_test_serialization", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); - h = pke_deserialize_init(bkt); + h = pke_deserialize_init(test_level, bkt); pke_deserialize_scene_from_stream(ss, h); -- cgit v1.2.3