35 [[nodiscard]] std::optional<MetatileAttribute>
get_attribute(std::size_t metatile_id)
const;
39 [[nodiscard]]
const std::optional<Palette<Rgba32, pal::max_size>> &
pal_at(std::size_t pal_index)
const;
47 [[nodiscard]]
bool has_anim(
const std::string &name)
const
49 return anims_.contains(name);
54 return anims_.at(name);
89 return metatile_attributes_;
92 [[nodiscard]]
const std::array<std::optional<Palette<Rgba32, pal::max_size>>,
pal::num_pals> &
pals()
const
97 [[nodiscard]]
const std::map<std::string, Animation<Rgba32>> &
anims()
const
102 [[nodiscard]] std::map<std::string, Animation<Rgba32>> &
anims()
109 return primary_anim_overrides_;
114 primary_anim_overrides_ = std::move(overrides);
121 std::map<std::size_t, MetatileAttribute> metatile_attributes_;
122 std::array<std::optional<Palette<Rgba32, pal::max_size>>,
pal::num_pals> pals_;
123 std::map<std::string, Animation<Rgba32>> anims_;
124 std::map<std::string, std::vector<AnimOverrideEntry>> primary_anim_overrides_;
A complete tileset animation with name, configuration, and frame data.
A result type that maintains a chainable sequence of errors for debugging and error reporting.
A template for two-dimensional images with arbitrarily typed pixel values.
A generic palette container for colors that support transparency checking.
void top(const Image< Rgba32 > &top)
std::map< std::string, Animation< Rgba32 > > & anims()
const std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > & pals() const
const Image< Rgba32 > & bottom() const
void set_pal(std::size_t pal_index, Palette< Rgba32, pal::max_size > pal)
const Animation< Rgba32 > & anim_for_name(const std::string &name) const
void bottom(const Image< Rgba32 > &bottom)
std::optional< MetatileAttribute > get_attribute(std::size_t metatile_id) const
const std::optional< Palette< Rgba32, pal::max_size > > & pal_at(std::size_t pal_index) const
const Image< Rgba32 > & middle() const
const std::map< std::string, Animation< Rgba32 > > & anims() const
const std::map< std::size_t, MetatileAttribute > & metatile_attributes() const
ChainableResult< LayerMode > detect_layer_mode(const Rgba32 &extrinsic) const
const Image< Rgba32 > & top() const
void middle(const Image< Rgba32 > &middle)
void primary_anim_overrides(std::map< std::string, std::vector< AnimOverrideEntry > > overrides)
PorytilesTilesetComponent()=default
void insert_attribute(std::size_t metatile_id, MetatileAttribute attribute)
Insert a MetatileAttribute to the end of the attribute vector.
bool has_anim(const std::string &name) const
void add_anim(Animation< Rgba32 > anim)
const std::map< std::string, std::vector< AnimOverrideEntry > > & primary_anim_overrides() const
Represents a 32-bit RGBA color.
constexpr std::size_t num_pals