From f7bd0793424ed8e024520a941cc4cfcf4eb84de2 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 28 Aug 2025 14:04:12 -0400 Subject: pke: use new pk_iter_t from pk.h --- src/serialization.cpp | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'src/serialization.cpp') diff --git a/src/serialization.cpp b/src/serialization.cpp index 0d8f2e1..96dd5b5 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -66,10 +66,10 @@ void pke_deserialize_project_from_stream(std::istream &i, srlztn_deserialize_hel } void pke_serialize_scene(srlztn_serialize_helper *h) { - using CamIterFn = pk_tmpln_1; - using InstIterFn = pk_tmpln_1; - CamIterFn cam_iter_cb{}; - InstIterFn inst_iter_cb{}; + bool b; + pk_bkt_arr *bkt_arr_instance; + pk_iter_t iter_instance{}; + pk_iter_t iter_cam{}; pk_arr_t &sets = pke_input_get_input_sets(); for (uint32_t i = 0; i < sets.next; ++i) { @@ -97,22 +97,27 @@ void pke_serialize_scene(srlztn_serialize_helper *h) { pke_serialize_ui_box(h, ui_boxes[i]); } - inst_iter_cb.func = [&h](CompInstance *instance_ptr) { - const auto &instance = *instance_ptr; - if (PK_HAS_FLAG(instance.comp_instance_flags, COMPONENT_INSTANCE_FLAG_DO_NOT_SERIALIZE)) { - return; + bkt_arr_instance = ECS_GetInstances(); + b = pk_bkt_arr_iter_begin(bkt_arr_instance, &iter_instance); + while (b == true) { + if (PK_HAS_FLAG(iter_instance->comp_instance_flags, COMPONENT_INSTANCE_FLAG_DO_NOT_SERIALIZE)) { + b = pk_bkt_arr_iter_increment(bkt_arr_instance, &iter_instance); + continue; } - pke_serialize_instance(h, &instance); - }; - pk_bkt_arr_iterate(ECS_GetInstances(), &InstIterFn::invoke, &inst_iter_cb); + pke_serialize_instance(h, iter_instance); + b = pk_bkt_arr_iter_increment(bkt_arr_instance, &iter_instance); + } - cam_iter_cb.func = [&h](PkeCamera *cam_ptr) { - if (cam_ptr->camHandle == CameraHandle_MAX) { - return; + pk_bkt_arr &bkt_arr_cams = PkeCamera_GetPkBktArr(); + b = pk_bkt_arr_iter_begin(&bkt_arr_cams, &iter_cam); + while (b == true) { + if (iter_cam->camHandle == CameraHandle_MAX) { + b = pk_bkt_arr_iter_increment(&bkt_arr_cams, &iter_cam); + continue; } - pke_serialize_camera(h, cam_ptr); - }; - pk_bkt_arr_iterate(&PkeCamera_GetPkBktArr(), &CamIterFn::invoke, &cam_iter_cb); + pke_serialize_camera(h, iter_cam); + b = pk_bkt_arr_iter_increment(&bkt_arr_cams, &iter_cam); + } } void pke_deserialize_scene(srlztn_deserialize_helper *h) { uint32_t i; -- cgit v1.2.3