#ifndef JUTPALETTE_H #define JUTPALETTE_H #include 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 */