tp/include/JSystem/J3DGraphBase/J3DTexture.h

73 lines
1.8 KiB
C++

#ifndef J3DTEXTURE_H
#define J3DTEXTURE_H
#include "JSystem/JUtility/JUTTexture.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
class J3DTexture {
private:
/* 0x0 */ u16 mNum;
/* 0x4 */ ResTIMG** mpRes;
public:
/* 8031204C */ void loadGX(u16, _GXTexMapID) const;
/* 803121A4 */ void entryNum(u16);
/* 8031221C */ void addResTIMG(u16, ResTIMG const*);
/* 803366A4 */ virtual ~J3DTexture();
};
struct J3DTextureSRTInfo {
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ s16 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
}; // Size: 0x14
struct J3DTexMtxInfo {
/* 80325718 */ void operator=(J3DTexMtxInfo const&);
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x04 */ f32 field_0x04;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ f32 field_0x0c;
/* 0x10 */ J3DTextureSRTInfo field_0x10;
/* 0x24 */ Mtx mEffectMtx;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ f32 field_0x60;
}; // Size: 0x64
class J3DTexMtx {
public:
/* 803238C4 */ void load(u32) const;
/* 80323900 */ void calc(f32 const (*)[4]);
/* 80323920 */ void calcTexMtx(f32 const (*)[4]);
/* 80323C0C */ void calcPostTexMtx(f32 const (*)[4]);
/* 80324358 */ void loadTexMtx(u32) const;
/* 803243BC */ void loadPostTexMtx(u32) const;
J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; }
private:
/* 0x00 */ J3DTexMtxInfo mTexMtxInfo;
/* 0x64 */ Mtx mMtx;
}; // Size: 0x94
struct J3DTexCoordInfo {
/* 0x0 */ u8 mTexGenType;
/* 0x1 */ u8 mTexGenSrc;
/* 0x2 */ u8 mTexGenMtx;
};
struct J3DTexCoord : public J3DTexCoordInfo {
/* 8000E464 */ J3DTexCoord();
/* 0x4 */ u16 mTexMtxReg;
}; // Size: 0x6
#endif /* J3DTEXTURE_H */