diff options
Diffstat (limited to 'src/serialization-font.cpp')
| -rw-r--r-- | src/serialization-font.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/serialization-font.cpp b/src/serialization-font.cpp index 1ff0645..f2fb24b 100644 --- a/src/serialization-font.cpp +++ b/src/serialization-font.cpp @@ -181,6 +181,14 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen pk_arr_append_t(&kvec.arr, kve); } { + kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_FLAGS; + s = pk_new_arr<char>(5, h->bkt); + sprintf(s, "0x%.2X", FONT_RENDER_FLAG_T(frs->flags)); + kve.val = s; + kve.end = SRLZTN_KVE_END; + pk_arr_append_t(&kvec.arr, kve); + } + { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_COLOR_FOREGROUND; len = snprintf(NULL, 0, "%f%s%f%s%f%s%f", frs->color_foreground[0], SRLZTN_NUM_SEPARATOR, frs->color_foreground[1], SRLZTN_NUM_SEPARATOR, frs->color_foreground[2], SRLZTN_NUM_SEPARATOR, frs->color_foreground[3]); s = pk_new_arr<char>(len+1, h->bkt); @@ -273,6 +281,16 @@ void pke_deserialize_font_render_settings(srlztn_deserialize_helper *h, pke_kve_ frs->surface_area_type_flags = FONT_RENDER_SURFACE_AREA_TYPE_FLAG(flags); continue; } + if (strncmp(kvec->arr[i].key, SRLZTN_UI_FONT_RENDER_SETTINGS_FLAGS, strlen(SRLZTN_UI_FONT_RENDER_SETTINGS_FLAGS)) == 0) { + FONT_RENDER_FLAG_T flags; + stn_res = pk_stn(&flags, kvec->arr[i].val, &str_end); + if (stn_res != PK_STN_RES_SUCCESS) { + fprintf(stderr, "[%s] Err '%u' parsing '%s' primary from: '%s'\n", __FILE__, stn_res, SRLZTN_UI_FONT_RENDER_SETTINGS_FLAGS, kvec->arr[i].val); + continue; + } + frs->flags = FONT_RENDER_FLAG(flags); + continue; + } if (strstr(SRLZTN_UI_FONT_RENDER_SETTINGS_COLOR_FOREGROUND, kvec->arr[i].key)) { starting_char = kvec->arr[i].val; index = 0; |
