Introduce SimpleTIM type
This commit is contained in:
33
include/PSX/File/File_Types.hpp
Normal file
33
include/PSX/File/File_Types.hpp
Normal file
@@ -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__
|
Reference in New Issue
Block a user