summaryrefslogtreecommitdiff
path: root/src/serialization.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-04-21 15:46:46 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-04-21 15:46:46 -0400
commitef37d054dfe5812efa9eefb4b9b18621fdabac25 (patch)
tree713042c875004da0058bf5813c4b2b736b6c4ed3 /src/serialization.hpp
parenta066448effaa9a56c049136067a73ba0156f65d3 (diff)
pke: first-pass serializing ui and font renders
Diffstat (limited to 'src/serialization.hpp')
-rw-r--r--src/serialization.hpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/serialization.hpp b/src/serialization.hpp
index 4b0624c..b6d2bfa 100644
--- a/src/serialization.hpp
+++ b/src/serialization.hpp
@@ -8,10 +8,12 @@
inline const char* const SRLZTN_FILE_BEGIN = ":PKFB:";
inline const char* const SRLZTN_FILE_END = ":PKFE:";
inline const char* const SRLZTN_FILE_VERSION = ":0:";
+inline const char* const SRLZTN_FILE_NUM_SEPARATOR = ";";
inline const char* const SRLZTN_OBJ_END = "";
inline const char* const SRLZTN_OBJ_INSTANCE = "Instance:";
inline const char* const SRLZTN_OBJ_CAMERA = "Camera:";
+inline const char* const SRLZTN_OBJ_UI_BOX = "Camera:";
inline const char* const SRLZTN_POSROT_POS = "Position: ";
inline const char* const SRLZTN_POSROT_ROT = "Rotation: ";
@@ -32,6 +34,31 @@ inline const char* const SRLZTN_CAMERA_ORIENTATION = "Orientation: ";
inline const char* const SRLZTN_CAMERA_TARGET_INSTANCE_UUID = "TargetUUID: ";
inline const char* const SRLZTN_CAMERA_IS_PRIMARY = "IsPrimary: ";
+inline const char* const SRLZTN_UI_BOX_UUID = "UUID: ";
+inline const char* const SRLZTN_UI_BOX_PARENT_UUID = "ParentUUID: ";
+inline const char* const SRLZTN_UI_BOX_FLAGS = "Flags: ";
+inline const char* const SRLZTN_UI_BOX_POS_TOP_LEFT_X = "PosTopLeftX: ";
+inline const char* const SRLZTN_UI_BOX_POS_TOP_LEFT_Y = "PosTopLeftY: ";
+inline const char* const SRLZTN_UI_BOX_MIN_WIDTH = "MinWidthX: ";
+inline const char* const SRLZTN_UI_BOX_MIN_HEIGHT = "MinWidthY: ";
+inline const char* const SRLZTN_UI_BOX_MAX_WIDTH = "MaxWidthX: ";
+inline const char* const SRLZTN_UI_BOX_MAX_HEIGHT = "MaxWidthY: ";
+inline const char* const SRLZTN_UI_BOX_FLEX_WEIGHT = "FlexWeight: ";
+inline const char* const SRLZTN_UI_BOX_TYPE = "Type: ";
+inline const char* const SRLZTN_UI_BOX_FLEX_DIRECTION = "FlexDirection: ";
+inline const char* const SRLZTN_UI_BOX_LAYER = "Layer: ";
+inline const char* const SRLZTN_UI_BOX_DATA_TEXT_FONT_RENDER_UUID = "FontRenderUUID: ";
+
+inline const char* const SRLZTN_UI_FONT_RENDER_UUID = "UUID: ";
+inline const char* const SRLZTN_UI_FONT_RENDER_TEXT_BEGIN = "TextBegin::";
+inline const char* const SRLZTN_UI_FONT_RENDER_TEXT_END = "::TextEnd";
+inline const char* const SRLZTN_UI_FONT_RENDER_SETTINGS_CHAR_SCALE = "CharScale";
+inline const char* const SRLZTN_UI_FONT_RENDER_SETTINGS_LINE_HEIGHT_SCALE = "LineHeightScale";
+inline const char* const SRLZTN_UI_FONT_RENDER_SETTINGS_CHAR_SPACING_SCALE = "CharSpacingScale";
+inline const char* const SRLZTN_UI_FONT_RENDER_SETTINGS_SURFACE_AREA_SIZE = "SurfaceAreaSize";
+inline const char* const SRLZTN_UI_FONT_RENDER_SETTINGS_SURFACE_AREA_POS = "SurfaceAreaPos";
+inline const char* const SRLZTN_UI_FONT_RENDER_SETTINGS_SURFACE_AREA_FLAGS = "SurfaceAreaFlags";
+
struct srlztn_instance_mapping {
pk_uuid serialized_uuid = pk_uuid_zed;
Entity_Base *created_entity = nullptr;
@@ -52,6 +79,8 @@ struct srlztn_deserialize_helper {
pk_arr_t<srlztn_instance_mapping> mapping;
};
+bool srlztn_mapping_find_first_handle_by_uuid(void *handle, void *mapping);
+
srlztn_serialize_helper *pke_serialize_init(pk_membucket *bkt);
srlztn_deserialize_helper *pke_deserialize_init(pk_membucket *bkt);
void pke_serialize_teardown(srlztn_serialize_helper *helper);