summaryrefslogtreecommitdiff
path: root/src/serialization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialization.cpp')
-rw-r--r--src/serialization.cpp12
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;