summaryrefslogtreecommitdiffhomepage
path: root/loader/loader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'loader/loader.cpp')
-rw-r--r--loader/loader.cpp33
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{};