summaryrefslogtreecommitdiff
path: root/src/serialization-static-ui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialization-static-ui.cpp')
-rw-r--r--src/serialization-static-ui.cpp26
1 files changed, 22 insertions, 4 deletions
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<FontRender *>(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<FontRender *>(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<FontRender *>(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<FontRender *>(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) {