From 77798e67066ccefdd3b3eaffa8870e60e12a5d8f Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sun, 29 Oct 2023 00:14:56 -0700 Subject: [PATCH] J3DAnimation work --- .../JSystem/J3DGraphAnimator/J3DAnimation.h | 70 ++++---- src/JSystem/J3DGraphAnimator/J3DAnimation.cpp | 149 ++++++++++++++---- src/JSystem/J3DGraphBase/J3DMaterial.cpp | 70 ++++---- 3 files changed, 198 insertions(+), 91 deletions(-) diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 629b01d46..65ca8d10a 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -35,8 +35,8 @@ struct J3DAnmColorFullTable { }; // Size = 0x10 struct J3DAnmVisibilityFullTable { - u16 _0; - u16 _2; + u16 mMaxFrame; + u16 mOffset; }; // Size = 0x4 struct J3DAnmTransformKeyTable { @@ -367,9 +367,14 @@ public: u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; } u16 getUpdateMaterialNum() const { return mTrackNum / 3; } - JUTNameTab * getUpdateMaterialName() { return &mMaterialName; } + JUTNameTab * getUpdateMaterialName() { return &mUpdateMaterialName; } u16 getUpdateTexMtxID(u16 idx) const { return mUpdateTexMtxID[idx]; } + u16 getPostUpdateMaterialID(u16 idx) const { return mPostUpdateMaterialID[idx]; } + u16 getPostUpdateMaterialNum() const { return mPostTrackNum / 3; } + JUTNameTab * getPostUpdateMaterialName() { return &mPostUpdateMaterialName; } + u16 getPostUpdateTexMtxID(u16 idx) const { return mPostUpdateTexMtxID[idx]; } + u32 getTexMtxCalcType() const { return mTexMtxCalcType; } Vec& getSRTCenter(u16 idx) const { return mSRTCenter[idx]; } @@ -386,20 +391,20 @@ private: /* 0x2C */ f32* mTransData; /* 0x30 */ u8* mUpdateTexMtxID; /* 0x34 */ u16* mUpdateMaterialID; - /* 0x38 */ JUTNameTab mMaterialName; + /* 0x38 */ JUTNameTab mUpdateMaterialName; /* 0x48 */ Vec* mSRTCenter; - /* 0x4C */ u16 mPostTrackNum; + /* 0x4C */ void * field_0x4c; /* 0x50 */ void * mPostAnmTable; /* 0x54 */ void * field_0x54; /* 0x58 */ void * field_0x58; - /* 0x5C */ f32* mPostScaleData; - /* 0x60 */ f32* mPostRotData; - /* 0x64 */ f32* mPostTransData; + /* 0x5C */ void * field_0x5c; + /* 0x60 */ u16 mPostTrackNum; + /* 0x64 */ void * field_0x60; /* 0x68 */ u8* mPostUpdateTexMtxID; - /* 0x68 */ u16* mPostUpdateMaterialID; - /* 0x70 */ JUTNameTab mDualName; + /* 0x6C */ u16* mPostUpdateMaterialID; + /* 0x70 */ JUTNameTab mPostUpdateMaterialName; /* 0x80 */ Vec* mPostSRTCenter; - /* 0x80 */ u32 mTexMtxCalcType; + /* 0x84 */ u32 mTexMtxCalcType; }; // Size: 0x88 STATIC_ASSERT(sizeof(J3DAnmTextureSRTKey) == 0x88); @@ -407,17 +412,18 @@ STATIC_ASSERT(sizeof(J3DAnmTextureSRTKey) == 0x88); class J3DAnmVisibilityFull : public J3DAnmBase { public: J3DAnmVisibilityFull(); - bool getVisibility(u16, u8*) const; + void getVisibility(u16, u8*) const; virtual ~J3DAnmVisibilityFull(); virtual s32 getKind() const; + J3DAnmVisibilityFullTable * getAnmTable() const { return mAnmTable; } + private: /* 0x0C */ void* field_0xc; - /* 0x10 */ void* mAnmTable; - /* 0x14 */ u16 field_0x14; - /* 0x16 */ u16 mUpdateMaterialNum; - /* 0x18 */ u16* field_0x18; + /* 0x10 */ u16 mUpdateMaterialNum; + /* 0x14 */ J3DAnmVisibilityFullTable * mAnmTable; + /* 0x18 */ u8* mVisibility; /* 0x1C */ JUTNameTab field_0x1c; }; // Size: 0x2C @@ -430,6 +436,7 @@ public: u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; } u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; } + JUTNameTab * getUpdateMaterialName() { return &mUpdateMaterialName; } J3DAnmTexPatternFullTable * getAnmTable() const { return mAnmTable; } @@ -438,12 +445,12 @@ public: private: /* 0x0C */ void* field_0xc; - /* 0x10 */ s16* mTextureIndex; + /* 0x10 */ u16* mTextureIndex; /* 0x14 */ J3DAnmTexPatternFullTable* mAnmTable; /* 0x18 */ u16 field_0x18; /* 0x1A */ u16 mUpdateMaterialNum; /* 0x1C */ u16* mUpdateMaterialID; - /* 0x20 */ JUTNameTab mMaterialName; + /* 0x20 */ JUTNameTab mUpdateMaterialName; }; // Size: 0x2C class J3DAnmTevRegKey : public J3DAnmBase { @@ -463,6 +470,9 @@ public: u16 getCRegUpdateMaterialID(u16 idx) const { return mCRegUpdateMaterialID[idx]; } u16 getKRegUpdateMaterialID(u16 idx) const { return mKRegUpdateMaterialID[idx]; } + JUTNameTab * getCRegUpdateMaterialName() { return &mCRegUpdateMaterialName; } + JUTNameTab * getKRegUpdateMaterialName() { return &mKRegUpdateMaterialName; } + J3DAnmCRegKeyTable * getAnmCRegKeyTable() const { return mAnmCRegKeyTable; } J3DAnmKRegKeyTable * getAnmKRegKeyTable() const { return mAnmKRegKeyTable; } @@ -473,9 +483,9 @@ private: /* 0x14 */ u16 mCRegDataCount[4]; /* 0x1C */ u16 mKRegDataCount[4]; /* 0x24 */ u16* mCRegUpdateMaterialID; - /* 0x28 */ JUTNameTab mCRegNameTab; + /* 0x28 */ JUTNameTab mCRegUpdateMaterialName; /* 0x38 */ u16* mKRegUpdateMaterialID; - /* 0x3C */ JUTNameTab mKRegNameTab; + /* 0x3C */ JUTNameTab mKRegUpdateMaterialName; /* 0x4C */ J3DAnmCRegKeyTable* mAnmCRegKeyTable; /* 0x50 */ J3DAnmKRegKeyTable* mAnmKRegKeyTable; /* 0x54 */ s16 * mAnmCRegData[4]; @@ -494,6 +504,7 @@ public: u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; } bool isValidUpdateMaterialID(u16 id) const { return mUpdateMaterialID[id] != 0xFFFF; } u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; } + JUTNameTab * getUpdateMaterialName() { return &mUpdateMaterialName; } private: /* 0x0C */ u16 field_0xc; @@ -503,7 +514,7 @@ private: /* 0x14 */ u32 field_0x14; /* 0x18 */ u16 mUpdateMaterialNum; /* 0x1C */ u16* mUpdateMaterialID; - /* 0x20 */ JUTNameTab field_0x1c; + /* 0x20 */ JUTNameTab mUpdateMaterialName; }; // Size: 0x30 class J3DAnmColorKey : public J3DAnmColor { @@ -530,12 +541,14 @@ public: virtual s32 getKind() const; virtual void getColor(u16, GXColor*) const; + J3DAnmColorFullTable * getAnmTable() const { return mAnmTable; } + private: - /* 0x2C */ int field_0x2c; - /* 0x30 */ int field_0x30; - /* 0x34 */ int field_0x34; - /* 0x38 */ int field_0x38; - /* 0x3C */ int field_0x3c; + /* 0x30 */ u8 * mColorR; + /* 0x34 */ u8 * mColorG; + /* 0x38 */ u8 * mColorB; + /* 0x3C */ u8 * mColorA; + /* 0x40 */ J3DAnmColorFullTable * mAnmTable; }; class J3DAnmVtxColor : public J3DAnmBase { @@ -590,8 +603,11 @@ public: virtual s32 getKind() const; virtual f32 getWeight(u16) const; + J3DAnmVisibilityFullTable * getAnmTable() const { return mAnmTable; } + private: - /* 0x10 */ int field_0x10; + /* 0x10 */ f32 * mWeight; + /* 0x14 */ J3DAnmVisibilityFullTable * mAnmTable; }; class J3DAnmClusterKey : public J3DAnmCluster { diff --git a/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp b/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp index 0d3269537..41a754827 100644 --- a/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DAnimation.cpp @@ -232,8 +232,14 @@ void J3DAnmTextureSRTKey::calcTransform(f32, u16, J3DTextureSRTInfo*) const { } /* 802F10D4-802F1188 .text getWeight__17J3DAnmClusterFullCFUs */ -f32 J3DAnmClusterFull::getWeight(u16) const { - /* Nonmatching */ +f32 J3DAnmClusterFull::getWeight(u16 idx) const { + u16 maxFrame = getAnmTable()[idx].mMaxFrame; + if (0.0f <= getFrame() && getFrame() < maxFrame) + return mWeight[(s32)getFrame() + getAnmTable()[idx].mOffset]; + if (getFrame() < 0.0f) + return mWeight[getAnmTable()[idx].mOffset]; + else + return mWeight[maxFrame - 1 + getAnmTable()[idx].mOffset]; } /* 802F1188-802F120C .text getWeight__16J3DAnmClusterKeyCFUs */ @@ -242,81 +248,166 @@ f32 J3DAnmClusterKey::getWeight(u16) const { } /* 802F120C-802F14B4 .text getColor__18J3DAnmVtxColorFullCFUcUsP8_GXColor */ -void J3DAnmVtxColorFull::getColor(unsigned char, u16, _GXColor*) const { +void J3DAnmVtxColorFull::getColor(u8, u16, GXColor* dst) const { /* Nonmatching */ } /* 802F14B4-802F17D0 .text getColor__17J3DAnmVtxColorKeyCFUcUsP8_GXColor */ -void J3DAnmVtxColorKey::getColor(unsigned char, u16, _GXColor*) const { +void J3DAnmVtxColorKey::getColor(u8, u16, GXColor* dst) const { /* Nonmatching */ } /* 802F17D0-802F1868 .text searchUpdateMaterialID__11J3DAnmColorFP16J3DMaterialTable */ -void J3DAnmColor::searchUpdateMaterialID(J3DMaterialTable*) { - /* Nonmatching */ +void J3DAnmColor::searchUpdateMaterialID(J3DMaterialTable* table) { + for (u16 i = 0; i < getUpdateMaterialNum(); i++) { + s32 materialID = table->getMaterialName()->getIndex(getUpdateMaterialName()->getName(i)); + if (materialID != -1) + mUpdateMaterialID[i] = materialID; + else + mUpdateMaterialID[i] = 0xFFFF; + } } /* 802F1868-802F188C .text searchUpdateMaterialID__11J3DAnmColorFP12J3DModelData */ -void J3DAnmColor::searchUpdateMaterialID(J3DModelData*) { - /* Nonmatching */ +void J3DAnmColor::searchUpdateMaterialID(J3DModelData* modelData) { + searchUpdateMaterialID(&modelData->getMaterialTable()); } /* 802F188C-802F1BDC .text getColor__15J3DAnmColorFullCFUsP8_GXColor */ -void J3DAnmColorFull::getColor(u16, _GXColor*) const { - /* Nonmatching */ +void J3DAnmColorFull::getColor(u16 idx, GXColor* dst) const { + { + u16 maxFrame = getAnmTable()[idx].mRMaxFrame; + if (getFrame() < 0.0f) + dst->r = mColorR[getAnmTable()[idx].mROffset]; + if (getFrame() >= maxFrame) + dst->r = mColorR[maxFrame - 1 + getAnmTable()[idx].mROffset]; + if (0.0f <= getFrame() && getFrame() < maxFrame) + dst->r = mColorR[(s32)getFrame() + getAnmTable()[idx].mROffset]; + } + { + u16 maxFrame = getAnmTable()[idx].mGMaxFrame; + if (getFrame() < 0.0f) + dst->g = mColorG[getAnmTable()[idx].mGOffset]; + if (getFrame() >= maxFrame) + dst->g = mColorG[maxFrame - 1 + getAnmTable()[idx].mGOffset]; + if (0.0f <= getFrame() && getFrame() < maxFrame) + dst->g = mColorG[(s32)getFrame() + getAnmTable()[idx].mGOffset]; + } + { + u16 maxFrame = getAnmTable()[idx].mBMaxFrame; + if (getFrame() < 0.0f) + dst->b = mColorB[getAnmTable()[idx].mBOffset]; + if (getFrame() >= maxFrame) + dst->b = mColorB[maxFrame - 1 + getAnmTable()[idx].mBOffset]; + if (0.0f <= getFrame() && getFrame() < maxFrame) + dst->b = mColorB[(s32)getFrame() + getAnmTable()[idx].mBOffset]; + } + { + u16 maxFrame = getAnmTable()[idx].mAMaxFrame; + if (getFrame() < 0.0f) + dst->a = mColorA[getAnmTable()[idx].mAOffset]; + if (getFrame() >= maxFrame) + dst->a = mColorA[maxFrame - 1 + getAnmTable()[idx].mAOffset]; + if (0.0f <= getFrame() && getFrame() < maxFrame) + dst->a = mColorA[(s32)getFrame() + getAnmTable()[idx].mAOffset]; + } } /* 802F1BDC-802F1F20 .text getColor__14J3DAnmColorKeyCFUsP8_GXColor */ -void J3DAnmColorKey::getColor(u16, _GXColor*) const { +void J3DAnmColorKey::getColor(u16 idx, GXColor* dst) const { /* Nonmatching */ } /* 802F1F20-802F200C .text getTexNo__16J3DAnmTexPatternCFUsPUs */ -void J3DAnmTexPattern::getTexNo(u16, u16*) const { - /* Nonmatching */ +void J3DAnmTexPattern::getTexNo(u16 idx, u16* dst) const { + u16 maxFrame = getAnmTable()[idx].mMaxFrame; + if (0.0f <= getFrame() && getFrame() < maxFrame) + *dst = mTextureIndex[(s32)getFrame() + getAnmTable()[idx].mOffset]; + if (getFrame() < 0.0f) + *dst = mTextureIndex[getAnmTable()[idx].mOffset]; + if (getFrame() >= maxFrame) + *dst = mTextureIndex[maxFrame - 1 + getAnmTable()[idx].mOffset]; } /* 802F200C-802F20EC .text getVisibility__20J3DAnmVisibilityFullCFUsPUc */ -bool J3DAnmVisibilityFull::getVisibility(u16, u8*) const { - /* Nonmatching */ +void J3DAnmVisibilityFull::getVisibility(u16 idx, u8* dst) const { + u16 maxFrame = getAnmTable()[idx].mMaxFrame; + if (0.0f <= getFrame() && getFrame() < maxFrame) + *dst = mVisibility[(s32)getFrame() + getAnmTable()[idx].mOffset]; + if (getFrame() < 0.0f) + *dst = mVisibility[getAnmTable()[idx].mOffset]; + if (getFrame() >= maxFrame) + *dst = mVisibility[maxFrame - 1 + getAnmTable()[idx].mOffset]; } /* 802F20EC-802F2184 .text searchUpdateMaterialID__16J3DAnmTexPatternFP16J3DMaterialTable */ -void J3DAnmTexPattern::searchUpdateMaterialID(J3DMaterialTable*) { - /* Nonmatching */ +void J3DAnmTexPattern::searchUpdateMaterialID(J3DMaterialTable* table) { + for (u16 i = 0; i < getUpdateMaterialNum(); i++) { + s32 materialID = table->getMaterialName()->getIndex(getUpdateMaterialName()->getName(i)); + if (materialID != -1) + mUpdateMaterialID[i] = materialID; + else + mUpdateMaterialID[i] = 0xFFFF; + } } /* 802F2184-802F21A8 .text searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData */ -void J3DAnmTexPattern::searchUpdateMaterialID(J3DModelData*) { - /* Nonmatching */ +void J3DAnmTexPattern::searchUpdateMaterialID(J3DModelData* modelData) { + searchUpdateMaterialID(&modelData->getMaterialTable()); } /* 802F21A8-802F22BC .text searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP16J3DMaterialTable */ -void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DMaterialTable*) { - /* Nonmatching */ +void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DMaterialTable* table) { + for (u16 i = 0; i < getUpdateMaterialNum(); i++) { + s32 materialID = table->getMaterialName()->getIndex(getUpdateMaterialName()->getName(i)); + if (materialID != -1) + mUpdateMaterialID[i] = materialID; + else + mUpdateMaterialID[i] = 0xFFFF; + } + for (u16 i = 0; i < getPostUpdateMaterialNum(); i++) { + s32 materialID = table->getMaterialName()->getIndex(getPostUpdateMaterialName()->getName(i)); + if (materialID != -1) + mPostUpdateMaterialID[i] = materialID; + else + mPostUpdateMaterialID[i] = 0xFFFF; + } } /* 802F22BC-802F22E0 .text searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData */ -void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DModelData*) { - /* Nonmatching */ +void J3DAnmTextureSRTKey::searchUpdateMaterialID(J3DModelData* modelData) { + searchUpdateMaterialID(&modelData->getMaterialTable()); } /* 802F22E0-802F2624 .text getTevColorReg__15J3DAnmTevRegKeyCFUsP11_GXColorS10 */ -void J3DAnmTevRegKey::getTevColorReg(u16, _GXColorS10*) const { +void J3DAnmTevRegKey::getTevColorReg(u16 idx, GXColorS10* dst) const { /* Nonmatching */ } /* 802F2624-802F2968 .text getTevKonstReg__15J3DAnmTevRegKeyCFUsP8_GXColor */ -void J3DAnmTevRegKey::getTevKonstReg(u16, _GXColor*) const { +void J3DAnmTevRegKey::getTevKonstReg(u16 idx, GXColor* dst) const { /* Nonmatching */ } /* 802F2968-802F2A64 .text searchUpdateMaterialID__15J3DAnmTevRegKeyFP16J3DMaterialTable */ -void J3DAnmTevRegKey::searchUpdateMaterialID(J3DMaterialTable*) { - /* Nonmatching */ +void J3DAnmTevRegKey::searchUpdateMaterialID(J3DMaterialTable* table) { + for (u16 i = 0; i < getCRegUpdateMaterialNum(); i++) { + s32 materialID = table->getMaterialName()->getIndex(getCRegUpdateMaterialName()->getName(i)); + if (materialID != -1) + mCRegUpdateMaterialID[i] = materialID; + else + mCRegUpdateMaterialID[i] = 0xFFFF; + } + for (u16 i = 0; i < getKRegUpdateMaterialNum(); i++) { + s32 materialID = table->getMaterialName()->getIndex(getKRegUpdateMaterialName()->getName(i)); + if (materialID != -1) + mKRegUpdateMaterialID[i] = materialID; + else + mKRegUpdateMaterialID[i] = 0xFFFF; + } } /* 802F2A64-802F2A88 .text searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData */ -void J3DAnmTevRegKey::searchUpdateMaterialID(J3DModelData*) { - /* Nonmatching */ +void J3DAnmTevRegKey::searchUpdateMaterialID(J3DModelData* modelData) { + searchUpdateMaterialID(&modelData->getMaterialTable()); } diff --git a/src/JSystem/J3DGraphBase/J3DMaterial.cpp b/src/JSystem/J3DGraphBase/J3DMaterial.cpp index 52c5bf692..38828c507 100644 --- a/src/JSystem/J3DGraphBase/J3DMaterial.cpp +++ b/src/JSystem/J3DGraphBase/J3DMaterial.cpp @@ -8,9 +8,9 @@ #include "dolphin/types.h" /* 802DDBC4-802DDDC4 .text createColorBlock__11J3DMaterialFUl */ -J3DColorBlock * J3DMaterial::createColorBlock(u32 param_0) { +J3DColorBlock * J3DMaterial::createColorBlock(u32 createFlag) { J3DColorBlock* rv = NULL; - switch (param_0) { + switch (createFlag) { case 0: rv = new J3DColorBlockLightOff(); break; @@ -26,8 +26,8 @@ J3DColorBlock * J3DMaterial::createColorBlock(u32 param_0) { } /* 802DDDC4-802DDF28 .text createTexGenBlock__11J3DMaterialFUl */ -J3DTexGenBlock * J3DMaterial::createTexGenBlock(u32 param_0) { - switch (param_0) { +J3DTexGenBlock * J3DMaterial::createTexGenBlock(u32 createFlag) { + switch (createFlag) { case 0x8000000: return new J3DTexGenBlock4(); case 0: @@ -37,15 +37,15 @@ J3DTexGenBlock * J3DMaterial::createTexGenBlock(u32 param_0) { } /* 802DDF28-802DE29C .text createTevBlock__11J3DMaterialFi */ -J3DTevBlock * J3DMaterial::createTevBlock(int param_0) { +J3DTevBlock * J3DMaterial::createTevBlock(int num) { J3DTevBlock* rv = NULL; - if (param_0 <= 1) { + if (num <= 1) { rv = new J3DTevBlock1(); - } else if (param_0 == 2) { + } else if (num == 2) { rv = new J3DTevBlock2(); - } else if (param_0 <= 4) { + } else if (num <= 4) { rv = new J3DTevBlock4(); - } else if (param_0 <= 16) { + } else if (num <= 16) { rv = new J3DTevBlock16(); } return rv; @@ -61,10 +61,10 @@ J3DIndBlock * J3DMaterial::createIndBlock(int param_0) { } /* 802DE384-802DE548 .text createPEBlock__11J3DMaterialFUlUl */ -J3DPEBlock * J3DMaterial::createPEBlock(u32 createFlags, u32 materialMode) { +J3DPEBlock * J3DMaterial::createPEBlock(u32 createFlag, u32 materialMode) { J3DPEBlock* rv = NULL; - if (createFlags == 0) { + if (createFlag == 0) { if (materialMode & 1) { rv = new J3DPEBlockOpa(); return rv; @@ -77,9 +77,9 @@ J3DPEBlock * J3DMaterial::createPEBlock(u32 createFlags, u32 materialMode) { } } - if (createFlags == 0x10000000) { + if (createFlag == 0x10000000) { rv = new J3DPEBlockFull(); - } else if (createFlags == 0x20000000) { + } else if (createFlag == 0x20000000) { rv = new J3DPEBlockFogOff(); } @@ -87,9 +87,9 @@ J3DPEBlock * J3DMaterial::createPEBlock(u32 createFlags, u32 materialMode) { } /* 802DE548-802DE598 .text calcSizeColorBlock__11J3DMaterialFUl */ -u32 J3DMaterial::calcSizeColorBlock(u32 param_0) { +u32 J3DMaterial::calcSizeColorBlock(u32 createFlag) { u32 rv = 0; - switch (param_0) { + switch (createFlag) { case 0: rv = sizeof(J3DColorBlockLightOff); break; @@ -105,8 +105,8 @@ u32 J3DMaterial::calcSizeColorBlock(u32 param_0) { } /* 802DE598-802DE5C4 .text calcSizeTexGenBlock__11J3DMaterialFUl */ -u32 J3DMaterial::calcSizeTexGenBlock(u32 param_0) { - switch (param_0) { +u32 J3DMaterial::calcSizeTexGenBlock(u32 createFlag) { + switch (createFlag) { case 0x8000000: return sizeof(J3DTexGenBlock4); case 0: @@ -116,15 +116,15 @@ u32 J3DMaterial::calcSizeTexGenBlock(u32 param_0) { } /* 802DE5C4-802DE60C .text calcSizeTevBlock__11J3DMaterialFi */ -u32 J3DMaterial::calcSizeTevBlock(int param_0) { +u32 J3DMaterial::calcSizeTevBlock(int num) { u32 rv = 0; - if (param_0 <= 1) { + if (num <= 1) { rv = sizeof(J3DTevBlock1); - } else if (param_0 == 2) { + } else if (num == 2) { rv = sizeof(J3DTevBlock2); - } else if (param_0 <= 4) { + } else if (num <= 4) { rv = sizeof(J3DTevBlock4); - } else if (param_0 <= 16) { + } else if (num <= 16) { rv = sizeof(J3DTevBlock16); } return rv; @@ -140,20 +140,20 @@ u32 J3DMaterial::calcSizeIndBlock(int param_0) { } /* 802DE620-802DE688 .text calcSizePEBlock__11J3DMaterialFUlUl */ -u32 J3DMaterial::calcSizePEBlock(u32 param_0, u32 param_1) { +u32 J3DMaterial::calcSizePEBlock(u32 createFlag, u32 materialMode) { u32 rv = 0; - if (param_0 == 0) { - if (param_1 & 1) { + if (createFlag == 0) { + if (materialMode & 1) { rv = sizeof(J3DPEBlockOpa); - } else if (param_1 & 2) { + } else if (materialMode & 2) { rv = sizeof(J3DPEBlockTexEdge); - } else if (param_1 & 4) { + } else if (materialMode & 4) { rv = sizeof(J3DPEBlockXlu); } } - else if (param_0 == 0x10000000) { + else if (createFlag == 0x10000000) { rv = sizeof(J3DPEBlockFull); - } else if (param_0 == 0x20000000) { + } else if (createFlag == 0x20000000) { rv = sizeof(J3DPEBlockFogOff); } return rv; @@ -315,7 +315,7 @@ s32 J3DMaterial::newSharedDisplayList(u32 param_0) { if (mSharedDLObj == NULL) { mSharedDLObj = new J3DDisplayListObj(); if (mSharedDLObj == NULL) { - return 4; + return kJ3DError_Alloc; } s32 res = mSharedDLObj->newDisplayList(param_0); switch (res) { @@ -325,7 +325,7 @@ s32 J3DMaterial::newSharedDisplayList(u32 param_0) { return res; } } - return 0; + return kJ3DError_Success; } /* 802DF1AC-802DF240 .text newSingleSharedDisplayList__11J3DMaterialFUl */ @@ -333,7 +333,7 @@ s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) { if (mSharedDLObj == NULL) { mSharedDLObj = new J3DDisplayListObj(); if (mSharedDLObj == NULL) { - return 4; + return kJ3DError_Alloc; } s32 res = mSharedDLObj->newSingleDisplayList(param_0); switch (res) { @@ -343,7 +343,7 @@ s32 J3DMaterial::newSingleSharedDisplayList(u32 param_0) { return res; } } - return 0; + return kJ3DError_Success; } /* 802DF240-802DF260 .text initialize__18J3DPatchedMaterialFv */ @@ -360,7 +360,7 @@ void J3DPatchedMaterial::makeSharedDisplayList() {} /* 802DF268-802DF2AC .text load__18J3DPatchedMaterialFv */ void J3DPatchedMaterial::load() { j3dSys.setMaterialMode(mMaterialMode); - if (j3dSys.checkFlag(2)) { + if (j3dSys.checkFlag(0x02)) { return; } j3dSys.mMatPacket->callDL(); @@ -402,7 +402,7 @@ void J3DLockedMaterial::makeSharedDisplayList() {} /* 802DF368-802DF3AC .text load__17J3DLockedMaterialFv */ void J3DLockedMaterial::load() { j3dSys.setMaterialMode(mMaterialMode); - if (j3dSys.checkFlag(2)) { + if (j3dSys.checkFlag(0x02)) { return; } j3dSys.mMatPacket->callDL();