diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-11-10 16:48:20 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-11-12 12:14:05 -0500 |
| commit | 283d1f8dff8731c7317f845a7df5f619b623a121 (patch) | |
| tree | aa2c729e51a4a7c530a6dca833fc4d414ef560e0 /src/serialization.cpp | |
| parent | 112c9d067343d85ffc77f559683c0284381d196e (diff) | |
pke: FontType pk_bkt_arr
Diffstat (limited to 'src/serialization.cpp')
| -rw-r--r-- | src/serialization.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/serialization.cpp b/src/serialization.cpp index a09a332..ac6aebc 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -69,6 +69,7 @@ void pke_deserialize_project_from_stream(std::istream &i, srlztn_deserialize_hel void pke_serialize_scene(srlztn_serialize_helper *h) { bool b; pk_bkt_arr *bkt_arr_instance; + pk_iter_t<FontType> iter_ft{}; pk_iter_t<CompInstance> iter_instance{}; pk_iter_t<PkeCamera> iter_cam{}; @@ -80,16 +81,15 @@ void pke_serialize_scene(srlztn_serialize_helper *h) { pke_serialize_input_set(h, &sets[i]); } - uint64_t idx_unused; - FontType *fonts = FontType_GetFonts(idx_unused); - for (FontTypeIndex_T b = 0; b < PKE_FONT_MAX_FONT_TYPES; ++b) { - if ((idx_unused & (1llu << b)) != 0) continue; - FontType *ft = &fonts[b]; + pk_bkt_arr_t<FontType> *fonts = static_cast<pk_bkt_arr_t<FontType>*>(FontType_GetFonts()); + b = pk_bkt_arr_iter_begin(fonts, &iter_ft); + while(b) { pk_bkt_arr_t<FontRender>::FN_Iter iter_fn{}; iter_fn.func = [&h](FontRender *fr) { pke_serialize_font_render(h, fr); }; - pk_bkt_arr_iterate(&ft->renders, iter_fn.invoke, &iter_fn); + pk_bkt_arr_iterate(&iter_ft->renders, iter_fn.invoke, &iter_fn); + b = pk_bkt_arr_iter_increment(fonts, &iter_ft); } pke_ui_box_count_T box_count; |
