summaryrefslogtreecommitdiffhomepage
path: root/loader/wall-atlas.cpp
blob: b8db913fd923ab6c9cf14a42a2333e523879dd2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "loader/impl.hpp"
#include "src/wall-atlas.hpp"
#include "loader/wall-cell.hpp"
#include "loader/wall-traits.hpp"
#include "loader/atlas-loader.inl"
#include <Corrade/Containers/Array.h>
#include <Corrade/Containers/StringIterable.h>
#include <Magnum/Trade/ImageData.h>
#include <Magnum/ImageView.h>

namespace floormat::loader_detail {

template class atlas_loader<class wall_atlas>;

bptr<class wall_atlas> loader_impl::get_wall_atlas(StringView name) noexcept(false)
{
    return _wall_loader->make_atlas(name, {});
}

atlas_loader<class wall_atlas>* loader_impl::make_wall_atlas_loader()
{
    return new atlas_loader<class wall_atlas>;
}

ArrayView<const wall_cell> loader_impl::wall_atlas_list() noexcept(false)
{
    return _wall_loader->atlas_list();
}

const wall_cell& loader_impl::invalid_wall_atlas()
{
    return _wall_loader->get_invalid_atlas();
}

const bptr<class wall_atlas>&
loader_impl::wall_atlas(StringView filename, loader_policy policy) noexcept(false)
{
    return _wall_loader->get_atlas(filename, policy);
}

} // namespace floormat::loader_detail