diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-13 14:58:17 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-13 21:22:32 +0100 |
commit | 8f7b089e246b5e55d1cacb756da4219bb751236f (patch) | |
tree | b302742a6cdc70c393c6020bc8e3b4d1bc08d348 /loader/scenery-atlas.cpp | |
parent | 9b70fb78e70a509ba5bfa1c1d0a839eddd0902dc (diff) |
scenery loader now works
Diffstat (limited to 'loader/scenery-atlas.cpp')
-rw-r--r-- | loader/scenery-atlas.cpp | 34 |
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 |