diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-25 19:37:06 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-25 19:37:06 +0100 |
commit | e46dd0f45d1cab35c7441d72f5dcac83720cc539 (patch) | |
tree | 1611ed041680e6dcccb115cbc7c99e098b809d33 /serialize/anim.cpp | |
parent | 1831d5d1eab5c9a607270a8a9b72a2ac1e6ce62a (diff) |
add scenery horizontal mirroring
Diffstat (limited to 'serialize/anim.cpp')
-rw-r--r-- | serialize/anim.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/serialize/anim.cpp b/serialize/anim.cpp index 8080bb02..fd5e7315 100644 --- a/serialize/anim.cpp +++ b/serialize/anim.cpp @@ -18,8 +18,31 @@ namespace nlohmann { void adl_serializer<anim_frame>::to_json(json& j, const anim_frame& val) { using nlohmann::to_json; to_json(j, val); } void adl_serializer<anim_frame>::from_json(const json& j, anim_frame& val) { using nlohmann::from_json; from_json(j, val); } -void adl_serializer<anim_group>::to_json(json& j, const anim_group& val) { using nlohmann::to_json; to_json(j, val); } -void adl_serializer<anim_group>::from_json(const json& j, anim_group& val) { using nlohmann::from_json; from_json(j, val); } +void adl_serializer<anim_group>::to_json(json& j, const anim_group& val) +{ + using nlohmann::to_json; + if (!val.mirror_from.isEmpty()) + { + j["name"] = val.name; + j["mirror-from"] = val.mirror_from; + j["offset"] = val.offset; + } + else + to_json(j, val); +} + +void adl_serializer<anim_group>::from_json(const json& j, anim_group& val) +{ + using nlohmann::from_json; + if (j.contains("mirror-from")) + { + val.name = j["name"]; + val.mirror_from = j["mirror-from"]; + val.offset = j["offset"]; + } + else + from_json(j, val); +} void adl_serializer<anim_def>::to_json(json& j, const anim_def& val) { using nlohmann::to_json; to_json(j, val); } void adl_serializer<anim_def>::from_json(const json& j, anim_def& val) { using nlohmann::from_json; from_json(j, val); } |