From e46dd0f45d1cab35c7441d72f5dcac83720cc539 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 25 Nov 2022 19:37:06 +0100 Subject: add scenery horizontal mirroring --- serialize/anim.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'serialize/anim.cpp') 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::to_json(json& j, const anim_frame& val) { using nlohmann::to_json; to_json(j, val); } void adl_serializer::from_json(const json& j, anim_frame& val) { using nlohmann::from_json; from_json(j, val); } -void adl_serializer::to_json(json& j, const anim_group& val) { using nlohmann::to_json; to_json(j, val); } -void adl_serializer::from_json(const json& j, anim_group& val) { using nlohmann::from_json; from_json(j, val); } +void adl_serializer::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::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::to_json(json& j, const anim_def& val) { using nlohmann::to_json; to_json(j, val); } void adl_serializer::from_json(const json& j, anim_def& val) { using nlohmann::from_json; from_json(j, val); } -- cgit v1.2.3