diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-08 08:36:19 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-08 08:36:55 +0100 |
commit | dd4ee56968b3ab10763363dfef76b06c8548a66f (patch) | |
tree | 08ccc07ad0f9959a43ea91eb13ce58187034b727 /loader/json.cpp | |
parent | ae1e2f97ad37b335f210d49dab97502bc468da6e (diff) |
work on the atlas loaders
Diffstat (limited to 'loader/json.cpp')
-rw-r--r-- | loader/json.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/loader/json.cpp b/loader/json.cpp index 756f8151..5c7eecb5 100644 --- a/loader/json.cpp +++ b/loader/json.cpp @@ -6,6 +6,7 @@ #include "serialize/anim.hpp" #include "serialize/scenery.hpp" #include "loader/scenery.hpp" +#include "loader/anim-info.hpp" #include <Corrade/Containers/ArrayViewStl.h> #include <Corrade/Utility/Path.h> @@ -24,14 +25,26 @@ void loader_impl::get_scenery_list() { sceneries_array.clear(); sceneries_array = json_helper::from_json<std::vector<serialized_scenery>>(Path::join(SCENERY_PATH, "scenery.json")); + + if constexpr(false) + { + auto proto = scenery_proto{}; + proto.atlas = make_invalid_anim_atlas().atlas; + proto.bbox_size = Vector2ub{20}; + proto.subtype = generic_scenery_proto{false, true}; + sceneries_array.push_back({ .name = INVALID, .proto = proto }); + } + sceneries_map.clear(); sceneries_map.reserve(sceneries_array.size() * 2); + for (const serialized_scenery& s : sceneries_array) { if (sceneries_map.contains(s.name)) fm_abort("duplicate scenery name '%s'", s.name.data()); sceneries_map[s.name] = &s; } + fm_assert(!sceneries_map.empty()); } |