Porytiles
Loading...
Searching...
No Matches
tilemap_entry.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <set>
4
5namespace porytiles {
6
18 public:
19 TilemapEntry() : tile_index_{0}, pal_index_{0}, h_flip_{false}, v_flip_{false} {}
20
21 TilemapEntry(std::size_t tile_index, std::size_t pal_index, bool hflip, bool vflip)
22 : tile_index_{tile_index}, pal_index_{pal_index}, h_flip_{hflip}, v_flip_{vflip}
23 {
24 }
25
37 [[nodiscard]] bool is_transparent() const;
38
39 [[nodiscard]] std::size_t tile_index() const
40 {
41 return tile_index_;
42 }
43
44 void tile_index(std::size_t tile_index)
45 {
46 tile_index_ = tile_index;
47 }
48
49 [[nodiscard]] std::size_t pal_index() const
50 {
51 return pal_index_;
52 }
53
54 void pal_index(std::size_t pal_index)
55 {
56 pal_index_ = pal_index;
57 }
58
59 [[nodiscard]] bool h_flip() const
60 {
61 return h_flip_;
62 }
63
64 void h_flip(bool hflip)
65 {
66 h_flip_ = hflip;
67 }
68
69 [[nodiscard]] bool v_flip() const
70 {
71 return v_flip_;
72 }
73
74 void v_flip(bool vflip)
75 {
76 v_flip_ = vflip;
77 }
78
79 private:
80 std::size_t tile_index_;
81 std::size_t pal_index_;
82 bool h_flip_;
83 bool v_flip_;
84};
85
86} // namespace porytiles
Represents a tilemap entry referencing a tile with palette and flip attributes.
void h_flip(bool hflip)
void tile_index(std::size_t tile_index)
void pal_index(std::size_t pal_index)
bool is_transparent() const
Checks if this TilemapEntry refers to the canonically transparent tile.
TilemapEntry(std::size_t tile_index, std::size_t pal_index, bool hflip, bool vflip)
std::size_t tile_index() const
void v_flip(bool vflip)
std::size_t pal_index() const