summaryrefslogtreecommitdiffhomepage
path: root/serialize
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-06 23:37:35 +0200
committerStanislaw Halik <sthalik@misaki.pl>2022-10-06 23:37:35 +0200
commit85d9552871b1bbf2df86f9f20d93d5bac575dd12 (patch)
tree443002c8f0359d825fbe1dda1b2e401249865b82 /serialize
parent86d09212e84b7d3b41acf4abd420d4e14cbc3592 (diff)
a
Diffstat (limited to 'serialize')
-rw-r--r--serialize/tile.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/serialize/tile.cpp b/serialize/tile.cpp
index df49a465..a945f171 100644
--- a/serialize/tile.cpp
+++ b/serialize/tile.cpp
@@ -2,7 +2,6 @@
#include "src/chunk.hpp"
#include "serialize/tile.hpp"
#include "serialize/tile-atlas.hpp"
-#include <tuple>
#include <nlohmann/json.hpp>
namespace Magnum::Examples {
@@ -17,16 +16,16 @@ namespace nlohmann {
using namespace Magnum::Examples;
-void adl_serializer<tile_image>::to_json(json& j, const tile_image& val) { j = val; }
-void adl_serializer<tile_image>::from_json(const json& j, tile_image& val) { val = j; }
+void adl_serializer<tile_image>::to_json(json& j, const tile_image& val) { using nlohmann::to_json; if (val.atlas) to_json(j, val); else j = nullptr; }
+void adl_serializer<tile_image>::from_json(const json& j, tile_image& val) { using nlohmann::from_json; from_json(j, val); }
-void adl_serializer<tile>::to_json(json& j, const tile& val) { j = val; }
-void adl_serializer<tile>::from_json(const json& j, tile& val) { val = j; }
+void adl_serializer<tile>::to_json(json& j, const tile& val) { using nlohmann::to_json; to_json(j, val); }
+void adl_serializer<tile>::from_json(const json& j, tile& val) { using nlohmann::from_json; from_json(j, val); }
-void adl_serializer<chunk>::to_json(json& j, const chunk& val) { j = val.tiles(); }
-void adl_serializer<chunk>::from_json(const json& j, chunk& val) { val.tiles() = j; }
+void adl_serializer<chunk>::to_json(json& j, const chunk& val) { using nlohmann::to_json; to_json(j, val.tiles()); }
+void adl_serializer<chunk>::from_json(const json& j, chunk& val) { using nlohmann::from_json; from_json(j, val.tiles()); }
-void adl_serializer<local_coords>::to_json(json& j, const local_coords& val) { j = val; }
-void adl_serializer<local_coords>::from_json(const json& j, local_coords& val) { val = j; }
+void adl_serializer<local_coords>::to_json(json& j, const local_coords& val) { using nlohmann::to_json; to_json(j, val); }
+void adl_serializer<local_coords>::from_json(const json& j, local_coords& val) { using nlohmann::from_json; from_json(j, val); }
} // namespace nlohmann