Files
tp/include/JSystem/JUtility/JUTTexture.h
T
TakaRikka 7d271be857 m_Do cleanup, d_resource, drawlist stuff (#145)
* d_resource / some d_stage

* setup dDlst_list_c / d_select_icon OK

* JUTXfb / some JUTVideo + various

* some J2D classes / JUTVideo/Fader attempts

* bunch of m_Do cleanup + matches / f_ap_game OK

* mDoLib_clipper::setup OK

* most of d_meter_HIO OK

* pane_class / kantera_icon_meter
2021-09-24 11:11:10 -04:00

75 lines
1.9 KiB
C++

#ifndef JUTTEXTURE_H
#define JUTTEXTURE_H
#include "JSystem/JUtility/JUTPalette.h"
#include "dolphin/types.h"
struct ResTIMG { /* Acts as the header to image data. Usually texture data immediately follows it,
so any pointer arithmetic to go past the end of this structure is so that a
variable sized allocated buffer can be accessed. */
u8 format;
bool alphaEnabled;
u16 width;
u16 height;
u8 wrapS;
u8 wrapT;
bool palettesEnabled;
u8 paletteFormat;
u16 paletteCount;
u32 paletteOffset;
bool mipmapEnabled;
bool doEdgeLOD;
bool biasClamp;
u8 maxAnisotropy;
u8 minFilter;
u8 magFilter;
s8 minLOD;
s8 maxLOD;
u8 mipmapCount;
u8 unknown;
s16 LODBias;
u32 texDataOffset;
};
class JUTTexture {
public:
JUTTexture() {
setCaptureFlag(false);
mEmbPalette = NULL;
mTexInfo = NULL;
}
~JUTTexture();
void storeTIMG(ResTIMG const*, JUTPalette*, _GXTlut);
void storeTIMG(ResTIMG const*, u8);
void storeTIMG(ResTIMG const*, JUTPalette*);
void attachPalette(JUTPalette*);
void init();
void initTexObj(_GXTlut);
void initTexObj();
void load(_GXTexMapID);
const ResTIMG* getTexInfo() const { return mTexInfo; }
void setCaptureFlag(bool flag) { mFlags &= 2 | flag; }
u8 getCaptureFlag() const { return mFlags & 1; }
u8 getEmbPaletteDelFlag() const { return mFlags & 2; }
private:
/* 0x00 */ _GXTexObj mTexObj;
/* 0x20 */ const ResTIMG* mTexInfo;
/* 0x24 */ void* mTexData;
/* 0x28 */ JUTPalette* mEmbPalette;
/* 0x2C */ JUTPalette* field_0x2c;
/* 0x30 */ u8 mWrapS;
/* 0x31 */ u8 mWrapT;
/* 0x32 */ u8 mMinFilter;
/* 0x33 */ u8 mMagFilter;
/* 0x34 */ s16 mMinLOD;
/* 0x36 */ s16 mMaxLOD;
/* 0x38 */ s16 mLODBias;
/* 0x3A */ u8 mTlutName;
/* 0x3B */ u8 mFlags;
/* 0x3C */ void* field_0x3c;
};
#endif /* JUTTEXTURE_H */