summaryrefslogtreecommitdiffhomepage
path: root/src/wall-atlas.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wall-atlas.hpp')
-rw-r--r--src/wall-atlas.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/wall-atlas.hpp b/src/wall-atlas.hpp
index fa3006fc..1f18489a 100644
--- a/src/wall-atlas.hpp
+++ b/src/wall-atlas.hpp
@@ -15,6 +15,9 @@ namespace floormat { class wall_atlas; }
namespace floormat::Wall {
+uint8_t direction_index_from_name(StringView s) noexcept(false);
+StringView direction_index_to_name(size_t i) noexcept(false);
+
struct Frame
{
Vector2ui offset = { (unsigned)-1, (unsigned)-1 }, size;
@@ -28,6 +31,7 @@ struct Group
Vector2ui pixel_size;
Color4 tint_mult{1,1,1,1};
Color3 tint_add{};
+ uint8_t from_rotation = (uint8_t)-1;
bool mirrored : 1 = false,
default_tint : 1 = true,
is_defined : 1 = false;
@@ -73,11 +77,13 @@ struct Info
struct DirArrayIndex {
uint8_t val = (uint8_t)-1;
- operator bool() const { return val != (uint8_t)-1; }
+ explicit operator bool() const { return val != (uint8_t)-1; }
bool operator==(const DirArrayIndex&) const noexcept;
};
+void resolve_wall_rotations(std::vector<Wall::Direction>& dirs, const std::array<DirArrayIndex, Direction_COUNT>& map) noexcept(false);
+
} // namespace floormat::Wall
namespace floormat {