summaryrefslogtreecommitdiffhomepage
path: root/loader/json.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-02-08 08:36:19 +0100
committerStanislaw Halik <sthalik@misaki.pl>2024-02-08 08:36:55 +0100
commitdd4ee56968b3ab10763363dfef76b06c8548a66f (patch)
tree08ccc07ad0f9959a43ea91eb13ce58187034b727 /loader/json.cpp
parentae1e2f97ad37b335f210d49dab97502bc468da6e (diff)
work on the atlas loaders
Diffstat (limited to 'loader/json.cpp')
-rw-r--r--loader/json.cpp13
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());
}