diff options
Diffstat (limited to 'loader/loader.cpp')
-rw-r--r-- | loader/loader.cpp | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/loader/loader.cpp b/loader/loader.cpp index df712f39..af7b053f 100644 --- a/loader/loader.cpp +++ b/loader/loader.cpp @@ -1,15 +1,36 @@ #include "impl.hpp" +#include "ground-info.hpp" +#include "wall-info.hpp" +#include "scenery.hpp" -namespace floormat { - -using loader_detail::loader_impl; +namespace floormat::loader_detail { -void loader_::destroy() +void loader_impl::destroy() { - loader.~loader_(); - new (&loader) loader_impl(); + wall_atlas_map.clear(); + wall_atlas_array.clear(); + invalid_wall_atlas = nullptr; + missing_wall_atlases.clear(); + + ground_atlas_map.clear(); + ground_atlas_array.clear(); + invalid_ground_atlas = nullptr; + missing_ground_atlases.clear(); + + anim_atlas_map.clear(); + anim_atlases.clear(); + sceneries_map.clear(); + sceneries_array.clear(); + vobj_atlas_map.clear(); + vobjs.clear(); } +} // namespace floormat::loader_detail + +namespace floormat { + +using loader_detail::loader_impl; + loader_& loader_::default_loader() noexcept { static loader_impl loader_singleton{}; |