Introduce SimpleTIM type
This commit is contained in:
parent
8917932bc7
commit
706f989f8f
|
@ -134,12 +134,12 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename S>
|
template<typename S>
|
||||||
constexpr S get_value(const BitRange<S>& range) {
|
constexpr S get_value(const BitRange<S>& range) const {
|
||||||
return static_cast<S>(bit::value::get_normalized(this->raw, range.begin, range.length));
|
return static_cast<S>(bit::value::get_normalized(this->raw, range.begin, range.length));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename S>
|
template<typename S>
|
||||||
constexpr S get_value(const BitRange<S>& range) volatile {
|
constexpr S get_value(const BitRange<S>& range) const volatile {
|
||||||
return static_cast<S>(bit::value::get_normalized(this->raw, range.begin, range.length));
|
return static_cast<S>(bit::value::get_normalized(this->raw, range.begin, range.length));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
#ifndef __JABYENGINE_FILE_TYPES_HPP__
|
||||||
|
#define __JABYENGINE_FILE_TYPES_HPP__
|
||||||
|
#include "../Auxiliary/complex_bitmap.hpp"
|
||||||
|
#include "../jabyengine_defines.h"
|
||||||
|
|
||||||
|
struct __no_align SimpleTIM : private ComplexBitMap<uint32_t> {
|
||||||
|
static constexpr auto TextureX = BitRange<uint32_t>(0, 8);
|
||||||
|
static constexpr auto TextureY = BitRange<uint32_t>(9, 16);
|
||||||
|
static constexpr auto ClutX = BitRange<uint32_t>(17, 22);
|
||||||
|
static constexpr auto ClutY = BitRange<uint32_t>(23, 31);
|
||||||
|
|
||||||
|
constexpr SimpleTIM(uint16_t texX, uint16_t texY, uint16_t clutX, uint16_t clutY) : ComplexBitMap(ComplexBitMap::with(TextureX.with(texX), TextureY.with(texY), ClutX.with(clutX), ClutY.with(clutY))) {
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr uint16_t getTextureX() const {
|
||||||
|
return ComplexBitMap<uint32_t>::get_value(SimpleTIM::TextureX);
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr uint16_t getTextureY() const {
|
||||||
|
return ComplexBitMap<uint32_t>::get_value(SimpleTIM::TextureY);
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr uint16_t getClutX() const {
|
||||||
|
return ComplexBitMap<uint32_t>::get_value(SimpleTIM::ClutX);
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr uint16_t getClutY() const {
|
||||||
|
return ComplexBitMap<uint32_t>::get_value(SimpleTIM::ClutY);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif // !__JABYENGINE_FILE_TYPES_HPP__
|
Loading…
Reference in New Issue