diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-06-11 16:04:48 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-06-11 16:04:54 -0400 |
| commit | 0f89d12e747b380b35143815a2c8e87c6ee752d4 (patch) | |
| tree | 78617e7cb819093aa9c0ad107b5dc79891e8ff55 /src/serialization.cpp | |
| parent | e478bae42cf886a12433331937887de4c4e85ce2 (diff) | |
pke: serialize PkeInput first-pass
Diffstat (limited to 'src/serialization.cpp')
| -rw-r--r-- | src/serialization.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/serialization.cpp b/src/serialization.cpp index e7e1d4c..3bd589d 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -2,11 +2,13 @@ #include "serialization.hpp" #include "font.hpp" #include "pk.h" +#include "player-input.hpp" #include "serialization-component.hpp" #include "serialization-camera.hpp" #include "camera.hpp" #include "ecs.hpp" #include "serialization-font.hpp" +#include "serialization-input.hpp" #include "serialization-static-ui.hpp" #include "static-ui.hpp" @@ -69,6 +71,14 @@ void pke_serialize_scene(srlztn_serialize_helper *h) { CamIterFn cam_iter_cb{}; InstIterFn inst_iter_cb{}; + pk_arr_t<PkeInputSet> &sets = PkeInput_GetInputSets(); + for (uint32_t i = 0; i < sets.next; ++i) { + if (PK_HAS_FLAG(sets[i].flags, PKE_INPUT_ACTION_SET_FLAG_DO_NOT_SERIALIZE)) { + continue; + } + pke_serialize_input_set(h, &sets[i]); + } + FontTypeIndex font_type_count; FontType *fonts = FontType_GetFonts(font_type_count); for (FontTypeIndex_T b = 0; b < (FontTypeIndex_T)font_type_count; ++b) { @@ -110,6 +120,10 @@ void pke_deserialize_scene(srlztn_deserialize_helper *h) { for (i = 0; i < h->kvp_containers.next; ++i) { kvec = &h->kvp_containers[i]; + if (strcmp(kvec->type_code.val, SRLZTN_OBJ_INPUT_SET) == 0) { + pke_deserialize_input_set(h, kvec); + continue; + } if (strcmp(kvec->type_code.val, SRLZTN_OBJ_FONT_RENDER) == 0) { pke_deserialize_font_render(h, kvec); continue; |
