summaryrefslogtreecommitdiffhomepage
path: root/serialize
diff options
context:
space:
mode:
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