mirror of https://github.com/zeldaret/tp.git
commit
169f56ca2c
|
|
@ -10,197 +10,214 @@
|
|||
|
||||
class J2DScreen;
|
||||
|
||||
enum J2DAnmKind {
|
||||
KIND_TRANSFORM = 0,
|
||||
KIND_COLOR = 1,
|
||||
KIND_TEX_PATTERN = 2,
|
||||
KIND_TEXTURE_SRT = 4,
|
||||
KIND_TEV_REG = 5,
|
||||
KIND_VISIBILITY = 6,
|
||||
KIND_VTX_COLOR = 7
|
||||
};
|
||||
|
||||
class J2DAnmBase {
|
||||
public:
|
||||
J2DAnmBase() {
|
||||
mFrame = 0;
|
||||
mFrameMax = 0;
|
||||
}
|
||||
/* 80053C94 */ virtual ~J2DAnmBase() {}
|
||||
/* 800569B0 */ virtual void searchUpdateMaterialID(J2DScreen*);
|
||||
|
||||
s16 getFrameMax() const { return mFrameMax; }
|
||||
void setFrame(f32 frame) { mFrame = frame; }
|
||||
f32 getFrame() const { return mFrame; }
|
||||
s32 getKind() const { return mKind; }
|
||||
J2DAnmKind getKind() const { return mKind; }
|
||||
|
||||
private:
|
||||
/* 0x0 */ // vtable
|
||||
/* 0x4 */ u8 field_0x4[2];
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5;
|
||||
/* 0x6 */ s16 mFrameMax;
|
||||
/* 0x8 */ f32 mFrame;
|
||||
/* 0xC */ s32 mKind;
|
||||
/* 0xC */ J2DAnmKind mKind;
|
||||
}; // Size: 0x10
|
||||
|
||||
class J2DAnmVtxColor : public J2DAnmBase {
|
||||
public:
|
||||
J2DAnmVtxColor() {
|
||||
mKind = KIND_VTX_COLOR;
|
||||
for (s32 i = 0; i < ARRAY_SIZE(mAnmTableNum); i++) {
|
||||
mAnmTableNum[i] = NULL;
|
||||
}
|
||||
for (s32 i = 0; i < ARRAY_SIZE(mVtxColorIndexData); i++) {
|
||||
mVtxColorIndexData[i] = NULL;
|
||||
}
|
||||
}
|
||||
/* 8030A358 */ virtual ~J2DAnmVtxColor() {}
|
||||
/* 8030363C */ virtual void getColor(u8, u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x10 */ u16 mAnmTableNum[2];
|
||||
/* 0x14 */ void* mVtxColorIndexData[2];
|
||||
/* 0x1C */ void* mVtxColorIndexPointer[2];
|
||||
/* 0x14 */ J3DAnmVtxColorIndexData* mVtxColorIndexData[2];
|
||||
/* 0x1C */ u16* mVtxColorIndexPointer[2];
|
||||
}; // Size: 0x24
|
||||
|
||||
struct J3DTransformInfo;
|
||||
struct J3DTextureSRTInfo;
|
||||
|
||||
struct J2DAnmVtxColorKeyInfo {
|
||||
J3DAnmKeyTableBase mRInfo;
|
||||
J3DAnmKeyTableBase mGInfo;
|
||||
J3DAnmKeyTableBase mBInfo;
|
||||
J3DAnmKeyTableBase mAInfo;
|
||||
}; // Size = 0x18
|
||||
|
||||
class J2DAnmVtxColorKey : public J2DAnmVtxColor {
|
||||
public:
|
||||
J2DAnmVtxColorKey() {
|
||||
for (s32 i = 0; i < ARRAY_SIZE(mInfoTable); i++) {
|
||||
mInfoTable[i] = NULL;
|
||||
}
|
||||
}
|
||||
/* 8030CC20 */ virtual ~J2DAnmVtxColorKey() {}
|
||||
/* 8030B704 */ virtual void getColor(u8, u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x24 */ J2DAnmVtxColorKeyInfo* mInfoTable[2];
|
||||
/* 0x24 */ J3DAnmColorKeyTable* mInfoTable[2];
|
||||
/* 0x2C */ s16* mRValues;
|
||||
/* 0x30 */ s16* mGValues;
|
||||
/* 0x34 */ s16* mBValues;
|
||||
/* 0x38 */ s16* mAValues;
|
||||
}; // Size: 0x3C
|
||||
|
||||
struct J2DAnmVtxColorFullInfo {
|
||||
/* 0x00 */ u16 mRMaxFrame;
|
||||
/* 0x02 */ u16 mROffset;
|
||||
/* 0x04 */ u16 mGMaxFrame;
|
||||
/* 0x06 */ u16 mGOffset;
|
||||
/* 0x08 */ u16 mBMaxFrame;
|
||||
/* 0x0A */ u16 mBOffset;
|
||||
/* 0x0C */ u16 mAMaxFrame;
|
||||
/* 0x0E */ u16 mAOffset;
|
||||
}; // Size = 0x10
|
||||
|
||||
class J2DAnmVtxColorFull : public J2DAnmVtxColor {
|
||||
public:
|
||||
J2DAnmVtxColorFull() {
|
||||
for (s32 i = 0; i < ARRAY_SIZE(mInfoTable); i++) {
|
||||
mInfoTable[i] = NULL;
|
||||
}
|
||||
}
|
||||
/* 8030CC8C */ virtual ~J2DAnmVtxColorFull() {}
|
||||
/* 8030B4C4 */ virtual void getColor(u8, u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x24 */ J2DAnmVtxColorFullInfo* mInfoTable[2];
|
||||
/* 0x24 */ J3DAnmColorFullTable* mInfoTable[2];
|
||||
/* 0x2C */ u8* mRValues;
|
||||
/* 0x30 */ u8* mGValues;
|
||||
/* 0x34 */ u8* mBValues;
|
||||
/* 0x38 */ u8* mAValues;
|
||||
}; // Size: 0x3C
|
||||
|
||||
struct J2DAnmVisibilityFullInfo {
|
||||
u16 _0;
|
||||
u16 _2;
|
||||
}; // Size = 0x4
|
||||
|
||||
class J2DAnmVisibilityFull : public J2DAnmBase {
|
||||
public:
|
||||
/* 8030A3B4 */ virtual ~J2DAnmVisibilityFull();
|
||||
J2DAnmVisibilityFull() {
|
||||
field_0x10 = 0;
|
||||
mTable = NULL;
|
||||
field_0x12 = 0;
|
||||
mValues = NULL;
|
||||
mKind = KIND_VISIBILITY;
|
||||
}
|
||||
/* 8030A3B4 */ virtual ~J2DAnmVisibilityFull() {}
|
||||
/* 8030C048 */ void getVisibility(u16, u8*) const;
|
||||
|
||||
private:
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ J2DAnmVisibilityFullInfo* field_0x14;
|
||||
/* 0x18 */ u8* field_0x18;
|
||||
/* 0x14 */ J3DAnmVisibilityFullTable* mTable;
|
||||
/* 0x18 */ u8* mValues;
|
||||
}; // Size: 0x1C
|
||||
|
||||
class J2DAnmTransform : public J2DAnmBase {
|
||||
public:
|
||||
J2DAnmTransform(f32* pScaleValues, s16* pRotationValues, f32* pTranslateValues) {
|
||||
mScaleValues = pScaleValues;
|
||||
mRotationValues = pRotationValues;
|
||||
mTranslateValues = pTranslateValues;
|
||||
mKind = KIND_TRANSFORM;
|
||||
}
|
||||
/* 80184370 */ virtual ~J2DAnmTransform() {}
|
||||
/* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
|
||||
protected:
|
||||
/* 0x10 */ f32* mScaleValues;
|
||||
/* 0x14 */ s16* mRotationValues;
|
||||
/* 0x18 */ f32* mTranslateValues;
|
||||
}; // Size: 0x1C
|
||||
|
||||
struct J2DAnmTransformKeyInfo {
|
||||
J3DAnmKeyTableBase mScaleInfo;
|
||||
J3DAnmKeyTableBase mRotationInfo;
|
||||
J3DAnmKeyTableBase mTranslateInfo;
|
||||
}; // Size = 0x12
|
||||
|
||||
class J2DAnmTransformKey : public J2DAnmTransform {
|
||||
public:
|
||||
J2DAnmTransformKey() : J2DAnmTransform(NULL, NULL, NULL) {
|
||||
field_0x24 = 0;
|
||||
mInfoTable = NULL;
|
||||
}
|
||||
/* 801959C0 */ virtual ~J2DAnmTransformKey() {}
|
||||
/* 8030CD7C */ virtual void getTransform(u16 p1, J3DTransformInfo* pInfo) const {
|
||||
this->calcTransform(getFrame(), p1, pInfo);
|
||||
}
|
||||
/* 8030AAFC */ virtual void calcTransform(f32, u16, J3DTransformInfo*) const;
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 field_0x1c[8];
|
||||
/* 0x1C */ u8 field_0x1c[6];
|
||||
/* 0x22 */ s16 field_0x22;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ J2DAnmTransformKeyInfo* mInfoTable;
|
||||
/* 0x28 */ J3DAnmTransformKeyTable* mInfoTable;
|
||||
};
|
||||
|
||||
struct J2DAnmTransformFullInfo {
|
||||
/* 0x00 */ u16 mScaleMaxFrame;
|
||||
/* 0x02 */ u16 mScaleOffset;
|
||||
/* 0x04 */ u16 mRotationMaxFrame;
|
||||
/* 0x06 */ u16 mRotationOffset;
|
||||
/* 0x08 */ u16 mTranslateMaxFrame;
|
||||
/* 0x0A */ u16 mTranslateOffset;
|
||||
}; // Size = 0xC
|
||||
|
||||
class J2DAnmTransformFull : public J2DAnmTransform {
|
||||
public:
|
||||
J2DAnmTransformFull() : J2DAnmTransform(NULL, NULL, NULL) { mTableInfo = NULL; }
|
||||
/* 8030CDAC */ virtual ~J2DAnmTransformFull() {}
|
||||
/* 8030A590 */ virtual void getTransform(u16, J3DTransformInfo*) const;
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 field_0x1c[6];
|
||||
/* 0x22 */ u16 field_0x22;
|
||||
/* 0x24 */ J2DAnmTransformFullInfo* mTableInfo;
|
||||
/* 0x24 */ J3DAnmTransformFullTable* mTableInfo;
|
||||
};
|
||||
|
||||
struct J2DAnmTextureSRTKeyInfo {
|
||||
J3DAnmKeyTableBase mScaleInfo;
|
||||
J3DAnmKeyTableBase mRotationInfo;
|
||||
J3DAnmKeyTableBase mTranslationInfo;
|
||||
}; // Size = 0x12
|
||||
|
||||
class J2DAnmTextureSRTKey : public J2DAnmBase {
|
||||
public:
|
||||
J2DAnmTextureSRTKey() {
|
||||
field_0x10 = 0;
|
||||
field_0x1e = 0;
|
||||
field_0x1c = 0;
|
||||
field_0x1a = 0;
|
||||
mUpdateMaterialNum = 0;
|
||||
mInfoTable = NULL;
|
||||
mTranslationValues = NULL;
|
||||
mScaleValues = NULL;
|
||||
mRotationValues = NULL;
|
||||
field_0x4c = 0;
|
||||
field_0x4a = 0;
|
||||
field_0x48 = 0;
|
||||
field_0x4e = 0;
|
||||
field_0x5c = NULL;
|
||||
field_0x58 = NULL;
|
||||
field_0x50 = NULL;
|
||||
field_0x54 = NULL;
|
||||
field_0x7c = 0;
|
||||
mKind = KIND_TEXTURE_SRT;
|
||||
}
|
||||
/* 8030B9F0 */ void calcTransform(f32, u16, J3DTextureSRTInfo*) const;
|
||||
|
||||
/* 80184274 */ virtual ~J2DAnmTextureSRTKey() {}
|
||||
/* 8030BC60 */ virtual void searchUpdateMaterialID(J2DScreen*);
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; }
|
||||
|
||||
private:
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ J2DAnmTextureSRTKeyInfo* mInfoTable;
|
||||
/* 0x14 */ J3DAnmTransformKeyTable* mInfoTable;
|
||||
/* 0x18 */ u16 mUpdateMaterialNum;
|
||||
/* 0x1A */ u16 field_0x1a;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1E */ u16 field_0x1e;
|
||||
/* 0x20 */ f32* mScaleValues;
|
||||
/* 0x24 */ s16* mRotationValues;
|
||||
/* 0x28 */ f32* mTranslationValues;
|
||||
/* 0x2C */ u8* mUpdateTexMtxID;
|
||||
/* 0x30 */ u16* mUpdateMaterialID;
|
||||
/* 0x34 */ JUTNameTab field_0x34;
|
||||
/* 0x44 */ u8 field_0x44[4];
|
||||
/* 0x44 */ Vec* field_0x44;
|
||||
/* 0x48 */ u16 field_0x48;
|
||||
/* 0x4A */ u16 field_0x4a;
|
||||
/* 0x4C */ u16 field_0x4c;
|
||||
/* 0x4E */ u16 field_0x4e;
|
||||
/* 0x50 */ int field_0x50;
|
||||
/* 0x54 */ int field_0x54;
|
||||
/* 0x58 */ int field_0x58;
|
||||
/* 0x5C */ int field_0x5c;
|
||||
/* 0x60 */ u8 field_0x60[8];
|
||||
/* 0x50 */ f32* field_0x50;
|
||||
/* 0x54 */ s16* field_0x54;
|
||||
/* 0x58 */ f32* field_0x58;
|
||||
/* 0x5C */ J3DAnmTransformKeyTable* field_0x5c;
|
||||
/* 0x60 */ u8* field_0x60;
|
||||
/* 0x64 */ u16* field_0x64;
|
||||
/* 0x68 */ JUTNameTab field_0x68;
|
||||
/* 0x78 */ u8 field_0x78[4];
|
||||
/* 0x78 */ Vec* field_0x78;
|
||||
/* 0x7C */ int field_0x7c;
|
||||
};
|
||||
|
||||
struct J2DAnmTexPatternInfo {
|
||||
/* 0x00 */ u16 mMaxFrame;
|
||||
/* 0x02 */ u16 mOffset;
|
||||
/* 0x04 */ u16 _4;
|
||||
/* 0x06 */ u16 _6;
|
||||
}; // Size = 0x8
|
||||
|
||||
class J2DAnmTexPattern : public J2DAnmBase {
|
||||
public:
|
||||
struct J2DAnmTexPatternTIMGPointer {
|
||||
|
|
@ -211,6 +228,15 @@ public:
|
|||
/* 0x4 */ JUTPalette* mPalette;
|
||||
}; // Size: 0x8
|
||||
|
||||
J2DAnmTexPattern() {
|
||||
mValues = NULL;
|
||||
mAnmTable = NULL;
|
||||
mKind = KIND_TEX_PATTERN;
|
||||
mUpdateMaterialNum = 0;
|
||||
mUpdaterMaterialID = NULL;
|
||||
mTIMGPtrArray = NULL;
|
||||
}
|
||||
|
||||
/* 8030BEE8 */ void getTexNo(u16, u16*) const;
|
||||
/* 8030BF9C */ ResTIMG* getResTIMG(u16) const;
|
||||
/* 8030BFF0 */ JUTPalette* getPalette(u16) const;
|
||||
|
|
@ -219,33 +245,46 @@ public:
|
|||
/* 8030BD10 */ virtual void searchUpdateMaterialID(J2DScreen*);
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
|
||||
private:
|
||||
/* 0x10 */ u16* mValues;
|
||||
/* 0x14 */ J2DAnmTexPatternInfo* mAnmTable;
|
||||
/* 0x18 */ u8 field_0x18[2];
|
||||
/* 0x14 */ J3DAnmTexPatternFullTable* mAnmTable;
|
||||
/* 0x18 */ u16 field_0x18;
|
||||
/* 0x1A */ u16 mUpdateMaterialNum;
|
||||
/* 0x1C */ u16* mUpdaterMaterialID;
|
||||
/* 0x20 */ JUTNameTab field_0x20;
|
||||
/* 0x30 */ J2DAnmTexPatternTIMGPointer* mTIMGPtrArray;
|
||||
};
|
||||
|
||||
struct J2DAnmTevRegKeyInfo {
|
||||
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||
/* 0x0C */ J3DAnmKeyTableBase mBTable;
|
||||
/* 0x12 */ J3DAnmKeyTableBase mATable;
|
||||
/* 0x18 */ u8 _18[4];
|
||||
}; // Size = 0x1C
|
||||
|
||||
class J2DAnmTevRegKey : public J2DAnmBase {
|
||||
public:
|
||||
J2DAnmTevRegKey() {
|
||||
mKRegUpdateMaterialNum = 0;
|
||||
mCRegUpdateMaterialNum = 0;
|
||||
field_0x1a = 0;
|
||||
field_0x18 = 0;
|
||||
field_0x16 = 0;
|
||||
field_0x14 = 0;
|
||||
field_0x22 = 0;
|
||||
field_0x20 = 0;
|
||||
field_0x1e = 0;
|
||||
field_0x1c = 0;
|
||||
mKRegUpdateMaterialID = NULL;
|
||||
mCRegUpdateMaterialID = NULL;
|
||||
mCAValues = NULL;
|
||||
mCBValues = NULL;
|
||||
mCGValues = NULL;
|
||||
mCRValues = NULL;
|
||||
mKAValues = NULL;
|
||||
mKBValues = NULL;
|
||||
mKGValues = NULL;
|
||||
mKRValues = NULL;
|
||||
mKind = KIND_TEV_REG;
|
||||
}
|
||||
/* 8030C0F0 */ void getTevColorReg(u16, _GXColorS10*) const;
|
||||
/* 8030C3B4 */ void getTevKonstReg(u16, _GXColor*) const;
|
||||
|
||||
/* 801841EC */ virtual ~J2DAnmTevRegKey() {}
|
||||
/* 8030C678 */ virtual void searchUpdateMaterialID(J2DScreen* pScreen);
|
||||
|
||||
private:
|
||||
/* 0x10 */ u16 mCRegUpdateMaterialNum;
|
||||
/* 0x12 */ u16 mKRegUpdateMaterialNum;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
|
|
@ -257,11 +296,11 @@ private:
|
|||
/* 0x20 */ u16 field_0x20;
|
||||
/* 0x22 */ u16 field_0x22;
|
||||
/* 0x24 */ u16* mCRegUpdateMaterialID;
|
||||
/* 0x28 */ JUTNameTab field_0x28;
|
||||
/* 0x28 */ JUTNameTab mCRegNameTab;
|
||||
/* 0x38 */ u16* mKRegUpdateMaterialID;
|
||||
/* 0x3C */ JUTNameTab field_0x3c;
|
||||
/* 0x4C */ J2DAnmTevRegKeyInfo* mAnmCRegKeyTable;
|
||||
/* 0x50 */ J2DAnmTevRegKeyInfo* mAnmKRegKeyTable;
|
||||
/* 0x3C */ JUTNameTab mKRegNameTab;
|
||||
/* 0x4C */ J3DAnmCRegKeyTable* mAnmCRegKeyTable;
|
||||
/* 0x50 */ J3DAnmKRegKeyTable* mAnmKRegKeyTable;
|
||||
/* 0x54 */ s16* mCRValues;
|
||||
/* 0x58 */ s16* mCGValues;
|
||||
/* 0x5C */ s16* mCBValues;
|
||||
|
|
@ -274,12 +313,20 @@ private:
|
|||
|
||||
class J2DAnmColor : public J2DAnmBase {
|
||||
public:
|
||||
J2DAnmColor() {
|
||||
field_0x16 = 0;
|
||||
field_0x14 = 0;
|
||||
field_0x12 = 0;
|
||||
field_0x10 = 0;
|
||||
mUpdateMaterialNum = 0;
|
||||
mUpdateMaterialID = NULL;
|
||||
mKind = KIND_COLOR;
|
||||
}
|
||||
/* 801842FC */ virtual ~J2DAnmColor() {}
|
||||
/* 8030AF24 */ virtual void searchUpdateMaterialID(J2DScreen*);
|
||||
/* 802EB390 */ virtual void getColor(u16, _GXColor*) const;
|
||||
u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; }
|
||||
|
||||
private:
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
|
|
@ -289,24 +336,23 @@ private:
|
|||
/* 0x20 */ JUTNameTab field_0x20;
|
||||
}; // Size: 0x30
|
||||
|
||||
struct J2DAnmColorKeyInfo {
|
||||
J3DAnmKeyTableBase mRInfo;
|
||||
J3DAnmKeyTableBase mGInfo;
|
||||
J3DAnmKeyTableBase mBInfo;
|
||||
J3DAnmKeyTableBase mAInfo;
|
||||
}; // Size = 0x18
|
||||
|
||||
class J2DAnmColorKey : public J2DAnmColor {
|
||||
public:
|
||||
J2DAnmColorKey() {
|
||||
mRValues = NULL;
|
||||
mGValues = NULL;
|
||||
mBValues = NULL;
|
||||
mAValues = NULL;
|
||||
mInfoTable = NULL;
|
||||
}
|
||||
/* 80239BE0 */ virtual ~J2DAnmColorKey() {}
|
||||
/* 8030B200 */ virtual void getColor(u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x30 */ s16* mRValues;
|
||||
/* 0x34 */ s16* mGValues;
|
||||
/* 0x38 */ s16* mBValues;
|
||||
/* 0x3C */ s16* mAValues;
|
||||
/* 0x40 */ J2DAnmColorKeyInfo* mInfoTable;
|
||||
/* 0x40 */ J3DAnmColorKeyTable* mInfoTable;
|
||||
};
|
||||
|
||||
struct J2DAnmColorFullInfo {
|
||||
|
|
@ -322,15 +368,21 @@ struct J2DAnmColorFullInfo {
|
|||
|
||||
class J2DAnmColorFull : public J2DAnmColor {
|
||||
public:
|
||||
J2DAnmColorFull() {
|
||||
mRValues = NULL;
|
||||
mGValues = NULL;
|
||||
mBValues = NULL;
|
||||
mAValues = NULL;
|
||||
mInfoTable = NULL;
|
||||
}
|
||||
/* 8030CCF8 */ virtual ~J2DAnmColorFull() {}
|
||||
/* 8030AFC8 */ virtual void getColor(u16, _GXColor*) const;
|
||||
|
||||
private:
|
||||
/* 0x30 */ u8* mRValues;
|
||||
/* 0x34 */ u8* mGValues;
|
||||
/* 0x38 */ u8* mBValues;
|
||||
/* 0x3C */ u8* mAValues;
|
||||
/* 0x40 */ J2DAnmColorFullInfo* mInfoTable;
|
||||
/* 0x40 */ J3DAnmColorFullTable* mInfoTable;
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
|
|
|
|||
|
|
@ -11,12 +11,24 @@ struct J2DAnmLoaderDataBase {
|
|||
|
||||
class J2DAnmLoader {
|
||||
public:
|
||||
virtual void load(void const*) = 0;
|
||||
virtual void* load(void const*) = 0;
|
||||
virtual void setResource(J2DAnmBase*, void const*) = 0;
|
||||
/* 8030A410 */ virtual ~J2DAnmLoader();
|
||||
/* 8030A410 */ virtual ~J2DAnmLoader() {}
|
||||
void* _4;
|
||||
};
|
||||
|
||||
struct J3DAnmTransformKeyData;
|
||||
struct J3DAnmTransformKeyData {
|
||||
/* 0x00 */ u8 _0[0x8];
|
||||
/* 0x08 */ u8 _8;
|
||||
/* 0x09 */ u8 _9;
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 _C;
|
||||
/* 0x0E */ u8 _E[0x14 - 0xE];
|
||||
/* 0x14 */ s32 mTableOffset;
|
||||
/* 0x18 */ s32 mScaleOffset;
|
||||
/* 0x1C */ s32 mRotationOffset;
|
||||
/* 0x20 */ s32 mTranslateOffset;
|
||||
};
|
||||
struct J3DAnmTextureSRTKeyData;
|
||||
struct J3DAnmColorKeyData;
|
||||
struct J3DAnmVtxColorKeyData;
|
||||
|
|
@ -41,9 +53,11 @@ public:
|
|||
/* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
|
||||
/* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
|
||||
|
||||
/* 80309308 */ virtual void load(void const*);
|
||||
/* 80309308 */ virtual void* load(void const*);
|
||||
/* 80309414 */ virtual void setResource(J2DAnmBase*, void const*);
|
||||
/* 803092AC */ virtual ~J2DAnmKeyLoader_v15();
|
||||
|
||||
// /* 0x04 */ void* _4;
|
||||
};
|
||||
|
||||
class J2DAnmFullLoader_v15 : public J2DAnmLoader {
|
||||
|
|
@ -60,9 +74,11 @@ public:
|
|||
/* 8030A234 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
|
||||
/* 8030A25C */ void setAnmVtxColor(J2DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
|
||||
|
||||
/* 80309A80 */ virtual void load(void const*);
|
||||
/* 80309A80 */ virtual void* load(void const*);
|
||||
/* 80309B8C */ virtual void setResource(J2DAnmBase*, void const*);
|
||||
/* 80309D04 */ virtual ~J2DAnmFullLoader_v15();
|
||||
|
||||
// void* _4;
|
||||
};
|
||||
|
||||
#endif /* J2DANMLOADER_H */
|
||||
|
|
|
|||
|
|
@ -6,6 +6,274 @@
|
|||
#include "dolphin/gx/GX.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DAnmKeyTableBase {
|
||||
/* 0x00 */ u16 mMaxFrame;
|
||||
/* 0x02 */ u16 mOffset;
|
||||
/* 0x04 */ u16 mType;
|
||||
}; // Size = 0x6
|
||||
|
||||
struct J3DAnmColorKeyTable {
|
||||
J3DAnmKeyTableBase mRInfo;
|
||||
J3DAnmKeyTableBase mGInfo;
|
||||
J3DAnmKeyTableBase mBInfo;
|
||||
J3DAnmKeyTableBase mAInfo;
|
||||
}; // Size = 0x18
|
||||
|
||||
struct J3DAnmVtxColorIndexData;
|
||||
|
||||
struct J3DAnmColorFullTable {
|
||||
/* 0x00 */ u16 mRMaxFrame;
|
||||
/* 0x02 */ u16 mROffset;
|
||||
/* 0x04 */ u16 mGMaxFrame;
|
||||
/* 0x06 */ u16 mGOffset;
|
||||
/* 0x08 */ u16 mBMaxFrame;
|
||||
/* 0x0A */ u16 mBOffset;
|
||||
/* 0x0C */ u16 mAMaxFrame;
|
||||
/* 0x0E */ u16 mAOffset;
|
||||
}; // Size = 0x10
|
||||
|
||||
struct J3DAnmVisibilityFullTable {
|
||||
u16 _0;
|
||||
u16 _2;
|
||||
}; // Size = 0x4
|
||||
|
||||
struct J3DAnmTransformKeyTable {
|
||||
J3DAnmKeyTableBase mScaleInfo;
|
||||
J3DAnmKeyTableBase mRotationInfo;
|
||||
J3DAnmKeyTableBase mTranslateInfo;
|
||||
}; // Size = 0x12
|
||||
|
||||
struct J3DAnmTransformFullTable {
|
||||
/* 0x00 */ u16 mScaleMaxFrame;
|
||||
/* 0x02 */ u16 mScaleOffset;
|
||||
/* 0x04 */ u16 mRotationMaxFrame;
|
||||
/* 0x06 */ u16 mRotationOffset;
|
||||
/* 0x08 */ u16 mTranslateMaxFrame;
|
||||
/* 0x0A */ u16 mTranslateOffset;
|
||||
}; // Size = 0xC
|
||||
|
||||
struct J3DAnmTexPatternFullTable {
|
||||
/* 0x00 */ u16 mMaxFrame;
|
||||
/* 0x02 */ u16 mOffset;
|
||||
/* 0x04 */ u16 _4;
|
||||
/* 0x06 */ u16 _6;
|
||||
}; // Size = 0x8
|
||||
|
||||
struct J3DAnmCRegKeyTable {
|
||||
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||
/* 0x0C */ J3DAnmKeyTableBase mBTable;
|
||||
/* 0x12 */ J3DAnmKeyTableBase mATable;
|
||||
/* 0x18 */ u8 _18[4];
|
||||
}; // Size = 0x1C
|
||||
|
||||
struct J3DAnmKRegKeyTable {
|
||||
/* 0x00 */ J3DAnmKeyTableBase mRTable;
|
||||
/* 0x06 */ J3DAnmKeyTableBase mGTable;
|
||||
/* 0x0C */ J3DAnmKeyTableBase mBTable;
|
||||
/* 0x12 */ J3DAnmKeyTableBase mATable;
|
||||
/* 0x18 */ u8 _18[4];
|
||||
}; // Size = 0x1C
|
||||
|
||||
struct J3DAnmDataBlockHeader { // actual name unknown
|
||||
/* 0x0 */ u32 mType;
|
||||
/* 0x4 */ u32 mNextOffset;
|
||||
}; // Size = 0x8
|
||||
|
||||
struct J3DAnmDataHeader { // actual name unknown
|
||||
/* 0x00 */ u32 mMagic;
|
||||
/* 0x04 */ u32 mType;
|
||||
/* 0x08 */ u8 _8[4];
|
||||
/* 0x0C */ u32 mCount;
|
||||
/* 0x10 */ u8 _10[0x20 - 0x10];
|
||||
/* 0x20 */ J3DAnmDataBlockHeader mFirst;
|
||||
};
|
||||
|
||||
struct J3DAnmVtxColorFullData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9; // padding?
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 mAnmTableNum[2];
|
||||
/* 0x10 */ u8 field_0x10[0x18 - 0x10];
|
||||
/* 0x18 */ s32 mTableOffsets[2];
|
||||
/* 0x20 */ s32 mVtxColorIndexDataOffsets[2];
|
||||
/* 0x28 */ s32 mVtxColorIndexPointerOffsets[2];
|
||||
/* 0x30 */ s32 mRValuesOffset;
|
||||
/* 0x34 */ s32 mGValuesOffset;
|
||||
/* 0x38 */ s32 mBValuesOffset;
|
||||
/* 0x3C */ s32 mAValuesOffset;
|
||||
}; // Size = 0x40
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmVtxColorFullData) == 0x40);
|
||||
|
||||
struct J3DAnmVisibilityFullData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9; // padding?
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ s32 mTableOffset;
|
||||
/* 0x14 */ s32 mValuesOffset;
|
||||
}; // Size = 0x18
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmVisibilityFullData) == 0x18);
|
||||
|
||||
struct J3DAnmTransformFullData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u8 field_0xe[0x14 - 0xe];
|
||||
/* 0x14 */ s32 mTableOffset;
|
||||
/* 0x18 */ s32 mScaleValOffset;
|
||||
/* 0x1C */ s32 mRotValOffset;
|
||||
/* 0x20 */ s32 mTransValOffset;
|
||||
}; // Size = 0x24
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmTransformFullData) == 0x24);
|
||||
|
||||
struct J3DAnmColorKeyData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9[3];
|
||||
/* 0x0C */ s16 mFrameMax;
|
||||
/* 0x0E */ u16 mUpdateMaterialNum;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 field_0x16;
|
||||
/* 0x18 */ s32 mTableOffset; /* Created by retype action */
|
||||
/* 0x1C */ s32 mUpdateMaterialIDOffset;
|
||||
/* 0x20 */ s32 mNameTabOffset; /* Created by retype action */
|
||||
/* 0x24 */ s32 mRValOffset;
|
||||
/* 0x28 */ s32 mGValOffset;
|
||||
/* 0x2C */ s32 mBValOffset;
|
||||
/* 0x30 */ s32 mAValOffset;
|
||||
}; // Size = 0x34
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmColorKeyData) == 0x34);
|
||||
|
||||
struct J3DAnmTextureSRTKeyData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ s16 field_0xa;
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ s32 mTableOffset;
|
||||
/* 0x18 */ s32 mUpdateMatIDOffset;
|
||||
/* 0x1C */ s32 mNameTab1Offset;
|
||||
/* 0x20 */ s32 mUpdateTexMtxIDOffset;
|
||||
/* 0x24 */ s32 unkOffset;
|
||||
/* 0x28 */ s32 mScaleValOffset;
|
||||
/* 0x2C */ s32 mRotValOffset;
|
||||
/* 0x30 */ s32 mTransValOffset;
|
||||
/* 0x34 */ u16 field_0x34;
|
||||
/* 0x36 */ u16 field_0x36;
|
||||
/* 0x38 */ u16 field_0x38;
|
||||
/* 0x3A */ u16 field_0x3a;
|
||||
/* 0x3C */ s32 mInfoTable2Offset;
|
||||
/* 0x40 */ s32 field_0x40;
|
||||
/* 0x44 */ u32 mNameTab2Offset;
|
||||
/* 0x48 */ s32 field_0x48;
|
||||
/* 0x4C */ s32 field_0x4c;
|
||||
/* 0x50 */ s32 field_0x50;
|
||||
/* 0x54 */ s32 field_0x54;
|
||||
/* 0x58 */ s32 field_0x58;
|
||||
/* 0x5C */ s32 field_0x5c;
|
||||
}; // Size = 0x60
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmTextureSRTKeyData) == 0x60);
|
||||
|
||||
struct J3DAnmVtxColorKeyData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 mAnmTableNum[2];
|
||||
/* 0x10 */ u8 field_0x10[0x18 - 0x10];
|
||||
/* 0x18 */ s32 mTableOffsets[2];
|
||||
/* 0x20 */ s32 mVtxColoIndexDataOffset[2];
|
||||
/* 0x28 */ s32 mVtxColoIndexPointerOffset[2];
|
||||
/* 0x30 */ s32 mRValOffset;
|
||||
/* 0x34 */ s32 mGValOffset;
|
||||
/* 0x38 */ s32 mBValOffset;
|
||||
/* 0x3C */ s32 mAValOffset;
|
||||
}; // Size = 0x40
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmVtxColorKeyData) == 0x40);
|
||||
|
||||
struct J3DAnmTexPatternFullData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 field_0xc;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ s32 mTableOffset;
|
||||
/* 0x14 */ s32 mValuesOffset;
|
||||
/* 0x18 */ s32 mUpdaterMaterialIDOffset;
|
||||
/* 0x1C */ s32 mNameTabOffset;
|
||||
}; // Size = 0x20
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmTexPatternFullData) == 0x20);
|
||||
|
||||
struct J3DAnmTevRegKeyData {
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9; // maybe padding
|
||||
/* 0x0A */ s16 mFrameMax;
|
||||
/* 0x0C */ u16 mCRegUpdateMaterialNum;
|
||||
/* 0x0E */ u16 mKRegUpdateMaterialNum;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ u16 field_0x14;
|
||||
/* 0x16 */ u16 field_0x16;
|
||||
/* 0x18 */ u16 field_0x18;
|
||||
/* 0x1A */ u16 field_0x1a;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1E */ u16 field_0x1e;
|
||||
/* 0x20 */ s32 mCRegTableOffset;
|
||||
/* 0x24 */ s32 mKRegTableOffset;
|
||||
/* 0x28 */ s32 mCRegUpdateMaterialIDOffset;
|
||||
/* 0x2C */ s32 mKRegUpdateMaterialIDOffset;
|
||||
/* 0x30 */ s32 mCRegNameTabOffset;
|
||||
/* 0x34 */ s32 mKRegNameTabOffset;
|
||||
/* 0x38 */ s32 mCRValuesOffset;
|
||||
/* 0x3C */ s32 mCGValuesOffset;
|
||||
/* 0x40 */ s32 mCBValuesOffset;
|
||||
/* 0x44 */ s32 mCAValuesOffset;
|
||||
/* 0x48 */ s32 mKRValuesOffset;
|
||||
/* 0x4C */ s32 mKGValuesOffset;
|
||||
/* 0x50 */ s32 mKBValuesOffset;
|
||||
/* 0x54 */ s32 mKAValuesOffset;
|
||||
}; // Size = 0x58
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmTevRegKeyData) == 0x58);
|
||||
|
||||
struct J3DAnmColorFullData { /* PlaceHolder Structure */
|
||||
/* 0x00 */ J3DAnmDataBlockHeader mHeader;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9[3];
|
||||
/* 0x0C */ s16 mFrameMax;
|
||||
/* 0x0E */ u16 mUpdateMaterialNum;
|
||||
/* 0x10 */ u8 field_0x10[0x18 - 0x10];
|
||||
/* 0x18 */ s32 mTableOffset;
|
||||
/* 0x1C */ s32 mUpdateMaterialIDOffset;
|
||||
/* 0x20 */ s32 mNameTabOffset;
|
||||
/* 0x24 */ s32 mRValuesOffset;
|
||||
/* 0x28 */ s32 mGValuesOffset;
|
||||
/* 0x2C */ s32 mBValuesOffset;
|
||||
/* 0x30 */ s32 mAValuesOffset;
|
||||
}; // Size = 0x34
|
||||
|
||||
STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34);
|
||||
|
||||
class J3DAnmBase {
|
||||
public:
|
||||
virtual ~J3DAnmBase();
|
||||
|
|
@ -75,11 +343,6 @@ class J3DAnmTransformFullWithLerp : public J3DAnmTransformFull {
|
|||
struct J3DTextureSRTInfo;
|
||||
struct J3DModelData;
|
||||
struct J3DMaterialTable;
|
||||
struct J3DAnmKeyTableBase {
|
||||
/* 0x00 */ u16 mMaxFrame;
|
||||
/* 0x02 */ u16 mOffset;
|
||||
/* 0x04 */ u16 mType;
|
||||
}; // Size = 0x6
|
||||
|
||||
class J3DAnmTextureSRTKey : public J3DAnmBase {
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef JSUPPORT_H
|
||||
#define JSUPPORT_H
|
||||
|
||||
template <typename T>
|
||||
T* JSUConvertOffsetToPtr(const void* ptr, const void* offset) {
|
||||
if (ptr == NULL) {
|
||||
return NULL;
|
||||
} else {
|
||||
return (T*)((s32)ptr + (s32)offset);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -21,9 +21,9 @@ f32 J2DGetKeyFrameInterpolations(f32 param_0, J3DAnmKeyTableBase* param_1, s16*
|
|||
* getTransform__19J2DAnmTransformFullCFUsP16J3DTransformInfo */
|
||||
void J2DAnmTransformFull::getTransform(u16 param_0, J3DTransformInfo* transformInfo) const {
|
||||
u16 idx = (param_0 * 3);
|
||||
J2DAnmTransformFullInfo* xPart = &mTableInfo[idx];
|
||||
J2DAnmTransformFullInfo* yPart = &mTableInfo[idx + 1];
|
||||
J2DAnmTransformFullInfo* zPart = &mTableInfo[idx + 2];
|
||||
J3DAnmTransformFullTable* xPart = &mTableInfo[idx];
|
||||
J3DAnmTransformFullTable* yPart = &mTableInfo[idx + 1];
|
||||
J3DAnmTransformFullTable* zPart = &mTableInfo[idx + 2];
|
||||
u16 xMaxFrame = xPart->mScaleMaxFrame;
|
||||
if (getFrame() < 0) {
|
||||
transformInfo->mScale.x = mScaleValues[xPart->mScaleOffset];
|
||||
|
|
@ -103,9 +103,9 @@ void J2DAnmTransformFull::getTransform(u16 param_0, J3DTransformInfo* transformI
|
|||
void J2DAnmTransformKey::calcTransform(f32 param_0, u16 param_1,
|
||||
J3DTransformInfo* transformInfo) const {
|
||||
u16 idx = param_1 * 3;
|
||||
J2DAnmTransformKeyInfo* xInf = &mInfoTable[idx];
|
||||
J2DAnmTransformKeyInfo* yInf = &mInfoTable[idx + 1];
|
||||
J2DAnmTransformKeyInfo* zInf = &mInfoTable[idx + 2];
|
||||
J3DAnmTransformKeyTable* xInf = &mInfoTable[idx];
|
||||
J3DAnmTransformKeyTable* yInf = &mInfoTable[idx + 1];
|
||||
J3DAnmTransformKeyTable* zInf = &mInfoTable[idx + 2];
|
||||
switch (xInf->mScaleInfo.mMaxFrame) {
|
||||
case 0:
|
||||
transformInfo->mScale.x = 1;
|
||||
|
|
@ -230,7 +230,7 @@ void J2DAnmColor::searchUpdateMaterialID(J2DScreen* pScreen) {
|
|||
|
||||
/* 8030AFC8-8030B200 305908 0238+00 1/0 0/0 0/0 .text getColor__15J2DAnmColorFullCFUsP8_GXColor */
|
||||
void J2DAnmColorFull::getColor(u16 param_0, _GXColor* pColor) const {
|
||||
J2DAnmColorFullInfo* info = &mInfoTable[param_0];
|
||||
J3DAnmColorFullTable* info = &mInfoTable[param_0];
|
||||
u16 maxFrame = info->mRMaxFrame;
|
||||
if (getFrame() < 0) {
|
||||
pColor->r = mRValues[info->mROffset];
|
||||
|
|
@ -267,7 +267,7 @@ void J2DAnmColorFull::getColor(u16 param_0, _GXColor* pColor) const {
|
|||
|
||||
/* 8030B200-8030B4C4 305B40 02C4+00 1/0 0/0 0/0 .text getColor__14J2DAnmColorKeyCFUsP8_GXColor */
|
||||
void J2DAnmColorKey::getColor(u16 param_0, _GXColor* pColor) const {
|
||||
J2DAnmColorKeyInfo* info = &mInfoTable[param_0];
|
||||
J3DAnmColorKeyTable* info = &mInfoTable[param_0];
|
||||
f32 val;
|
||||
switch (info->mRInfo.mMaxFrame) {
|
||||
case 0:
|
||||
|
|
@ -346,7 +346,7 @@ void J2DAnmColorKey::getColor(u16 param_0, _GXColor* pColor) const {
|
|||
/* 8030B4C4-8030B704 305E04 0240+00 1/0 0/0 0/0 .text
|
||||
* getColor__18J2DAnmVtxColorFullCFUcUsP8_GXColor */
|
||||
void J2DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* pColor) const {
|
||||
J2DAnmVtxColorFullInfo* info = &mInfoTable[param_0][param_1];
|
||||
J3DAnmColorFullTable* info = &mInfoTable[param_0][param_1];
|
||||
u16 maxFrame = info->mRMaxFrame;
|
||||
if (getFrame() < 0) {
|
||||
pColor->r = mRValues[info->mROffset];
|
||||
|
|
@ -384,7 +384,7 @@ void J2DAnmVtxColorFull::getColor(u8 param_0, u16 param_1, _GXColor* pColor) con
|
|||
/* 8030B704-8030B9F0 306044 02EC+00 1/0 0/0 0/0 .text
|
||||
* getColor__17J2DAnmVtxColorKeyCFUcUsP8_GXColor */
|
||||
void J2DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* pColor) const {
|
||||
J2DAnmVtxColorKeyInfo* info = &mInfoTable[param_0][param_1];
|
||||
J3DAnmColorKeyTable* info = &mInfoTable[param_0][param_1];
|
||||
f32 val;
|
||||
switch (info->mRInfo.mMaxFrame) {
|
||||
case 0:
|
||||
|
|
@ -464,9 +464,9 @@ void J2DAnmVtxColorKey::getColor(u8 param_0, u16 param_1, _GXColor* pColor) cons
|
|||
* calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo */
|
||||
void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, J3DTextureSRTInfo* pInfo) const {
|
||||
u16 idx = param_1 * 3;
|
||||
J2DAnmTextureSRTKeyInfo* xInf = &mInfoTable[idx];
|
||||
J2DAnmTextureSRTKeyInfo* yInf = &mInfoTable[idx + 1];
|
||||
J2DAnmTextureSRTKeyInfo* zInf = &mInfoTable[idx + 2];
|
||||
J3DAnmTransformKeyTable* xInf = &mInfoTable[idx];
|
||||
J3DAnmTransformKeyTable* yInf = &mInfoTable[idx + 1];
|
||||
J3DAnmTransformKeyTable* zInf = &mInfoTable[idx + 2];
|
||||
switch (xInf->mScaleInfo.mMaxFrame) {
|
||||
case 0:
|
||||
pInfo->mScaleX = 1;
|
||||
|
|
@ -502,27 +502,27 @@ void J2DAnmTextureSRTKey::calcTransform(f32 param_0, u16 param_1, J3DTextureSRTI
|
|||
param_0, &zInf->mRotationInfo, &mRotationValues[zInf->mRotationInfo.mOffset]))
|
||||
<< field_0x10;
|
||||
}
|
||||
switch (xInf->mTranslationInfo.mMaxFrame) {
|
||||
switch (xInf->mTranslateInfo.mMaxFrame) {
|
||||
case 0:
|
||||
pInfo->mTranslationX = 0;
|
||||
break;
|
||||
case 1:
|
||||
pInfo->mTranslationX = mTranslationValues[xInf->mTranslationInfo.mOffset];
|
||||
pInfo->mTranslationX = mTranslationValues[xInf->mTranslateInfo.mOffset];
|
||||
break;
|
||||
default:
|
||||
pInfo->mTranslationX = J2DGetKeyFrameInterpolationf(
|
||||
param_0, &xInf->mTranslationInfo, &mTranslationValues[xInf->mTranslationInfo.mOffset]);
|
||||
param_0, &xInf->mTranslateInfo, &mTranslationValues[xInf->mTranslateInfo.mOffset]);
|
||||
}
|
||||
switch (yInf->mTranslationInfo.mMaxFrame) {
|
||||
switch (yInf->mTranslateInfo.mMaxFrame) {
|
||||
case 0:
|
||||
pInfo->mTranslationY = 0;
|
||||
break;
|
||||
case 1:
|
||||
pInfo->mTranslationY = mTranslationValues[yInf->mTranslationInfo.mOffset];
|
||||
pInfo->mTranslationY = mTranslationValues[yInf->mTranslateInfo.mOffset];
|
||||
break;
|
||||
default:
|
||||
pInfo->mTranslationY = J2DGetKeyFrameInterpolationf(
|
||||
param_0, &yInf->mTranslationInfo, &mTranslationValues[yInf->mTranslationInfo.mOffset]);
|
||||
param_0, &yInf->mTranslateInfo, &mTranslationValues[yInf->mTranslateInfo.mOffset]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -621,21 +621,21 @@ JUTPalette* J2DAnmTexPattern::getPalette(u16 param_0) const {
|
|||
/* 8030C048-8030C0F0 306988 00A8+00 0/0 3/3 0/0 .text getVisibility__20J2DAnmVisibilityFullCFUsPUc
|
||||
*/
|
||||
void J2DAnmVisibilityFull::getVisibility(u16 param_0, u8* pOut) const {
|
||||
u16 maxFrame = field_0x14[param_0]._0;
|
||||
u16 maxFrame = mTable[param_0]._0;
|
||||
if (getFrame() < 0) {
|
||||
*pOut = field_0x18[field_0x14[param_0]._2];
|
||||
*pOut = mValues[mTable[param_0]._2];
|
||||
} else if (getFrame() >= maxFrame) {
|
||||
*pOut = field_0x18[field_0x14[param_0]._2 + (maxFrame - 1)];
|
||||
*pOut = mValues[mTable[param_0]._2 + (maxFrame - 1)];
|
||||
} else {
|
||||
int frame = getFrame();
|
||||
*pOut = field_0x18[field_0x14[param_0]._2 + frame];
|
||||
*pOut = mValues[mTable[param_0]._2 + frame];
|
||||
}
|
||||
}
|
||||
|
||||
/* 8030C0F0-8030C3B4 306A30 02C4+00 0/0 1/1 0/0 .text
|
||||
* getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10 */
|
||||
void J2DAnmTevRegKey::getTevColorReg(u16 param_0, _GXColorS10* pColor) const {
|
||||
J2DAnmTevRegKeyInfo* info = &mAnmCRegKeyTable[param_0];
|
||||
J3DAnmCRegKeyTable* info = &mAnmCRegKeyTable[param_0];
|
||||
f32 val;
|
||||
switch (info->mRTable.mMaxFrame) {
|
||||
case 0:
|
||||
|
|
@ -714,7 +714,7 @@ void J2DAnmTevRegKey::getTevColorReg(u16 param_0, _GXColorS10* pColor) const {
|
|||
/* 8030C3B4-8030C678 306CF4 02C4+00 0/0 1/1 0/0 .text
|
||||
* getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor */
|
||||
void J2DAnmTevRegKey::getTevKonstReg(u16 param_0, _GXColor* pColor) const {
|
||||
J2DAnmTevRegKeyInfo* info = &mAnmKRegKeyTable[param_0];
|
||||
J3DAnmKRegKeyTable* info = &mAnmKRegKeyTable[param_0];
|
||||
f32 val;
|
||||
switch (info->mRTable.mMaxFrame) {
|
||||
case 0:
|
||||
|
|
@ -795,7 +795,7 @@ void J2DAnmTevRegKey::getTevKonstReg(u16 param_0, _GXColor* pColor) const {
|
|||
void J2DAnmTevRegKey::searchUpdateMaterialID(J2DScreen* pScreen) {
|
||||
if (pScreen != NULL && pScreen->mNameTable != NULL) {
|
||||
for (u16 i = 0; i < mCRegUpdateMaterialNum; i++) {
|
||||
s32 idx = pScreen->mNameTable->getIndex(field_0x28.getName(i));
|
||||
s32 idx = pScreen->mNameTable->getIndex(mCRegNameTab.getName(i));
|
||||
if (idx != -1) {
|
||||
mCRegUpdateMaterialID[i] = idx;
|
||||
} else {
|
||||
|
|
@ -803,7 +803,7 @@ void J2DAnmTevRegKey::searchUpdateMaterialID(J2DScreen* pScreen) {
|
|||
}
|
||||
}
|
||||
for (u16 i = 0; i < mKRegUpdateMaterialNum; i++) {
|
||||
s32 idx = pScreen->mNameTable->getIndex(field_0x3c.getName(i));
|
||||
s32 idx = pScreen->mNameTable->getIndex(mKRegNameTab.getName(i));
|
||||
if (idx != -1) {
|
||||
mKRegUpdateMaterialID[i] = idx;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,9 @@
|
|||
// Translation Unit: J2DAnmLoader
|
||||
//
|
||||
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "JSystem/J2DGraph/J2DAnimation.h"
|
||||
// See J2DAnmLoader_nonmatching.cpp
|
||||
|
||||
// #include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
|
|
@ -12,6 +13,15 @@
|
|||
// Types:
|
||||
//
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct ResNTAB {};
|
||||
|
||||
struct JUTNameTab {
|
||||
/* 802DE9A0 */ JUTNameTab();
|
||||
/* 802DEA1C */ void setResource(ResNTAB const*);
|
||||
};
|
||||
|
||||
struct J3DAnmVtxColorKeyData {};
|
||||
|
||||
struct J3DAnmVtxColorFullData {};
|
||||
|
|
@ -34,6 +44,79 @@ struct J3DAnmColorFullData {};
|
|||
|
||||
struct J2DScreen {};
|
||||
|
||||
struct J2DAnmVtxColorKey {};
|
||||
|
||||
struct J2DAnmVtxColorFull {};
|
||||
|
||||
struct J2DAnmVtxColor {
|
||||
/* 8030363C */ void getColor(u8, u16, _GXColor*) const;
|
||||
/* 8030A358 */ ~J2DAnmVtxColor();
|
||||
};
|
||||
|
||||
struct J2DAnmVisibilityFull {
|
||||
/* 8030A3B4 */ ~J2DAnmVisibilityFull();
|
||||
};
|
||||
|
||||
struct J2DAnmTransformKey {};
|
||||
|
||||
struct J2DAnmTransformFull {};
|
||||
|
||||
struct J2DAnmTextureSRTKey {};
|
||||
|
||||
struct J2DAnmTexPattern {};
|
||||
|
||||
struct J2DAnmTevRegKey {};
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
/* 80308A6C */ void load(void const*);
|
||||
};
|
||||
|
||||
struct J2DAnmLoader {
|
||||
/* 8030A410 */ ~J2DAnmLoader();
|
||||
};
|
||||
|
||||
struct J2DAnmBase {
|
||||
/* 800569B0 */ void searchUpdateMaterialID(J2DScreen*);
|
||||
};
|
||||
|
||||
struct J2DAnmColorKey {};
|
||||
|
||||
struct J2DAnmKeyLoader_v15 {
|
||||
/* 80309290 */ J2DAnmKeyLoader_v15();
|
||||
/* 803092AC */ ~J2DAnmKeyLoader_v15();
|
||||
/* 80309308 */ void load(void const*);
|
||||
/* 80309414 */ void setResource(J2DAnmBase*, void const*);
|
||||
/* 80309570 */ void readAnmTransform(J3DAnmTransformKeyData const*);
|
||||
/* 80309598 */ void setAnmTransform(J2DAnmTransformKey*, J3DAnmTransformKeyData const*);
|
||||
/* 80309634 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*);
|
||||
/* 8030965C */ void setAnmTextureSRT(J2DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*);
|
||||
/* 80309848 */ void readAnmColor(J3DAnmColorKeyData const*);
|
||||
/* 80309870 */ void setAnmColor(J2DAnmColorKey*, J3DAnmColorKeyData const*);
|
||||
/* 8030995C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*);
|
||||
/* 80309984 */ void setAnmVtxColor(J2DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*);
|
||||
/* 80309FDC */ void readAnmTevReg(J3DAnmTevRegKeyData const*);
|
||||
/* 8030A004 */ void setAnmTevReg(J2DAnmTevRegKey*, J3DAnmTevRegKeyData const*);
|
||||
};
|
||||
|
||||
struct J2DAnmColorFull {};
|
||||
|
||||
struct J2DAnmFullLoader_v15 {
|
||||
/* 80309A80 */ void load(void const*);
|
||||
/* 80309B8C */ void setResource(J2DAnmBase*, void const*);
|
||||
/* 80309CE8 */ J2DAnmFullLoader_v15();
|
||||
/* 80309D04 */ ~J2DAnmFullLoader_v15();
|
||||
/* 80309D60 */ void readAnmTransform(J3DAnmTransformFullData const*);
|
||||
/* 80309D88 */ void setAnmTransform(J2DAnmTransformFull*, J3DAnmTransformFullData const*);
|
||||
/* 80309E1C */ void readAnmColor(J3DAnmColorFullData const*);
|
||||
/* 80309E44 */ void setAnmColor(J2DAnmColorFull*, J3DAnmColorFullData const*);
|
||||
/* 80309F10 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*);
|
||||
/* 80309F38 */ void setAnmTexPattern(J2DAnmTexPattern*, J3DAnmTexPatternFullData const*);
|
||||
/* 8030A190 */ void readAnmVisibility(J3DAnmVisibilityFullData const*);
|
||||
/* 8030A1B8 */ void setAnmVisibility(J2DAnmVisibilityFull*, J3DAnmVisibilityFullData const*);
|
||||
/* 8030A234 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*);
|
||||
/* 8030A25C */ void setAnmVtxColor(J2DAnmVtxColorFull*, J3DAnmVtxColorFullData const*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -77,19 +160,19 @@ setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFu
|
|||
extern "C" void __dt__14J2DAnmVtxColorFv();
|
||||
extern "C" void __dt__20J2DAnmVisibilityFullFv();
|
||||
extern "C" void __dt__12J2DAnmLoaderFv();
|
||||
extern "C" void func_8030A458(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A470(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A488(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A4A0(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A4B8(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A4D0(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A4E8(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A500(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A518(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A530(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A548(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A560(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A578(void* _this, void const*, void const*);
|
||||
extern "C" void func_8030A458(void const*, void const*);
|
||||
extern "C" void func_8030A470(void const*, void const*);
|
||||
extern "C" void func_8030A488(void const*, void const*);
|
||||
extern "C" void func_8030A4A0(void const*, void const*);
|
||||
extern "C" void func_8030A4B8(void const*, void const*);
|
||||
extern "C" void func_8030A4D0(void const*, void const*);
|
||||
extern "C" void func_8030A4E8(void const*, void const*);
|
||||
extern "C" void func_8030A500(void const*, void const*);
|
||||
extern "C" void func_8030A518(void const*, void const*);
|
||||
extern "C" void func_8030A530(void const*, void const*);
|
||||
extern "C" void func_8030A548(void const*, void const*);
|
||||
extern "C" void func_8030A560(void const*, void const*);
|
||||
extern "C" void func_8030A578(void const*, void const*);
|
||||
|
||||
//
|
||||
// External References:
|
||||
|
|
@ -100,8 +183,8 @@ extern "C" void* __nw__FUl();
|
|||
extern "C" void __dl__FPv();
|
||||
extern "C" void __ct__10JUTNameTabFv();
|
||||
extern "C" void setResource__10JUTNameTabFPC7ResNTAB();
|
||||
extern "C" void func_802F4260(void* _this, void const*, void const*);
|
||||
extern "C" void func_802F42C0(void* _this, void const*, void const*);
|
||||
extern "C" void func_802F4260(void const*, void const*);
|
||||
extern "C" void func_802F42C0(void const*, void const*);
|
||||
extern "C" void getColor__14J2DAnmVtxColorCFUcUsP8_GXColor();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
|
|
@ -177,7 +260,7 @@ SECTION_SDATA2 static f32 lit_1581[1 + 1 /* padding */] = {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void* J2DAnmLoaderDataBase::load(void const* param_0) {
|
||||
asm void J2DAnmLoaderDataBase::load(void const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmLoaderDataBaseFPCv.s"
|
||||
}
|
||||
|
|
@ -207,8 +290,7 @@ asm J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void load__19J2DAnmKeyLoader_v15FPCv() {
|
||||
// asm void J2DAnmKeyLoader_v15::load(void const* param_0) {
|
||||
asm void J2DAnmKeyLoader_v15::load(void const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__19J2DAnmKeyLoader_v15FPCv.s"
|
||||
}
|
||||
|
|
@ -321,8 +403,7 @@ asm void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* param_0,
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void load__20J2DAnmFullLoader_v15FPCv() {
|
||||
// asm void J2DAnmFullLoader_v15::load(void const* param_0) {
|
||||
asm void J2DAnmFullLoader_v15::load(void const* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/load__20J2DAnmFullLoader_v15FPCv.s"
|
||||
}
|
||||
|
|
@ -501,8 +582,7 @@ asm void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* param_0,
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm J2DAnmVtxColor::~J2DAnmVtxColor() {
|
||||
extern "C" asm void __dt__14J2DAnmVtxColorFv() {
|
||||
asm J2DAnmVtxColor::~J2DAnmVtxColor() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__14J2DAnmVtxColorFv.s"
|
||||
}
|
||||
|
|
@ -512,8 +592,7 @@ extern "C" asm void __dt__14J2DAnmVtxColorFv() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm J2DAnmVisibilityFull::~J2DAnmVisibilityFull() {
|
||||
extern "C" asm void __dt__20J2DAnmVisibilityFullFv() {
|
||||
asm J2DAnmVisibilityFull::~J2DAnmVisibilityFull() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__20J2DAnmVisibilityFullFv.s"
|
||||
}
|
||||
|
|
@ -523,8 +602,7 @@ extern "C" asm void __dt__20J2DAnmVisibilityFullFv() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm J2DAnmLoader::~J2DAnmLoader() {
|
||||
extern "C" asm void __dt__12J2DAnmLoaderFv() {
|
||||
asm J2DAnmLoader::~J2DAnmLoader() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/__dt__12J2DAnmLoaderFv.s"
|
||||
}
|
||||
|
|
@ -535,7 +613,7 @@ extern "C" asm void __dt__12J2DAnmLoaderFv() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A458(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A458(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A458.s"
|
||||
}
|
||||
|
|
@ -546,7 +624,7 @@ extern "C" asm void func_8030A458(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A470(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A470(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A470.s"
|
||||
}
|
||||
|
|
@ -557,7 +635,7 @@ extern "C" asm void func_8030A470(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A488(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A488(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A488.s"
|
||||
}
|
||||
|
|
@ -568,7 +646,7 @@ extern "C" asm void func_8030A488(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A4A0(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A4A0(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4A0.s"
|
||||
}
|
||||
|
|
@ -579,7 +657,7 @@ extern "C" asm void func_8030A4A0(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A4B8(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A4B8(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4B8.s"
|
||||
}
|
||||
|
|
@ -590,7 +668,7 @@ extern "C" asm void func_8030A4B8(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A4D0(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A4D0(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4D0.s"
|
||||
}
|
||||
|
|
@ -601,7 +679,7 @@ extern "C" asm void func_8030A4D0(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A4E8(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A4E8(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A4E8.s"
|
||||
}
|
||||
|
|
@ -612,7 +690,7 @@ extern "C" asm void func_8030A4E8(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A500(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A500(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A500.s"
|
||||
}
|
||||
|
|
@ -622,7 +700,7 @@ extern "C" asm void func_8030A500(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A518(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A518(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A518.s"
|
||||
}
|
||||
|
|
@ -633,7 +711,7 @@ extern "C" asm void func_8030A518(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A530(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A530(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A530.s"
|
||||
}
|
||||
|
|
@ -644,7 +722,7 @@ extern "C" asm void func_8030A530(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A548(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A548(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A548.s"
|
||||
}
|
||||
|
|
@ -655,7 +733,7 @@ extern "C" asm void func_8030A548(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A560(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A560(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A560.s"
|
||||
}
|
||||
|
|
@ -666,7 +744,7 @@ extern "C" asm void func_8030A560(void* _this, void const* param_0, void const*
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
extern "C" asm void func_8030A578(void* _this, void const* param_0, void const* param_1) {
|
||||
extern "C" asm void func_8030A578(void const* param_0, void const* param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/J2DGraph/J2DAnmLoader/func_8030A578.s"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,547 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: J2DAnmLoader
|
||||
//
|
||||
|
||||
// non matching because some dtors are emitted immediately after
|
||||
// J2DAnmLoaderDataBase::load but they should be at the very end
|
||||
|
||||
#include "JSystem/J2DGraph/J2DAnimation.h"
|
||||
#include "JSystem/J2DGraph/J2DAnmLoader.h"
|
||||
#include "JSystem/JSupport/JSupport.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
/* 80308A6C-80309290 3033AC 0824+00 0/0 26/26 2/2 .text load__20J2DAnmLoaderDataBaseFPCv
|
||||
*/
|
||||
void* J2DAnmLoaderDataBase::load(void const* param_0) {
|
||||
const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)param_0;
|
||||
if (hdr == NULL) {
|
||||
return NULL;
|
||||
} else if (hdr->mMagic == 'J3D1') {
|
||||
switch (hdr->mType) {
|
||||
case 'bck1': {
|
||||
J2DAnmKeyLoader_v15 loader;
|
||||
loader._4 = new J2DAnmTransformKey();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'bpk1': {
|
||||
J2DAnmKeyLoader_v15 loader;
|
||||
loader._4 = new J2DAnmColorKey();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'blk1':
|
||||
return NULL;
|
||||
case 'btk1': {
|
||||
J2DAnmKeyLoader_v15 loader;
|
||||
loader._4 = new J2DAnmTextureSRTKey();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'brk1': {
|
||||
J2DAnmKeyLoader_v15 loader;
|
||||
loader._4 = new J2DAnmTevRegKey();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'bxk1': {
|
||||
J2DAnmKeyLoader_v15 loader;
|
||||
loader._4 = new J2DAnmVtxColorKey();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'bca1': {
|
||||
J2DAnmFullLoader_v15 loader;
|
||||
loader._4 = new J2DAnmTransformFull();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'bpa1': {
|
||||
J2DAnmFullLoader_v15 loader;
|
||||
loader._4 = new J2DAnmColorFull();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'btp1': {
|
||||
J2DAnmFullLoader_v15 loader;
|
||||
loader._4 = new J2DAnmTexPattern();
|
||||
return loader.load(param_0);
|
||||
}
|
||||
case 'bva1': {
|
||||
J2DAnmFullLoader_v15 loader;
|
||||
loader._4 = new J2DAnmVisibilityFull();
|
||||
return loader.load(param_0);
|
||||
break;
|
||||
}
|
||||
case 'bla1':
|
||||
return NULL;
|
||||
case 'bxa1': {
|
||||
J2DAnmFullLoader_v15 loader;
|
||||
loader._4 = new J2DAnmVtxColorFull();
|
||||
return loader.load(param_0);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80309290-803092AC 303BD0 001C+00 1/1 0/0 0/0 .text __ct__19J2DAnmKeyLoader_v15Fv */
|
||||
J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {}
|
||||
|
||||
/* 803092AC-80309308 303BEC 005C+00 2/1 0/0 0/0 .text __dt__19J2DAnmKeyLoader_v15Fv */
|
||||
J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() {}
|
||||
|
||||
/* 80309308-80309414 303C48 010C+00 2/1 0/0 0/0 .text load__19J2DAnmKeyLoader_v15FPCv */
|
||||
void* J2DAnmKeyLoader_v15::load(void const* param_0) {
|
||||
const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)param_0;
|
||||
const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
|
||||
for (s32 i = 0; i < hdr->mCount; i++) {
|
||||
switch (dataPtr->mType) {
|
||||
case 'ANK1':
|
||||
this->readAnmTransform((J3DAnmTransformKeyData*)dataPtr);
|
||||
break;
|
||||
case 'PAK1':
|
||||
this->readAnmColor((J3DAnmColorKeyData*)dataPtr);
|
||||
break;
|
||||
case 'TTK1':
|
||||
this->readAnmTextureSRT((J3DAnmTextureSRTKeyData*)dataPtr);
|
||||
break;
|
||||
case 'VCK1':
|
||||
this->readAnmVtxColor((J3DAnmVtxColorKeyData*)dataPtr);
|
||||
break;
|
||||
case 'TRK1':
|
||||
this->readAnmTevReg((J3DAnmTevRegKeyData*)dataPtr);
|
||||
break;
|
||||
}
|
||||
dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
|
||||
}
|
||||
return _4;
|
||||
}
|
||||
|
||||
/* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text
|
||||
* setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */
|
||||
void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* pAnm, void const* param_1) {
|
||||
const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)param_1;
|
||||
const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
|
||||
for (s32 i = 0; i < hdr->mCount; i++) {
|
||||
switch (dataPtr->mType) {
|
||||
case 'ANK1':
|
||||
if (pAnm->getKind() == KIND_TRANSFORM) {
|
||||
this->setAnmTransform((J2DAnmTransformKey*)pAnm, (J3DAnmTransformKeyData*)dataPtr);
|
||||
}
|
||||
break;
|
||||
case 'PAK1':
|
||||
if (pAnm->getKind() == KIND_COLOR) {
|
||||
this->setAnmColor((J2DAnmColorKey*)pAnm, (J3DAnmColorKeyData*)dataPtr);
|
||||
}
|
||||
break;
|
||||
case 'TTK1':
|
||||
if (pAnm->getKind() == KIND_TEXTURE_SRT) {
|
||||
this->setAnmTextureSRT((J2DAnmTextureSRTKey*)pAnm,
|
||||
(J3DAnmTextureSRTKeyData*)dataPtr);
|
||||
}
|
||||
break;
|
||||
case 'TRK1':
|
||||
if (pAnm->getKind() == KIND_TEV_REG) {
|
||||
this->setAnmTevReg((J2DAnmTevRegKey*)pAnm, (J3DAnmTevRegKeyData*)dataPtr);
|
||||
}
|
||||
break;
|
||||
case 'VCK1':
|
||||
if (pAnm->getKind() == KIND_VTX_COLOR) {
|
||||
this->setAnmVtxColor((J2DAnmVtxColorKey*)pAnm, (J3DAnmVtxColorKeyData*)dataPtr);
|
||||
}
|
||||
break;
|
||||
}
|
||||
dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80309570-80309598 303EB0 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData */
|
||||
void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* pData) {
|
||||
this->setAnmTransform((J2DAnmTransformKey*)_4, pData);
|
||||
}
|
||||
|
||||
/* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text
|
||||
* setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData */
|
||||
void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* param_0,
|
||||
J3DAnmTransformKeyData const* param_1) {
|
||||
param_0->field_0x22 = param_1->_C;
|
||||
param_0->mFrameMax = param_1->mFrameMax;
|
||||
param_0->field_0x4 = param_1->_8;
|
||||
param_0->field_0x24 = param_1->_9;
|
||||
param_0->mFrame = 0;
|
||||
param_0->mInfoTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(param_1, (void*)param_1->mTableOffset);
|
||||
param_0->mScaleValues = JSUConvertOffsetToPtr<f32>(param_1, (void*)param_1->mScaleOffset);
|
||||
param_0->mRotationValues = JSUConvertOffsetToPtr<s16>(param_1, (void*)param_1->mRotationOffset);
|
||||
param_0->mTranslateValues =
|
||||
JSUConvertOffsetToPtr<f32>(param_1, (void*)param_1->mTranslateOffset);
|
||||
}
|
||||
|
||||
/* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */
|
||||
void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) {
|
||||
this->setAnmTextureSRT((J2DAnmTextureSRTKey*)_4, param_0);
|
||||
}
|
||||
|
||||
/* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text
|
||||
* setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */
|
||||
void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* pAnm,
|
||||
J3DAnmTextureSRTKeyData const* pData) {
|
||||
pAnm->mUpdateMaterialNum = pData->field_0xc;
|
||||
pAnm->mFrameMax = pData->field_0xa;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->field_0x10 = pData->field_0x9;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mUpdateMaterialNum = pData->field_0xc;
|
||||
pAnm->field_0x1a = pData->field_0xe;
|
||||
pAnm->field_0x1c = pData->field_0x10;
|
||||
pAnm->field_0x1e = pData->field_0x12;
|
||||
pAnm->mInfoTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(pData, (void*)pData->mTableOffset);
|
||||
pAnm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mUpdateMatIDOffset);
|
||||
pAnm->field_0x34.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTab1Offset));
|
||||
pAnm->mUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mUpdateTexMtxIDOffset);
|
||||
pAnm->field_0x44 = JSUConvertOffsetToPtr<Vec>(pData, (void*)pData->unkOffset);
|
||||
pAnm->mScaleValues = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->mScaleValOffset);
|
||||
pAnm->mRotationValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mRotValOffset);
|
||||
pAnm->mTranslationValues = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->mTransValOffset);
|
||||
if (pData->mNameTab2Offset != 0) {
|
||||
pAnm->field_0x68.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTab2Offset));
|
||||
}
|
||||
pAnm->field_0x4e = pData->field_0x34;
|
||||
pAnm->field_0x48 = pData->field_0x36;
|
||||
pAnm->field_0x4a = pData->field_0x38;
|
||||
pAnm->field_0x4c = pData->field_0x3a;
|
||||
pAnm->field_0x5c =
|
||||
JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(pData, (void*)pData->mInfoTable2Offset);
|
||||
pAnm->field_0x64 = JSUConvertOffsetToPtr<u16>(pData, (void*)pData->field_0x40);
|
||||
pAnm->field_0x60 = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->field_0x48);
|
||||
pAnm->field_0x78 = JSUConvertOffsetToPtr<Vec>(pData, (void*)pData->field_0x48);
|
||||
pAnm->field_0x50 = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->field_0x50);
|
||||
pAnm->field_0x54 = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->field_0x54);
|
||||
pAnm->field_0x58 = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->field_0x58);
|
||||
switch (pData->field_0x5c) {
|
||||
case 0:
|
||||
pAnm->field_0x7c = 0;
|
||||
break;
|
||||
case 1:
|
||||
pAnm->field_0x7c = 1;
|
||||
break;
|
||||
default:
|
||||
pAnm->field_0x7c = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80309848-80309870 304188 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData */
|
||||
void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* pData) {
|
||||
this->setAnmColor((J2DAnmColorKey*)_4, pData);
|
||||
}
|
||||
|
||||
/* 80309870-8030995C 3041B0 00EC+00 2/2 0/0 0/0 .text
|
||||
* setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData */
|
||||
void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* pAnm, J3DAnmColorKeyData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mUpdateMaterialNum = pData->mUpdateMaterialNum;
|
||||
pAnm->field_0x10 = pData->field_0x10;
|
||||
pAnm->field_0x12 = pData->field_0x12;
|
||||
pAnm->field_0x14 = pData->field_0x14;
|
||||
pAnm->field_0x16 = pData->field_0x16;
|
||||
pAnm->mInfoTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(pData, (void*)pData->mTableOffset);
|
||||
pAnm->mRValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mRValOffset);
|
||||
pAnm->mGValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mGValOffset);
|
||||
pAnm->mBValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mBValOffset);
|
||||
pAnm->mAValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mAValOffset);
|
||||
pAnm->mUpdateMaterialID =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mUpdateMaterialIDOffset);
|
||||
pAnm->field_0x20.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTabOffset));
|
||||
}
|
||||
|
||||
/* 8030995C-80309984 30429C 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */
|
||||
void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* pData) {
|
||||
this->setAnmVtxColor((J2DAnmVtxColorKey*)_4, pData);
|
||||
}
|
||||
|
||||
/* 80309984-80309A80 3042C4 00FC+00 2/2 0/0 0/0 .text
|
||||
* setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */
|
||||
void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* pAnm,
|
||||
J3DAnmVtxColorKeyData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mAnmTableNum[0] = pData->mAnmTableNum[0];
|
||||
pAnm->mAnmTableNum[1] = pData->mAnmTableNum[1];
|
||||
pAnm->mInfoTable[0] =
|
||||
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(pData, (void*)pData->mTableOffsets[0]);
|
||||
pAnm->mInfoTable[1] =
|
||||
JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(pData, (void*)pData->mTableOffsets[1]);
|
||||
pAnm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
|
||||
pData, (void*)pData->mVtxColoIndexDataOffset[0]);
|
||||
pAnm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
|
||||
pData, (void*)pData->mVtxColoIndexDataOffset[1]);
|
||||
pAnm->mVtxColorIndexPointer[0] =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mVtxColoIndexPointerOffset[0]);
|
||||
pAnm->mVtxColorIndexPointer[1] =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mVtxColoIndexPointerOffset[1]);
|
||||
pAnm->mRValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mRValOffset);
|
||||
pAnm->mGValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mGValOffset);
|
||||
pAnm->mBValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mBValOffset);
|
||||
pAnm->mAValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mAValOffset);
|
||||
}
|
||||
|
||||
/* 80309A80-80309B8C 3043C0 010C+00 2/1 0/0 0/0 .text load__20J2DAnmFullLoader_v15FPCv */
|
||||
void* J2DAnmFullLoader_v15::load(void const* param_0) {
|
||||
const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)param_0;
|
||||
const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
|
||||
for (s32 i = 0; i < hdr->mCount; i++) {
|
||||
switch (dataPtr->mType) {
|
||||
case 'ANF1':
|
||||
this->readAnmTransform((J3DAnmTransformFullData*)dataPtr);
|
||||
break;
|
||||
case 'PAF1':
|
||||
this->readAnmColor((J3DAnmColorFullData*)dataPtr);
|
||||
break;
|
||||
case 'TPT1':
|
||||
this->readAnmTexPattern((J3DAnmTexPatternFullData*)dataPtr);
|
||||
break;
|
||||
case 'VAF1':
|
||||
this->readAnmVisibility((J3DAnmVisibilityFullData*)dataPtr);
|
||||
break;
|
||||
case 'VCF1':
|
||||
this->readAnmVtxColor((J3DAnmVtxColorFullData*)dataPtr);
|
||||
break;
|
||||
}
|
||||
dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
|
||||
}
|
||||
return _4;
|
||||
}
|
||||
|
||||
/* 80309B8C-80309CE8 3044CC 015C+00 1/0 0/0 0/0 .text
|
||||
* setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv */
|
||||
void J2DAnmFullLoader_v15::setResource(J2DAnmBase* pAnm, void const* pData) {
|
||||
const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)pData;
|
||||
const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst;
|
||||
for (s32 i = 0; i < hdr->mCount; i++) {
|
||||
switch (dataPtr->mType) {
|
||||
case 'ANF1':
|
||||
if (pAnm->getKind() == KIND_TRANSFORM)
|
||||
this->setAnmTransform((J2DAnmTransformFull*)pAnm,
|
||||
(J3DAnmTransformFullData*)dataPtr);
|
||||
break;
|
||||
case 'PAF1':
|
||||
if (pAnm->getKind() == KIND_COLOR)
|
||||
this->setAnmColor((J2DAnmColorFull*)pAnm, (J3DAnmColorFullData*)dataPtr);
|
||||
break;
|
||||
case 'TPT1':
|
||||
if (pAnm->getKind() == KIND_TEX_PATTERN)
|
||||
this->setAnmTexPattern((J2DAnmTexPattern*)pAnm, (J3DAnmTexPatternFullData*)dataPtr);
|
||||
break;
|
||||
case 'VAF1':
|
||||
if (pAnm->getKind() == KIND_VISIBILITY)
|
||||
this->setAnmVisibility((J2DAnmVisibilityFull*)pAnm,
|
||||
(J3DAnmVisibilityFullData*)dataPtr);
|
||||
break;
|
||||
case 'VCF1':
|
||||
if (pAnm->getKind() == KIND_VTX_COLOR)
|
||||
this->setAnmVtxColor((J2DAnmVtxColorFull*)pAnm, (J3DAnmVtxColorFullData*)dataPtr);
|
||||
break;
|
||||
}
|
||||
dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80309CE8-80309D04 304628 001C+00 1/1 0/0 0/0 .text __ct__20J2DAnmFullLoader_v15Fv */
|
||||
J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() {}
|
||||
|
||||
/* 80309D04-80309D60 304644 005C+00 2/1 0/0 0/0 .text __dt__20J2DAnmFullLoader_v15Fv */
|
||||
J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() {}
|
||||
|
||||
/* 80309D60-80309D88 3046A0 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData */
|
||||
void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* pData) {
|
||||
this->setAnmTransform((J2DAnmTransformFull*)_4, pData);
|
||||
}
|
||||
|
||||
/* 80309D88-80309E1C 3046C8 0094+00 2/2 0/0 0/0 .text
|
||||
* setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData */
|
||||
void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* pAnm,
|
||||
J3DAnmTransformFullData const* pData) {
|
||||
pAnm->field_0x22 = pData->field_0xc;
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mTableInfo =
|
||||
JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(pData, (void*)pData->mTableOffset);
|
||||
pAnm->mScaleValues = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->mScaleValOffset);
|
||||
pAnm->mRotationValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mRotValOffset);
|
||||
pAnm->mTranslateValues = JSUConvertOffsetToPtr<f32>(pData, (void*)pData->mTransValOffset);
|
||||
}
|
||||
|
||||
/* 80309E1C-80309E44 30475C 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData */
|
||||
void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* pData) {
|
||||
this->setAnmColor((J2DAnmColorFull*)_4, pData);
|
||||
}
|
||||
|
||||
/* 80309E44-80309F10 304784 00CC+00 2/2 0/0 0/0 .text
|
||||
* setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData */
|
||||
void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* pAnm, J3DAnmColorFullData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mUpdateMaterialNum = pData->mUpdateMaterialNum;
|
||||
pAnm->mInfoTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(pData, (void*)pData->mTableOffset);
|
||||
pAnm->mRValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mRValuesOffset);
|
||||
pAnm->mGValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mGValuesOffset);
|
||||
pAnm->mBValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mBValuesOffset);
|
||||
pAnm->mAValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mAValuesOffset);
|
||||
pAnm->mUpdateMaterialID =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mUpdateMaterialIDOffset);
|
||||
pAnm->field_0x20.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTabOffset));
|
||||
}
|
||||
|
||||
/* 80309F10-80309F38 304850 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */
|
||||
void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* pData) {
|
||||
this->setAnmTexPattern((J2DAnmTexPattern*)_4, pData);
|
||||
}
|
||||
|
||||
/* 80309F38-80309FDC 304878 00A4+00 2/2 0/0 0/0 .text
|
||||
* setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData */
|
||||
void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* pAnm,
|
||||
J3DAnmTexPatternFullData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mUpdateMaterialNum = pData->field_0xc;
|
||||
pAnm->field_0x18 = pData->field_0xe;
|
||||
pAnm->mAnmTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(pData, (void*)pData->mTableOffset);
|
||||
pAnm->mValues = JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mValuesOffset);
|
||||
pAnm->mUpdaterMaterialID =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mUpdaterMaterialIDOffset);
|
||||
pAnm->field_0x20.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mNameTabOffset));
|
||||
}
|
||||
|
||||
/* 80309FDC-8030A004 30491C 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */
|
||||
void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* pData) {
|
||||
this->setAnmTevReg((J2DAnmTevRegKey*)_4, pData);
|
||||
}
|
||||
|
||||
/* 8030A004-8030A190 304944 018C+00 2/2 0/0 0/0 .text
|
||||
* setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData */
|
||||
void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* pAnm, J3DAnmTevRegKeyData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mCRegUpdateMaterialNum = pData->mCRegUpdateMaterialNum;
|
||||
pAnm->mAnmCRegKeyTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmCRegKeyTable>(pData, (void*)pData->mCRegTableOffset);
|
||||
pAnm->mCRegUpdateMaterialID =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mCRegUpdateMaterialIDOffset);
|
||||
pAnm->mCRegNameTab.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mCRegNameTabOffset));
|
||||
pAnm->mKRegUpdateMaterialNum = pData->mKRegUpdateMaterialNum;
|
||||
pAnm->mAnmKRegKeyTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmKRegKeyTable>(pData, (void*)pData->mKRegTableOffset);
|
||||
pAnm->mKRegUpdateMaterialID =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mKRegUpdateMaterialIDOffset);
|
||||
pAnm->mKRegNameTab.setResource(
|
||||
JSUConvertOffsetToPtr<ResNTAB>(pData, (void*)pData->mKRegNameTabOffset));
|
||||
pAnm->field_0x14 = pData->field_0x10;
|
||||
pAnm->field_0x16 = pData->field_0x12;
|
||||
pAnm->field_0x18 = pData->field_0x14;
|
||||
pAnm->field_0x1a = pData->field_0x16;
|
||||
pAnm->mCRValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mCRValuesOffset);
|
||||
pAnm->mCGValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mCGValuesOffset);
|
||||
pAnm->mCBValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mCBValuesOffset);
|
||||
pAnm->mCAValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mCAValuesOffset);
|
||||
pAnm->field_0x1c = pData->field_0x18;
|
||||
pAnm->field_0x1e = pData->field_0x1a;
|
||||
pAnm->field_0x20 = pData->field_0x1c;
|
||||
pAnm->field_0x22 = pData->field_0x1e;
|
||||
pAnm->mKRValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mKRValuesOffset);
|
||||
pAnm->mKGValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mKGValuesOffset);
|
||||
pAnm->mKBValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mKBValuesOffset);
|
||||
pAnm->mKAValues = JSUConvertOffsetToPtr<s16>(pData, (void*)pData->mKAValuesOffset);
|
||||
}
|
||||
|
||||
/* 8030A190-8030A1B8 304AD0 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */
|
||||
void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* pData) {
|
||||
this->setAnmVisibility((J2DAnmVisibilityFull*)_4, pData);
|
||||
}
|
||||
|
||||
/* 8030A1B8-8030A234 304AF8 007C+00 2/2 0/0 0/0 .text
|
||||
* setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData */
|
||||
void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* pAnm,
|
||||
J3DAnmVisibilityFullData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->field_0x10 = pData->field_0xc;
|
||||
pAnm->field_0x12 = pData->field_0xe;
|
||||
pAnm->mTable =
|
||||
JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(pData, (void*)pData->mTableOffset);
|
||||
pAnm->mValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mValuesOffset);
|
||||
}
|
||||
|
||||
/* 8030A234-8030A25C 304B74 0028+00 1/1 0/0 0/0 .text
|
||||
* readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */
|
||||
void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* pData) {
|
||||
this->setAnmVtxColor((J2DAnmVtxColorFull*)_4, pData);
|
||||
}
|
||||
|
||||
/* 8030A25C-8030A358 304B9C 00FC+00 2/2 0/0 0/0 .text
|
||||
* setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData */
|
||||
void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* pAnm,
|
||||
J3DAnmVtxColorFullData const* pData) {
|
||||
pAnm->mFrameMax = pData->mFrameMax;
|
||||
pAnm->field_0x4 = pData->field_0x8;
|
||||
pAnm->mFrame = 0;
|
||||
pAnm->mAnmTableNum[0] = pData->mAnmTableNum[0];
|
||||
pAnm->mAnmTableNum[1] = pData->mAnmTableNum[1];
|
||||
pAnm->mInfoTable[0] =
|
||||
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(pData, (void*)pData->mTableOffsets[0]);
|
||||
pAnm->mInfoTable[1] =
|
||||
JSUConvertOffsetToPtr<J3DAnmColorFullTable>(pData, (void*)pData->mTableOffsets[1]);
|
||||
pAnm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
|
||||
pData, (void*)pData->mVtxColorIndexDataOffsets[0]);
|
||||
pAnm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(
|
||||
pData, (void*)pData->mVtxColorIndexDataOffsets[1]);
|
||||
pAnm->mVtxColorIndexPointer[0] =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mVtxColorIndexPointerOffsets[0]);
|
||||
pAnm->mVtxColorIndexPointer[1] =
|
||||
JSUConvertOffsetToPtr<u16>(pData, (void*)pData->mVtxColorIndexPointerOffsets[1]);
|
||||
pAnm->mRValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mRValuesOffset);
|
||||
pAnm->mGValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mGValuesOffset);
|
||||
pAnm->mBValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mBValuesOffset);
|
||||
pAnm->mAValues = JSUConvertOffsetToPtr<u8>(pData, (void*)pData->mAValuesOffset);
|
||||
}
|
||||
|
||||
/* 8030A358-8030A3B4 304C98 005C+00 1/0 0/0 0/0 .text __dt__14J2DAnmVtxColorFv */
|
||||
// J2DAnmVtxColor::~J2DAnmVtxColor() {}
|
||||
/* 8030A3B4-8030A410 304CF4 005C+00 1/0 0/0 0/0 .text __dt__20J2DAnmVisibilityFullFv */
|
||||
// J2DAnmVisibilityFull::~J2DAnmVisibilityFull() {}
|
||||
Loading…
Reference in New Issue