Porytiles
Loading...
Searching...
No Matches
tile_metadata.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <variant>
4
5
namespace
porytiles
{
6
7
enum class
TileType
{
kVram
,
kFree
,
kLayered
,
kAnim
,
kPrimer
,
kOverride
};
8
9
class
FreeMetadata
{
10
std::size_t tile_index_;
11
12
public
:
13
explicit
FreeMetadata
() : tile_index_{0} {}
14
15
[[nodiscard]] std::size_t
tile_index
()
const
{
16
return
tile_index_;
17
}
18
19
void
set_tile_index
(
const
std::size_t
tile_index
) {
20
tile_index_ =
tile_index
;
21
}
22
};
23
24
class
LayeredMetadata
{
25
std::size_t metatile_index_;
26
27
public
:
28
explicit
LayeredMetadata
() : metatile_index_{0} {}
29
30
[[nodiscard]] std::size_t
metatile_index
()
const
{
31
return
metatile_index_;
32
}
33
34
void
set_metatile_index
(
const
std::size_t
metatile_index
) {
35
metatile_index_ =
metatile_index
;
36
}
37
};
38
39
using
TileMetadata
= std::variant<std::monostate, FreeMetadata, LayeredMetadata>;
40
41
}
// namespace porytiles
porytiles::FreeMetadata
Definition
tile_metadata.hpp:9
porytiles::FreeMetadata::FreeMetadata
FreeMetadata()
Definition
tile_metadata.hpp:13
porytiles::FreeMetadata::set_tile_index
void set_tile_index(const std::size_t tile_index)
Definition
tile_metadata.hpp:19
porytiles::FreeMetadata::tile_index
std::size_t tile_index() const
Definition
tile_metadata.hpp:15
porytiles::LayeredMetadata
Definition
tile_metadata.hpp:24
porytiles::LayeredMetadata::LayeredMetadata
LayeredMetadata()
Definition
tile_metadata.hpp:28
porytiles::LayeredMetadata::set_metatile_index
void set_metatile_index(const std::size_t metatile_index)
Definition
tile_metadata.hpp:34
porytiles::LayeredMetadata::metatile_index
std::size_t metatile_index() const
Definition
tile_metadata.hpp:30
porytiles
Definition
rgba_anim.hpp:7
porytiles::TileType
TileType
Definition
tile_metadata.hpp:7
porytiles::TileType::kPrimer
@ kPrimer
porytiles::TileType::kVram
@ kVram
porytiles::TileType::kOverride
@ kOverride
porytiles::TileType::kFree
@ kFree
porytiles::TileType::kAnim
@ kAnim
porytiles::TileType::kLayered
@ kLayered
porytiles::TileMetadata
std::variant< std::monostate, FreeMetadata, LayeredMetadata > TileMetadata
Definition
tile_metadata.hpp:39
Porytiles2
include
porytiles2
tiles
tile_metadata.hpp
Generated by
1.9.8