summaryrefslogtreecommitdiffhomepage
path: root/loader/scenery-atlas.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-02-13 14:58:17 +0100
committerStanislaw Halik <sthalik@misaki.pl>2024-02-13 21:22:32 +0100
commit8f7b089e246b5e55d1cacb756da4219bb751236f (patch)
treeb302742a6cdc70c393c6020bc8e3b4d1bc08d348 /loader/scenery-atlas.cpp
parent9b70fb78e70a509ba5bfa1c1d0a839eddd0902dc (diff)
scenery loader now works
Diffstat (limited to 'loader/scenery-atlas.cpp')
-rw-r--r--loader/scenery-atlas.cpp34
1 files changed, 33 insertions, 1 deletions
diff --git a/loader/scenery-atlas.cpp b/loader/scenery-atlas.cpp
index 5471e69c..a11049ae 100644
--- a/loader/scenery-atlas.cpp
+++ b/loader/scenery-atlas.cpp
@@ -1,11 +1,12 @@
#include "impl.hpp"
-#include "impl.hpp"
#include "atlas-loader.inl"
#include "scenery-traits.hpp"
#include "scenery-cell.hpp"
#include "src/anim.hpp"
#include "serialize/json-helper.hpp"
#include "serialize/anim.hpp"
+#include "serialize/scenery.hpp"
+#include "serialize/json-wrapper.hpp"
namespace floormat {
@@ -15,3 +16,34 @@ anim_def loader_::deserialize_anim_def(StringView filename) noexcept(false)
}
} // namespace floormat
+
+namespace floormat::loader_detail {
+
+template class atlas_loader<struct scenery_proto>;
+
+atlas_loader<struct scenery_proto>* loader_impl::make_scenery_atlas_loader()
+{
+ return new atlas_loader<struct scenery_proto>;
+}
+
+ArrayView<const scenery_cell> loader_impl::scenery_list()
+{
+ return _scenery_loader->atlas_list();
+}
+
+const struct scenery_proto& loader_impl::scenery(StringView name, loader_policy policy)
+{
+ return *_scenery_loader->get_atlas(name, policy);
+}
+
+const scenery_cell& loader_impl::invalid_scenery_atlas()
+{
+ return _scenery_loader->get_invalid_atlas();
+}
+
+struct scenery_proto loader_impl::get_scenery(StringView filename, const scenery_cell& c) noexcept(false)
+{
+ return *_scenery_loader->make_atlas(filename, c);
+}
+
+} // namespace floormat::loader_detail