J3DShapeMtx progress

This commit is contained in:
Jasper St. Pierre
2023-09-23 18:33:12 -07:00
parent 2741687de1
commit 4e40d06439
6 changed files with 343 additions and 148 deletions
+41 -39
View File
@@ -30,45 +30,7 @@ enum J3DSysFlag {
};
struct J3DSys {
/* 0x000 */ Mtx mViewMtx;
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
/* 0x034 */ u32 mFlags;
/* 0x038 */ J3DModel* mModel;
/* 0x03C */ J3DMatPacket* mMatPacket;
/* 0x040 */ J3DShapePacket* mShapePacket;
/* 0x044 */ J3DShape* mShape;
/* 0x048 */ J3DDrawBuffer* mDrawBuffer[2];
/* 0x050 */ u32 mDrawMode;
/* 0x054 */ u32 mMaterialMode;
/* 0x058 */ J3DTexture* mTexture;
/* 0x05C */ u8 field_0x5c[0x04];
/* 0x060 */ u32 mTexCacheRegionNum;
/* 0x064 */ GXTexRegion mTexCacheRegion[8];
/* 0x0E4 */ u8 field_0xe4[0x20];
/* 0x104 */ void* field_0x104;
/* 0x108 */ Mtx* mModelDrawMtx;
/* 0x10C */ Mtx33* mModelNrmMtx;
/* 0x110 */ void* mVtxPos;
/* 0x114 */ void* mVtxNrm;
/* 0x118 */ _GXColor* mVtxCol;
/* 0x11C */ Vec* mNBTScale;
/* 0x120 */ void* field_0x120;
/* 0x124 */ void* field_0x124;
J3DSys();
void loadPosMtxIndx(int, u16) const;
void loadNrmMtxIndx(int, u16) const;
void setTexCacheRegion(_GXTexCacheSize);
void drawInit();
void reinitGX();
void reinitGenMode();
void reinitLighting();
void reinitTransform();
void reinitTexture();
void reinitTevStages();
void reinitIndStages();
void reinitPixelProc();
public:
enum DrawMode {
/* 0x3 */ OPA_TEX_EDGE = 3,
/* 0x4 */ XLU,
@@ -130,11 +92,51 @@ struct J3DSys {
void setViewMtx(Mtx m) { MTXCopy(m, mViewMtx); }
J3DModel* getModel() { return mModel; }
Vec& getNBTScale() { return *mNBTScale; }
static Mtx mCurrentMtx;
static Vec mCurrentS;
static Vec mParentS;
static u16 sTexCoordScaleTable[32];
/* 0x000 */ Mtx mViewMtx;
/* 0x030 */ J3DMtxCalc* mCurrentMtxCalc;
/* 0x034 */ u32 mFlags;
/* 0x038 */ J3DModel* mModel;
/* 0x03C */ J3DMatPacket* mMatPacket;
/* 0x040 */ J3DShapePacket* mShapePacket;
/* 0x044 */ J3DShape* mShape;
/* 0x048 */ J3DDrawBuffer* mDrawBuffer[2];
/* 0x050 */ u32 mDrawMode;
/* 0x054 */ u32 mMaterialMode;
/* 0x058 */ J3DTexture* mTexture;
/* 0x05C */ u8 field_0x5c[0x04];
/* 0x060 */ u32 mTexCacheRegionNum;
/* 0x064 */ GXTexRegion mTexCacheRegion[8];
/* 0x0E4 */ u8 field_0xe4[0x20];
/* 0x104 */ void* field_0x104;
/* 0x108 */ Mtx* mModelDrawMtx;
/* 0x10C */ Mtx33* mModelNrmMtx;
/* 0x110 */ void* mVtxPos;
/* 0x114 */ void* mVtxNrm;
/* 0x118 */ _GXColor* mVtxCol;
/* 0x11C */ void* field_0x11c;
/* 0x120 */ void* field_0x120;
/* 0x124 */ Vec* mNBTScale;
J3DSys();
void loadPosMtxIndx(int, u16) const;
void loadNrmMtxIndx(int, u16) const;
void setTexCacheRegion(_GXTexCacheSize);
void drawInit();
void reinitGX();
void reinitGenMode();
void reinitLighting();
void reinitTransform();
void reinitTexture();
void reinitTevStages();
void reinitIndStages();
void reinitPixelProc();
};
extern u32 j3dDefaultViewNo;