summaryrefslogtreecommitdiffhomepage
path: root/loader/impl.hpp
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/impl.hpp
parent9b70fb78e70a509ba5bfa1c1d0a839eddd0902dc (diff)
scenery loader now works
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;