summaryrefslogtreecommitdiffhomepage
path: root/loader/impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'loader/impl.hpp')
-rw-r--r--loader/impl.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/loader/impl.hpp b/loader/impl.hpp
index b4c8b316..007392fe 100644
--- a/loader/impl.hpp
+++ b/loader/impl.hpp
@@ -66,11 +66,12 @@ struct loader_impl final : loader_
std::shared_ptr<class anim_atlas> get_anim_atlas(StringView path) noexcept(false) override;
// >-----> scenery >----->
- std::vector<scenery_cell> sceneries_array;
- tsl::robin_map<StringView, const scenery_cell*> sceneries_map;
- ArrayView<const scenery_cell> sceneries() override;
- const scenery_proto& scenery(StringView name) noexcept(false) override;
- void get_scenery_list();
+ [[nodiscard]] static atlas_loader<struct scenery_proto>* make_scenery_atlas_loader();
+ safe_ptr<atlas_loader<struct scenery_proto>> _scenery_loader{ make_scenery_atlas_loader() };
+ ArrayView<const scenery_cell> scenery_list() override;
+ const struct scenery_proto& scenery(StringView name, loader_policy policy) override;
+ const scenery_cell& invalid_scenery_atlas() override;
+ struct scenery_proto get_scenery(StringView filename, const scenery_cell& c) noexcept(false) override;
// >-----> vobjs >----->
tsl::robin_map<StringView, const struct vobj_cell*> vobj_atlas_map;