This commit is contained in:
Caroline Madsen
2024-10-15 23:59:31 +03:00
committed by GitHub
parent 9895999b7b
commit 9f58034704
26 changed files with 1502 additions and 1647 deletions
+52 -52
View File
@@ -464,7 +464,7 @@ public:
mFrame = 0.0f;
}
virtual ~J3DAnmBase();
virtual ~J3DAnmBase() {}
virtual s32 getKind() const = 0;
u8 getAttribute() const { return mAttribute; }
@@ -486,7 +486,7 @@ class J3DAnmTransform : public J3DAnmBase {
public:
/* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*);
/* 8003B93C */ virtual ~J3DAnmTransform();
/* 8003B93C */ virtual ~J3DAnmTransform() {}
/* 8003C77C */ virtual s32 getKind() const;
virtual void getTransform(u16, J3DTransformInfo*) const = 0;
@@ -528,8 +528,8 @@ class J3DAnmTransformFull : public J3DAnmTransform {
public:
J3DAnmTransformFull() : J3DAnmTransform(0, NULL, NULL, NULL) { mAnmTable = NULL; }
/* 8032C2AC */ virtual ~J3DAnmTransformFull();
/* 8032C318 */ virtual s32 getKind() const;
/* 8032C2AC */ virtual ~J3DAnmTransformFull() {}
/* 8032C318 */ virtual s32 getKind() const { return 9; }
/* 80328E90 */ virtual void getTransform(u16, J3DTransformInfo*) const;
/* 0x20 */ J3DAnmTransformFullTable* mAnmTable;
@@ -541,8 +541,8 @@ public:
*/
class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull {
public:
/* 8032C228 */ virtual ~J3DAnmTransformFullWithLerp();
/* 8032C2A4 */ virtual s32 getKind() const;
/* 8032C228 */ virtual ~J3DAnmTransformFullWithLerp() {}
/* 8032C2A4 */ virtual s32 getKind() const { return 16; }
/* 803291F0 */ virtual void getTransform(u16, J3DTransformInfo*) const;
}; // Size: 0x24
@@ -561,8 +561,8 @@ public:
/* 8032B0C0 */ void searchUpdateMaterialID(J3DMaterialTable*);
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
/* 8032C198 */ virtual ~J3DAnmTextureSRTKey();
/* 8032C220 */ virtual s32 getKind() const;
/* 8032C198 */ virtual ~J3DAnmTextureSRTKey() {}
/* 8032C220 */ virtual s32 getKind() const { return 4; }
void getTransform(u16 param_0, J3DTextureSRTInfo* pSRTInfo) const {
calcTransform(getFrame(), param_0, pSRTInfo);
@@ -615,8 +615,8 @@ public:
/* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*);
/* 8032B09C */ void searchUpdateMaterialID(J3DModelData*);
/* 8032BD20 */ virtual ~J3DAnmTexPattern();
/* 8032BD94 */ virtual s32 getKind() const;
/* 8032BD20 */ virtual ~J3DAnmTexPattern() {}
/* 8032BD94 */ virtual s32 getKind() const { return 2; }
u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; }
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
@@ -643,8 +643,8 @@ public:
/* 8032B780 */ void searchUpdateMaterialID(J3DMaterialTable*);
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
/* 8032BD9C */ virtual ~J3DAnmTevRegKey();
/* 8032BE24 */ virtual s32 getKind() const;
/* 8032BD9C */ virtual ~J3DAnmTevRegKey() {}
/* 8032BE24 */ virtual s32 getKind() const { return 5; }
u16 getCRegUpdateMaterialNum() const { return mCRegUpdateMaterialNum; }
u16 getKRegUpdateMaterialNum() const { return mKRegUpdateMaterialNum; }
@@ -693,9 +693,9 @@ public:
/* 8032A828 */ J3DAnmColor();
/* 8032A8A4 */ void searchUpdateMaterialID(J3DMaterialTable*);
/* 8032BCAC */ virtual ~J3DAnmColor();
/* 8032BF44 */ virtual s32 getKind() const;
/* 8032BF4C */ virtual void getColor(u16, _GXColor*) const;
/* 8032BCAC */ virtual ~J3DAnmColor() {}
/* 8032BF44 */ virtual s32 getKind() const { return 1; }
/* 8032BF4C */ virtual void getColor(u16, GXColor*) const {}
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; }
@@ -718,15 +718,15 @@ class J3DAnmColorKey : public J3DAnmColor {
public:
/* 8032AB00 */ J3DAnmColorKey();
/* 8032BE2C */ virtual ~J3DAnmColorKey();
/* 8032BEB0 */ virtual s32 getKind() const;
/* 8032AB54 */ virtual void getColor(u16, _GXColor*) const;
/* 8032BE2C */ virtual ~J3DAnmColorKey() {}
/* 8032BEB0 */ virtual s32 getKind() const { return 11; }
/* 8032AB54 */ virtual void getColor(u16, GXColor*) const;
/* 0x2C */ s16* field_0x2c;
/* 0x30 */ s16* field_0x30;
/* 0x34 */ s16* field_0x34;
/* 0x38 */ s16* field_0x38;
/* 0x3C */ J3DAnmColorKeyTable* field_0x3c;
/* 0x2C */ s16* mColorR;
/* 0x30 */ s16* mColorG;
/* 0x34 */ s16* mColorB;
/* 0x38 */ s16* mColorA;
/* 0x3C */ J3DAnmColorKeyTable* mAnmTable;
};
/**
@@ -737,9 +737,9 @@ class J3DAnmColorFull : public J3DAnmColor {
public:
/* 8032AB00 */ J3DAnmColorFull();
/* 8032BE2C */ virtual ~J3DAnmColorFull();
/* 8032BEB0 */ virtual s32 getKind() const;
/* 8032AB54 */ virtual void getColor(u16, _GXColor*) const;
/* 8032BE2C */ virtual ~J3DAnmColorFull() {}
/* 8032BEB0 */ virtual s32 getKind() const { return 10; }
/* 8032AB54 */ virtual void getColor(u16, GXColor*) const;
/* 0x2C */ u8* mColorR;
/* 0x30 */ u8* mColorG;
@@ -756,9 +756,9 @@ class J3DAnmVtxColor : public J3DAnmBase {
public:
J3DAnmVtxColor();
virtual ~J3DAnmVtxColor();
virtual s32 getKind() const;
virtual void getColor(u8, u16, _GXColor*) const;
virtual ~J3DAnmVtxColor() {}
virtual s32 getKind() const { return 7; }
virtual void getColor(u8, u16, GXColor*) const {}
/* 0x0C */ u16 mAnmTableNum[2];
/* 0x10 */ J3DAnmVtxColorIndexData* mAnmVtxColorIndexData[2];
@@ -772,15 +772,15 @@ class J3DAnmVtxColorKey : public J3DAnmVtxColor {
public:
/* 8032A4E0 */ J3DAnmVtxColorKey();
/* 8032BF50 */ virtual ~J3DAnmVtxColorKey();
/* 8032BFBC */ virtual s32 getKind() const;
/* 8032A53C */ virtual void getColor(u8, u16, _GXColor*) const;
/* 8032BF50 */ virtual ~J3DAnmVtxColorKey() {}
/* 8032BFBC */ virtual s32 getKind() const { return 15; }
/* 8032A53C */ virtual void getColor(u8, u16, GXColor*) const;
/* 0x1C */ J3DAnmColorKeyTable* mpTable[2];
/* 0x24 */ s16* mColorR;
/* 0x28 */ s16* mColorG;
/* 0x2C */ s16* mColorB;
/* 0x30 */ s16* mColorA;
/* 0x18 */ J3DAnmColorKeyTable* mpTable[2];
/* 0x20 */ s16* mColorR;
/* 0x24 */ s16* mColorG;
/* 0x28 */ s16* mColorB;
/* 0x2C */ s16* mColorA;
};
/**
@@ -791,15 +791,15 @@ class J3DAnmVtxColorFull : public J3DAnmVtxColor {
public:
/* 8032A30C */ J3DAnmVtxColorFull();
/* 8032BFC4 */ virtual ~J3DAnmVtxColorFull();
/* 8032C030 */ virtual s32 getKind() const;
/* 8032A368 */ virtual void getColor(u8, u16, _GXColor*) const;
/* 8032BFC4 */ virtual ~J3DAnmVtxColorFull() {}
/* 8032C030 */ virtual s32 getKind() const { return 14; }
/* 8032A368 */ virtual void getColor(u8, u16, GXColor*) const;
/* 0x1C */ J3DAnmColorFullTable* mpTable[2];
/* 0x24 */ u8* mColorR;
/* 0x28 */ u8* mColorG;
/* 0x2C */ u8* mColorB;
/* 0x30 */ u8* mColorA;
/* 0x18 */ J3DAnmColorFullTable* mpTable[2];
/* 0x20 */ u8* mColorR;
/* 0x24 */ u8* mColorG;
/* 0x28 */ u8* mColorB;
/* 0x2C */ u8* mColorA;
};
/**
@@ -810,9 +810,9 @@ class J3DAnmCluster : public J3DAnmBase {
public:
J3DAnmCluster(s16 param_1, f32* param_2) : J3DAnmBase(param_1) { mWeight = param_2; }
/* 8032BCAC */ virtual ~J3DAnmCluster();
/* 8032BF44 */ virtual s32 getKind() const;
/* 8032BF4C */ virtual f32 getWeight(u16) const;
/* 8032BCAC */ virtual ~J3DAnmCluster() {}
/* 8032BF44 */ virtual s32 getKind() const { return 3; }
/* 8032BF4C */ virtual f32 getWeight(u16) const { return 1.0f; }
/* 0x0C */ f32* mWeight;
}; // Size: 0x10
@@ -825,8 +825,8 @@ class J3DAnmClusterFull : public J3DAnmCluster {
public:
J3DAnmClusterFull() : J3DAnmCluster(0, 0) { mAnmTable = NULL; }
/* 8032BCAC */ virtual ~J3DAnmClusterFull();
/* 8032BF44 */ virtual s32 getKind() const;
/* 8032BCAC */ virtual ~J3DAnmClusterFull() {}
/* 8032BF44 */ virtual s32 getKind() const { return 12; }
/* 8032BF4C */ virtual f32 getWeight(u16) const;
/* 0x10 */ J3DAnmClusterFullTable* mAnmTable;
@@ -840,8 +840,8 @@ class J3DAnmClusterKey : public J3DAnmCluster {
public:
J3DAnmClusterKey() : J3DAnmCluster(0, NULL) { mAnmTable = NULL; }
/* 8032C044 */ virtual ~J3DAnmClusterKey();
/* 8032C0B0 */ virtual s32 getKind() const;
/* 8032C044 */ virtual ~J3DAnmClusterKey() {}
/* 8032C0B0 */ virtual s32 getKind() const { return 13; }
/* 8032A218 */ virtual f32 getWeight(u16) const;
/* 0x10 */ J3DAnmClusterKeyTable* mAnmTable;
+36 -24
View File
@@ -2,6 +2,7 @@
#define J3DJOINT_H
#include "JSystem/J3DGraphBase/J3DTransform.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
class J3DAnmTransform;
class J3DJoint;
@@ -16,7 +17,7 @@ class J3DMtxCalc {
public:
/* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*);
/* 8000D948 */ virtual ~J3DMtxCalc();
/* 8000D948 */ virtual ~J3DMtxCalc() {}
/* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*);
/* 80014E9C */ virtual J3DAnmTransform* getAnmTransform();
/* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*);
@@ -34,29 +35,6 @@ public:
static J3DJoint* mJoint;
}; // Size: 0x4
/**
* @ingroup jsystem-j3d
*
*/
class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
public:
/* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase();
};
/**
* @ingroup jsystem-j3d
*
*/
template <class A, class B>
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase {
public:
J3DMtxCalcNoAnm() {}
virtual ~J3DMtxCalcNoAnm() {}
virtual void init(const Vec& param_0, const Mtx& param_1);
virtual void calc();
};
class J3DJoint;
typedef int (*J3DJointCallBack)(J3DJoint*, int);
/**
@@ -85,6 +63,7 @@ public:
J3DMtxCalc* getMtxCalc() { return mMtxCalc; }
J3DMtxCalc* getCurrentMtxCalc() { return mCurrentMtxCalc; };
J3DJoint* getChild() { return mChild; }
u8 getMtxType() { return (mKind & 0xf0) >> 4; }
void setMtxType(u8 type) { mKind = (mKind & ~0xf0) | (type << 4); }
static J3DMtxCalc* mCurrentMtxCalc;
@@ -109,6 +88,39 @@ private:
/* 0x58 */ J3DMaterial* mMesh;
}; // Size: 0x5C
/**
* @ingroup jsystem-j3d
*
*/
class J3DMtxCalcNoAnmBase : public J3DMtxCalc {
public:
/* 8000FA8C */ virtual ~J3DMtxCalcNoAnmBase() {}
};
/**
* @ingroup jsystem-j3d
*
*/
template <class A, class B>
class J3DMtxCalcNoAnm : public J3DMtxCalcNoAnmBase {
public:
J3DMtxCalcNoAnm() {}
virtual ~J3DMtxCalcNoAnm() {}
virtual void init(const Vec& param_0, const Mtx& param_1) { B::init(param_0, param_1); }
virtual void calc() { A::calcTransform(mJoint->getTransformInfo()); }
};
/**
* @ingroup jsystem-j3d
*
*/
struct J3DMtxCalcJ3DSysInitSoftimage {
/* 8032ECAC */ static void init(const Vec& param_0, const Mtx& param_1) {
J3DSys::mCurrentS = param_0;
MTXCopy(param_1, J3DSys::mCurrentMtx);
}
};
/**
* @ingroup jsystem-j3d
*
@@ -44,14 +44,14 @@ public:
/* 80325C00 */ void findImportantMtxIndex();
/* 80325CAC */ virtual void calc(J3DMtxBuffer*, Vec const&, f32 const (&)[3][4]);
/* 80325D24 */ virtual ~J3DJointTree();
/* 80325D24 */ virtual ~J3DJointTree() {}
J3DModelHierarchy const* getHierarchy() { return mHierarchy; }
void setHierarchy(J3DModelHierarchy* hierarchy) { mHierarchy = hierarchy; }
void setBasicMtxCalc(J3DMtxCalc* calc) { mBasicMtxCalc = calc; }
u16 getWEvlpMtxNum() const { return mWEvlpMtxNum; }
u8 getWEvlpMixMtxNum(u16 idx) const { return mWEvlpMixMtxNum[idx]; }
u16 * getWEvlpMixIndex() const { return mWEvlpMixIndex; }
u16 * getWEvlpMixMtxIndex() const { return mWEvlpMixMtxIndex; }
f32 * getWEvlpMixWeight() const { return mWEvlpMixWeight; }
u16 * getWEvlpImportantMtxIndex() const { return mWEvlpImportantMtxIdx; }
u16 getDrawFullWgtMtxNum() const { return mDrawMtxData.mDrawFullWgtMtxNum; }
@@ -82,7 +82,7 @@ private:
/* 0x1C */ u16 mJointNum;
/* 0x1E */ u16 mWEvlpMtxNum;
/* 0x20 */ u8* mWEvlpMixMtxNum;
/* 0x24 */ u16* mWEvlpMixIndex;
/* 0x24 */ u16* mWEvlpMixMtxIndex;
/* 0x28 */ f32* mWEvlpMixWeight;
/* 0x2C */ Mtx* mInvJointMtx;
/* 0x30 */ u16* mWEvlpImportantMtxIdx;
+1 -1
View File
@@ -72,7 +72,7 @@ public:
/* 803276EC */ virtual void calcMaterial();
/* 80327858 */ virtual void calcDiffTexMtx();
/* 80327F40 */ virtual void viewCalc();
/* 80328350 */ virtual ~J3DModel();
/* 80328350 */ virtual ~J3DModel() {}
J3DModelData* getModelData() { return mModelData; }
@@ -25,7 +25,7 @@ public:
/* 803260CC */ void syncJ3DSysPointers() const;
/* 803260F8 */ void syncJ3DSysFlags() const;
/* 8032617C */ virtual ~J3DModelData();
/* 8032617C */ virtual ~J3DModelData() {}
J3DMaterialTable& getMaterialTable() { return mMaterialTable; }
JUTNameTab* getMaterialName() const { return mMaterialTable.getMaterialName(); }
@@ -54,7 +54,7 @@ public:
J3DTexture* getTexture() const { return mMaterialTable.getTexture(); }
JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); }
u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); }
u16* getWEvlpMixMtxIndex() const { return mJointTree.getWEvlpMixIndex(); }
u16* getWEvlpMixMtxIndex() const { return mJointTree.getWEvlpMixMtxIndex(); }
f32* getWEvlpMixWeight() const { return mJointTree.getWEvlpMixWeight(); }
u8 getWEvlpMixMtxNum(u16 idx) const { return mJointTree.getWEvlpMixMtxNum(idx); }
u16* getWEvlpImportantMtxIndex() const { return mJointTree.getWEvlpImportantMtxIndex(); }
@@ -37,7 +37,7 @@ public:
u8 getEnvScaleFlag(int idx) const { return mpEvlpScaleFlagArr[idx]; }
Mtx** getDrawMtxPtrPtr() const { return mpDrawMtxArr[1]; }
Mtx* getDrawMtxPtr() const { return mpDrawMtxArr[1][mCurrentViewNo]; }
Mtx* getDrawMtx(u16 idx) const { return &mpDrawMtxArr[1][mCurrentViewNo][idx]; }
Mtx* getDrawMtx(int idx) const { return &mpDrawMtxArr[1][mCurrentViewNo][idx]; }
Mtx33** getNrmMtxPtrPtr() const { return mpNrmMtxArr[1]; }
Mtx33* getNrmMtxPtr() const { return mpNrmMtxArr[1][mCurrentViewNo]; }
Mtx33* getNrmMtx(u16 idx) const { return &mpNrmMtxArr[1][mCurrentViewNo][idx]; }
@@ -45,6 +45,10 @@ public:
Mtx33* getBumpMtxPtr(int idx) const { return mpBumpMtxArr[1][idx][mCurrentViewNo]; }
J3DJointTree* getJointTree() const { return mJointTree; }
void setNrmMtx(int idx, Mtx* mtx) {
J3DPSMtx33CopyFrom34(*mtx, mpNrmMtxArr[1][mCurrentViewNo][idx]);
}
void swapDrawMtx() {
Mtx* tmp = mpDrawMtxArr[0][mCurrentViewNo];
mpDrawMtxArr[0][mCurrentViewNo] = mpDrawMtxArr[1][mCurrentViewNo];
@@ -70,13 +74,13 @@ private:
/* 0x10 */ Mtx* mpWeightEvlpMtx;
/* 0x14 */ Mtx** mpDrawMtxArr[2];
/* 0x1C */ Mtx33** mpNrmMtxArr[2];
/* 0x28 */ Mtx33*** mpBumpMtxArr[2];
/* 0x24 */ Mtx33*** mpBumpMtxArr[2];
/* 0x2C */ u32 mFlags;
/* 0x30 */ u32 mCurrentViewNo;
/* 0x34 */ Mtx* mpUserAnmMtx;
public:
/* 803283B4 */ virtual ~J3DMtxBuffer();
/* 803283B4 */ virtual ~J3DMtxBuffer() {}
};
void J3DCalcViewBaseMtx(f32 (*param_0)[4], Vec const& param_1, f32 const (&param_2)[3][4],
@@ -22,7 +22,7 @@ public:
/* 80325910 */ void initShapeNodes(J3DDrawMtxData*, J3DVertexData*);
/* 8032597C */ void sortVcdVatCmd();
virtual ~J3DShapeTable();
virtual ~J3DShapeTable() {}
u16 getShapeNum() const { return mShapeNum; }
J3DShape* getShapeNodePointer(u16 idx) const { return mShapeNodePointer[idx]; }
@@ -89,7 +89,9 @@ public:
/* 8032EBCC */ void normalizeWeight(int, f32*);
void offFlag(u32 i_flag) { mFlags &= ~i_flag; }
bool checkFlag(u32 i_flag) { return mFlags & i_flag; }
void setAnmCluster(J3DAnmCluster* anm) { mAnmCluster = anm; }
void normalize(f32* i_vec) { VECNormalize((Vec*)i_vec, (Vec*)i_vec); }
/* 0x00 */ J3DDeformData* mDeformData;
/* 0x04 */ J3DAnmCluster* mAnmCluster;