Introduce SimpleTIM type
This commit is contained in:
parent
8917932bc7
commit
706f989f8f
|
@ -134,12 +134,12 @@ public:
|
|||
}
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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