From dfd1776e1af9b8da86005a294e4b086fbe6e7f4e Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 28 May 2025 17:40:45 -0400 Subject: pke: camera: replace BucketContainer -> pk_bkt_arr --- src/serialization.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/serialization.cpp') diff --git a/src/serialization.cpp b/src/serialization.cpp index 66a0f4b..b7691fd 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -64,6 +64,8 @@ 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; + CamIterFn cam_iter_cb{}; FontTypeIndex font_type_count; FontType *fonts = FontType_GetFonts(font_type_count); for (FontTypeIndex_T b = 0; b < (FontTypeIndex_T)font_type_count; ++b) { @@ -95,17 +97,13 @@ void pke_serialize_scene(srlztn_serialize_helper *h) { } } - pk_handle_bucket_index_T cameraBucketCount = PkeCamera_GetBucketCount(); - for (pk_handle_bucket_index_T b = 0; b < cameraBucketCount; ++b) { - pk_handle_item_index_T count; - auto *cameras = PkeCamera_GetCameras(b, count); - for (pk_handle_item_index_T i = 0; i < count; ++i) { - const auto &cam = cameras[i]; - if (cam.handle == CameraHandle_MAX) - continue; - pke_serialize_camera(h, &cam); + cam_iter_cb.func = [&h](PkeCamera *cam_ptr) { + if (cam_ptr->camHandle == CameraHandle_MAX) { + return; } - } + pke_serialize_camera(h, cam_ptr); + }; + pk_bkt_arr_iterate(&PkeCamera_GetPkBktArr(), &CamIterFn::invoke, &cam_iter_cb); } void pke_deserialize_scene(srlztn_deserialize_helper *h) { uint32_t i; -- cgit v1.2.3