mirror of https://github.com/zeldaret/tp.git
170 lines
3.6 KiB
C++
170 lines
3.6 KiB
C++
#ifndef J2DTEVS_H
|
|
#define J2DTEVS_H
|
|
|
|
#include "dolphin/mtx/mtxvec.h"
|
|
#include "dolphin/types.h"
|
|
|
|
struct J2DTextureSRTInfo {
|
|
/* 0x00 */ f32 field_0x0;
|
|
/* 0x04 */ f32 field_0x4;
|
|
/* 0x08 */ f32 field_0x8;
|
|
/* 0x0C */ f32 field_0xc;
|
|
/* 0x10 */ f32 field_0x10;
|
|
}; // Size: 0x14
|
|
|
|
struct J2DTexMtxInfo {
|
|
/* 0x00 */ u8 field_0x0;
|
|
/* 0x01 */ u8 field_0x1;
|
|
/* 0x02 */ u8 field_0x2; // padding ?
|
|
/* 0x03 */ u8 field_0x3; // padding ?
|
|
/* 0x04 */ Vec field_0x4;
|
|
/* 0x10 */ J2DTextureSRTInfo mTexSRTInfo;
|
|
}; // Size: 0x24
|
|
|
|
class J2DTexMtx {
|
|
public:
|
|
/* 802E9C90 */ void load(u32);
|
|
/* 802E9CC4 */ void calc();
|
|
/* 802E9D2C */ void getTextureMtx(J2DTextureSRTInfo const&, Vec, f32 (*)[4]);
|
|
/* 802E9EBC */ void getTextureMtxMaya(J2DTextureSRTInfo const&, f32 (*)[4]);
|
|
|
|
private:
|
|
/* 0x00 */ J2DTexMtxInfo mTexMtxInfo;
|
|
/* 0x24 */ Mtx mTexMtx;
|
|
};
|
|
|
|
struct J2DIndTexOrderInfo {
|
|
/* 0x0 */ u8 field_0x0;
|
|
/* 0x1 */ u8 field_0x1;
|
|
};
|
|
|
|
class J2DIndTexOrder {
|
|
public:
|
|
/* 802EB378 */ J2DIndTexOrder();
|
|
/* 802EA0FC */ void load(u8);
|
|
|
|
private:
|
|
/* 0x0 */ J2DIndTexOrderInfo mIndTexOrderInfo;
|
|
};
|
|
|
|
struct J2DIndTexMtxInfo {
|
|
/* 0x00 */ Mtx23 mMtx;
|
|
/* 0x18 */ u8 field_0x18;
|
|
};
|
|
|
|
class J2DIndTexMtx {
|
|
public:
|
|
/* 802EB2E4 */ ~J2DIndTexMtx();
|
|
/* 802EB320 */ J2DIndTexMtx();
|
|
/* 802EA098 */ void load(u8);
|
|
/* 802E9C90 */ void load(u32);
|
|
/* 802E9CC4 */ void calc();
|
|
|
|
private:
|
|
/* 0x0 */ J2DIndTexMtxInfo mIndTexMtxInfo;
|
|
}; // Size: 0x1C
|
|
|
|
struct J2DIndTexCoordScaleInfo {
|
|
/* 0x0 */ u8 field_0x0;
|
|
/* 0x0 */ u8 field_0x1;
|
|
};
|
|
|
|
class J2DIndTexCoordScale {
|
|
public:
|
|
/* 802EB290 */ ~J2DIndTexCoordScale();
|
|
/* 802EB2CC */ J2DIndTexCoordScale();
|
|
/* 802EA0CC */ void load(u8);
|
|
|
|
private:
|
|
/* 0x0 */ J2DIndTexCoordScaleInfo mIndTexCoordScaleInfo;
|
|
}; // Size: 0x2
|
|
|
|
class J2DIndTevStage {
|
|
public:
|
|
/* 802EA044 */ void load(u8);
|
|
/* 802F18A0 */ J2DIndTevStage();
|
|
|
|
private:
|
|
/* 0x0 */ u32 mFlags;
|
|
};
|
|
|
|
struct J2DTexCoordInfo {
|
|
/* 0x0 */ u8 mTexGenType;
|
|
/* 0x1 */ u8 mTexGenSrc;
|
|
/* 0x2 */ u8 mTexGenMtx;
|
|
u8 padding; // ?
|
|
};
|
|
|
|
class J2DTexCoord {
|
|
public:
|
|
/* 802EB260 */ J2DTexCoord();
|
|
|
|
private:
|
|
/* 0x0 */ J2DTexCoordInfo mTexCoordInfo;
|
|
};
|
|
|
|
struct J2DTevOrderInfo {
|
|
/* 0x0 */ u8 mTexCoord;
|
|
/* 0x1 */ u8 mTexMap;
|
|
/* 0x2 */ u8 mColor;
|
|
};
|
|
|
|
class J2DTevOrder {
|
|
public:
|
|
/* 802F1B70 */ J2DTevOrder();
|
|
|
|
private:
|
|
/* 0x0 */ J2DTevOrderInfo mTevOrderInfo;
|
|
};
|
|
|
|
struct J2DTevStageInfo {
|
|
/* 0x00 */ u8 field_0x0;
|
|
/* 0x01 */ u8 field_0x1;
|
|
/* 0x02 */ u8 field_0x2;
|
|
/* 0x03 */ u8 field_0x3;
|
|
/* 0x04 */ u8 field_0x4;
|
|
/* 0x05 */ u8 field_0x5;
|
|
/* 0x06 */ u8 field_0x6;
|
|
/* 0x07 */ u8 field_0x7;
|
|
/* 0x08 */ u8 field_0x8;
|
|
/* 0x09 */ u8 field_0x9;
|
|
/* 0x0A */ u8 field_0xa;
|
|
/* 0x0B */ u8 field_0xb;
|
|
/* 0x0C */ u8 field_0xc;
|
|
/* 0x0D */ u8 field_0xd;
|
|
/* 0x0E */ u8 field_0xe;
|
|
/* 0x0F */ u8 field_0xf;
|
|
/* 0x10 */ u8 field_0x10;
|
|
/* 0x11 */ u8 field_0x11;
|
|
/* 0x12 */ u8 field_0x12;
|
|
};
|
|
|
|
class J2DTevStage {
|
|
public:
|
|
/* 802F4110 */ J2DTevStage(J2DTevStageInfo const&);
|
|
/* 802F1940 */ J2DTevStage();
|
|
/* 802F19A8 */ void setTevStageInfo(J2DTevStageInfo const&);
|
|
|
|
private:
|
|
/* 0x0 */ u8 field_0x0;
|
|
/* 0x1 */ u8 field_0x1;
|
|
/* 0x2 */ u8 field_0x2;
|
|
/* 0x3 */ u8 field_0x3;
|
|
/* 0x4 */ u8 field_0x4;
|
|
/* 0x5 */ u8 field_0x5;
|
|
/* 0x6 */ u8 field_0x6;
|
|
/* 0x7 */ u8 field_0x7;
|
|
};
|
|
|
|
struct J2DTevSwapModeInfo {};
|
|
|
|
class J2DTevSwapModeTable {
|
|
public:
|
|
/* 802F1934 */ J2DTevSwapModeTable();
|
|
|
|
private:
|
|
/* 0x0 */ u8 field_0x0;
|
|
};
|
|
|
|
#endif /* J2DTEVS_H */
|