diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-13 07:02:14 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2024-02-13 07:02:14 +0100 |
commit | 9b70fb78e70a509ba5bfa1c1d0a839eddd0902dc (patch) | |
tree | 8b662923591c273e8761787d3e74f3b659606c07 /loader/scenery-traits.hpp | |
parent | 985ce7d9b033d16f49170af8505af46ddcf29081 (diff) |
wip atlas
Diffstat (limited to 'loader/scenery-traits.hpp')
-rw-r--r-- | loader/scenery-traits.hpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/loader/scenery-traits.hpp b/loader/scenery-traits.hpp index 6f70f09b..13d52708 100644 --- a/loader/scenery-traits.hpp +++ b/loader/scenery-traits.hpp @@ -1 +1,27 @@ #pragma once +#include "atlas-loader-fwd.hpp" +#include <memory> + +namespace floormat { struct scenery_cell; struct scenery_proto; } + +namespace floormat::loader_detail { + +template<> struct atlas_loader_traits<scenery_proto> +{ + using Atlas = scenery_proto; + using Cell = scenery_cell; + using Self = atlas_loader_traits<Atlas>; + using Storage = atlas_storage<Atlas, Self>; + + static StringView loader_name(); + static const scenery_proto& atlas_of(const Cell& x); + static scenery_proto& atlas_of(Cell& x); + static StringView name_of(const Cell& x); + static String& name_of(Cell& x); + static void atlas_list(Storage& st); + static Cell make_invalid_atlas(Storage& st); + static scenery_proto make_atlas(StringView name, const Cell& c); + static Optional<Cell> make_cell(StringView name); +}; + +} // namespace floormat::loader_detail |