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. --- editor/editor-io.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'editor/editor-io.cpp') diff --git a/editor/editor-io.cpp b/editor/editor-io.cpp index ae928e1..27d84fb 100644 --- a/editor/editor-io.cpp +++ b/editor/editor-io.cpp @@ -2,7 +2,6 @@ #include "editor-io.hpp" #include "game-settings.hpp" -#include "scene.hpp" #include "serialization.hpp" #include @@ -51,18 +50,13 @@ void pke_editor_scene_save(const char *file_path) { pke_serialize_teardown(helper); } -void pke_editor_scene_load(const char *file_path) { +void pke_editor_scene_load(pke_level *level, const char *file_path) { std::ifstream f(file_path); if (!f.is_open()) { fprintf(stderr, "Failed to load requested scene file: '%s'\n", file_path); return; } - srlztn_deserialize_helper *helper = pke_deserialize_init(pkeSettings.mem_bkt.game_transient); - // TODO scene name is in the file? - helper->scene = pke_scene_get_by_name(file_path); - if (helper->scene == nullptr) { - helper->scene = pke_scene_create(file_path); - } + srlztn_deserialize_helper *helper = pke_deserialize_init(level, pkeSettings.mem_bkt.game_transient); pke_deserialize_scene_from_stream(f, helper); pke_deserialize_scene(helper); -- cgit v1.2.3