diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2024-01-11 13:54:53 +0100 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-01-11 14:11:47 +0100 |
| commit | 7867213a01fcabb1f05b1836c2ca59dc3bb2132f (patch) | |
| tree | 44af754bed0278c8bf3435df6278bd291c3043e5 /serialize/tile-atlas.cpp | |
| parent | 74cf06b6b217eff32a547cf73f051f27e6b80919 (diff) | |
rename tile_atlas -> ground_atlas
Diffstat (limited to 'serialize/tile-atlas.cpp')
| -rw-r--r-- | serialize/tile-atlas.cpp | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/serialize/tile-atlas.cpp b/serialize/tile-atlas.cpp deleted file mode 100644 index 88385339..00000000 --- a/serialize/tile-atlas.cpp +++ /dev/null @@ -1,58 +0,0 @@ -#include "src/tile-atlas.hpp" -#include "serialize/tile-atlas.hpp" -#include "serialize/corrade-string.hpp" -#include "serialize/magnum-vector.hpp" -#include "loader/loader.hpp" -#include "serialize/pass-mode.hpp" -#include "compat/exception.hpp" -#include <Corrade/Containers/Optional.h> -#include <Corrade/Containers/String.h> -#include <nlohmann/json.hpp> - -using namespace floormat; - -namespace { - -struct proxy { - StringView name; - Vector2ub size; - pass_mode passability; -}; - -NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(proxy, name, size) - -} // namespace - -namespace nlohmann { - -void adl_serializer<std::shared_ptr<tile_atlas>>::to_json(json& j, const std::shared_ptr<const tile_atlas>& x) -{ - using nlohmann::to_json; - if (!x) - j = nullptr; - else - to_json(j, proxy{x->name(), x->num_tiles2(), x->pass_mode()}); -} - -void adl_serializer<std::shared_ptr<tile_atlas>>::from_json(const json& j, std::shared_ptr<tile_atlas>& val) -{ - if (j.is_null()) - val = nullptr; - else - { - using nlohmann::from_json; - proxy x; - from_json(j, x); - pass_mode p = tile_atlas::default_pass_mode; - if (j.contains("pass-mode")) - p = j["pass-mode"]; - val = loader.tile_atlas(x.name, x.size, p); - if (auto p2 = val->pass_mode(); p2 != p) - { - const auto name = val->name(); - fm_throw("atlas {} wrong pass mode {} should be {}"_cf, name, uint8_t(p2), uint8_t(p)); - } - } -} - -} // namespace nlohmann |
