mirror of https://github.com/zeldaret/tp.git
52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
#ifndef JUTPALETTE_H
|
|
#define JUTPALETTE_H
|
|
|
|
#include <dolphin/gx.h>
|
|
|
|
enum JUTTransparency { UNK0, UNK1 };
|
|
|
|
/**
|
|
* @ingroup jsystem-jutility
|
|
*
|
|
*/
|
|
struct ResTLUT {
|
|
u8 format;
|
|
u8 transparency;
|
|
u16 numColors;
|
|
};
|
|
|
|
/**
|
|
* @ingroup jsystem-jutility
|
|
*
|
|
*/
|
|
class JUTPalette {
|
|
public:
|
|
JUTPalette(GXTlut p1, GXTlutFmt p2, JUTTransparency p3, u16 p4, void* p5) {
|
|
this->storeTLUT(p1, p2, p3, p4, p5);
|
|
}
|
|
|
|
JUTPalette(GXTlut tlutNo, ResTLUT* p_tlutRes) {
|
|
storeTLUT(tlutNo, p_tlutRes);
|
|
}
|
|
|
|
void storeTLUT(GXTlut, ResTLUT*);
|
|
void storeTLUT(GXTlut, GXTlutFmt, JUTTransparency, u16, void*);
|
|
bool load();
|
|
|
|
GXTlut getTlutName() const { return GXTlut(mTlutName); }
|
|
GXTlutFmt getFormat() const { return GXTlutFmt(mFormat); }
|
|
JUTTransparency getTransparency() const { return JUTTransparency(mTransparency); }
|
|
u16 getNumColors() const { return mNumColors; }
|
|
ResTLUT* getColorTable() const { return mColorTable; }
|
|
|
|
private:
|
|
/* 0x00 */ GXTlutObj mTlutObj;
|
|
/* 0x0C */ u8 mTlutName;
|
|
/* 0x0D */ u8 mFormat;
|
|
/* 0x10 */ ResTLUT* mColorTable;
|
|
/* 0x14 */ u16 mNumColors;
|
|
/* 0x16 */ u8 mTransparency;
|
|
};
|
|
|
|
#endif /* JUTPALETTE_H */
|