From 4c28646a9a8ca092ca0307b5429fb842bd17bd55 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 3 Dec 2025 15:52:24 -0500 Subject: pke: serialization helper FontRender mapping --- src/serialization-static-ui.cpp | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'src/serialization-static-ui.cpp') diff --git a/src/serialization-static-ui.cpp b/src/serialization-static-ui.cpp index ba67fbd..0a82681 100644 --- a/src/serialization-static-ui.cpp +++ b/src/serialization-static-ui.cpp @@ -128,6 +128,8 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(kvec != nullptr); assert(data != nullptr); assert(kvec->arr.next == 1); + uint32_t u; + FontRender *fr = nullptr; pk_uuid font_render_uuid = pk_uuid_zed; compt_a<8==sizeof(pke_ui_box_type_data::pke_ui_box_type_data_text)>(); @@ -137,9 +139,16 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(font_render_uuid != pk_uuid_zed); - FontRender *fr = static_cast(ECS_GetEntityByUUID(font_render_uuid)); + for (u = 0; u < h->mapping.next; ++u) { + if (h->mapping[u].serialized_uuid == font_render_uuid) { + assert(h->mapping[u].created_entity != nullptr); + fr = static_cast(h->mapping[u].created_entity); + data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + break; + } + } - data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + assert(fr != nullptr); } void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_container *kvec, pke_ui_box_type_data::pke_ui_box_type_data_button_text *data) { @@ -147,6 +156,8 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(kvec != nullptr); assert(data != nullptr); assert(kvec->arr.next == 1); + uint32_t u; + FontRender *fr = nullptr; pk_uuid font_render_uuid = pk_uuid_zed; // TODO @@ -161,9 +172,16 @@ void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_conta assert(font_render_uuid != pk_uuid_zed); - FontRender *fr = static_cast(ECS_GetEntityByUUID(font_render_uuid)); + for (u = 0; u < h->mapping.next; ++u) { + if (h->mapping[u].serialized_uuid == font_render_uuid) { + assert(h->mapping[u].created_entity != nullptr); + fr = static_cast(h->mapping[u].created_entity); + data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + break; + } + } - data->font_type_render = {fr->font_type_handle, fr->font_render_handle}; + assert(fr != nullptr); } void pke_deserialize_ui_box_internal(srlztn_deserialize_helper *h, pke_kve_container *kvec, pke_ui_box_type_data::pke_ui_box_type_data_button_image *data) { -- cgit v1.2.3