From d9201174e34d7a26199482546705b9ca16765dfd Mon Sep 17 00:00:00 2001 From: hatal175 Date: Sun, 10 Nov 2024 11:53:09 +0200 Subject: [PATCH] j2d/j3d work (#2241) --- configure.py | 12 +- include/JSystem/J2DGraph/J2DAnimation.h | 5 +- include/JSystem/J2DGraph/J2DMatBlock.h | 82 +- include/JSystem/J2DGraph/J2DMaterial.h | 18 +- include/JSystem/J2DGraph/J2DTevs.h | 14 +- .../JSystem/J3DGraphAnimator/J3DJointTree.h | 1 + src/JSystem/J2DGraph/J2DAnimation.cpp | 6 +- src/JSystem/J2DGraph/J2DAnmLoader.cpp | 845 +++++++++--------- .../J2DGraph/J2DAnmLoader_nonmatching.cpp | 550 ------------ src/JSystem/J2DGraph/J2DMatBlock.cpp | 391 +------- src/JSystem/J2DGraph/J2DMaterial.cpp | 405 +++------ src/JSystem/J2DGraph/J2DMaterialFactory.cpp | 100 +-- src/JSystem/J2DGraph/J2DPictureEx.cpp | 292 +----- src/JSystem/J2DGraph/J2DScreen.cpp | 134 +-- src/JSystem/J2DGraph/J2DTevs.cpp | 132 +-- src/JSystem/J2DGraph/J2DWindowEx.cpp | 199 +---- .../J3DGraphAnimator/J3DMaterialAttach.cpp | 2 +- src/JSystem/J3DGraphAnimator/J3DModelData.cpp | 3 +- src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp | 19 +- .../J3DGraphAnimator/J3DSkinDeform.cpp | 136 +-- src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp | 3 +- .../J3DGraphLoader/J3DClusterLoader.cpp | 29 +- 22 files changed, 722 insertions(+), 2656 deletions(-) delete mode 100644 src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp diff --git a/configure.py b/configure.py index 2b482e7bfa1..7e222794a26 100644 --- a/configure.py +++ b/configure.py @@ -973,8 +973,8 @@ config.libs = [ Object(NonMatching, "JSystem/J2DGraph/J2DWindowEx.cpp"), Object(NonMatching, "JSystem/J2DGraph/J2DPictureEx.cpp"), Object(Matching, "JSystem/J2DGraph/J2DTextBoxEx.cpp"), - Object(NonMatching, "JSystem/J2DGraph/J2DAnmLoader.cpp"), - Object(NonMatching, "JSystem/J2DGraph/J2DAnimation.cpp"), + Object(Matching, "JSystem/J2DGraph/J2DAnmLoader.cpp", extra_cflags=['-pragma "nosyminline off"']), + Object(Matching, "JSystem/J2DGraph/J2DAnimation.cpp"), Object(Matching, "JSystem/J2DGraph/J2DManage.cpp"), ], ), @@ -1002,7 +1002,7 @@ config.libs = [ [ Object(Matching, "JSystem/J3DGraphAnimator/J3DShapeTable.cpp"), Object(Matching, "JSystem/J3DGraphAnimator/J3DJointTree.cpp"), - Object(Equivalent, "JSystem/J3DGraphAnimator/J3DModelData.cpp"), + Object(Matching, "JSystem/J3DGraphAnimator/J3DModelData.cpp", extra_cflags=['-pragma "nosyminline off"']), Object(NonMatching, "JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp"), Object(Matching, "JSystem/J3DGraphAnimator/J3DModel.cpp"), Object(Equivalent, "JSystem/J3DGraphAnimator/J3DAnimation.cpp"), @@ -1018,12 +1018,12 @@ config.libs = [ [ Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory.cpp"), Object(NonMatching, "JSystem/J3DGraphLoader/J3DMaterialFactory_v21.cpp"), - Object(Equivalent, "JSystem/J3DGraphLoader/J3DClusterLoader.cpp"), - Object(Equivalent, "JSystem/J3DGraphLoader/J3DModelLoader.cpp"), + Object(Matching, "JSystem/J3DGraphLoader/J3DClusterLoader.cpp", extra_cflags=['-pragma "nosyminline off"']), + Object(Matching, "JSystem/J3DGraphLoader/J3DModelLoader.cpp", extra_cflags=['-pragma "nosyminline off"']), Object(NonMatching, "JSystem/J3DGraphLoader/J3DModelLoaderCalcSize.cpp"), Object(Matching, "JSystem/J3DGraphLoader/J3DJointFactory.cpp"), Object(Matching, "JSystem/J3DGraphLoader/J3DShapeFactory.cpp"), - Object(Equivalent, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp"), + Object(Matching, "JSystem/J3DGraphLoader/J3DAnmLoader.cpp", extra_cflags=['-pragma "nosyminline off"']), ], ), JSystemLib( diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index fe36766b7ac..cba04c924f1 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -230,6 +230,9 @@ public: u16 getUpdateMaterialNum() const { return mUpdateMaterialNum / 3; } u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; } u8 getUpdateTexMtxID(u16 i) const { return mUpdateTexMtxID[i]; } + void getTransform(u16 param_1, J3DTextureSRTInfo* param_2) { + calcTransform(mFrame, param_1, param_2); + } /* 0x10 */ int field_0x10; /* 0x14 */ J3DAnmTransformKeyTable* mInfoTable; @@ -388,7 +391,7 @@ public: } /* 801842FC */ virtual ~J2DAnmColor() {} /* 8030AF24 */ virtual void searchUpdateMaterialID(J2DScreen*); - /* 802EB390 */ virtual void getColor(u16, _GXColor*) const; + /* 802EB390 */ virtual void getColor(u16, _GXColor*) const {} u16 getUpdateMaterialNum() const { return mUpdateMaterialNum; } u16 getUpdateMaterialID(u16 i) const { return mUpdateMaterialID[i]; } diff --git a/include/JSystem/J2DGraph/J2DMatBlock.h b/include/JSystem/J2DGraph/J2DMatBlock.h index 770986d5bc5..0756ca5e24d 100644 --- a/include/JSystem/J2DGraph/J2DMatBlock.h +++ b/include/JSystem/J2DGraph/J2DMatBlock.h @@ -31,13 +31,13 @@ struct J2DGXColorS10 : public GXColorS10 { a = other.a; } - // J2DGXColorS10& operator=(const GXColorS10& other) { - // r = other.r; - // g = other.g; - // b = other.b; - // a = other.a; - // return *this; - // } + J2DGXColorS10& operator=(const GXColorS10& other) { + r = other.r; + g = other.g; + b = other.b; + a = other.a; + return *this; + } }; struct J2DTevSwapModeInfo; @@ -49,33 +49,33 @@ struct J2DTevSwapModeInfo; class J2DTevBlock { public: /* 802F2A40 */ virtual void initialize(); - /* 802EB1D0 */ virtual void setGX(); + /* 802EB1D0 */ virtual void setGX() {} /* 802F2A44 */ virtual void loadTexture(_GXTexMapID, u32); virtual u32 getType() = 0; virtual u8 getMaxStage() = 0; - /* 802EB1DC */ virtual void setTexNo(u32, u16); - /* 802EA170 */ virtual u32 getTexNo(u32) const; + /* 802EB1DC */ virtual void setTexNo(u32, u16) {} + /* 802EA170 */ virtual u32 getTexNo(u32) const { return 0xFFFF; } /* 802F2A48 */ virtual void setFontNo(u16); - /* 802EA164 */ virtual u16 getFontNo() const; + /* 802EA164 */ virtual u16 getFontNo() const { return 0xFFFF; } /* 802F2A4C */ virtual void setTevOrder(u32, J2DTevOrder); - /* 802EA144 */ virtual J2DTevOrder* getTevOrder(u32); - /* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10); - /* 802EA13C */ virtual J2DGXColorS10* getTevColor(u32); - /* 802EB1D4 */ virtual void setTevKColor(u32, JUtility::TColor); - /* 802EA15C */ virtual JUtility::TColor* getTevKColor(u32); + /* 802EA144 */ virtual J2DTevOrder* getTevOrder(u32) { return NULL; } + /* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10) {} + /* 802EA13C */ virtual J2DGXColorS10* getTevColor(u32) { return NULL; } + /* 802EB1D4 */ virtual void setTevKColor(u32, JUtility::TColor) {} + /* 802EA15C */ virtual JUtility::TColor* getTevKColor(u32) { return NULL; } /* 802F2A50 */ virtual void setTevKColorSel(u32, u8); - /* 802EA154 */ virtual u8 getTevKColorSel(u32); + /* 802EA154 */ virtual u8 getTevKColorSel(u32) { return 0; } /* 802F2A54 */ virtual void setTevKAlphaSel(u32, u8); - /* 802EA14C */ virtual u8 getTevKAlphaSel(u32); + /* 802EA14C */ virtual u8 getTevKAlphaSel(u32) { return 0; } /* 802F2A58 */ virtual void setTevStageNum(u8); - /* 802EA17C */ virtual u8 getTevStageNum() const; + /* 802EA17C */ virtual u8 getTevStageNum() const { return 1; } /* 802F2A5C */ virtual void setTevStage(u32, J2DTevStage); - /* 802EA134 */ virtual J2DTevStage* getTevStage(u32); + /* 802EA134 */ virtual J2DTevStage* getTevStage(u32) { return NULL; } /* 802F2A60 */ virtual void setTevSwapModeInfo(u32, J2DTevSwapModeInfo); /* 802F2A64 */ virtual void setTevSwapModeTable(u32, J2DTevSwapModeTable); - /* 802EA12C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32); + /* 802EA12C */ virtual J2DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; } /* 802F2A68 */ virtual void setIndTevStage(u32, J2DIndTevStage); - /* 802EA184 */ virtual J2DIndTevStage* getIndTevStage(u32); + /* 802EA184 */ virtual J2DIndTevStage* getIndTevStage(u32) { return NULL; } /* 802F2A7C */ virtual bool insertTexture(u32, ResTIMG const*); /* 802F2A74 */ virtual bool insertTexture(u32, ResTIMG const*, JUTPalette*); /* 802F2A6C */ virtual bool insertTexture(u32, JUTTexture*); @@ -235,7 +235,7 @@ private: /* 0x05C */ J2DIndTevStage mIndTevStage[2]; /* 0x064 */ JUTTexture* mTexture[2]; /* 0x06C */ JUTPalette* mPalette[2]; - /* 0x064 */ JUTFont* mFont; + /* 0x074 */ JUTFont* mFont; /* 0x078 */ u8 mUndeleteFlag; }; // Size: 0x7C @@ -567,17 +567,17 @@ private: */ class J2DIndBlock { public: - /* 802EB24C */ virtual void initialize(); - /* 802EB1CC */ virtual void setGX(); + /* 802EB24C */ virtual void initialize() {} + /* 802EB1CC */ virtual void setGX() {} virtual u32 getType() = 0; - /* 802EB250 */ virtual void setIndTexStageNum(u8); - /* 802EA1A4 */ virtual u8 getIndTexStageNum() const; - /* 802EB254 */ virtual void setIndTexOrder(u32, J2DIndTexOrder); - /* 802EA19C */ virtual J2DIndTexOrder* getIndTexOrder(u32); - /* 802EB258 */ virtual void setIndTexMtx(u32, J2DIndTexMtx); - /* 802EA194 */ virtual J2DIndTexMtx* getIndTexMtx(u32); - /* 802EB25C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale); - /* 802EA18C */ virtual J2DIndTexCoordScale* getIndTexCoordScale(u32); + /* 802EB250 */ virtual void setIndTexStageNum(u8) {} + /* 802EA1A4 */ virtual u8 getIndTexStageNum() const { return 0; } + /* 802EB254 */ virtual void setIndTexOrder(u32, J2DIndTexOrder) {} + /* 802EA19C */ virtual J2DIndTexOrder* getIndTexOrder(u32) { return NULL; } + /* 802EB258 */ virtual void setIndTexMtx(u32, J2DIndTexMtx) {} + /* 802EA194 */ virtual J2DIndTexMtx* getIndTexMtx(u32) { return NULL; } + /* 802EB25C */ virtual void setIndTexCoordScale(u32, J2DIndTexCoordScale) {} + /* 802EA18C */ virtual J2DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; } /* 802EB13C */ virtual ~J2DIndBlock() {} }; @@ -617,9 +617,9 @@ class J2DIndBlockNull : public J2DIndBlock { public: J2DIndBlockNull() {} - /* 802EB1E0 */ virtual void setGX(); - /* 802EB1E4 */ virtual u32 getType(); - /* 802EB1F0 */ virtual ~J2DIndBlockNull(); + /* 802EB1E0 */ virtual void setGX() {} + /* 802EB1E4 */ virtual u32 getType() { return 'IBLN'; } + /* 802EB1F0 */ virtual ~J2DIndBlockNull() {} }; /** @@ -644,6 +644,7 @@ public: void setTexGenNum(u32 num) { mTexGenNum = num; } void setTexCoord(u32 i, J2DTexCoord coord) { mTexGenCoord[i] = coord; } void setTexMtx(u32 i, J2DTexMtx* mtx) { mTexMtx[i] = mtx; } + J2DTexCoord& getTexCoord(u32 i) { return mTexGenCoord[i]; } /* 802EB620 */ virtual ~J2DTexGenBlock(); }; // Size: 0x48 @@ -659,7 +660,7 @@ struct J2DColorChanInfo { /* 0x0 */ u8 field_0x3; }; -inline u8 J2DCalcColorChanID(u8 param_1) { return param_1; } +inline u8 J2DCalcColorChanID(const J2DColorChanInfo& info) { return info.field_0x1; } extern const J2DColorChanInfo j2dDefaultColorChanInfo; /** @@ -672,12 +673,13 @@ public: setColorChanInfo(j2dDefaultColorChanInfo); } J2DColorChan(const J2DColorChanInfo& info) { - mColorChan = J2DCalcColorChanID(info.field_0x1); + mColorChan = J2DCalcColorChanID(info); } void setColorChanInfo(const J2DColorChanInfo& info) { - mColorChan = J2DCalcColorChanID(info.field_0x1); + mColorChan = J2DCalcColorChanID(info); } + u16 getMatSrc() const { return mColorChan & 1; } private: @@ -701,7 +703,7 @@ public: /* 802EB394 */ void initialize(); /* 802EB424 */ void setGX(); - /* 802EB0F4 */ virtual ~J2DColorBlock(); + /* 802EB0F4 */ virtual ~J2DColorBlock() {} JUtility::TColor* getMatColor(u32 i) { return &mMatColor[i]; } J2DColorChan* getColorChan(u32 i) { return &mColorChan[i]; } diff --git a/include/JSystem/J2DGraph/J2DMaterial.h b/include/JSystem/J2DGraph/J2DMaterial.h index 4e1e812cd28..584b3f4c9b4 100644 --- a/include/JSystem/J2DGraph/J2DMaterial.h +++ b/include/JSystem/J2DGraph/J2DMaterial.h @@ -13,15 +13,15 @@ public: struct J2DMaterialAnmPointer { /* 802EA79C */ J2DMaterialAnmPointer(); - /* 0x00 */ J2DAnmBase* field_0x0; - /* 0x04 */ J2DAnmBase* field_0x4; - /* 0x08 */ J2DAnmBase* field_0x8; - /* 0x0C */ J2DAnmBase* field_0xc; - /* 0x10 */ u16 field_0x10; - /* 0x12 */ u16 field_0x12[8]; - /* 0x22 */ u16 field_0x22[8]; - /* 0x32 */ u16 field_0x32[4]; - /* 0x3A */ u16 field_0x3a[4]; + /* 0x00 */ J2DAnmColor* mColorAnm; + /* 0x04 */ J2DAnmTextureSRTKey* mSRTAnm; + /* 0x08 */ J2DAnmTexPattern* mPatternAnm; + /* 0x0C */ J2DAnmTevRegKey* mTevAnm; + /* 0x10 */ u16 mColorIds; + /* 0x12 */ u16 mSRTIds[8]; + /* 0x22 */ u16 mPatternIds[8]; + /* 0x32 */ u16 mTevCRegIds[4]; + /* 0x3A */ u16 mTevKRegIds[4]; }; // Size: 0x44 /* 802EA1AC */ J2DMaterial(); diff --git a/include/JSystem/J2DGraph/J2DTevs.h b/include/JSystem/J2DGraph/J2DTevs.h index 214d91fc3fe..2052c7a0499 100644 --- a/include/JSystem/J2DGraph/J2DTevs.h +++ b/include/JSystem/J2DGraph/J2DTevs.h @@ -9,11 +9,11 @@ * */ struct J2DTextureSRTInfo { - /* 0x00 */ f32 field_0x0; - /* 0x04 */ f32 field_0x4; - /* 0x08 */ f32 field_0x8; - /* 0x0C */ f32 field_0xc; - /* 0x10 */ f32 field_0x10; + /* 0x00 */ f32 mScaleX; + /* 0x04 */ f32 mScaleY; + /* 0x08 */ f32 mRotationDeg; + /* 0x0C */ f32 mTranslationX; + /* 0x10 */ f32 mTranslationY; }; // Size: 0x14 /** @@ -274,6 +274,7 @@ public: *(J2DTexCoordInfo*)this = info; } void setTexCoordInfo(const J2DTexCoordInfo& info) { mTexCoordInfo = info; } + void setTexGenMtx(u8 texGenMtx) { mTexCoordInfo.mTexGenMtx = texGenMtx; } s32 getTexGenType() { return mTexCoordInfo.mTexGenType; } s32 getTexGenSrc() { return mTexCoordInfo.mTexGenSrc; } s32 getTexGenMtx() { return mTexCoordInfo.mTexGenMtx; } @@ -513,6 +514,7 @@ inline u8 J2DCalcTevSwapTable(u8 param_0, u8 param_1, u8 param_2, u8 param_3) { } extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable; +extern const u8 data_804561AC; /** * @ingroup jsystem-j2d @@ -520,7 +522,7 @@ extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable; */ class J2DTevSwapModeTable { public: - /* 802F1934 */ J2DTevSwapModeTable(); + /* 802F1934 */ J2DTevSwapModeTable() { field_0x0 = data_804561AC; } J2DTevSwapModeTable(const J2DTevSwapModeTableInfo& info) { field_0x0 = J2DCalcTevSwapTable(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3); } diff --git a/include/JSystem/J3DGraphAnimator/J3DJointTree.h b/include/JSystem/J3DGraphAnimator/J3DJointTree.h index 89c67392121..c1558e5a91c 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJointTree.h +++ b/include/JSystem/J3DGraphAnimator/J3DJointTree.h @@ -50,6 +50,7 @@ public: void setHierarchy(J3DModelHierarchy* hierarchy) { mHierarchy = hierarchy; } void setBasicMtxCalc(J3DMtxCalc* calc) { mBasicMtxCalc = calc; } u16 getWEvlpMtxNum() const { return mWEvlpMtxNum; } + u16* getWEvlpMixIndex() const { return mWEvlpMixMtxIndex; } u8 getWEvlpMixMtxNum(u16 idx) const { return mWEvlpMixMtxNum[idx]; } u16 * getWEvlpMixMtxIndex() const { return mWEvlpMixMtxIndex; } f32 * getWEvlpMixWeight() const { return mWEvlpMixWeight; } diff --git a/src/JSystem/J2DGraph/J2DAnimation.cpp b/src/JSystem/J2DGraph/J2DAnimation.cpp index ed02df123cc..2f358462964 100644 --- a/src/JSystem/J2DGraph/J2DAnimation.cpp +++ b/src/JSystem/J2DGraph/J2DAnimation.cpp @@ -905,4 +905,8 @@ J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::J2DAnmTexPatternTIMGPointer() { J2DAnmTexPattern::J2DAnmTexPatternTIMGPointer::~J2DAnmTexPatternTIMGPointer() { delete mPalette; -} \ No newline at end of file +} + +static void dummyDelete(J2DAnmTexPattern* pattern) { + delete pattern; +} diff --git a/src/JSystem/J2DGraph/J2DAnmLoader.cpp b/src/JSystem/J2DGraph/J2DAnmLoader.cpp index fe1afe806a2..49bcd879b9a 100644 --- a/src/JSystem/J2DGraph/J2DAnmLoader.cpp +++ b/src/JSystem/J2DGraph/J2DAnmLoader.cpp @@ -1,526 +1,537 @@ // -// Generated By: dol2asm -// Translation Unit: J2DAnmLoader +// J2DAnmLoader // -// See J2DAnmLoader_nonmatching.cpp - -// #include "JSystem/J2DGraph/J2DAnmLoader.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct _GXColor {}; - -struct ResNTAB {}; - -struct JUTNameTab { - /* 802DE9A0 */ JUTNameTab(); - /* 802DEA1C */ void setResource(ResNTAB const*); -}; - -struct J3DAnmVtxColorKeyData {}; - -struct J3DAnmVtxColorFullData {}; - -struct J3DAnmVisibilityFullData {}; - -struct J3DAnmTransformKeyData {}; - -struct J3DAnmTransformFullData {}; - -struct J3DAnmTextureSRTKeyData {}; - -struct J3DAnmTexPatternFullData {}; - -struct J3DAnmTevRegKeyData {}; - -struct J3DAnmColorKeyData {}; - -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: -// - -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void __ct__19J2DAnmKeyLoader_v15Fv(); -extern "C" void __dt__19J2DAnmKeyLoader_v15Fv(); -extern "C" void load__19J2DAnmKeyLoader_v15FPCv(); -extern "C" void setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv(); -extern "C" void readAnmTransform__19J2DAnmKeyLoader_v15FPC22J3DAnmTransformKeyData(); -extern "C" void -setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData(); -extern "C" void readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData(); -extern "C" void -setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData(); -extern "C" void readAnmColor__19J2DAnmKeyLoader_v15FPC18J3DAnmColorKeyData(); -extern "C" void setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData(); -extern "C" void readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData(); -extern "C" void -setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData(); -extern "C" void load__20J2DAnmFullLoader_v15FPCv(); -extern "C" void setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv(); -extern "C" void __ct__20J2DAnmFullLoader_v15Fv(); -extern "C" void __dt__20J2DAnmFullLoader_v15Fv(); -extern "C" void readAnmTransform__20J2DAnmFullLoader_v15FPC23J3DAnmTransformFullData(); -extern "C" void -setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData(); -extern "C" void readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData(); -extern "C" void setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData(); -extern "C" void readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData(); -extern "C" void -setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData(); -extern "C" void readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData(); -extern "C" void setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData(); -extern "C" void readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData(); -extern "C" void -setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData(); -extern "C" void readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData(); -extern "C" void -setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData(); -extern "C" void __dt__14J2DAnmVtxColorFv(); -extern "C" void __dt__20J2DAnmVisibilityFullFv(); -extern "C" void __dt__12J2DAnmLoaderFv(); -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: -// - -extern "C" void searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen(); -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 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(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" extern void* __vt__10J2DAnmBase[4]; -extern "C" extern void* __vt__15J2DAnmTransform[5 + 4 /* padding */]; -extern "C" extern void* __vt__15J2DAnmTevRegKey[4]; -extern "C" extern void* __vt__16J2DAnmTexPattern[4]; -extern "C" extern void* __vt__19J2DAnmTextureSRTKey[4]; -extern "C" extern void* __vt__17J2DAnmVtxColorKey[5]; -extern "C" extern void* __vt__18J2DAnmVtxColorFull[5]; -extern "C" extern void* __vt__14J2DAnmColorKey[5]; -extern "C" extern void* __vt__15J2DAnmColorFull[5]; -extern "C" extern void* __vt__11J2DAnmColor[5]; -extern "C" extern void* __vt__18J2DAnmTransformKey[6]; -extern "C" extern void* __vt__19J2DAnmTransformFull[5]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803CD6C8-803CD6DC 02A7E8 0014+00 2/2 0/0 0/0 .data __vt__20J2DAnmFullLoader_v15 */ -SECTION_DATA extern void* __vt__20J2DAnmFullLoader_v15[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__20J2DAnmFullLoader_v15FPCv, - (void*)setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv, - (void*)__dt__20J2DAnmFullLoader_v15Fv, -}; - -/* 803CD6DC-803CD6F0 02A7FC 0014+00 2/2 0/0 0/0 .data __vt__19J2DAnmKeyLoader_v15 */ -SECTION_DATA extern void* __vt__19J2DAnmKeyLoader_v15[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)load__19J2DAnmKeyLoader_v15FPCv, - (void*)setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv, - (void*)__dt__19J2DAnmKeyLoader_v15Fv, -}; - -/* 803CD6F0-803CD704 02A810 0014+00 5/5 0/0 0/0 .data __vt__12J2DAnmLoader */ -SECTION_DATA extern void* __vt__12J2DAnmLoader[5] = { - (void*)NULL /* RTTI */, (void*)NULL, (void*)NULL, (void*)NULL, (void*)__dt__12J2DAnmLoaderFv, -}; - -/* 803CD704-803CD714 02A824 0010+00 2/2 0/0 0/0 .data __vt__20J2DAnmVisibilityFull */ -SECTION_DATA extern void* __vt__20J2DAnmVisibilityFull[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20J2DAnmVisibilityFullFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, -}; - -/* 803CD714-803CD728 02A834 0014+00 2/2 2/2 0/0 .data __vt__14J2DAnmVtxColor */ -SECTION_DATA extern void* __vt__14J2DAnmVtxColor[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14J2DAnmVtxColorFv, - (void*)searchUpdateMaterialID__10J2DAnmBaseFP9J2DScreen, - (void*)getColor__14J2DAnmVtxColorCFUcUsP8_GXColor, -}; - -/* 804562F8-80456300 0048F8 0004+04 11/11 0/0 0/0 .sdata2 @1581 */ -SECTION_SDATA2 static f32 lit_1581[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; +#include "JSystem/J2DGraph/J2DAnmLoader.h" +#include "JSystem/JSupport/JSupport.h" /* 80308A6C-80309290 3033AC 0824+00 0/0 26/26 2/2 .text load__20J2DAnmLoaderDataBaseFPCv */ -void J2DAnmLoaderDataBase::load(void const* param_0) { - // NONMATCHING +J2DAnmBase* J2DAnmLoaderDataBase::load(void const* p_data) { + const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; + + if (hdr == NULL) { + return NULL; + } else if (hdr->mMagic == 'J3D1') { + switch (hdr->mType) { + case 'bck1': { + J2DAnmKeyLoader_v15 loader; + loader.mpResource = new J2DAnmTransformKey(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'bpk1': { + J2DAnmKeyLoader_v15 loader; + loader.mpResource = new J2DAnmColorKey(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'blk1': + return NULL; + case 'btk1': { + J2DAnmKeyLoader_v15 loader; + loader.mpResource = new J2DAnmTextureSRTKey(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'brk1': { + J2DAnmKeyLoader_v15 loader; + loader.mpResource = new J2DAnmTevRegKey(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'bxk1': { + J2DAnmKeyLoader_v15 loader; + loader.mpResource = new J2DAnmVtxColorKey(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'bca1': { + J2DAnmFullLoader_v15 loader; + loader.mpResource = new J2DAnmTransformFull(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'bpa1': { + J2DAnmFullLoader_v15 loader; + loader.mpResource = new J2DAnmColorFull(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'btp1': { + J2DAnmFullLoader_v15 loader; + loader.mpResource = new J2DAnmTexPattern(); + return (J2DAnmBase*)loader.load(p_data); + } + case 'bva1': { + J2DAnmFullLoader_v15 loader; + loader.mpResource = new J2DAnmVisibilityFull(); + return (J2DAnmBase*)loader.load(p_data); + break; + } + case 'bla1': + return NULL; + case 'bxa1': { + J2DAnmFullLoader_v15 loader; + loader.mpResource = new J2DAnmVtxColorFull(); + return (J2DAnmBase*)loader.load(p_data); + } + } + return NULL; + } else { + return NULL; + } } /* 80309290-803092AC 303BD0 001C+00 1/1 0/0 0/0 .text __ct__19J2DAnmKeyLoader_v15Fv */ -J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() { - // NONMATCHING -} +J2DAnmKeyLoader_v15::J2DAnmKeyLoader_v15() {} /* 803092AC-80309308 303BEC 005C+00 2/1 0/0 0/0 .text __dt__19J2DAnmKeyLoader_v15Fv */ -J2DAnmKeyLoader_v15::~J2DAnmKeyLoader_v15() { - // NONMATCHING -} +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) { - // NONMATCHING +void* J2DAnmKeyLoader_v15::load(void const* p_data) { + const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; + const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; + + for (s32 i = 0; i < hdr->mCount; i++) { + switch (dataPtr->mType) { + case 'ANK1': + readAnmTransform((J3DAnmTransformKeyData*)dataPtr); + break; + case 'PAK1': + readAnmColor((J3DAnmColorKeyData*)dataPtr); + break; + case 'TTK1': + readAnmTextureSRT((J3DAnmTextureSRTKeyData*)dataPtr); + break; + case 'VCK1': + readAnmVtxColor((J3DAnmVtxColorKeyData*)dataPtr); + break; + case 'TRK1': + readAnmTevReg((J3DAnmTevRegKeyData*)dataPtr); + break; + } + dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); + } + + return mpResource; } /* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text * setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */ -void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* param_0, void const* param_1) { - // NONMATCHING +void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) { + const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; + const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; + + for (s32 i = 0; i < hdr->mCount; i++) { + switch (dataPtr->mType) { + case 'ANK1': + if (p_anm->getKind() == KIND_TRANSFORM) { + setAnmTransform((J2DAnmTransformKey*)p_anm, (J3DAnmTransformKeyData*)dataPtr); + } + break; + case 'PAK1': + if (p_anm->getKind() == KIND_COLOR) { + setAnmColor((J2DAnmColorKey*)p_anm, (J3DAnmColorKeyData*)dataPtr); + } + break; + case 'TTK1': + if (p_anm->getKind() == KIND_TEXTURE_SRT) { + setAnmTextureSRT((J2DAnmTextureSRTKey*)p_anm, + (J3DAnmTextureSRTKeyData*)dataPtr); + } + break; + case 'TRK1': + if (p_anm->getKind() == KIND_TEV_REG) { + setAnmTevReg((J2DAnmTevRegKey*)p_anm, (J3DAnmTevRegKeyData*)dataPtr); + } + break; + case 'VCK1': + if (p_anm->getKind() == KIND_VTX_COLOR) { + setAnmVtxColor((J2DAnmVtxColorKey*)p_anm, (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* param_0) { - // NONMATCHING +void J2DAnmKeyLoader_v15::readAnmTransform(J3DAnmTransformKeyData const* p_data) { + setAnmTransform((J2DAnmTransformKey*)mpResource, p_data); } /* 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) { - // NONMATCHING +void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* p_anm, + J3DAnmTransformKeyData const* p_data) { + p_anm->field_0x22 = p_data->field_0xc; + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->field_0x24 = p_data->field_0x9; + p_anm->mFrame = 0; + p_anm->mInfoTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mScaleValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x18); + p_anm->mRotationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x1c); + p_anm->mTranslateValues = + JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x20); } /* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text * readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */ -void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* param_0) { - // NONMATCHING +void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* p_data) { + setAnmTextureSRT((J2DAnmTextureSRTKey*)mpResource, p_data); } /* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text * setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */ -void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* param_0, - J3DAnmTextureSRTKeyData const* param_1) { - // NONMATCHING +void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* p_anm, + J3DAnmTextureSRTKeyData const* p_data) { + p_anm->mUpdateMaterialNum = p_data->field_0xc; + p_anm->mFrameMax = p_data->field_0xa; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->field_0x10 = p_data->field_0x9; + p_anm->mFrame = 0; + p_anm->mUpdateMaterialNum = p_data->field_0xc; + p_anm->field_0x1a = p_data->field_0xe; + p_anm->field_0x1c = p_data->field_0x10; + p_anm->field_0x1e = p_data->field_0x12; + p_anm->mInfoTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mUpdateMaterialID = JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMatIDOffset); + p_anm->field_0x34.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTab1Offset)); + p_anm->mUpdateTexMtxID = JSUConvertOffsetToPtr(p_data, p_data->mUpdateTexMtxIDOffset); + p_anm->field_0x44 = JSUConvertOffsetToPtr(p_data, (void*)p_data->unkOffset); + p_anm->mScaleValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mScaleValOffset); + p_anm->mRotationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRotValOffset); + p_anm->mTranslationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mTransValOffset); + if (p_data->mNameTab2Offset != 0) { + p_anm->field_0x68.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTab2Offset)); + } + p_anm->field_0x4e = p_data->field_0x34; + p_anm->field_0x48 = p_data->field_0x36; + p_anm->field_0x4a = p_data->field_0x38; + p_anm->field_0x4c = p_data->field_0x3a; + p_anm->field_0x5c = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mInfoTable2Offset); + p_anm->field_0x64 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x40); + p_anm->field_0x60 = JSUConvertOffsetToPtr(p_data, p_data->field_0x48); + p_anm->field_0x78 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x4c); + p_anm->field_0x50 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x50); + p_anm->field_0x54 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x54); + p_anm->field_0x58 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x58); + switch (p_data->field_0x5c) { + case 0: + p_anm->field_0x7c = 0; + break; + case 1: + p_anm->field_0x7c = 1; + break; + default: + p_anm->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* param_0) { - // NONMATCHING +void J2DAnmKeyLoader_v15::readAnmColor(J3DAnmColorKeyData const* p_data) { + setAnmColor((J2DAnmColorKey*)mpResource, p_data); } /* 80309870-8030995C 3041B0 00EC+00 2/2 0/0 0/0 .text * setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData */ -void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* param_0, - J3DAnmColorKeyData const* param_1) { - // NONMATCHING +void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* p_anm, J3DAnmColorKeyData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum; + p_anm->field_0x10 = p_data->field_0x10; + p_anm->field_0x12 = p_data->field_0x12; + p_anm->field_0x14 = p_data->field_0x14; + p_anm->field_0x16 = p_data->field_0x16; + p_anm->mInfoTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRValOffset); + p_anm->mGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mGValOffset); + p_anm->mBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mBValOffset); + p_anm->mAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mAValOffset); + p_anm->mUpdateMaterialID = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMaterialIDOffset); + p_anm->field_0x20.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTabOffset)); } /* 8030995C-80309984 30429C 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */ -void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* param_0) { - // NONMATCHING +void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* p_data) { + setAnmVtxColor((J2DAnmVtxColorKey*)mpResource, p_data); } /* 80309984-80309A80 3042C4 00FC+00 2/2 0/0 0/0 .text * setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */ -void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* param_0, - J3DAnmVtxColorKeyData const* param_1) { - // NONMATCHING +void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* p_anm, + J3DAnmVtxColorKeyData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0]; + p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1]; + p_anm->mInfoTable[0] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[0]); + p_anm->mInfoTable[1] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[1]); + p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr( + p_data, (void*)p_data->mVtxColoIndexDataOffset[0]); + p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr( + p_data, (void*)p_data->mVtxColoIndexDataOffset[1]); + p_anm->mVtxColorIndexPointer[0] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColoIndexPointerOffset[0]); + p_anm->mVtxColorIndexPointer[1] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColoIndexPointerOffset[1]); + p_anm->mRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRValOffset); + p_anm->mGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mGValOffset); + p_anm->mBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mBValOffset); + p_anm->mAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mAValOffset); } /* 80309A80-80309B8C 3043C0 010C+00 2/1 0/0 0/0 .text load__20J2DAnmFullLoader_v15FPCv */ -void J2DAnmFullLoader_v15::load(void const* param_0) { - // NONMATCHING +void* J2DAnmFullLoader_v15::load(void const* p_data) { + const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; + const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; + + for (s32 i = 0; i < hdr->mCount; i++) { + switch (dataPtr->mType) { + case 'ANF1': + readAnmTransform((J3DAnmTransformFullData*)dataPtr); + break; + case 'PAF1': + readAnmColor((J3DAnmColorFullData*)dataPtr); + break; + case 'TPT1': + readAnmTexPattern((J3DAnmTexPatternFullData*)dataPtr); + break; + case 'VAF1': + readAnmVisibility((J3DAnmVisibilityFullData*)dataPtr); + break; + case 'VCF1': + readAnmVtxColor((J3DAnmVtxColorFullData*)dataPtr); + break; + } + dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); + } + return mpResource; } /* 80309B8C-80309CE8 3044CC 015C+00 1/0 0/0 0/0 .text * setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv */ -void J2DAnmFullLoader_v15::setResource(J2DAnmBase* param_0, void const* param_1) { - // NONMATCHING +void J2DAnmFullLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) { + const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; + const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; + + for (s32 i = 0; i < hdr->mCount; i++) { + switch (dataPtr->mType) { + case 'ANF1': + if (p_anm->getKind() == KIND_TRANSFORM) + setAnmTransform((J2DAnmTransformFull*)p_anm, + (J3DAnmTransformFullData*)dataPtr); + break; + case 'PAF1': + if (p_anm->getKind() == KIND_COLOR) + setAnmColor((J2DAnmColorFull*)p_anm, (J3DAnmColorFullData*)dataPtr); + break; + case 'TPT1': + if (p_anm->getKind() == KIND_TEX_PATTERN) + setAnmTexPattern((J2DAnmTexPattern*)p_anm, (J3DAnmTexPatternFullData*)dataPtr); + break; + case 'VAF1': + if (p_anm->getKind() == KIND_VISIBILITY) + setAnmVisibility((J2DAnmVisibilityFull*)p_anm, + (J3DAnmVisibilityFullData*)dataPtr); + break; + case 'VCF1': + if (p_anm->getKind() == KIND_VTX_COLOR) + setAnmVtxColor((J2DAnmVtxColorFull*)p_anm, (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() { - // NONMATCHING -} +J2DAnmFullLoader_v15::J2DAnmFullLoader_v15() {} /* 80309D04-80309D60 304644 005C+00 2/1 0/0 0/0 .text __dt__20J2DAnmFullLoader_v15Fv */ -J2DAnmFullLoader_v15::~J2DAnmFullLoader_v15() { - // NONMATCHING -} +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* param_0) { - // NONMATCHING +void J2DAnmFullLoader_v15::readAnmTransform(J3DAnmTransformFullData const* p_data) { + setAnmTransform((J2DAnmTransformFull*)mpResource, p_data); } /* 80309D88-80309E1C 3046C8 0094+00 2/2 0/0 0/0 .text * setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData */ -void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* param_0, - J3DAnmTransformFullData const* param_1) { - // NONMATCHING +void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* p_anm, + J3DAnmTransformFullData const* p_data) { + p_anm->field_0x22 = p_data->field_0xc; + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mTableInfo = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mScaleValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mScaleValOffset); + p_anm->mRotationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRotValOffset); + p_anm->mTranslateValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mTransValOffset); } /* 80309E1C-80309E44 30475C 0028+00 1/1 0/0 0/0 .text * readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData */ -void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* param_0) { - // NONMATCHING +void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* p_data) { + setAnmColor((J2DAnmColorFull*)mpResource, p_data); } /* 80309E44-80309F10 304784 00CC+00 2/2 0/0 0/0 .text * setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData */ -void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* param_0, - J3DAnmColorFullData const* param_1) { - // NONMATCHING +void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* p_anm, J3DAnmColorFullData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum; + p_anm->mInfoTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mRValues = JSUConvertOffsetToPtr(p_data, p_data->mRValuesOffset); + p_anm->mGValues = JSUConvertOffsetToPtr(p_data, p_data->mGValuesOffset); + p_anm->mBValues = JSUConvertOffsetToPtr(p_data, p_data->mBValuesOffset); + p_anm->mAValues = JSUConvertOffsetToPtr(p_data, p_data->mAValuesOffset); + p_anm->mUpdateMaterialID = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMaterialIDOffset); + p_anm->field_0x20.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTabOffset)); } /* 80309F10-80309F38 304850 0028+00 1/1 0/0 0/0 .text * readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */ -void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* param_0) { - // NONMATCHING +void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* p_data) { + setAnmTexPattern((J2DAnmTexPattern*)mpResource, p_data); } /* 80309F38-80309FDC 304878 00A4+00 2/2 0/0 0/0 .text * setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData */ -void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* param_0, - J3DAnmTexPatternFullData const* param_1) { - // NONMATCHING +void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* p_anm, + J3DAnmTexPatternFullData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mUpdateMaterialNum = p_data->field_0xc; + p_anm->field_0x18 = p_data->field_0xe; + p_anm->mAnmTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mValuesOffset); + p_anm->mUpdateMaterialID = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMaterialIDOffset); + p_anm->field_0x20.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTabOffset)); } /* 80309FDC-8030A004 30491C 0028+00 1/1 0/0 0/0 .text * readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */ -void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* param_0) { - // NONMATCHING +void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* p_data) { + setAnmTevReg((J2DAnmTevRegKey*)mpResource, p_data); } /* 8030A004-8030A190 304944 018C+00 2/2 0/0 0/0 .text * setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData */ -void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* param_0, - J3DAnmTevRegKeyData const* param_1) { - // NONMATCHING +void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* p_anm, J3DAnmTevRegKeyData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mCRegUpdateMaterialNum = p_data->mCRegUpdateMaterialNum; + p_anm->mAnmCRegKeyTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRegTableOffset); + p_anm->mCRegUpdateMaterialID = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRegUpdateMaterialIDOffset); + p_anm->mCRegNameTab.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRegNameTabOffset)); + p_anm->mKRegUpdateMaterialNum = p_data->mKRegUpdateMaterialNum; + p_anm->mAnmKRegKeyTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRegTableOffset); + p_anm->mKRegUpdateMaterialID = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRegUpdateMaterialIDOffset); + p_anm->mKRegNameTab.setResource( + JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRegNameTabOffset)); + p_anm->field_0x14 = p_data->field_0x10; + p_anm->field_0x16 = p_data->field_0x12; + p_anm->field_0x18 = p_data->field_0x14; + p_anm->field_0x1a = p_data->field_0x16; + p_anm->mCRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRValuesOffset); + p_anm->mCGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCGValuesOffset); + p_anm->mCBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCBValuesOffset); + p_anm->mCAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCAValuesOffset); + p_anm->field_0x1c = p_data->field_0x18; + p_anm->field_0x1e = p_data->field_0x1a; + p_anm->field_0x20 = p_data->field_0x1c; + p_anm->field_0x22 = p_data->field_0x1e; + p_anm->mKRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRValuesOffset); + p_anm->mKGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKGValuesOffset); + p_anm->mKBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKBValuesOffset); + p_anm->mKAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKAValuesOffset); } /* 8030A190-8030A1B8 304AD0 0028+00 1/1 0/0 0/0 .text * readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */ -void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* param_0) { - // NONMATCHING +void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* p_data) { + setAnmVisibility((J2DAnmVisibilityFull*)mpResource, p_data); } /* 8030A1B8-8030A234 304AF8 007C+00 2/2 0/0 0/0 .text * setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData */ -void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* param_0, - J3DAnmVisibilityFullData const* param_1) { - // NONMATCHING +void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* p_anm, + J3DAnmVisibilityFullData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->field_0x10 = p_data->field_0xc; + p_anm->field_0x12 = p_data->field_0xe; + p_anm->mTable = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); + p_anm->mValues = JSUConvertOffsetToPtr(p_data, p_data->mValuesOffset); } /* 8030A234-8030A25C 304B74 0028+00 1/1 0/0 0/0 .text * readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */ -void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* param_0) { - // NONMATCHING +void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* p_data) { + setAnmVtxColor((J2DAnmVtxColorFull*)mpResource, p_data); } /* 8030A25C-8030A358 304B9C 00FC+00 2/2 0/0 0/0 .text * setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData */ -void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* param_0, - J3DAnmVtxColorFullData const* param_1) { - // NONMATCHING +void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* p_anm, + J3DAnmVtxColorFullData const* p_data) { + p_anm->mFrameMax = p_data->mFrameMax; + p_anm->field_0x4 = p_data->field_0x8; + p_anm->mFrame = 0; + p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0]; + p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1]; + p_anm->mInfoTable[0] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[0]); + p_anm->mInfoTable[1] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[1]); + p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr( + p_data, (void*)p_data->mVtxColorIndexDataOffsets[0]); + p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr( + p_data, (void*)p_data->mVtxColorIndexDataOffsets[1]); + p_anm->mVtxColorIndexPointer[0] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[0]); + p_anm->mVtxColorIndexPointer[1] = + JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[1]); + p_anm->mRValues = JSUConvertOffsetToPtr(p_data, p_data->mRValuesOffset); + p_anm->mGValues = JSUConvertOffsetToPtr(p_data, p_data->mGValuesOffset); + p_anm->mBValues = JSUConvertOffsetToPtr(p_data, p_data->mBValuesOffset); + p_anm->mAValues = JSUConvertOffsetToPtr(p_data, p_data->mAValuesOffset); } - -/* 8030A358-8030A3B4 304C98 005C+00 1/0 0/0 0/0 .text __dt__14J2DAnmVtxColorFv */ -J2DAnmVtxColor::~J2DAnmVtxColor() { - // NONMATCHING -} - -/* 8030A3B4-8030A410 304CF4 005C+00 1/0 0/0 0/0 .text __dt__20J2DAnmVisibilityFullFv */ -J2DAnmVisibilityFull::~J2DAnmVisibilityFull() { - // NONMATCHING -} - -/* 8030A410-8030A458 304D50 0048+00 1/0 0/0 0/0 .text __dt__12J2DAnmLoaderFv */ -J2DAnmLoader::~J2DAnmLoader() { - // NONMATCHING -} - -/* 8030A458-8030A470 304D98 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<25J3DAnmVisibilityFullTable>__FPCvPCv */ -extern "C" void func_8030A458(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A470-8030A488 304DB0 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<18J3DAnmKRegKeyTable>__FPCvPCv */ -extern "C" void func_8030A470(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A488-8030A4A0 304DC8 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<18J3DAnmCRegKeyTable>__FPCvPCv */ -extern "C" void func_8030A488(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A4A0-8030A4B8 304DE0 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<25J3DAnmTexPatternFullTable>__FPCvPCv */ -extern "C" void func_8030A4A0(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A4B8-8030A4D0 304DF8 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<20J3DAnmColorFullTable>__FPCvPCv */ -extern "C" void func_8030A4B8(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A4D0-8030A4E8 304E10 0018+00 1/1 1/1 0/0 .text - * JSUConvertOffsetToPtr<24J3DAnmTransformFullTable>__FPCvPCv */ -extern "C" void func_8030A4D0(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A4E8-8030A500 304E28 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<23J3DAnmVtxColorIndexData>__FPCvPCv */ -extern "C" void func_8030A4E8(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A500-8030A518 304E40 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<19J3DAnmColorKeyTable>__FPCvPCv */ -extern "C" void func_8030A500(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A518-8030A530 304E58 0018+00 1/1 1/1 0/0 .text JSUConvertOffsetToPtr<3Vec>__FPCvPCv */ -extern "C" void func_8030A518(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A530-8030A548 304E70 0018+00 5/5 16/16 0/0 .text JSUConvertOffsetToPtr<7ResNTAB>__FPCvPCv - */ -extern "C" void func_8030A530(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A548-8030A560 304E88 0018+00 6/6 6/6 0/0 .text JSUConvertOffsetToPtr__FPCvPCv - */ -extern "C" void func_8030A548(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A560-8030A578 304EA0 0018+00 3/3 7/7 0/0 .text JSUConvertOffsetToPtr__FPCvPCv - */ -extern "C" void func_8030A560(void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8030A578-8030A590 304EB8 0018+00 2/2 2/2 0/0 .text - * JSUConvertOffsetToPtr<23J3DAnmTransformKeyTable>__FPCvPCv */ -extern "C" void func_8030A578(void const* param_0, void const* param_1) { - // NONMATCHING -} \ No newline at end of file diff --git a/src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp b/src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp deleted file mode 100644 index 70c6e1294f8..00000000000 --- a/src/JSystem/J2DGraph/J2DAnmLoader_nonmatching.cpp +++ /dev/null @@ -1,550 +0,0 @@ -// -// Generated By: dol2asm -// Translation Unit: J2DAnmLoader -// - -// this should match with -sym on and once J2DMaterialFactory is done -// JSUConvertOffsetToPtr needs to be emitted in J2DMaterialFactory before its used here - -#include "JSystem/J2DGraph/J2DAnmLoader.h" -#include "JSystem/JSupport/JSupport.h" - -// -// Types: -// - -/* 80308A6C-80309290 3033AC 0824+00 0/0 26/26 2/2 .text load__20J2DAnmLoaderDataBaseFPCv - */ -J2DAnmBase* J2DAnmLoaderDataBase::load(void const* p_data) { - const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; - - if (hdr == NULL) { - return NULL; - } else if (hdr->mMagic == 'J3D1') { - switch (hdr->mType) { - case 'bck1': { - J2DAnmKeyLoader_v15 loader; - loader.mpResource = new J2DAnmTransformKey(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'bpk1': { - J2DAnmKeyLoader_v15 loader; - loader.mpResource = new J2DAnmColorKey(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'blk1': - return NULL; - case 'btk1': { - J2DAnmKeyLoader_v15 loader; - loader.mpResource = new J2DAnmTextureSRTKey(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'brk1': { - J2DAnmKeyLoader_v15 loader; - loader.mpResource = new J2DAnmTevRegKey(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'bxk1': { - J2DAnmKeyLoader_v15 loader; - loader.mpResource = new J2DAnmVtxColorKey(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'bca1': { - J2DAnmFullLoader_v15 loader; - loader.mpResource = new J2DAnmTransformFull(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'bpa1': { - J2DAnmFullLoader_v15 loader; - loader.mpResource = new J2DAnmColorFull(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'btp1': { - J2DAnmFullLoader_v15 loader; - loader.mpResource = new J2DAnmTexPattern(); - return (J2DAnmBase*)loader.load(p_data); - } - case 'bva1': { - J2DAnmFullLoader_v15 loader; - loader.mpResource = new J2DAnmVisibilityFull(); - return (J2DAnmBase*)loader.load(p_data); - break; - } - case 'bla1': - return NULL; - case 'bxa1': { - J2DAnmFullLoader_v15 loader; - loader.mpResource = new J2DAnmVtxColorFull(); - return (J2DAnmBase*)loader.load(p_data); - } - } - 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* p_data) { - const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; - const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; - - for (s32 i = 0; i < hdr->mCount; i++) { - switch (dataPtr->mType) { - case 'ANK1': - readAnmTransform((J3DAnmTransformKeyData*)dataPtr); - break; - case 'PAK1': - readAnmColor((J3DAnmColorKeyData*)dataPtr); - break; - case 'TTK1': - readAnmTextureSRT((J3DAnmTextureSRTKeyData*)dataPtr); - break; - case 'VCK1': - readAnmVtxColor((J3DAnmVtxColorKeyData*)dataPtr); - break; - case 'TRK1': - readAnmTevReg((J3DAnmTevRegKeyData*)dataPtr); - break; - } - dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); - } - - return mpResource; -} - -/* 80309414-80309570 303D54 015C+00 1/0 0/0 0/0 .text - * setResource__19J2DAnmKeyLoader_v15FP10J2DAnmBasePCv */ -void J2DAnmKeyLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) { - const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; - const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; - - for (s32 i = 0; i < hdr->mCount; i++) { - switch (dataPtr->mType) { - case 'ANK1': - if (p_anm->getKind() == KIND_TRANSFORM) { - setAnmTransform((J2DAnmTransformKey*)p_anm, (J3DAnmTransformKeyData*)dataPtr); - } - break; - case 'PAK1': - if (p_anm->getKind() == KIND_COLOR) { - setAnmColor((J2DAnmColorKey*)p_anm, (J3DAnmColorKeyData*)dataPtr); - } - break; - case 'TTK1': - if (p_anm->getKind() == KIND_TEXTURE_SRT) { - setAnmTextureSRT((J2DAnmTextureSRTKey*)p_anm, - (J3DAnmTextureSRTKeyData*)dataPtr); - } - break; - case 'TRK1': - if (p_anm->getKind() == KIND_TEV_REG) { - setAnmTevReg((J2DAnmTevRegKey*)p_anm, (J3DAnmTevRegKeyData*)dataPtr); - } - break; - case 'VCK1': - if (p_anm->getKind() == KIND_VTX_COLOR) { - setAnmVtxColor((J2DAnmVtxColorKey*)p_anm, (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* p_data) { - setAnmTransform((J2DAnmTransformKey*)mpResource, p_data); -} - -/* 80309598-80309634 303ED8 009C+00 2/2 0/0 0/0 .text - * setAnmTransform__19J2DAnmKeyLoader_v15FP18J2DAnmTransformKeyPC22J3DAnmTransformKeyData */ -void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* p_anm, - J3DAnmTransformKeyData const* p_data) { - p_anm->field_0x22 = p_data->field_0xc; - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->field_0x24 = p_data->field_0x9; - p_anm->mFrame = 0; - p_anm->mInfoTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mScaleValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x18); - p_anm->mRotationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x1c); - p_anm->mTranslateValues = - JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x20); -} - -/* 80309634-8030965C 303F74 0028+00 1/1 0/0 0/0 .text - * readAnmTextureSRT__19J2DAnmKeyLoader_v15FPC23J3DAnmTextureSRTKeyData */ -void J2DAnmKeyLoader_v15::readAnmTextureSRT(J3DAnmTextureSRTKeyData const* p_data) { - setAnmTextureSRT((J2DAnmTextureSRTKey*)mpResource, p_data); -} - -/* 8030965C-80309848 303F9C 01EC+00 2/2 0/0 0/0 .text - * setAnmTextureSRT__19J2DAnmKeyLoader_v15FP19J2DAnmTextureSRTKeyPC23J3DAnmTextureSRTKeyData */ -void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* p_anm, - J3DAnmTextureSRTKeyData const* p_data) { - p_anm->mUpdateMaterialNum = p_data->field_0xc; - p_anm->mFrameMax = p_data->field_0xa; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->field_0x10 = p_data->field_0x9; - p_anm->mFrame = 0; - p_anm->mUpdateMaterialNum = p_data->field_0xc; - p_anm->field_0x1a = p_data->field_0xe; - p_anm->field_0x1c = p_data->field_0x10; - p_anm->field_0x1e = p_data->field_0x12; - p_anm->mInfoTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mUpdateMaterialID = JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMatIDOffset); - p_anm->field_0x34.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTab1Offset)); - p_anm->mUpdateTexMtxID = JSUConvertOffsetToPtr(p_data, p_data->mUpdateTexMtxIDOffset); - p_anm->field_0x44 = JSUConvertOffsetToPtr(p_data, (void*)p_data->unkOffset); - p_anm->mScaleValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mScaleValOffset); - p_anm->mRotationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRotValOffset); - p_anm->mTranslationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mTransValOffset); - if (p_data->mNameTab2Offset != 0) { - p_anm->field_0x68.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTab2Offset)); - } - p_anm->field_0x4e = p_data->field_0x34; - p_anm->field_0x48 = p_data->field_0x36; - p_anm->field_0x4a = p_data->field_0x38; - p_anm->field_0x4c = p_data->field_0x3a; - p_anm->field_0x5c = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mInfoTable2Offset); - p_anm->field_0x64 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x40); - p_anm->field_0x60 = JSUConvertOffsetToPtr(p_data, p_data->field_0x48); - p_anm->field_0x78 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x4c); - p_anm->field_0x50 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x50); - p_anm->field_0x54 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x54); - p_anm->field_0x58 = JSUConvertOffsetToPtr(p_data, (void*)p_data->field_0x58); - switch (p_data->field_0x5c) { - case 0: - p_anm->field_0x7c = 0; - break; - case 1: - p_anm->field_0x7c = 1; - break; - default: - p_anm->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* p_data) { - setAnmColor((J2DAnmColorKey*)mpResource, p_data); -} - -/* 80309870-8030995C 3041B0 00EC+00 2/2 0/0 0/0 .text - * setAnmColor__19J2DAnmKeyLoader_v15FP14J2DAnmColorKeyPC18J3DAnmColorKeyData */ -void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* p_anm, J3DAnmColorKeyData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum; - p_anm->field_0x10 = p_data->field_0x10; - p_anm->field_0x12 = p_data->field_0x12; - p_anm->field_0x14 = p_data->field_0x14; - p_anm->field_0x16 = p_data->field_0x16; - p_anm->mInfoTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRValOffset); - p_anm->mGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mGValOffset); - p_anm->mBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mBValOffset); - p_anm->mAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mAValOffset); - p_anm->mUpdateMaterialID = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMaterialIDOffset); - p_anm->field_0x20.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTabOffset)); -} - -/* 8030995C-80309984 30429C 0028+00 1/1 0/0 0/0 .text - * readAnmVtxColor__19J2DAnmKeyLoader_v15FPC21J3DAnmVtxColorKeyData */ -void J2DAnmKeyLoader_v15::readAnmVtxColor(J3DAnmVtxColorKeyData const* p_data) { - setAnmVtxColor((J2DAnmVtxColorKey*)mpResource, p_data); -} - -/* 80309984-80309A80 3042C4 00FC+00 2/2 0/0 0/0 .text - * setAnmVtxColor__19J2DAnmKeyLoader_v15FP17J2DAnmVtxColorKeyPC21J3DAnmVtxColorKeyData */ -void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* p_anm, - J3DAnmVtxColorKeyData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0]; - p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1]; - p_anm->mInfoTable[0] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[0]); - p_anm->mInfoTable[1] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[1]); - p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr( - p_data, (void*)p_data->mVtxColoIndexDataOffset[0]); - p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr( - p_data, (void*)p_data->mVtxColoIndexDataOffset[1]); - p_anm->mVtxColorIndexPointer[0] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColoIndexPointerOffset[0]); - p_anm->mVtxColorIndexPointer[1] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColoIndexPointerOffset[1]); - p_anm->mRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRValOffset); - p_anm->mGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mGValOffset); - p_anm->mBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mBValOffset); - p_anm->mAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mAValOffset); -} - -/* 80309A80-80309B8C 3043C0 010C+00 2/1 0/0 0/0 .text load__20J2DAnmFullLoader_v15FPCv */ -void* J2DAnmFullLoader_v15::load(void const* p_data) { - const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; - const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; - - for (s32 i = 0; i < hdr->mCount; i++) { - switch (dataPtr->mType) { - case 'ANF1': - readAnmTransform((J3DAnmTransformFullData*)dataPtr); - break; - case 'PAF1': - readAnmColor((J3DAnmColorFullData*)dataPtr); - break; - case 'TPT1': - readAnmTexPattern((J3DAnmTexPatternFullData*)dataPtr); - break; - case 'VAF1': - readAnmVisibility((J3DAnmVisibilityFullData*)dataPtr); - break; - case 'VCF1': - readAnmVtxColor((J3DAnmVtxColorFullData*)dataPtr); - break; - } - dataPtr = (J3DAnmDataBlockHeader*)((s32)dataPtr + dataPtr->mNextOffset); - } - return mpResource; -} - -/* 80309B8C-80309CE8 3044CC 015C+00 1/0 0/0 0/0 .text - * setResource__20J2DAnmFullLoader_v15FP10J2DAnmBasePCv */ -void J2DAnmFullLoader_v15::setResource(J2DAnmBase* p_anm, void const* p_data) { - const J3DAnmDataHeader* hdr = (const J3DAnmDataHeader*)p_data; - const J3DAnmDataBlockHeader* dataPtr = &hdr->mFirst; - - for (s32 i = 0; i < hdr->mCount; i++) { - switch (dataPtr->mType) { - case 'ANF1': - if (p_anm->getKind() == KIND_TRANSFORM) - setAnmTransform((J2DAnmTransformFull*)p_anm, - (J3DAnmTransformFullData*)dataPtr); - break; - case 'PAF1': - if (p_anm->getKind() == KIND_COLOR) - setAnmColor((J2DAnmColorFull*)p_anm, (J3DAnmColorFullData*)dataPtr); - break; - case 'TPT1': - if (p_anm->getKind() == KIND_TEX_PATTERN) - setAnmTexPattern((J2DAnmTexPattern*)p_anm, (J3DAnmTexPatternFullData*)dataPtr); - break; - case 'VAF1': - if (p_anm->getKind() == KIND_VISIBILITY) - setAnmVisibility((J2DAnmVisibilityFull*)p_anm, - (J3DAnmVisibilityFullData*)dataPtr); - break; - case 'VCF1': - if (p_anm->getKind() == KIND_VTX_COLOR) - setAnmVtxColor((J2DAnmVtxColorFull*)p_anm, (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* p_data) { - setAnmTransform((J2DAnmTransformFull*)mpResource, p_data); -} - -/* 80309D88-80309E1C 3046C8 0094+00 2/2 0/0 0/0 .text - * setAnmTransform__20J2DAnmFullLoader_v15FP19J2DAnmTransformFullPC23J3DAnmTransformFullData */ -void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* p_anm, - J3DAnmTransformFullData const* p_data) { - p_anm->field_0x22 = p_data->field_0xc; - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mTableInfo = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mScaleValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mScaleValOffset); - p_anm->mRotationValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mRotValOffset); - p_anm->mTranslateValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mTransValOffset); -} - -/* 80309E1C-80309E44 30475C 0028+00 1/1 0/0 0/0 .text - * readAnmColor__20J2DAnmFullLoader_v15FPC19J3DAnmColorFullData */ -void J2DAnmFullLoader_v15::readAnmColor(J3DAnmColorFullData const* p_data) { - setAnmColor((J2DAnmColorFull*)mpResource, p_data); -} - -/* 80309E44-80309F10 304784 00CC+00 2/2 0/0 0/0 .text - * setAnmColor__20J2DAnmFullLoader_v15FP15J2DAnmColorFullPC19J3DAnmColorFullData */ -void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* p_anm, J3DAnmColorFullData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mUpdateMaterialNum = p_data->mUpdateMaterialNum; - p_anm->mInfoTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mRValues = JSUConvertOffsetToPtr(p_data, p_data->mRValuesOffset); - p_anm->mGValues = JSUConvertOffsetToPtr(p_data, p_data->mGValuesOffset); - p_anm->mBValues = JSUConvertOffsetToPtr(p_data, p_data->mBValuesOffset); - p_anm->mAValues = JSUConvertOffsetToPtr(p_data, p_data->mAValuesOffset); - p_anm->mUpdateMaterialID = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMaterialIDOffset); - p_anm->field_0x20.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTabOffset)); -} - -/* 80309F10-80309F38 304850 0028+00 1/1 0/0 0/0 .text - * readAnmTexPattern__20J2DAnmFullLoader_v15FPC24J3DAnmTexPatternFullData */ -void J2DAnmFullLoader_v15::readAnmTexPattern(J3DAnmTexPatternFullData const* p_data) { - setAnmTexPattern((J2DAnmTexPattern*)mpResource, p_data); -} - -/* 80309F38-80309FDC 304878 00A4+00 2/2 0/0 0/0 .text - * setAnmTexPattern__20J2DAnmFullLoader_v15FP16J2DAnmTexPatternPC24J3DAnmTexPatternFullData */ -void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* p_anm, - J3DAnmTexPatternFullData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mUpdateMaterialNum = p_data->field_0xc; - p_anm->field_0x18 = p_data->field_0xe; - p_anm->mAnmTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mValuesOffset); - p_anm->mUpdateMaterialID = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mUpdateMaterialIDOffset); - p_anm->field_0x20.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mNameTabOffset)); -} - -/* 80309FDC-8030A004 30491C 0028+00 1/1 0/0 0/0 .text - * readAnmTevReg__19J2DAnmKeyLoader_v15FPC19J3DAnmTevRegKeyData */ -void J2DAnmKeyLoader_v15::readAnmTevReg(J3DAnmTevRegKeyData const* p_data) { - setAnmTevReg((J2DAnmTevRegKey*)mpResource, p_data); -} - -/* 8030A004-8030A190 304944 018C+00 2/2 0/0 0/0 .text - * setAnmTevReg__19J2DAnmKeyLoader_v15FP15J2DAnmTevRegKeyPC19J3DAnmTevRegKeyData */ -void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* p_anm, J3DAnmTevRegKeyData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mCRegUpdateMaterialNum = p_data->mCRegUpdateMaterialNum; - p_anm->mAnmCRegKeyTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRegTableOffset); - p_anm->mCRegUpdateMaterialID = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRegUpdateMaterialIDOffset); - p_anm->mCRegNameTab.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRegNameTabOffset)); - p_anm->mKRegUpdateMaterialNum = p_data->mKRegUpdateMaterialNum; - p_anm->mAnmKRegKeyTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRegTableOffset); - p_anm->mKRegUpdateMaterialID = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRegUpdateMaterialIDOffset); - p_anm->mKRegNameTab.setResource( - JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRegNameTabOffset)); - p_anm->field_0x14 = p_data->field_0x10; - p_anm->field_0x16 = p_data->field_0x12; - p_anm->field_0x18 = p_data->field_0x14; - p_anm->field_0x1a = p_data->field_0x16; - p_anm->mCRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCRValuesOffset); - p_anm->mCGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCGValuesOffset); - p_anm->mCBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCBValuesOffset); - p_anm->mCAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mCAValuesOffset); - p_anm->field_0x1c = p_data->field_0x18; - p_anm->field_0x1e = p_data->field_0x1a; - p_anm->field_0x20 = p_data->field_0x1c; - p_anm->field_0x22 = p_data->field_0x1e; - p_anm->mKRValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKRValuesOffset); - p_anm->mKGValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKGValuesOffset); - p_anm->mKBValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKBValuesOffset); - p_anm->mKAValues = JSUConvertOffsetToPtr(p_data, (void*)p_data->mKAValuesOffset); -} - -/* 8030A190-8030A1B8 304AD0 0028+00 1/1 0/0 0/0 .text - * readAnmVisibility__20J2DAnmFullLoader_v15FPC24J3DAnmVisibilityFullData */ -void J2DAnmFullLoader_v15::readAnmVisibility(J3DAnmVisibilityFullData const* p_data) { - setAnmVisibility((J2DAnmVisibilityFull*)mpResource, p_data); -} - -/* 8030A1B8-8030A234 304AF8 007C+00 2/2 0/0 0/0 .text - * setAnmVisibility__20J2DAnmFullLoader_v15FP20J2DAnmVisibilityFullPC24J3DAnmVisibilityFullData */ -void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* p_anm, - J3DAnmVisibilityFullData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->field_0x10 = p_data->field_0xc; - p_anm->field_0x12 = p_data->field_0xe; - p_anm->mTable = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffset); - p_anm->mValues = JSUConvertOffsetToPtr(p_data, p_data->mValuesOffset); -} - -/* 8030A234-8030A25C 304B74 0028+00 1/1 0/0 0/0 .text - * readAnmVtxColor__20J2DAnmFullLoader_v15FPC22J3DAnmVtxColorFullData */ -void J2DAnmFullLoader_v15::readAnmVtxColor(J3DAnmVtxColorFullData const* p_data) { - setAnmVtxColor((J2DAnmVtxColorFull*)mpResource, p_data); -} - -/* 8030A25C-8030A358 304B9C 00FC+00 2/2 0/0 0/0 .text - * setAnmVtxColor__20J2DAnmFullLoader_v15FP18J2DAnmVtxColorFullPC22J3DAnmVtxColorFullData */ -void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* p_anm, - J3DAnmVtxColorFullData const* p_data) { - p_anm->mFrameMax = p_data->mFrameMax; - p_anm->field_0x4 = p_data->field_0x8; - p_anm->mFrame = 0; - p_anm->mAnmTableNum[0] = p_data->mAnmTableNum[0]; - p_anm->mAnmTableNum[1] = p_data->mAnmTableNum[1]; - p_anm->mInfoTable[0] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[0]); - p_anm->mInfoTable[1] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mTableOffsets[1]); - p_anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr( - p_data, (void*)p_data->mVtxColorIndexDataOffsets[0]); - p_anm->mVtxColorIndexData[1] = JSUConvertOffsetToPtr( - p_data, (void*)p_data->mVtxColorIndexDataOffsets[1]); - p_anm->mVtxColorIndexPointer[0] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[0]); - p_anm->mVtxColorIndexPointer[1] = - JSUConvertOffsetToPtr(p_data, (void*)p_data->mVtxColorIndexPointerOffsets[1]); - p_anm->mRValues = JSUConvertOffsetToPtr(p_data, p_data->mRValuesOffset); - p_anm->mGValues = JSUConvertOffsetToPtr(p_data, p_data->mGValuesOffset); - p_anm->mBValues = JSUConvertOffsetToPtr(p_data, p_data->mBValuesOffset); - p_anm->mAValues = JSUConvertOffsetToPtr(p_data, p_data->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() {} \ No newline at end of file diff --git a/src/JSystem/J2DGraph/J2DMatBlock.cpp b/src/JSystem/J2DGraph/J2DMatBlock.cpp index f006aa9e5ed..64e205a2813 100644 --- a/src/JSystem/J2DGraph/J2DMatBlock.cpp +++ b/src/JSystem/J2DGraph/J2DMatBlock.cpp @@ -359,8 +359,7 @@ extern "C" extern void* __vt__11J2DIndBlock[14]; // /* 802EB394-802EB424 2E5CD4 0090+00 0/0 1/1 0/0 .text initialize__13J2DColorBlockFv */ -// instruction order -#ifdef NONMATCHING +// NONMATCHING - instruction order void J2DColorBlock::initialize() { for (int i = 0; i < 2; i++) { mMatColor[i] = JUtility::TColor(j2dDefaultColInfo); @@ -371,11 +370,6 @@ void J2DColorBlock::initialize() { } mCullMode = GX_CULL_NONE; } -#else -void J2DColorBlock::initialize() { - // NONMATCHING -} -#endif /* 802EB424-802EB510 2E5D64 00EC+00 0/0 1/1 0/0 .text setGX__13J2DColorBlockFv */ void J2DColorBlock::setGX() { @@ -414,280 +408,6 @@ void J2DTexGenBlock::setGX() { } } -/* ############################################################################################## */ -/* 803CCA90-803CCAC8 029BB0 0038+00 1/1 1/1 0/0 .data __vt__15J2DIndBlockFull */ -SECTION_DATA extern void* __vt__15J2DIndBlockFull[14] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__15J2DIndBlockFullFv, - (void*)setGX__15J2DIndBlockFullFv, - (void*)getType__15J2DIndBlockFullFv, - (void*)setIndTexStageNum__15J2DIndBlockFullFUc, - (void*)getIndTexStageNum__15J2DIndBlockFullCFv, - (void*)setIndTexOrder__15J2DIndBlockFullFUl14J2DIndTexOrder, - (void*)getIndTexOrder__15J2DIndBlockFullFUl, - (void*)setIndTexMtx__15J2DIndBlockFullFUl12J2DIndTexMtx, - (void*)getIndTexMtx__15J2DIndBlockFullFUl, - (void*)setIndTexCoordScale__15J2DIndBlockFullFUl19J2DIndTexCoordScale, - (void*)getIndTexCoordScale__15J2DIndBlockFullFUl, - (void*)__dt__15J2DIndBlockFullFv, -}; - -/* 803CCAC8-803CCB84 029BE8 00BC+00 2/2 0/0 0/0 .data __vt__13J2DTevBlock16 */ -SECTION_DATA extern void* __vt__13J2DTevBlock16[47] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__13J2DTevBlock16Fv, - (void*)setGX__13J2DTevBlock16Fv, - (void*)loadTexture__13J2DTevBlock16F11_GXTexMapIDUl, - (void*)getType__13J2DTevBlock16Fv, - (void*)getMaxStage__13J2DTevBlock16Fv, - (void*)setTexNo__13J2DTevBlock16FUlUs, - (void*)getTexNo__13J2DTevBlock16CFUl, - (void*)setFontNo__13J2DTevBlock16FUs, - (void*)getFontNo__13J2DTevBlock16CFv, - (void*)setTevOrder__13J2DTevBlock16FUl11J2DTevOrder, - (void*)getTevOrder__13J2DTevBlock16FUl, - (void*)setTevColor__13J2DTevBlock16FUl13J2DGXColorS10, - (void*)getTevColor__13J2DTevBlock16FUl, - (void*)setTevKColor__13J2DTevBlock16FUlQ28JUtility6TColor, - (void*)getTevKColor__13J2DTevBlock16FUl, - (void*)setTevKColorSel__13J2DTevBlock16FUlUc, - (void*)getTevKColorSel__13J2DTevBlock16FUl, - (void*)setTevKAlphaSel__13J2DTevBlock16FUlUc, - (void*)getTevKAlphaSel__13J2DTevBlock16FUl, - (void*)setTevStageNum__13J2DTevBlock16FUc, - (void*)getTevStageNum__13J2DTevBlock16CFv, - (void*)setTevStage__13J2DTevBlock16FUl11J2DTevStage, - (void*)getTevStage__13J2DTevBlock16FUl, - (void*)setTevSwapModeInfo__13J2DTevBlock16FUl18J2DTevSwapModeInfo, - (void*)setTevSwapModeTable__13J2DTevBlock16FUl19J2DTevSwapModeTable, - (void*)getTevSwapModeTable__13J2DTevBlock16FUl, - (void*)setIndTevStage__13J2DTevBlock16FUl14J2DIndTevStage, - (void*)getIndTevStage__13J2DTevBlock16FUl, - (void*)insertTexture__13J2DTevBlock16FUlPC7ResTIMG, - (void*)insertTexture__13J2DTevBlock16FUlPC7ResTIMGP10JUTPalette, - (void*)insertTexture__13J2DTevBlock16FUlP10JUTTexture, - (void*)setTexture__13J2DTevBlock16FUlPC7ResTIMG, - (void*)setTexture__13J2DTevBlock16FUlP10JUTTexture, - (void*)removeTexture__13J2DTevBlock16FUl, - (void*)setFont__13J2DTevBlock16FP7ResFONT, - (void*)setFont__13J2DTevBlock16FP7JUTFont, - (void*)setPalette__13J2DTevBlock16FUlPC7ResTLUT, - (void*)prepareTexture__13J2DTevBlock16FUc, - (void*)getTexture__13J2DTevBlock16FUl, - (void*)getPalette__13J2DTevBlock16FUl, - (void*)getFont__13J2DTevBlock16Fv, - (void*)shiftDeleteFlag__13J2DTevBlock16FUcb, - (void*)setUndeleteFlag__13J2DTevBlock16FUc, - (void*)setFontUndeleteFlag__13J2DTevBlock16Fv, - (void*)__dt__13J2DTevBlock16Fv, -}; - -/* 803CCB84-803CCC40 029CA4 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock8 */ -SECTION_DATA extern void* __vt__12J2DTevBlock8[47] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__12J2DTevBlock8Fv, - (void*)setGX__12J2DTevBlock8Fv, - (void*)loadTexture__12J2DTevBlock8F11_GXTexMapIDUl, - (void*)getType__12J2DTevBlock8Fv, - (void*)getMaxStage__12J2DTevBlock8Fv, - (void*)setTexNo__12J2DTevBlock8FUlUs, - (void*)getTexNo__12J2DTevBlock8CFUl, - (void*)setFontNo__12J2DTevBlock8FUs, - (void*)getFontNo__12J2DTevBlock8CFv, - (void*)setTevOrder__12J2DTevBlock8FUl11J2DTevOrder, - (void*)getTevOrder__12J2DTevBlock8FUl, - (void*)setTevColor__12J2DTevBlock8FUl13J2DGXColorS10, - (void*)getTevColor__12J2DTevBlock8FUl, - (void*)setTevKColor__12J2DTevBlock8FUlQ28JUtility6TColor, - (void*)getTevKColor__12J2DTevBlock8FUl, - (void*)setTevKColorSel__12J2DTevBlock8FUlUc, - (void*)getTevKColorSel__12J2DTevBlock8FUl, - (void*)setTevKAlphaSel__12J2DTevBlock8FUlUc, - (void*)getTevKAlphaSel__12J2DTevBlock8FUl, - (void*)setTevStageNum__12J2DTevBlock8FUc, - (void*)getTevStageNum__12J2DTevBlock8CFv, - (void*)setTevStage__12J2DTevBlock8FUl11J2DTevStage, - (void*)getTevStage__12J2DTevBlock8FUl, - (void*)setTevSwapModeInfo__12J2DTevBlock8FUl18J2DTevSwapModeInfo, - (void*)setTevSwapModeTable__12J2DTevBlock8FUl19J2DTevSwapModeTable, - (void*)getTevSwapModeTable__12J2DTevBlock8FUl, - (void*)setIndTevStage__12J2DTevBlock8FUl14J2DIndTevStage, - (void*)getIndTevStage__12J2DTevBlock8FUl, - (void*)insertTexture__12J2DTevBlock8FUlPC7ResTIMG, - (void*)insertTexture__12J2DTevBlock8FUlPC7ResTIMGP10JUTPalette, - (void*)insertTexture__12J2DTevBlock8FUlP10JUTTexture, - (void*)setTexture__12J2DTevBlock8FUlPC7ResTIMG, - (void*)setTexture__12J2DTevBlock8FUlP10JUTTexture, - (void*)removeTexture__12J2DTevBlock8FUl, - (void*)setFont__12J2DTevBlock8FP7ResFONT, - (void*)setFont__12J2DTevBlock8FP7JUTFont, - (void*)setPalette__12J2DTevBlock8FUlPC7ResTLUT, - (void*)prepareTexture__12J2DTevBlock8FUc, - (void*)getTexture__12J2DTevBlock8FUl, - (void*)getPalette__12J2DTevBlock8FUl, - (void*)getFont__12J2DTevBlock8Fv, - (void*)shiftDeleteFlag__12J2DTevBlock8FUcb, - (void*)setUndeleteFlag__12J2DTevBlock8FUc, - (void*)setFontUndeleteFlag__12J2DTevBlock8Fv, - (void*)__dt__12J2DTevBlock8Fv, -}; - -/* 803CCC40-803CCCFC 029D60 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock4 */ -SECTION_DATA extern void* __vt__12J2DTevBlock4[47] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__12J2DTevBlock4Fv, - (void*)setGX__12J2DTevBlock4Fv, - (void*)loadTexture__12J2DTevBlock4F11_GXTexMapIDUl, - (void*)getType__12J2DTevBlock4Fv, - (void*)getMaxStage__12J2DTevBlock4Fv, - (void*)setTexNo__12J2DTevBlock4FUlUs, - (void*)getTexNo__12J2DTevBlock4CFUl, - (void*)setFontNo__12J2DTevBlock4FUs, - (void*)getFontNo__12J2DTevBlock4CFv, - (void*)setTevOrder__12J2DTevBlock4FUl11J2DTevOrder, - (void*)getTevOrder__12J2DTevBlock4FUl, - (void*)setTevColor__12J2DTevBlock4FUl13J2DGXColorS10, - (void*)getTevColor__12J2DTevBlock4FUl, - (void*)setTevKColor__12J2DTevBlock4FUlQ28JUtility6TColor, - (void*)getTevKColor__12J2DTevBlock4FUl, - (void*)setTevKColorSel__12J2DTevBlock4FUlUc, - (void*)getTevKColorSel__12J2DTevBlock4FUl, - (void*)setTevKAlphaSel__12J2DTevBlock4FUlUc, - (void*)getTevKAlphaSel__12J2DTevBlock4FUl, - (void*)setTevStageNum__12J2DTevBlock4FUc, - (void*)getTevStageNum__12J2DTevBlock4CFv, - (void*)setTevStage__12J2DTevBlock4FUl11J2DTevStage, - (void*)getTevStage__12J2DTevBlock4FUl, - (void*)setTevSwapModeInfo__12J2DTevBlock4FUl18J2DTevSwapModeInfo, - (void*)setTevSwapModeTable__12J2DTevBlock4FUl19J2DTevSwapModeTable, - (void*)getTevSwapModeTable__12J2DTevBlock4FUl, - (void*)setIndTevStage__12J2DTevBlock4FUl14J2DIndTevStage, - (void*)getIndTevStage__12J2DTevBlock4FUl, - (void*)insertTexture__12J2DTevBlock4FUlPC7ResTIMG, - (void*)insertTexture__12J2DTevBlock4FUlPC7ResTIMGP10JUTPalette, - (void*)insertTexture__12J2DTevBlock4FUlP10JUTTexture, - (void*)setTexture__12J2DTevBlock4FUlPC7ResTIMG, - (void*)setTexture__12J2DTevBlock4FUlP10JUTTexture, - (void*)removeTexture__12J2DTevBlock4FUl, - (void*)setFont__12J2DTevBlock4FP7ResFONT, - (void*)setFont__12J2DTevBlock4FP7JUTFont, - (void*)setPalette__12J2DTevBlock4FUlPC7ResTLUT, - (void*)prepareTexture__12J2DTevBlock4FUc, - (void*)getTexture__12J2DTevBlock4FUl, - (void*)getPalette__12J2DTevBlock4FUl, - (void*)getFont__12J2DTevBlock4Fv, - (void*)shiftDeleteFlag__12J2DTevBlock4FUcb, - (void*)setUndeleteFlag__12J2DTevBlock4FUc, - (void*)setFontUndeleteFlag__12J2DTevBlock4Fv, - (void*)__dt__12J2DTevBlock4Fv, -}; - -/* 803CCCFC-803CCDB8 029E1C 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock2 */ -SECTION_DATA extern void* __vt__12J2DTevBlock2[47] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__12J2DTevBlock2Fv, - (void*)setGX__12J2DTevBlock2Fv, - (void*)loadTexture__12J2DTevBlock2F11_GXTexMapIDUl, - (void*)getType__12J2DTevBlock2Fv, - (void*)getMaxStage__12J2DTevBlock2Fv, - (void*)setTexNo__12J2DTevBlock2FUlUs, - (void*)getTexNo__12J2DTevBlock2CFUl, - (void*)setFontNo__12J2DTevBlock2FUs, - (void*)getFontNo__12J2DTevBlock2CFv, - (void*)setTevOrder__12J2DTevBlock2FUl11J2DTevOrder, - (void*)getTevOrder__12J2DTevBlock2FUl, - (void*)setTevColor__12J2DTevBlock2FUl13J2DGXColorS10, - (void*)getTevColor__12J2DTevBlock2FUl, - (void*)setTevKColor__12J2DTevBlock2FUlQ28JUtility6TColor, - (void*)getTevKColor__12J2DTevBlock2FUl, - (void*)setTevKColorSel__12J2DTevBlock2FUlUc, - (void*)getTevKColorSel__12J2DTevBlock2FUl, - (void*)setTevKAlphaSel__12J2DTevBlock2FUlUc, - (void*)getTevKAlphaSel__12J2DTevBlock2FUl, - (void*)setTevStageNum__12J2DTevBlock2FUc, - (void*)getTevStageNum__12J2DTevBlock2CFv, - (void*)setTevStage__12J2DTevBlock2FUl11J2DTevStage, - (void*)getTevStage__12J2DTevBlock2FUl, - (void*)setTevSwapModeInfo__12J2DTevBlock2FUl18J2DTevSwapModeInfo, - (void*)setTevSwapModeTable__12J2DTevBlock2FUl19J2DTevSwapModeTable, - (void*)getTevSwapModeTable__12J2DTevBlock2FUl, - (void*)setIndTevStage__12J2DTevBlock2FUl14J2DIndTevStage, - (void*)getIndTevStage__12J2DTevBlock2FUl, - (void*)insertTexture__12J2DTevBlock2FUlPC7ResTIMG, - (void*)insertTexture__12J2DTevBlock2FUlPC7ResTIMGP10JUTPalette, - (void*)insertTexture__12J2DTevBlock2FUlP10JUTTexture, - (void*)setTexture__12J2DTevBlock2FUlPC7ResTIMG, - (void*)setTexture__12J2DTevBlock2FUlP10JUTTexture, - (void*)removeTexture__12J2DTevBlock2FUl, - (void*)setFont__12J2DTevBlock2FP7ResFONT, - (void*)setFont__12J2DTevBlock2FP7JUTFont, - (void*)setPalette__12J2DTevBlock2FUlPC7ResTLUT, - (void*)prepareTexture__12J2DTevBlock2FUc, - (void*)getTexture__12J2DTevBlock2FUl, - (void*)getPalette__12J2DTevBlock2FUl, - (void*)getFont__12J2DTevBlock2Fv, - (void*)shiftDeleteFlag__12J2DTevBlock2FUcb, - (void*)setUndeleteFlag__12J2DTevBlock2FUc, - (void*)setFontUndeleteFlag__12J2DTevBlock2Fv, - (void*)__dt__12J2DTevBlock2Fv, -}; - -/* 803CCDB8-803CCE74 029ED8 00BC+00 2/2 0/0 0/0 .data __vt__12J2DTevBlock1 */ -SECTION_DATA extern void* __vt__12J2DTevBlock1[47] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__12J2DTevBlock1Fv, - (void*)setGX__12J2DTevBlock1Fv, - (void*)loadTexture__12J2DTevBlock1F11_GXTexMapIDUl, - (void*)getType__12J2DTevBlock1Fv, - (void*)getMaxStage__12J2DTevBlock1Fv, - (void*)setTexNo__12J2DTevBlock1FUlUs, - (void*)getTexNo__12J2DTevBlock1CFUl, - (void*)setFontNo__12J2DTevBlock1FUs, - (void*)getFontNo__12J2DTevBlock1CFv, - (void*)setTevOrder__12J2DTevBlock1FUl11J2DTevOrder, - (void*)getTevOrder__12J2DTevBlock1FUl, - (void*)setTevColor__12J2DTevBlock1FUl13J2DGXColorS10, - (void*)getTevColor__12J2DTevBlock1FUl, - (void*)setTevKColor__12J2DTevBlock1FUlQ28JUtility6TColor, - (void*)getTevKColor__12J2DTevBlock1FUl, - (void*)setTevKColorSel__12J2DTevBlock1FUlUc, - (void*)getTevKColorSel__12J2DTevBlock1FUl, - (void*)setTevKAlphaSel__12J2DTevBlock1FUlUc, - (void*)getTevKAlphaSel__12J2DTevBlock1FUl, - (void*)setTevStageNum__12J2DTevBlock1FUc, - (void*)getTevStageNum__12J2DTevBlock1CFv, - (void*)setTevStage__12J2DTevBlock1FUl11J2DTevStage, - (void*)getTevStage__12J2DTevBlock1FUl, - (void*)setTevSwapModeInfo__12J2DTevBlock1FUl18J2DTevSwapModeInfo, - (void*)setTevSwapModeTable__12J2DTevBlock1FUl19J2DTevSwapModeTable, - (void*)getTevSwapModeTable__12J2DTevBlock1FUl, - (void*)setIndTevStage__12J2DTevBlock1FUl14J2DIndTevStage, - (void*)getIndTevStage__12J2DTevBlock1FUl, - (void*)insertTexture__12J2DTevBlock1FUlPC7ResTIMG, - (void*)insertTexture__12J2DTevBlock1FUlPC7ResTIMGP10JUTPalette, - (void*)insertTexture__12J2DTevBlock1FUlP10JUTTexture, - (void*)setTexture__12J2DTevBlock1FUlPC7ResTIMG, - (void*)setTexture__12J2DTevBlock1FUlP10JUTTexture, - (void*)removeTexture__12J2DTevBlock1FUl, - (void*)setFont__12J2DTevBlock1FP7ResFONT, - (void*)setFont__12J2DTevBlock1FP7JUTFont, - (void*)setPalette__12J2DTevBlock1FUlPC7ResTLUT, - (void*)prepareTexture__12J2DTevBlock1FUc, - (void*)getTexture__12J2DTevBlock1FUl, - (void*)getPalette__12J2DTevBlock1FUl, - (void*)getFont__12J2DTevBlock1Fv, - (void*)shiftDeleteFlag__12J2DTevBlock1FUcb, - (void*)setUndeleteFlag__12J2DTevBlock1FUc, - (void*)setFontUndeleteFlag__12J2DTevBlock1Fv, - (void*)__dt__12J2DTevBlock1Fv, -}; - /* 802EB620-802EB6A4 2E5F60 0084+00 1/0 1/1 0/0 .text __dt__14J2DTexGenBlockFv */ J2DTexGenBlock::~J2DTexGenBlock() { for (int i = 0; i < 8; i++) { @@ -748,8 +468,6 @@ J2DTevBlock1::~J2DTevBlock1() { } /* 802EBA50-802EBC0C 2E6390 01BC+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock1Fv */ -// inlines -#ifdef NONMATCHING void J2DTevBlock1::initialize() { mTexNo[0] = -1; mFontNo = -1; @@ -770,12 +488,6 @@ void J2DTevBlock1::initialize() { mPalette[0] = NULL; mFont = NULL; } -#else -extern "C" void initialize__12J2DTevBlock1Fv() { - // asm void J2DTevBlock1::initialize() { - // NONMATCHING -} -#endif /* 802EBC0C-802EBCC0 2E654C 00B4+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock1FUc */ @@ -1078,9 +790,33 @@ J2DTevBlock2::~J2DTevBlock2() { } /* 802EC7A0-802ECA18 2E70E0 0278+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock2Fv */ -extern "C" void initialize__12J2DTevBlock2Fv() { - // asm void J2DTevBlock2::initialize() { - // NONMATCHING +void J2DTevBlock2::initialize() { + mTexNo[0] = 0xffff; + mTexNo[1] = 0xffff; + mFontNo = 0xffff; + mTevOrder[0].setTevOrderInfo(j2dDefaultTevOrderInfoNull); + mTevOrder[1].setTevOrderInfo(j2dDefaultTevOrderInfoNull); + for (int i = 0; i < 4; i++) { + mTevColor[i] = j2dDefaultTevColor; + } + mTevStageNum = 1; + mTevStage[0].setStageNo(0); + mTevStage[1].setStageNo(1); + for (int i = 0; i < 4; i++) { + mTevKColor[i] = j2dDefaultTevKColor; + } + mTevKColorSel[0] = 0xff; + mTevKColorSel[1] = 0xff; + mTevKAlphaSel[0] = 0xff; + mTevKAlphaSel[1] = 0xff; + for (int i = 0; i < 4; i++) { + mTevSwapModeTable[i].setTevSwapModeTableInfo(j2dDefaultTevSwapModeTable); + } + mIndTevStage[0].setIndTevStageInfo(j2dDefaultIndTevStageInfo); + mIndTevStage[1].setIndTevStageInfo(j2dDefaultIndTevStageInfo); + mPalette[0] = NULL; + mPalette[1] = NULL; + mFont = NULL; } /* 802ECA18-802ECAE8 2E7358 00D0+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock2FUc @@ -1238,8 +974,7 @@ bool J2DTevBlock2::insertTexture(u32 param_0, JUTTexture* p_tex) { } /* 802ECF48-802ED16C 2E7888 0224+00 1/0 0/0 0/0 .text setTexture__12J2DTevBlock2FUlPC7ResTIMG */ -// instruction order -#ifdef NONMATCHING +// NONMATCHING - instruction order bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) { if (param_0 >= 2) { return false; @@ -1303,11 +1038,6 @@ bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* p_timg) { mTexNo[param_0] = -1; return true; } -#else -bool J2DTevBlock2::setTexture(u32 param_0, ResTIMG const* param_1) { - // NONMATCHING -} -#endif /* 802ED16C-802ED21C 2E7AAC 00B0+00 1/0 0/0 0/0 .text setTexture__12J2DTevBlock2FUlP10JUTTexture */ @@ -1512,8 +1242,7 @@ J2DTevBlock4::~J2DTevBlock4() { } /* 802EDAC4-802EDD34 2E8404 0270+00 1/0 0/0 0/0 .text initialize__12J2DTevBlock4Fv */ -// inlines -#ifdef NONMATCHING +// NONMATCHING - inlines void J2DTevBlock4::initialize() { for (int i = 0; i < 4; i++) { mTexNo[i] = -1; @@ -1547,12 +1276,6 @@ void J2DTevBlock4::initialize() { } mFont = NULL; } -#else -extern "C" void initialize__12J2DTevBlock4Fv() { - // asm void J2DTevBlock4::initialize() { - // NONMATCHING -} -#endif /* 802EDD34-802EDE04 2E8674 00D0+00 1/0 0/0 0/0 .text prepareTexture__12J2DTevBlock4FUc */ @@ -1577,8 +1300,7 @@ bool J2DTevBlock4::prepareTexture(u8 param_0) { /* 802EDE04-802EE1D4 2E8744 03D0+00 1/0 0/0 0/0 .text * insertTexture__12J2DTevBlock4FUlPC7ResTIMGP10JUTPalette */ -// local_3c -#ifdef NONMATCHING +// NONMATCHING - local_3c bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* p_tlut) { if (param_0 >= 4 || !p_timg) { return false; @@ -1669,11 +1391,6 @@ bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* p_timg, JUTPalette* mTexNo[param_0] = -1; return true; } -#else -bool J2DTevBlock4::insertTexture(u32 param_0, ResTIMG const* param_1, JUTPalette* param_2) { - // NONMATCHING -} -#endif /* 802EE1D4-802EE364 2E8B14 0190+00 1/0 0/0 0/0 .text * insertTexture__12J2DTevBlock4FUlP10JUTTexture */ @@ -2494,30 +2211,6 @@ void J2DPEBlock::setGX() { GXSetDither(mDither); } -/* 802F18A0-802F1934 2EC1E0 0094+00 5/5 0/0 0/0 .text __ct__14J2DIndTevStageFv */ -// should be inline -#ifdef NONMATCHING -J2DIndTevStage::J2DIndTevStage() { - mFlags = J2DCalcIndTevStage(j2dDefaultIndTevStageInfo); -} -#else -void __ct__14J2DIndTevStageFv() { - // NONMATCHING -} -#endif - -/* 802F1934-802F1940 2EC274 000C+00 5/5 0/0 0/0 .text __ct__19J2DTevSwapModeTableFv */ -// Should be inline -#ifdef NONMATCHING -J2DTevSwapModeTable::J2DTevSwapModeTable() { - field_0x0 = data_804561AC; -} -#else -void __ct__19J2DTevSwapModeTableFv() { - // NONMATCHING -} -#endif - /* 802F1940-802F19A8 2EC280 0068+00 5/5 1/1 0/0 .text __ct__11J2DTevStageFv */ J2DTevStage::J2DTevStage() { setTevStageInfo(j2dDefaultTevStageInfo); @@ -2533,26 +2226,6 @@ void J2DTevStage::setTevStageInfo(J2DTevStageInfo const& info) { setTevAlphaOp(info.mAOp, info.mABias, info.mAScale, info.mAClamp, info.mAReg); } -/* 802F1B70-802F1B90 2EC4B0 0020+00 5/5 0/0 0/0 .text __ct__11J2DTevOrderFv */ -// Matching but should be inline -#ifdef NONMATCHING -J2DTevOrder::J2DTevOrder() { - mTevOrderInfo = j2dDefaultTevOrderInfoNull; -} -#else -// J2DTevOrder::J2DTevOrder() { -void __ct__11J2DTevOrderFv() { - // NONMATCHING -} -#endif - -/* 802F1B90-802F1B94 2EC4D0 0004+00 5/5 0/0 0/0 .text __ct__13J2DGXColorS10Fv */ -// Most likely inlined -//J2DGXColorS10::J2DGXColorS10() { -void __ct__13J2DGXColorS10Fv() { - /* empty function */ -} - /* 802F1B94-802F1BA0 2EC4D4 000C+00 1/0 0/0 0/0 .text getType__15J2DIndBlockFullFv */ u32 J2DIndBlockFull::getType() { return 'IBLF'; @@ -3650,4 +3323,4 @@ void J2DTevBlock::setUndeleteFlag(u8) { /* 802F2ACC-802F2AD0 2ED40C 0004+00 1/0 0/0 0/0 .text setFontUndeleteFlag__11J2DTevBlockFv */ void J2DTevBlock::setFontUndeleteFlag() { /* empty function */ -} \ No newline at end of file +} diff --git a/src/JSystem/J2DGraph/J2DMaterial.cpp b/src/JSystem/J2DGraph/J2DMaterial.cpp index ac0fad40619..ea9712dff84 100644 --- a/src/JSystem/J2DGraph/J2DMaterial.cpp +++ b/src/JSystem/J2DGraph/J2DMaterial.cpp @@ -4,145 +4,12 @@ // #include "JSystem/J2DGraph/J2DMaterial.h" +#include "JSystem/J3DGraphBase/J3DStruct.h" #include "JSystem/JKernel/JKRHeap.h" +#include "JSystem/JUtility/JUTPalette.h" +#include "JSystem/JUtility/JUTTexture.h" #include "dol2asm.h" -// -// Forward References: -// - -extern "C" void __ct__11J2DMaterialFv(); -extern "C" void __dt__11J2DMaterialFv(); -extern "C" void setGX__11J2DMaterialFv(); -extern "C" void createTevBlock__11J2DMaterialFib(); -extern "C" void createIndBlock__11J2DMaterialFib(); -extern "C" void __ct__Q211J2DMaterial21J2DMaterialAnmPointerFv(); -extern "C" void makeAnmPointer__11J2DMaterialFv(); -extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor(); -extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern(); -extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey(); -extern "C" void animation__11J2DMaterialFv(); -extern "C" void __dt__13J2DColorBlockFv(); -extern "C" void __dt__11J2DIndBlockFv(); -extern "C" void __dt__11J2DTevBlockFv(); -extern "C" void setGX__11J2DIndBlockFv(); -extern "C" void setGX__11J2DTevBlockFv(); -extern "C" void setTevKColor__11J2DTevBlockFUlQ28JUtility6TColor(); -extern "C" void setTevColor__11J2DTevBlockFUl13J2DGXColorS10(); -extern "C" void setTexNo__11J2DTevBlockFUlUs(); -extern "C" void setGX__15J2DIndBlockNullFv(); -extern "C" void getType__15J2DIndBlockNullFv(); -extern "C" void __dt__15J2DIndBlockNullFv(); -extern "C" void initialize__11J2DIndBlockFv(); -extern "C" void setIndTexStageNum__11J2DIndBlockFUc(); -extern "C" void setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder(); -extern "C" void setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx(); -extern "C" void setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale(); -extern "C" void __ct__11J2DTexCoordFv(); -extern "C" void __ct__12J2DColorChanFv(); -extern "C" void __dt__19J2DIndTexCoordScaleFv(); -extern "C" void __ct__19J2DIndTexCoordScaleFv(); -extern "C" void __dt__12J2DIndTexMtxFv(); -extern "C" void __ct__12J2DIndTexMtxFv(); -extern "C" void __ct__14J2DIndTexOrderFv(); -extern "C" void getColor__11J2DAnmColorCFUsP8_GXColor(); - -// -// External References: -// - -extern "C" void __ct__Q28JUtility6TColorFv(); -extern "C" void* __nw__FUl(); -extern "C" void* __nw__FUli(); -extern "C" void __dl__FPv(); -extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette7_GXTlut(); -extern "C" bool getIndTexCoordScale__11J2DIndBlockFUl(); -extern "C" bool getIndTexMtx__11J2DIndBlockFUl(); -extern "C" bool getIndTexOrder__11J2DIndBlockFUl(); -extern "C" bool getIndTexStageNum__11J2DIndBlockCFv(); -extern "C" void initialize__13J2DColorBlockFv(); -extern "C" void setGX__13J2DColorBlockFv(); -extern "C" void initialize__14J2DTexGenBlockFv(); -extern "C" void setGX__14J2DTexGenBlockFv(); -extern "C" void __dt__14J2DTexGenBlockFv(); -extern "C" void setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx(); -extern "C" void getTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx(); -extern "C" void __ct__12J2DTevBlock1Fv(); -extern "C" void __ct__12J2DTevBlock2Fv(); -extern "C" void __ct__12J2DTevBlock4Fv(); -extern "C" void __ct__12J2DTevBlock8Fv(); -extern "C" void __ct__13J2DTevBlock16Fv(); -extern "C" void initialize__10J2DPEBlockFv(); -extern "C" void setGX__10J2DPEBlockFv(); -extern "C" void calcTransform__19J2DAnmTextureSRTKeyCFfUsP17J3DTextureSRTInfo(); -extern "C" void getTexNo__16J2DAnmTexPatternCFUsPUs(); -extern "C" void getResTIMG__16J2DAnmTexPatternCFUs(); -extern "C" void getPalette__16J2DAnmTexPatternCFUs(); -extern "C" void getTevColorReg__15J2DAnmTevRegKeyCFUsP11_GXColorS10(); -extern "C" void getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor(); -extern "C" void __construct_array(); -extern "C" void _savegpr_26(); -extern "C" void _restgpr_26(); -extern "C" extern void* __vt__15J2DIndBlockFull[14]; -extern "C" extern void* __vt__11J2DTevBlock[47]; -extern "C" extern void* __vt__14J2DTexGenBlock[3 + 1 /* padding */]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803CCA08-803CCA40 029B28 0038+00 2/2 0/0 0/0 .data __vt__15J2DIndBlockNull */ -SECTION_DATA extern void* __vt__15J2DIndBlockNull[14] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__11J2DIndBlockFv, - (void*)setGX__15J2DIndBlockNullFv, - (void*)getType__15J2DIndBlockNullFv, - (void*)setIndTexStageNum__11J2DIndBlockFUc, - (void*)getIndTexStageNum__11J2DIndBlockCFv, - (void*)setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder, - (void*)getIndTexOrder__11J2DIndBlockFUl, - (void*)setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx, - (void*)getIndTexMtx__11J2DIndBlockFUl, - (void*)setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale, - (void*)getIndTexCoordScale__11J2DIndBlockFUl, - (void*)__dt__15J2DIndBlockNullFv, -}; - -/* 803CCA40-803CCA78 029B60 0038+00 3/3 1/1 0/0 .data __vt__11J2DIndBlock */ -SECTION_DATA extern void* __vt__11J2DIndBlock[14] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)initialize__11J2DIndBlockFv, - (void*)setGX__11J2DIndBlockFv, - (void*)NULL, - (void*)setIndTexStageNum__11J2DIndBlockFUc, - (void*)getIndTexStageNum__11J2DIndBlockCFv, - (void*)setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder, - (void*)getIndTexOrder__11J2DIndBlockFUl, - (void*)setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx, - (void*)getIndTexMtx__11J2DIndBlockFUl, - (void*)setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale, - (void*)getIndTexCoordScale__11J2DIndBlockFUl, - (void*)__dt__11J2DIndBlockFv, -}; - -/* 803CCA78-803CCA84 029B98 000C+00 2/2 0/0 0/0 .data __vt__11J2DMaterial */ -SECTION_DATA extern void* __vt__11J2DMaterial[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11J2DMaterialFv, -}; - -/* 803CCA84-803CCA90 029BA4 000C+00 3/3 0/0 0/0 .data __vt__13J2DColorBlock */ -SECTION_DATA extern void* __vt__13J2DColorBlock[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13J2DColorBlockFv, -}; - /* 802EA1AC-802EA2CC 2E4AEC 0120+00 0/0 1/1 0/0 .text __ct__11J2DMaterialFv */ J2DMaterial::J2DMaterial() { field_0x4 = 0; @@ -154,10 +21,10 @@ J2DMaterial::J2DMaterial() { mVisible = true; } -/* 802EA2CC-802EA38C 2E4C0C 00C0+00 1/0 2/2 0/0 .text __dt__11J2DMaterialFv */ -extern "C" void __dt__11J2DMaterialFv() { - // asm J2DMaterial::~J2DMaterial() { - // NONMATCHING +J2DMaterial::~J2DMaterial() { + delete mTevBlock; + delete mIndBlock; + delete mAnmPointer; } /* 802EA38C-802EA410 2E4CCC 0084+00 0/0 8/8 0/0 .text setGX__11J2DMaterialFv */ @@ -235,26 +102,26 @@ J2DIndBlock* J2DMaterial::createIndBlock(int block_type, bool noAlign) { /* 802EA79C-802EA84C 2E50DC 00B0+00 1/1 0/0 0/0 .text * __ct__Q211J2DMaterial21J2DMaterialAnmPointerFv */ J2DMaterial::J2DMaterialAnmPointer::J2DMaterialAnmPointer() { - field_0x0 = NULL; - field_0x10 = -1; - field_0x4 = 0; + mColorAnm = NULL; + mColorIds = -1; + mSRTAnm = NULL; for (int i = 0; i < 8; i++) { - field_0x12[i] = -1; + mSRTIds[i] = -1; } - field_0x8 = 0; + mPatternAnm = NULL; for (int i = 0; i < 8; i++) { - field_0x22[i] = -1; + mPatternIds[i] = -1; } - field_0xc = 0; + mTevAnm = NULL; for (int i = 0; i < 4; i++) { - field_0x32[i] = -1; + mTevCRegIds[i] = -1; } for (int i = 0; i < 4; i++) { - field_0x3a[i] = -1; + mTevKRegIds[i] = -1; } } @@ -270,8 +137,8 @@ void J2DMaterial::makeAnmPointer() { void J2DMaterial::setAnimation(J2DAnmColor* anm) { if (anm != NULL || mAnmPointer != NULL) { makeAnmPointer(); - mAnmPointer->field_0x0 = anm; - mAnmPointer->field_0x10 = -1; + mAnmPointer->mColorAnm = anm; + mAnmPointer->mColorIds = -1; if (anm != NULL) { u16 matNum = anm->getUpdateMaterialNum(); @@ -281,7 +148,7 @@ void J2DMaterial::setAnimation(J2DAnmColor* anm) { u16 matID = anm->getUpdateMaterialID(i); if (index == matID) { - mAnmPointer->field_0x10 = i; + mAnmPointer->mColorIds = i; return; } } @@ -294,10 +161,10 @@ void J2DMaterial::setAnimation(J2DAnmColor* anm) { void J2DMaterial::setAnimation(J2DAnmTextureSRTKey* anm) { if (anm != NULL || mAnmPointer != NULL) { makeAnmPointer(); - mAnmPointer->field_0x4 = anm; + mAnmPointer->mSRTAnm = anm; for (int i = 0; i < 8; i++) { - mAnmPointer->field_0x12[i] = -1; + mAnmPointer->mSRTIds[i] = -1; } if (anm != NULL) { @@ -309,7 +176,7 @@ void J2DMaterial::setAnimation(J2DAnmTextureSRTKey* anm) { if (index == matID) { u8 mtxID = anm->getUpdateTexMtxID(i); - mAnmPointer->field_0x12[mtxID] = i; + mAnmPointer->mSRTIds[mtxID] = i; } } } @@ -321,10 +188,10 @@ void J2DMaterial::setAnimation(J2DAnmTextureSRTKey* anm) { void J2DMaterial::setAnimation(J2DAnmTexPattern* anm) { if (anm != NULL || mAnmPointer != NULL) { makeAnmPointer(); - mAnmPointer->field_0x8 = anm; + mAnmPointer->mPatternAnm = anm; for (int i = 0; i < 8; i++) { - mAnmPointer->field_0x22[i] = -1; + mAnmPointer->mPatternIds[i] = -1; } if (anm != NULL) { @@ -336,7 +203,7 @@ void J2DMaterial::setAnimation(J2DAnmTexPattern* anm) { u16 matID = anm->getUpdateMaterialID(i); if (index == matID) { - mAnmPointer->field_0x22[anmTbl[i].mTexNo] = i; + mAnmPointer->mPatternIds[anmTbl[i].mTexNo] = i; } } } @@ -348,10 +215,10 @@ void J2DMaterial::setAnimation(J2DAnmTexPattern* anm) { void J2DMaterial::setAnimation(J2DAnmTevRegKey* anm) { if (anm != NULL || mAnmPointer != NULL) { makeAnmPointer(); - mAnmPointer->field_0xc = anm; + mAnmPointer->mTevAnm = anm; for (int i = 0; i < 4; i++) { - mAnmPointer->field_0x32[i] = -1; + mAnmPointer->mTevCRegIds[i] = -1; } if (anm != NULL) { @@ -363,13 +230,13 @@ void J2DMaterial::setAnimation(J2DAnmTevRegKey* anm) { if (index == matID) { J3DAnmCRegKeyTable* anmTbl = anm->getAnmCRegKeyTable(); - mAnmPointer->field_0x32[anmTbl[i].mColorId] = i; + mAnmPointer->mTevCRegIds[anmTbl[i].mColorId] = i; } } } for (int i = 0; i < 4; i++) { - mAnmPointer->field_0x3a[i] = -1; + mAnmPointer->mTevKRegIds[i] = -1; } if (anm != NULL) { @@ -381,161 +248,95 @@ void J2DMaterial::setAnimation(J2DAnmTevRegKey* anm) { if (index == matID) { J3DAnmKRegKeyTable* anmTbl = anm->getAnmKRegKeyTable(); - mAnmPointer->field_0x3a[anmTbl[i].mColorId] = i; + mAnmPointer->mTevKRegIds[anmTbl[i].mColorId] = i; } } } } } -/* ############################################################################################## */ -/* 804561B0-804561B4 0047B0 0004+00 1/1 0/0 0/0 .sdata2 @1943 */ -SECTION_SDATA2 static f32 lit_1943 = 360.0f; - -/* 804561B4-804561B8 0047B4 0004+00 1/1 0/0 0/0 .sdata2 @1944 */ -SECTION_SDATA2 static f32 lit_1944 = 65535.0f; - -/* 804561B8-804561C0 0047B8 0008+00 1/1 0/0 0/0 .sdata2 @1946 */ -SECTION_SDATA2 static f64 lit_1946 = 4503599627370496.0 /* cast u32 to float */; - /* 802EAC78-802EB0F4 2E55B8 047C+00 0/0 1/1 0/0 .text animation__11J2DMaterialFv */ void J2DMaterial::animation() { - // NONMATCHING -} + if (!mAnmPointer) { + return; + } -/* 802EB0F4-802EB13C 2E5A34 0048+00 1/0 0/0 0/0 .text __dt__13J2DColorBlockFv */ -J2DColorBlock::~J2DColorBlock() { - // NONMATCHING -} + if (mAnmPointer->mColorAnm && mAnmPointer->mColorIds != 0xFFFF) { + GXColor color; + mAnmPointer->mColorAnm->getColor(mAnmPointer->mColorIds, &color); + getColorBlock()->setMatColor(0, color); + } + + if (mAnmPointer->mSRTAnm) { + for (u8 i = 0; i < 8; i++) { + if (mAnmPointer->mSRTIds[i] != 0xFFFF) { + J3DTextureSRTInfo info3D; + mAnmPointer->mSRTAnm->getTransform(mAnmPointer->mSRTIds[i], &info3D); + J2DTextureSRTInfo info2D; + info2D.mScaleX = info3D.mScaleX; + info2D.mScaleY = info3D.mScaleY; + info2D.mRotationDeg = (360.0f * f32((u16)info3D.mRotation)) / 65535.0f; + info2D.mTranslationX = info3D.mTranslationX; + info2D.mTranslationY = info3D.mTranslationY; -/* 802EB13C-802EB184 2E5A7C 0048+00 1/0 0/0 0/0 .text __dt__11J2DIndBlockFv */ -// J2DIndBlock::~J2DIndBlock() { -extern "C" void __dt__11J2DIndBlockFv() { - // NONMATCHING -} + J2DTexMtx texMtx; + getTexGenBlock()->getTexMtx(i, texMtx); -/* 802EB184-802EB1CC 2E5AC4 0048+00 0/0 1/0 0/0 .text __dt__11J2DTevBlockFv */ -// J2DTevBlock::~J2DTevBlock() { -extern "C" void __dt__11J2DTevBlockFv() { - // NONMATCHING -} + texMtx.getTexMtxInfo().mTexSRTInfo = info2D; + getTexGenBlock()->setTexMtx(i, texMtx); + getTexGenBlock()->getTexCoord(i).setTexGenMtx(i * 3 + 30); + } + } + } -/* 802EB1CC-802EB1D0 2E5B0C 0004+00 1/0 0/0 0/0 .text setGX__11J2DIndBlockFv */ -void J2DIndBlock::setGX() { - /* empty function */ -} + if (getTevBlock() && mAnmPointer->mPatternAnm) { + for (u8 i = 0; i < 8; i++) { + if (mAnmPointer->mPatternIds[i] != 0xFFFF) { + JUTTexture* texture = getTevBlock()->getTexture(i); + if (!texture) { + continue; + } -/* 802EB1D0-802EB1D4 2E5B10 0004+00 0/0 1/0 0/0 .text setGX__11J2DTevBlockFv */ -void J2DTevBlock::setGX() { - /* empty function */ -} + u16 idx = mAnmPointer->mPatternIds[i]; + u16 texNo; + mAnmPointer->mPatternAnm->getTexNo(idx, &texNo); + getTevBlock()->setTexNo(i, texNo); -/* 802EB1D4-802EB1D8 2E5B14 0004+00 0/0 1/0 0/0 .text - * setTevKColor__11J2DTevBlockFUlQ28JUtility6TColor */ -void J2DTevBlock::setTevKColor(u32 param_0, JUtility::TColor param_1) { - /* empty function */ -} + ResTIMG* img = mAnmPointer->mPatternAnm->getResTIMG(idx); + if (texture->getTexInfo() != img) { + JUTPalette* palette = NULL; + u32 tlut = GX_TLUT0; + if (img->indexTexture != 0) { + palette = mAnmPointer->mPatternAnm->getPalette(idx); + if (palette->getNumColors() > 256) { + tlut = i % 4 + 16; + } else { + tlut = i; + } + } -/* 802EB1D8-802EB1DC 2E5B18 0004+00 0/0 1/0 0/0 .text setTevColor__11J2DTevBlockFUl13J2DGXColorS10 - */ -void J2DTevBlock::setTevColor(u32 param_0, J2DGXColorS10 param_1) { - /* empty function */ -} + texture->storeTIMG(img, palette, (GXTlut)tlut); + } + } + } + } -/* 802EB1DC-802EB1E0 2E5B1C 0004+00 0/0 1/0 0/0 .text setTexNo__11J2DTevBlockFUlUs */ -void J2DTevBlock::setTexNo(u32 param_0, u16 param_1) { - /* empty function */ -} + if (getTevBlock() && mAnmPointer->mTevAnm) { + for (u8 i = 0; i < 4; i++) { + if (mAnmPointer->mTevCRegIds[i] != 0xFFFF) { + J2DGXColorS10 color; + mAnmPointer->mTevAnm->getTevColorReg(mAnmPointer->mTevCRegIds[i], &color); + getTevBlock()->setTevColor(i, color); + } + } -/* 802EB1E0-802EB1E4 2E5B20 0004+00 1/0 0/0 0/0 .text setGX__15J2DIndBlockNullFv */ -extern "C" void setGX__15J2DIndBlockNullFv() { - /* empty function */ + for (u8 i = 0; i < 4; i++) { + u16 idx = mAnmPointer->mTevKRegIds[i]; + if (idx != 0xFFFF) { + JUtility::TColor konstColor; + mAnmPointer->mTevAnm->getTevKonstReg(idx, &konstColor); + getTevBlock()->setTevKColor(i, konstColor); + } + } + } } - -/* 802EB1E4-802EB1F0 2E5B24 000C+00 1/0 0/0 0/0 .text getType__15J2DIndBlockNullFv */ -u32 J2DIndBlockNull::getType() { - // NONMATCHING -} - -/* 802EB1F0-802EB24C 2E5B30 005C+00 1/0 0/0 0/0 .text __dt__15J2DIndBlockNullFv */ -J2DIndBlockNull::~J2DIndBlockNull() { - // NONMATCHING -} - -/* 802EB24C-802EB250 2E5B8C 0004+00 2/0 0/0 0/0 .text initialize__11J2DIndBlockFv */ -extern "C" void initialize__11J2DIndBlockFv() { - /* empty function */ -} - -/* 802EB250-802EB254 2E5B90 0004+00 2/0 0/0 0/0 .text setIndTexStageNum__11J2DIndBlockFUc - */ -void J2DIndBlock::setIndTexStageNum(u8 param_0) { - /* empty function */ -} - -/* 802EB254-802EB258 2E5B94 0004+00 2/0 0/0 0/0 .text - * setIndTexOrder__11J2DIndBlockFUl14J2DIndTexOrder */ -void J2DIndBlock::setIndTexOrder(u32 param_0, J2DIndTexOrder param_1) { - /* empty function */ -} - -/* 802EB258-802EB25C 2E5B98 0004+00 2/0 0/0 0/0 .text setIndTexMtx__11J2DIndBlockFUl12J2DIndTexMtx - */ -void J2DIndBlock::setIndTexMtx(u32 param_0, J2DIndTexMtx param_1) { - /* empty function */ -} - -/* 802EB25C-802EB260 2E5B9C 0004+00 2/0 0/0 0/0 .text - * setIndTexCoordScale__11J2DIndBlockFUl19J2DIndTexCoordScale */ -void J2DIndBlock::setIndTexCoordScale(u32 param_0, J2DIndTexCoordScale param_1) { - /* empty function */ -} - -/* 802EB260-802EB280 2E5BA0 0020+00 1/1 0/0 0/0 .text __ct__11J2DTexCoordFv */ -//J2DTexCoord::J2DTexCoord() { -void __ct__11J2DTexCoordFv() { - // NONMATCHING -} - -/* 802EB280-802EB290 2E5BC0 0010+00 1/1 0/0 0/0 .text __ct__12J2DColorChanFv */ -void __ct__12J2DColorChanFv() { -//asm J2DColorChan::J2DColorChan() { - // NONMATCHING -} - -/* 802EB290-802EB2CC 2E5BD0 003C+00 1/1 1/1 0/0 .text __dt__19J2DIndTexCoordScaleFv */ -// Most likely inline -// J2DIndTexCoordScale::~J2DIndTexCoordScale() { -void __dt__19J2DIndTexCoordScaleFv() { - // NONMATCHING -} - -/* 802EB2CC-802EB2E4 2E5C0C 0018+00 1/1 0/0 0/0 .text __ct__19J2DIndTexCoordScaleFv */ -//J2DIndTexCoordScale::J2DIndTexCoordScale() { -void __ct__19J2DIndTexCoordScaleFv() { - // NONMATCHING -} - -/* 802EB2E4-802EB320 2E5C24 003C+00 1/1 1/1 0/0 .text __dt__12J2DIndTexMtxFv */ -void __dt__12J2DIndTexMtxFv() { -//asm J2DIndTexMtx::~J2DIndTexMtx() { - // NONMATCHING -} - -/* 802EB320-802EB378 2E5C60 0058+00 1/1 0/0 0/0 .text __ct__12J2DIndTexMtxFv */ -//J2DIndTexMtx::J2DIndTexMtx() { -void __ct__12J2DIndTexMtxFv() { - // NONMATCHING -} - -/* 802EB378-802EB390 2E5CB8 0018+00 1/1 0/0 0/0 .text __ct__14J2DIndTexOrderFv */ -// Most likely inline -//J2DIndTexOrder::J2DIndTexOrder() { -void __ct__14J2DIndTexOrderFv() { - // NONMATCHING -} - -/* 802EB390-802EB394 2E5CD0 0004+00 0/0 1/0 0/0 .text getColor__11J2DAnmColorCFUsP8_GXColor */ -void J2DAnmColor::getColor(u16 param_0, _GXColor* param_1) const { - /* empty function */ -} \ No newline at end of file diff --git a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp index 0f66624c1c0..ba95fb632c1 100644 --- a/src/JSystem/J2DGraph/J2DMaterialFactory.cpp +++ b/src/JSystem/J2DGraph/J2DMaterialFactory.cpp @@ -5,80 +5,13 @@ #include "JSystem/J2DGraph/J2DMaterialFactory.h" #include "JSystem/J2DGraph/J2DMaterial.h" +#include "JSystem/J2DGraph/J2DScreen.h" #include "JSystem/JSupport/JSupport.h" +#include "JSystem/JUtility/JUTResource.h" #include "string.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock(); -extern "C" void countStages__18J2DMaterialFactoryCFi(); -extern "C" void -create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive(); -extern "C" void newMatColor__18J2DMaterialFactoryCFii(); -extern "C" void newColorChanNum__18J2DMaterialFactoryCFi(); -extern "C" void newColorChan__18J2DMaterialFactoryCFii(); -extern "C" void newTexGenNum__18J2DMaterialFactoryCFi(); -extern "C" void newTexCoord__18J2DMaterialFactoryCFii(); -extern "C" void newTexMtx__18J2DMaterialFactoryCFii(); -extern "C" void newCullMode__18J2DMaterialFactoryCFi(); -extern "C" void newTexNo__18J2DMaterialFactoryCFii(); -extern "C" void newFontNo__18J2DMaterialFactoryCFi(); -extern "C" void newTevOrder__18J2DMaterialFactoryCFii(); -extern "C" void newTevColor__18J2DMaterialFactoryCFii(); -extern "C" void newTevKColor__18J2DMaterialFactoryCFii(); -extern "C" void newTevStageNum__18J2DMaterialFactoryCFi(); -extern "C" void newTevStage__18J2DMaterialFactoryCFii(); -extern "C" void newTevSwapModeTable__18J2DMaterialFactoryCFii(); -extern "C" void newIndTexStageNum__18J2DMaterialFactoryCFi(); -extern "C" void newIndTexOrder__18J2DMaterialFactoryCFii(); -extern "C" void newIndTexMtx__18J2DMaterialFactoryCFii(); -extern "C" void newIndTevStage__18J2DMaterialFactoryCFii(); -extern "C" void newIndTexCoordScale__18J2DMaterialFactoryCFii(); -extern "C" void newAlphaComp__18J2DMaterialFactoryCFi(); -extern "C" void newBlend__18J2DMaterialFactoryCFi(); -extern "C" void newDither__18J2DMaterialFactoryCFi(); -extern "C" void __ct__11J2DTevStageFRC15J2DTevStageInfo(); -extern "C" void func_802F4170(void* _this, void const*, void const*); -extern "C" void func_802F4188(void* _this, void const*, void const*); -extern "C" void func_802F41A0(void* _this, void const*, void const*); -extern "C" void func_802F41B8(void* _this, void const*, void const*); -extern "C" void func_802F41D0(void* _this, void const*, void const*); -extern "C" void func_802F41E8(void* _this, void const*, void const*); -extern "C" void func_802F4200(void* _this, void const*, void const*); -extern "C" void func_802F4218(void* _this, void const*, void const*); -extern "C" void func_802F4230(void* _this, void const*, void const*); -extern "C" void func_802F4248(void* _this, void const*, void const*); -extern "C" u8* func_802F4260(void const*, void const*); -extern "C" void func_802F4278(void* _this, void const*, void const*); -extern "C" void func_802F4290(void* _this, void const*, void const*); -extern "C" void func_802F42A8(void* _this, void const*, void const*); -extern "C" void func_802F42C0(void* _this, void const*, void const*); -extern "C" void func_802F42D8(void* _this, void const*, void const*); - -// -// External References: -// - -extern "C" void* __nw__FUl(); -extern "C" void getResource__15JUTResReferenceFPCvUlP10JKRArchive(); -extern "C" void calc__9J2DTexMtxFv(); -extern "C" void createTevBlock__11J2DMaterialFib(); -extern "C" void createIndBlock__11J2DMaterialFib(); -extern "C" void __ct__11J2DTevStageFv(); -extern "C" void setTevStageInfo__11J2DTevStageFRC15J2DTevStageInfo(); -extern "C" void get__13J2DDataManageFPCc(); -extern "C" void getResReference__15J2DResReferenceCFUs(); -extern "C" void getName__15J2DResReferenceCFUs(); -extern "C" void _savegpr_19(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_19(); -extern "C" void _restgpr_29(); -extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */]; - /* 802F2AD0-802F2C94 2ED410 01C4+00 0/0 1/1 0/0 .text * __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock */ J2DMaterialFactory::J2DMaterialFactory(J2DMaterialBlock const& param_0) { @@ -137,8 +70,7 @@ u32 J2DMaterialFactory::countStages(int param_0) const { /* 802F2D1C-802F362C 2ED65C 0910+00 0/0 1/1 0/0 .text * create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive */ -// Stack issues -#ifdef NONMATCHING +// NONMATCHING - Stack issues J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 param_2, J2DResReference* param_3, J2DResReference* param_4, JKRArchive* param_5) const { @@ -261,15 +193,6 @@ J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 par } return param_0; } -#else -J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int param_1, u32 param_2, - J2DResReference* param_3, J2DResReference* param_4, - JKRArchive* param_5) const { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ /* 802F362C-802F36CC 2EDF6C 00A0+00 1/1 0/0 0/0 .text newMatColor__18J2DMaterialFactoryCFii */ JUtility::TColor J2DMaterialFactory::newMatColor(int param_0, int param_1) const { @@ -368,26 +291,17 @@ J2DTevOrder J2DMaterialFactory::newTevOrder(int param_0, int param_1) const { return J2DTevOrder(); } -/* ############################################################################################## */ -/* 80456BB0-80456BB4 000050 0004+00 1/1 0/0 0/0 .sbss2 @2018 */ -SECTION_SBSS2 static GXColorS10 lit_2018; - /* 802F3A1C-802F3AB4 2EE35C 0098+00 1/1 0/0 0/0 .text newTevColor__18J2DMaterialFactoryCFii */ -// J2DGXColorS10 init issues -#ifdef NONMATCHING +// NONMATCHING - J2DGXColorS10 init issues J2DGXColorS10 J2DMaterialFactory::newTevColor(int param_0, int param_1) const { - J2DGXColorS10 rv = J2DGXColorS10(GXColorS10()); + GXColorS10 color = {}; + J2DGXColorS10 rv = J2DGXColorS10(color); J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; if (iVar2->field_0x92[param_1] != 0xffff) { return field_0x38[iVar2->field_0x92[param_1]]; } return rv; } -#else -J2DGXColorS10 J2DMaterialFactory::newTevColor(int param_0, int param_1) const { - // NONMATCHING -} -#endif /* ############################################################################################## */ @@ -519,4 +433,4 @@ u8 J2DMaterialFactory::newDither(int param_0) const { J2DTevStage::J2DTevStage(J2DTevStageInfo const& param_0) { setTevStageInfo(param_0); setTevSwapModeInfo(j2dDefaultTevSwapMode); -} \ No newline at end of file +} diff --git a/src/JSystem/J2DGraph/J2DPictureEx.cpp b/src/JSystem/J2DGraph/J2DPictureEx.cpp index 3a3266fd752..c60dd7ba844 100644 --- a/src/JSystem/J2DGraph/J2DPictureEx.cpp +++ b/src/JSystem/J2DGraph/J2DPictureEx.cpp @@ -6,158 +6,11 @@ #include "JSystem/J2DGraph/J2DPictureEx.h" #include "JSystem/J2DGraph/J2DMaterial.h" #include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/JSupport/JSURandomInputStream.h" +#include "JSystem/JUtility/JUTTexture.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT(); -extern "C" void __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); -extern "C" void __dt__12J2DPictureExFv(); -extern "C" void prepareTexture__12J2DPictureExFUc(); -extern "C" void drawSelf__12J2DPictureExFffPA3_A4_f(); -extern "C" void drawFullSet__12J2DPictureExFffffPA3_A4_f(); -extern "C" void drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f(); -extern "C" void append__12J2DPictureExFPC7ResTIMGP10JUTPalettef(); -extern "C" void append__12J2DPictureExFPCcP10JUTPalettef(); -extern "C" void append__12J2DPictureExFP10JUTTexturef(); -extern "C" void insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf(); -extern "C" void insert__12J2DPictureExFPCcP10JUTPaletteUcf(); -extern "C" void insert__12J2DPictureExFP10JUTTextureUcf(); -extern "C" void insertCommon__12J2DPictureExFUcf(); -extern "C" void isInsert__12J2DPictureExCFUc(); -extern "C" void remove__12J2DPictureExFUc(); -extern "C" void remove__12J2DPictureExFv(); -extern "C" void remove__12J2DPictureExFP10JUTTexture(); -extern "C" void isRemove__12J2DPictureExCFUc(); -extern "C" void draw__12J2DPictureExFffUcbbb(); -extern "C" void draw__12J2DPictureExFffffbbb(); -extern "C" void drawOut__12J2DPictureExFffffff(); -extern "C" void func_80304EF0(); -extern "C" void load__12J2DPictureExF11_GXTexMapIDUc(); -extern "C" void setTevOrder__12J2DPictureExFUcUcb(); -extern "C" void setTevStage__12J2DPictureExFUcUcb(); -extern "C" void setStage__12J2DPictureExFP11J2DTevStageQ212J2DPictureEx10stage_enum(); -extern "C" void setTevKColor__12J2DPictureExFUc(); -extern "C" void setTevKColorSel__12J2DPictureExFUc(); -extern "C" void setTevKAlphaSel__12J2DPictureExFUc(); -extern "C" void shiftSetBlendRatio__12J2DPictureExFUcfbb(); -extern "C" void setBlendColorRatio__12J2DPictureExFff(); -extern "C" void setBlendAlphaRatio__12J2DPictureExFff(); -extern "C" void changeTexture__12J2DPictureExFPC7ResTIMGUc(); -extern "C" void changeTexture__12J2DPictureExFPCcUc(); -extern "C" void changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette(); -extern "C" void changeTexture__12J2DPictureExFPCcUcP10JUTPalette(); -extern "C" void getTexture__12J2DPictureExCFUc(); -extern "C" void getTextureCount__12J2DPictureExCFv(); -extern "C" void setBlack__12J2DPictureExFQ28JUtility6TColor(); -extern "C" void setWhite__12J2DPictureExFQ28JUtility6TColor(); -extern "C" void setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void getBlackWhite__12J2DPictureExCFPQ28JUtility6TColorPQ28JUtility6TColor(); -extern "C" void isSetBlackWhite__12J2DPictureExCFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void getBlack__12J2DPictureExCFv(); -extern "C" void getWhite__12J2DPictureExCFv(); -extern "C" void setAlpha__12J2DPictureExFUc(); -extern "C" void setCullBack__12J2DPictureExF11_GXCullMode(); -extern "C" void rewriteAlpha__12J2DPictureExFv(); -extern "C" void isUsed__12J2DPictureExFPC7ResTIMG(); -extern "C" void setAnimation__12J2DPictureExFP11J2DAnmColor(); -extern "C" void setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__12J2DPictureExFP16J2DAnmTexPattern(); -extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTevRegKey(); -extern "C" void setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull(); -extern "C" void setAnimation__12J2DPictureExFP14J2DAnmVtxColor(); -extern "C" void animationPane__12J2DPictureExFPC15J2DAnmTransform(); -extern "C" void getUsableTlut__12J2DPictureExFUc(); -extern "C" void append__12J2DPictureExFPC7ResTIMGf(); -extern "C" void append__12J2DPictureExFPCcf(); -extern "C" void prepend__12J2DPictureExFP10JUTTexturef(); -extern "C" void prepend__12J2DPictureExFPCcP10JUTPalettef(); -extern "C" void prepend__12J2DPictureExFPCcf(); -extern "C" void prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef(); -extern "C" void prepend__12J2DPictureExFPC7ResTIMGf(); -extern "C" void insert__12J2DPictureExFPCcUcf(); -extern "C" void insert__12J2DPictureExFPC7ResTIMGUcf(); -extern "C" void draw__12J2DPictureExFffbbb(); -extern "C" void drawOut__12J2DPictureExFffffffff(); -extern "C" void load__12J2DPictureExFUc(); -extern "C" void setCullBack__12J2DPictureExFb(); -extern "C" void isUsed__12J2DPictureExFPC7ResFONT(); -extern "C" void setAnimation__12J2DPictureExFP10J2DAnmBase(); - -// -// External References: -// - -extern "C" void setBlendRatio__10J2DPictureFff(); -extern "C" void calcMtx__7J2DPaneFv(); -extern "C" void makeMatrix__7J2DPaneFff(); -extern "C" void getMaterial__12J2DPictureExCFv(); -extern "C" void setAnimation__12J2DPictureExFP15J2DAnmTransform(); -extern "C" void __dl__FPv(); -extern "C" void read__14JSUInputStreamFPvl(); -extern "C" void peek__20JSURandomInputStreamFPvl(); -extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom(); -extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGUc(); -extern "C" void storeTIMG__10JUTTextureFPC7ResTIMGP10JUTPalette7_GXTlut(); -extern "C" void setGX__11J2DMaterialFv(); -extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor(); -extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern(); -extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey(); -extern "C" void setTexMtx__14J2DTexGenBlockFUlR9J2DTexMtx(); -extern "C" void move__7J2DPaneFff(); -extern "C" void add__7J2DPaneFff(); -extern "C" void resize__7J2DPaneFff(); -extern "C" void search__7J2DPaneFUx(); -extern "C" void searchUserInfo__7J2DPaneFUx(); -extern "C" void isUsed__7J2DPaneFPC7ResTIMG(); -extern "C" void isUsed__7J2DPaneFPC7ResFONT(); -extern "C" void makeMatrix__7J2DPaneFffff(); -extern "C" void setCullBack__7J2DPaneF11_GXCullMode(); -extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); -extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase(); -extern "C" void clearAnmTransform__7J2DPaneFv(); -extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void setConnectParent__7J2DPaneFb(); -extern "C" void update__7J2DPaneFv(); -extern "C" void getNameResource__9J2DScreenFPCc(); -extern "C" void __ct__10J2DPictureFv(); -extern "C" void __dt__10J2DPictureFv(); -extern "C" void drawSelf__10J2DPictureFff(); -extern "C" void getTlutID__10J2DPictureFPC7ResTIMGUc(); -extern "C" void func_802FF204(void* _this); -extern "C" s32 getTypeID__10J2DPictureCFv(); -extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc(); -extern "C" void __construct_array(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 804562C0-804562C4 0048C0 0004+00 7/7 0/0 0/0 .sdata2 @1517 */ -SECTION_SDATA2 static f32 lit_1517 = 1.0f; - /* 80303640-803036EC 2FDF80 00AC+00 1/0 0/0 0/0 .text * initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT */ void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) { @@ -169,101 +22,8 @@ void J2DPictureEx::initiate(ResTIMG const* param_0, ResTLUT const* param_1) { } } - -/* ############################################################################################## */ -/* 803CD4B8-803CD608 02A5D8 014C+04 2/2 0/0 0/0 .data __vt__12J2DPictureEx */ -SECTION_DATA extern void* __vt__12J2DPictureEx[83 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J2DPictureExFv, - (void*)getTypeID__10J2DPictureCFv, - (void*)move__7J2DPaneFff, - (void*)add__7J2DPaneFff, - (void*)resize__7J2DPaneFff, - (void*)setCullBack__12J2DPictureExFb, - (void*)setCullBack__12J2DPictureExF11_GXCullMode, - (void*)setAlpha__12J2DPictureExFUc, - (void*)setConnectParent__7J2DPaneFb, - (void*)calcMtx__7J2DPaneFv, - (void*)update__7J2DPaneFv, - (void*)drawSelf__10J2DPictureFff, - (void*)drawSelf__12J2DPictureExFffPA3_A4_f, - (void*)search__7J2DPaneFUx, - (void*)searchUserInfo__7J2DPaneFUx, - (void*)makeMatrix__7J2DPaneFff, - (void*)makeMatrix__7J2DPaneFffff, - (void*)isUsed__12J2DPictureExFPC7ResTIMG, - (void*)isUsed__12J2DPictureExFPC7ResFONT, - (void*)clearAnmTransform__7J2DPaneFv, - (void*)rewriteAlpha__12J2DPictureExFv, - (void*)setAnimation__12J2DPictureExFP10J2DAnmBase, - (void*)setAnimation__12J2DPictureExFP15J2DAnmTransform, - (void*)setAnimation__12J2DPictureExFP11J2DAnmColor, - (void*)setAnimation__12J2DPictureExFP16J2DAnmTexPattern, - (void*)setAnimation__12J2DPictureExFP19J2DAnmTextureSRTKey, - (void*)setAnimation__12J2DPictureExFP15J2DAnmTevRegKey, - (void*)setAnimation__12J2DPictureExFP20J2DAnmVisibilityFull, - (void*)setAnimation__12J2DPictureExFP14J2DAnmVtxColor, - (void*)animationTransform__7J2DPaneFPC15J2DAnmTransform, - (void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor, - (void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor, - (void*)animationPane__12J2DPictureExFPC15J2DAnmTransform, - (void*)initiate__12J2DPictureExFPC7ResTIMGPC7ResTLUT, - (void*)prepareTexture__12J2DPictureExFUc, - (void*)append__12J2DPictureExFPC7ResTIMGf, - (void*)append__12J2DPictureExFPC7ResTIMGP10JUTPalettef, - (void*)append__12J2DPictureExFPCcf, - (void*)append__12J2DPictureExFPCcP10JUTPalettef, - (void*)append__12J2DPictureExFP10JUTTexturef, - (void*)prepend__12J2DPictureExFPC7ResTIMGf, - (void*)prepend__12J2DPictureExFPC7ResTIMGP10JUTPalettef, - (void*)prepend__12J2DPictureExFPCcf, - (void*)prepend__12J2DPictureExFPCcP10JUTPalettef, - (void*)prepend__12J2DPictureExFP10JUTTexturef, - (void*)insert__12J2DPictureExFPC7ResTIMGUcf, - (void*)insert__12J2DPictureExFPC7ResTIMGP10JUTPaletteUcf, - (void*)insert__12J2DPictureExFPCcUcf, - (void*)insert__12J2DPictureExFPCcP10JUTPaletteUcf, - (void*)insert__12J2DPictureExFP10JUTTextureUcf, - (void*)remove__12J2DPictureExFUc, - (void*)remove__12J2DPictureExFv, - (void*)remove__12J2DPictureExFP10JUTTexture, - (void*)draw__12J2DPictureExFffbbb, - (void*)draw__12J2DPictureExFffUcbbb, - (void*)draw__12J2DPictureExFffffbbb, - (void*)drawOut__12J2DPictureExFffffff, - (void*)drawOut__12J2DPictureExFffffffff, - (void*)func_80304EF0, - (void*)load__12J2DPictureExF11_GXTexMapIDUc, - (void*)load__12J2DPictureExFUc, - (void*)setBlendRatio__10J2DPictureFff, - (void*)setBlendColorRatio__12J2DPictureExFff, - (void*)setBlendAlphaRatio__12J2DPictureExFff, - (void*)changeTexture__12J2DPictureExFPC7ResTIMGUc, - (void*)changeTexture__12J2DPictureExFPCcUc, - (void*)changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette, - (void*)changeTexture__12J2DPictureExFPCcUcP10JUTPalette, - (void*)getTexture__12J2DPictureExCFUc, - (void*)getTextureCount__12J2DPictureExCFv, - (void*)setBlack__12J2DPictureExFQ28JUtility6TColor, - (void*)setWhite__12J2DPictureExFQ28JUtility6TColor, - (void*)setBlackWhite__12J2DPictureExFQ28JUtility6TColorQ28JUtility6TColor, - (void*)getBlack__12J2DPictureExCFv, - (void*)getWhite__12J2DPictureExCFv, - (void*)getMaterial__12J2DPictureExCFv, - (void*)drawFullSet__12J2DPictureExFffffPA3_A4_f, - (void*)drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f, - (void*)getUsableTlut__12J2DPictureExFUc, - /* padding */ - NULL, -}; - /* 803036EC-8030393C 2FE02C 0250+00 0/0 1/1 0/0 .text * __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial */ -// Issue with TColor -#ifdef NONMATCHING J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2, J2DMaterial* param_3) { field_0x194 = 0; @@ -282,7 +42,6 @@ J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 field_0x154 = aJStack_60.mMaterialNum; field_0x156 = aJStack_60.field_0x4; - // Issues with this loop for (int i = 0; i < 4; i++) { field_0x158[i] = aJStack_60.field_0x8[i]; field_0x10a[i] = aJStack_60.field_0x10[i]; @@ -307,27 +66,13 @@ J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 field_0x178[iVar1] = 1.0f; } } -#else -J2DPictureEx::J2DPictureEx(J2DPane* param_0, JSURandomInputStream* param_1, u32 param_2, - J2DMaterial* param_3) { - // NONMATCHING -} -#endif /* 8030393C-803039CC 2FE27C 0090+00 1/0 0/0 0/0 .text __dt__12J2DPictureExFv */ -// Needs ctor matched -#ifdef NONMATCHING J2DPictureEx::~J2DPictureEx() { if (field_0x190) { delete mMaterial; } } -#else -extern "C" void __dt__12J2DPictureExFv() { - // asm J2DPictureEx::~J2DPictureEx() { - // NONMATCHING -} -#endif /* 803039CC-80303AB4 2FE30C 00E8+00 1/0 0/0 0/0 .text prepareTexture__12J2DPictureExFUc */ @@ -364,15 +109,6 @@ void J2DPictureEx::drawFullSet(f32 param_0, f32 param_1, f32 param_2, f32 param_ field_0x10a[3].x, field_0x10a[3].y, param_4); } -/* ############################################################################################## */ -/* 804562C4-804562C8 0048C4 0004+00 5/5 0/0 0/0 .sdata2 @1784 */ -SECTION_SDATA2 static u8 lit_1784[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - /* 80303BDC-80303E5C 2FE51C 0280+00 1/0 0/0 0/0 .text * drawTexCoord__12J2DPictureExFffffssssssssPA3_A4_f */ void J2DPictureEx::drawTexCoord(f32 param_0, f32 param_1, f32 param_2, f32 param_3, s16 param_4, @@ -574,10 +310,6 @@ bool J2DPictureEx::isRemove(u8 param_0) const { return true; } -/* ############################################################################################## */ -/* 804562C8-804562D0 0048C8 0008+00 2/2 0/0 0/0 .sdata2 @2130 */ -SECTION_SDATA2 static f64 lit_2130 = 4503601774854144.0 /* cast s32 to float */; - /* 8030477C-80304890 2FF0BC 0114+00 1/0 0/0 0/0 .text draw__12J2DPictureExFffUcbbb */ void J2DPictureEx::draw(f32 param_0, f32 param_1, u8 param_2, bool param_3, bool param_4, bool param_5) { @@ -642,14 +374,6 @@ void J2DPictureEx::setStage(J2DTevStage* param_0, J2DPictureEx::stage_enum param // NONMATCHING } -/* ############################################################################################## */ -/* 804562D0-804562D8 0048D0 0004+04 1/1 0/0 0/0 .sdata2 @2690 */ -SECTION_SDATA2 static f32 lit_2690[1 + 1 /* padding */] = { - 255.0f, - /* padding */ - 0.0f, -}; - /* 80305928-80305C70 300268 0348+00 5/5 0/0 0/0 .text setTevKColor__12J2DPictureExFUc */ void J2DPictureEx::setTevKColor(u8 param_0) { // NONMATCHING @@ -762,7 +486,6 @@ const ResTIMG* J2DPictureEx::changeTexture(char const* param_0, u8 param_1) { /* 80306134-80306298 300A74 0164+00 1/0 0/0 0/0 .text * changeTexture__12J2DPictureExFPC7ResTIMGUcP10JUTPalette */ // Issues with param_1 >= bVar5. Maybe some inline min function. -#ifdef NONMATCHING inline u8 mina(u8 a, u8 b) { return a > b ? b : a; } @@ -793,11 +516,6 @@ const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1, J append(param_0, param_2, 1.0f); return NULL; } -#else -const ResTIMG* J2DPictureEx::changeTexture(ResTIMG const* param_0, u8 param_1, JUTPalette* param_2) { - // NONMATCHING -} -#endif /* 80306298-803062F8 300BD8 0060+00 1/0 0/0 0/0 .text * changeTexture__12J2DPictureExFPCcUcP10JUTPalette */ @@ -1075,7 +793,7 @@ void J2DPictureEx::setAnimation(J2DAnmBase* param_0) { /* 803A1D70-803A1D90 02E3D0 0020+00 0/0 0/0 0/0 .rodata @2556 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_2556[32] = { +static u8 const lit_2556[32] = { 0x07, 0x04, 0x05, 0x07, 0x05, 0x07, 0x07, 0x07, 0x07, 0x04, 0x06, 0x07, 0x07, 0x04, 0x06, 0x00, 0x07, 0x05, 0x00, 0x07, 0x01, 0x02, 0x04, 0x07, 0x07, 0x07, 0x07, 0x02, 0x01, 0x02, 0x00, 0x07, }; @@ -1085,10 +803,10 @@ COMPILER_STRIP_GATE(0x803A1D70, &lit_2556); /* 803A1D90-803A1DB8 02E3F0 0028+00 0/0 0/0 0/0 .rodata @2557 */ #pragma push #pragma force_active on -SECTION_RODATA static u8 const lit_2557[40] = { +static u8 const lit_2557[40] = { 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; COMPILER_STRIP_GATE(0x803A1D90, &lit_2557); -#pragma pop \ No newline at end of file +#pragma pop diff --git a/src/JSystem/J2DGraph/J2DScreen.cpp b/src/JSystem/J2DGraph/J2DScreen.cpp index 4a104667dc3..e516c239662 100644 --- a/src/JSystem/J2DGraph/J2DScreen.cpp +++ b/src/JSystem/J2DGraph/J2DScreen.cpp @@ -4,6 +4,7 @@ // #include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/J2DGraph/J2DMaterialFactory.h" #include "JSystem/J2DGraph/J2DPictureEx.h" #include "JSystem/J2DGraph/J2DTextBoxEx.h" #include "JSystem/J2DGraph/J2DWindowEx.h" @@ -11,131 +12,9 @@ #include "JSystem/JKernel/JKRArchive.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JSupport/JSUMemoryStream.h" -#include "dol2asm.h" #include "dolphin/types.h" #include "global.h" -// -// Forward References: -// - -extern "C" void __ct__9J2DScreenFv(); -extern "C" void __dt__9J2DScreenFv(); -extern "C" void clean__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void setPriority__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive(); -extern "C" void private_set__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive(); -extern "C" void checkSignature__9J2DScreenFP20JSURandomInputStream(); -extern "C" void getScreenInformation__9J2DScreenFP20JSURandomInputStream(); -extern "C" void makeHierarchyPanes__9J2DScreenFP7J2DPaneP20JSURandomInputStreamUlP10JKRArchive(); -extern "C" void -createPane__9J2DScreenFRC18J2DScrnBlockHeaderP20JSURandomInputStreamP7J2DPaneUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void search__9J2DScreenFUx(); -extern "C" void searchUserInfo__9J2DScreenFUx(); -extern "C" void drawSelf__9J2DScreenFffPA3_A4_f(); -extern "C" void createMaterial__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive(); -extern "C" void isUsed__9J2DScreenFPC7ResTIMG(); -extern "C" void isUsed__9J2DScreenFPC7ResFONT(); -extern "C" void getNameResource__9J2DScreenFPCc(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void setAnimation__9J2DScreenFP11J2DAnmColor(); -extern "C" void setAnimation__9J2DScreenFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__9J2DScreenFP16J2DAnmTexPattern(); -extern "C" void setAnimation__9J2DScreenFP15J2DAnmTevRegKey(); -extern "C" void setAnimation__9J2DScreenFP14J2DAnmVtxColor(); -extern "C" void setAnimation__9J2DScreenFP20J2DAnmVisibilityFull(); -extern "C" void createPane__9J2DScreenFRC18J2DScrnBlockHeaderP20JSURandomInputStreamP7J2DPaneUl(); -extern "C" s32 getTypeID__9J2DScreenCFv(); -extern "C" void calcMtx__9J2DScreenFv(); -extern "C" void setAnimation__9J2DScreenFP10J2DAnmBase(); -extern "C" void setAnimationVF__9J2DScreenFP20J2DAnmVisibilityFull(); -extern "C" void setAnimationVC__9J2DScreenFP14J2DAnmVtxColor(); -extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void setAlpha__7J2DPaneFUc(); -extern "C" void clearAnmTransform__9J2DScreenFv(); -extern "C" void makeMatrix__7J2DPaneFff(); -extern "C" void setAnimation__9J2DScreenFP15J2DAnmTransform(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void __dla__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void __dt__14JSUInputStreamFv(); -extern "C" void read__14JSUInputStreamFPvl(); -extern "C" void peek__20JSURandomInputStreamFPvl(); -extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom(); -extern "C" void setBuffer__20JSUMemoryInputStreamFPCvl(); -extern "C" void __ct__10JUTNameTabFPC7ResNTAB(); -extern "C" void __ct__13J2DOrthoGraphFffffff(); -extern "C" void setPort__13J2DOrthoGraphFv(); -extern "C" void __ct__11J2DMaterialFv(); -extern "C" void __dt__11J2DMaterialFv(); -extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor(); -extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern(); -extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey(); -extern "C" void animation__11J2DMaterialFv(); -extern "C" void __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock(); -extern "C" void -create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive(); -extern "C" void func_802F5D40(); -extern "C" void __ct__7J2DPaneFP7J2DPaneP20JSURandomInputStreamUc(); -extern "C" void __dt__7J2DPaneFv(); -extern "C" void draw__7J2DPaneFffPC14J2DGrafContextbb(); -extern "C" void func_802F6D18(); -extern "C" void move__7J2DPaneFff(); -extern "C" void add__7J2DPaneFff(); -extern "C" void resize__7J2DPaneFff(); -extern "C" void search__7J2DPaneFUx(); -extern "C" void searchUserInfo__7J2DPaneFUx(); -extern "C" void isUsed__7J2DPaneFPC7ResTIMG(); -extern "C" void isUsed__7J2DPaneFPC7ResFONT(); -extern "C" void makeMatrix__7J2DPaneFffff(); -extern "C" void setCullBack__7J2DPaneF11_GXCullMode(); -extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase(); -extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void rewriteAlpha__7J2DPaneFv(); -extern "C" void setCullBack__7J2DPaneFb(); -extern "C" void setConnectParent__7J2DPaneFb(); -extern "C" void update__7J2DPaneFv(); -extern "C" void drawSelf__7J2DPaneFff(); -extern "C" void __ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP10JKRArchive(); -extern "C" void __ct__9J2DWindowFP7J2DPaneP20JSURandomInputStreamP11J2DMaterial(); -extern "C" void __ct__10J2DPictureFP7J2DPaneP20JSURandomInputStreamP10JKRArchive(); -extern "C" void __ct__10J2DPictureFP7J2DPaneP20JSURandomInputStreamP11J2DMaterial(); -extern "C" void __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamP10JKRArchive(); -extern "C" void __ct__10J2DTextBoxFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); -extern "C" void __ct__11J2DWindowExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); -extern "C" void __ct__12J2DPictureExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); -extern "C" void __ct__12J2DTextBoxExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); -extern "C" void get__13J2DDataManageFPCc(); -extern "C" void __destroy_new_array(); -extern "C" void __construct_new_array(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern void* __vt__10JSUIosBase[3]; -extern "C" extern void* __vt__20JSURandomInputStream[9]; -extern "C" extern void* __vt__14JSUInputStream[6 + 1 /* padding */]; -extern "C" extern void* __vt__20JSUMemoryInputStream[9 + 1 /* padding */]; -extern "C" extern void* __vt__14J2DGrafContext[10]; -extern "C" extern void* __vt__13J2DOrthoGraph[10]; - /* 802F8498-802F8540 2F2DD8 00A8+00 0/0 59/59 4/4 .text __ct__9J2DScreenFv */ J2DScreen::J2DScreen() : J2DPane(NULL, true, 'root', JGeometry::TBox2(JGeometry::TVec2(0.0f, 0.0f), JGeometry::TVec2(640.0f, 480.0f))), mColor() { @@ -491,8 +370,7 @@ J2DResReference* J2DScreen::getResReference(JSURandomInputStream* p_stream, u32 /* 802F937C-802F9600 2F3CBC 0284+00 1/1 0/0 0/0 .text * createMaterial__9J2DScreenFP20JSURandomInputStreamUlP10JKRArchive */ -// nametab section has issues -#ifdef NONMATCHING +// NONMATCHING - nametab section has issues bool J2DScreen::createMaterial(JSURandomInputStream* p_stream, u32 param_1, JKRArchive* p_archive) { s32 position = p_stream->getPosition(); @@ -554,12 +432,6 @@ bool J2DScreen::createMaterial(JSURandomInputStream* p_stream, u32 param_1, JKRA clean(); return false; } -#else -bool J2DScreen::createMaterial(JSURandomInputStream* param_0, u32 param_1, - JKRArchive* param_2) { - // NONMATCHING -} -#endif /* 802F9600-802F9620 2F3F40 0020+00 1/0 0/0 0/0 .text isUsed__9J2DScreenFPC7ResTIMG */ bool J2DScreen::isUsed(ResTIMG const* p_timg) { @@ -702,4 +574,4 @@ void J2DScreen::setAnimationVF(J2DAnmVisibilityFull*) { */ void J2DScreen::setAnimationVC(J2DAnmVtxColor*) { /* empty function */ -} \ No newline at end of file +} diff --git a/src/JSystem/J2DGraph/J2DTevs.cpp b/src/JSystem/J2DGraph/J2DTevs.cpp index b4f92d97b4d..40d5bfd24df 100644 --- a/src/JSystem/J2DGraph/J2DTevs.cpp +++ b/src/JSystem/J2DGraph/J2DTevs.cpp @@ -24,17 +24,17 @@ void J2DTexMtx::calc() { /* 802E9D2C-802E9EBC 2E466C 0190+00 1/1 0/0 0/0 .text * getTextureMtx__9J2DTexMtxFRC17J2DTextureSRTInfo3VecPA4_f */ void J2DTexMtx::getTextureMtx(J2DTextureSRTInfo const& param_0, Vec param_1, Mtx param_2) { - float f31 = (param_0.field_0x8 * M_PI) / 180.0f; - param_2[0][0] = param_0.field_0x0 * i_cosf(f31); - param_2[0][1] = -param_0.field_0x0 * i_sinf(f31); + float f31 = (param_0.mRotationDeg * M_PI) / 180.0f; + param_2[0][0] = param_0.mScaleX * i_cosf(f31); + param_2[0][1] = -param_0.mScaleX * i_sinf(f31); param_2[0][2] = 0.0f; - param_2[0][3] = -param_0.field_0x0 * i_cosf(f31) * param_1.x + param_1.y * (param_0.field_0x0 * i_sinf(f31)) + - param_1.x + param_0.field_0xc; - param_2[1][0] = param_0.field_0x4 * i_sinf(f31); - param_2[1][1] = param_0.field_0x4 * i_cosf(f31); + param_2[0][3] = -param_0.mScaleX * i_cosf(f31) * param_1.x + param_1.y * (param_0.mScaleX * i_sinf(f31)) + + param_1.x + param_0.mTranslationX; + param_2[1][0] = param_0.mScaleY * i_sinf(f31); + param_2[1][1] = param_0.mScaleY * i_cosf(f31); param_2[1][2] = 0.0f; - param_2[1][3] = -param_0.field_0x4 * i_sinf(f31) * param_1.x - param_1.y * (param_0.field_0x4 * i_cosf(f31)) + - param_1.y + param_0.field_0x10; + param_2[1][3] = -param_0.mScaleY * i_sinf(f31) * param_1.x - param_1.y * (param_0.mScaleY * i_cosf(f31)) + + param_1.y + param_0.mTranslationY; param_2[2][0] = 0.0f; param_2[2][1] = 0.0f; param_2[2][2] = 1.0f; @@ -44,17 +44,17 @@ void J2DTexMtx::getTextureMtx(J2DTextureSRTInfo const& param_0, Vec param_1, Mtx /* 802E9EBC-802EA044 2E47FC 0188+00 1/1 0/0 0/0 .text * getTextureMtxMaya__9J2DTexMtxFRC17J2DTextureSRTInfoPA4_f */ void J2DTexMtx::getTextureMtxMaya(J2DTextureSRTInfo const& param_0, Mtx param_1) { - float f31 = (param_0.field_0x8 * M_PI) / 180.0f; - param_1[0][0] = param_0.field_0x0 * i_cosf(f31); - param_1[0][1] = param_0.field_0x4 * i_sinf(f31); + float f31 = (param_0.mRotationDeg * M_PI) / 180.0f; + param_1[0][0] = param_0.mScaleX * i_cosf(f31); + param_1[0][1] = param_0.mScaleY * i_sinf(f31); param_1[0][2] = 0.0f; - param_1[0][3] = (param_0.field_0xc - 0.5f) * i_cosf(f31) - - (param_0.field_0x10 - 0.5f + param_0.field_0x4) * i_sinf(f31) + 0.5f; - param_1[1][0] = -param_0.field_0x0 * i_sinf(f31); - param_1[1][1] = param_0.field_0x4 * i_cosf(f31); + param_1[0][3] = (param_0.mTranslationX - 0.5f) * i_cosf(f31) - + (param_0.mTranslationY - 0.5f + param_0.mScaleY) * i_sinf(f31) + 0.5f; + param_1[1][0] = -param_0.mScaleX * i_sinf(f31); + param_1[1][1] = param_0.mScaleY * i_cosf(f31); param_1[1][2] = 0.0f; - param_1[1][3] = -(param_0.field_0xc - 0.5f) * i_sinf(f31) - - (param_0.field_0x10 - 0.5f + param_0.field_0x4) * i_cosf(f31) + 0.5f; + param_1[1][3] = -(param_0.mTranslationX - 0.5f) * i_sinf(f31) - + (param_0.mTranslationY - 0.5f + param_0.mScaleY) * i_cosf(f31) + 0.5f; param_1[2][0] = 0.0f; param_1[2][1] = 0.0f; param_1[2][2] = 1.0f; @@ -83,82 +83,24 @@ void J2DIndTexOrder::load(u8 indTexStage) { GXSetIndTexOrder((GXIndTexStageID)indTexStage, mInfo.getTexCoordID(), mInfo.getTexMapID()); } -/* 802EA12C-802EA134 2E4A6C 0008+00 0/0 1/0 0/0 .text getTevSwapModeTable__11J2DTevBlockFUl */ -J2DTevSwapModeTable* J2DTevBlock::getTevSwapModeTable(u32 param_0) { - return NULL; -} - -/* 802EA134-802EA13C 2E4A74 0008+00 0/0 1/0 0/0 .text getTevStage__11J2DTevBlockFUl */ -J2DTevStage* J2DTevBlock::getTevStage(u32 param_0) { - return NULL; -} - -/* 802EA13C-802EA144 2E4A7C 0008+00 0/0 1/0 0/0 .text getTevColor__11J2DTevBlockFUl */ -J2DGXColorS10* J2DTevBlock::getTevColor(u32 param_0) { - return NULL; -} - -/* 802EA144-802EA14C 2E4A84 0008+00 0/0 1/0 0/0 .text getTevOrder__11J2DTevBlockFUl */ -J2DTevOrder* J2DTevBlock::getTevOrder(u32 param_0) { - return NULL; -} - -/* 802EA14C-802EA154 2E4A8C 0008+00 0/0 1/0 0/0 .text getTevKAlphaSel__11J2DTevBlockFUl - */ -u8 J2DTevBlock::getTevKAlphaSel(u32 param_0) { - return 0; -} - -/* 802EA154-802EA15C 2E4A94 0008+00 0/0 1/0 0/0 .text getTevKColorSel__11J2DTevBlockFUl - */ -u8 J2DTevBlock::getTevKColorSel(u32 param_0) { - return 0; -} - -/* 802EA15C-802EA164 2E4A9C 0008+00 0/0 1/0 0/0 .text getTevKColor__11J2DTevBlockFUl */ -JUtility::TColor* J2DTevBlock::getTevKColor(u32 param_0) { - return NULL; -} - -/* 802EA164-802EA170 2E4AA4 000C+00 0/0 1/0 0/0 .text getFontNo__11J2DTevBlockCFv */ -u16 J2DTevBlock::getFontNo() const { - return 0xFFFF; -} - -/* 802EA170-802EA17C 2E4AB0 000C+00 0/0 1/0 0/0 .text getTexNo__11J2DTevBlockCFUl */ -u32 J2DTevBlock::getTexNo(u32 param_0) const { - return 0xFFFF; -} - -/* 802EA17C-802EA184 2E4ABC 0008+00 0/0 1/0 0/0 .text getTevStageNum__11J2DTevBlockCFv */ -u8 J2DTevBlock::getTevStageNum() const { - return 1; -} - -/* 802EA184-802EA18C 2E4AC4 0008+00 0/0 1/0 0/0 .text getIndTevStage__11J2DTevBlockFUl */ -J2DIndTevStage* J2DTevBlock::getIndTevStage(u32 param_0) { - return NULL; -} - -/* 802EA18C-802EA194 2E4ACC 0008+00 0/0 2/0 0/0 .text getIndTexCoordScale__11J2DIndBlockFUl */ -J2DIndTexCoordScale* J2DIndBlock::getIndTexCoordScale(u32 param_0) { - return NULL; -} - -/* 802EA194-802EA19C 2E4AD4 0008+00 0/0 2/0 0/0 .text getIndTexMtx__11J2DIndBlockFUl */ -J2DIndTexMtx* J2DIndBlock::getIndTexMtx(u32 param_0) { - return NULL; -} - -/* 802EA19C-802EA1A4 2E4ADC 0008+00 0/0 2/0 0/0 .text getIndTexOrder__11J2DIndBlockFUl */ -J2DIndTexOrder* J2DIndBlock::getIndTexOrder(u32 param_0) { - return NULL; -} - -/* 802EA1A4-802EA1AC 2E4AE4 0008+00 0/0 2/0 0/0 .text getIndTexStageNum__11J2DIndBlockCFv - */ -u8 J2DIndBlock::getIndTexStageNum() const { - return 0; +static void dummyVirtual(J2DTevBlock* block, J2DIndBlock* indBlock) { + indBlock->getIndTexStageNum(); + indBlock->getIndTexOrder(0); + indBlock->getIndTexStageNum(); + indBlock->getIndTexOrder(0); + indBlock->getIndTexMtx(0); + indBlock->getIndTexCoordScale(0); + block->getIndTevStage(0); + block->getTevStageNum(); + block->getTexNo(0); + block->getFontNo(); + block->getTevKColor(0); + block->getTevKColorSel(0); + block->getTevKAlphaSel(0); + block->getTevOrder(0); + block->getTevColor(0); + block->getTevStage(0); + block->getTevSwapModeTable(0); } /* ############################################################################################## */ @@ -236,4 +178,4 @@ extern const J2DColorChanInfo j2dDefaultColorChanInfo = {0, 3, 0, 0}; extern const u8 data_804561AC = 0x1B; /* 804561AE-804561B0 0047AE 0002+00 0/0 3/3 0/0 .sdata2 j2dDefaultAlphaCmp */ -extern const u16 j2dDefaultAlphaCmp = 0x00E7; \ No newline at end of file +extern const u16 j2dDefaultAlphaCmp = 0x00E7; diff --git a/src/JSystem/J2DGraph/J2DWindowEx.cpp b/src/JSystem/J2DGraph/J2DWindowEx.cpp index e3e0baa2bc1..16e9f72dd3c 100644 --- a/src/JSystem/J2DGraph/J2DWindowEx.cpp +++ b/src/JSystem/J2DGraph/J2DWindowEx.cpp @@ -8,112 +8,6 @@ #include "JSystem/JSupport/JSURandomInputStream.h" #include "dol2asm.h" -// -// Forward References: -// - -extern "C" void __ct__11J2DWindowExFP7J2DPaneP20JSURandomInputStreamUlP11J2DMaterial(); -extern "C" void setMinSize__11J2DWindowExFv(); -extern "C" void __dt__11J2DWindowExFv(); -extern "C" void drawSelf__11J2DWindowExFffPA3_A4_f(); -extern "C" void func_803012CC(); -extern "C" void func_80301994(); -extern "C" void drawFrameTexture__11J2DWindowExFffffUsUsUsUsP11J2DMaterialb(); -extern "C" void func_80301FC8(); -extern "C" void func_80302164(); -extern "C" void setTevOrder__11J2DWindowExFb(); -extern "C" void setTevStage__11J2DWindowExFb(); -extern "C" void setStage__11J2DWindowExFP11J2DTevStageQ211J2DWindowEx10stage_enum(); -extern "C" void setBlack__11J2DWindowExFQ28JUtility6TColor(); -extern "C" void setWhite__11J2DWindowExFQ28JUtility6TColor(); -extern "C" void setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void getBlackWhite__11J2DWindowExCFPQ28JUtility6TColorPQ28JUtility6TColor(); -extern "C" void isSetBlackWhite__11J2DWindowExCFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void getBlack__11J2DWindowExCFv(); -extern "C" void getWhite__11J2DWindowExCFv(); -extern "C" void setAlpha__11J2DWindowExFUc(); -extern "C" void setCullBack__11J2DWindowExF11_GXCullMode(); -extern "C" void rewriteAlpha__11J2DWindowExFv(); -extern "C" void getFrameTexture__11J2DWindowExCFUcUc(); -extern "C" void getContentsTexture__11J2DWindowExCFUc(); -extern "C" void isUsed__11J2DWindowExFPC7ResTIMG(); -extern "C" void setAnimation__11J2DWindowExFP11J2DAnmColor(); -extern "C" void setAnimation__11J2DWindowExFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__11J2DWindowExFP16J2DAnmTexPattern(); -extern "C" void setAnimation__11J2DWindowExFP15J2DAnmTevRegKey(); -extern "C" void isNeedSetAnm__11J2DWindowExFUc(); -extern "C" void setAnimation__11J2DWindowExFP20J2DAnmVisibilityFull(); -extern "C" void setAnimation__11J2DWindowExFP14J2DAnmVtxColor(); -extern "C" void animationPane__11J2DWindowExFPC15J2DAnmTransform(); -extern "C" void getFrameMaterial__11J2DWindowExCFUc(); -extern "C" void getContentsMaterial__11J2DWindowExCFv(); -extern "C" void getMaterial__11J2DWindowExCFRQ29J2DWindow9TMaterial(); -extern "C" void draw__11J2DWindowExFffff(); -extern "C" void setCullBack__11J2DWindowExFb(); -extern "C" void isUsed__11J2DWindowExFPC7ResFONT(); -extern "C" void setAnimation__11J2DWindowExFP10J2DAnmBase(); -extern "C" void getColor__14J2DAnmVtxColorCFUcUsP8_GXColor(); - -// -// External References: -// - -extern "C" void calcMtx__7J2DPaneFv(); -extern "C" void makeMatrix__7J2DPaneFff(); -extern "C" void setAnimation__11J2DWindowExFP15J2DAnmTransform(); -extern "C" void __dl__FPv(); -extern "C" void read__14JSUInputStreamFPvl(); -extern "C" void peek__20JSURandomInputStreamFPvl(); -extern "C" void seek__20JSURandomInputStreamFl17JSUStreamSeekFrom(); -extern "C" void setGX__11J2DMaterialFv(); -extern "C" void setAnimation__11J2DMaterialFP11J2DAnmColor(); -extern "C" void setAnimation__11J2DMaterialFP19J2DAnmTextureSRTKey(); -extern "C" void setAnimation__11J2DMaterialFP16J2DAnmTexPattern(); -extern "C" void setAnimation__11J2DMaterialFP15J2DAnmTevRegKey(); -extern "C" void move__7J2DPaneFff(); -extern "C" void add__7J2DPaneFff(); -extern "C" void func_802F7264(); -extern "C" void search__7J2DPaneFUx(); -extern "C" void searchUserInfo__7J2DPaneFUx(); -extern "C" void isUsed__7J2DPaneFPC7ResTIMG(); -extern "C" void isUsed__7J2DPaneFPC7ResFONT(); -extern "C" void makeMatrix__7J2DPaneFffff(); -extern "C" void setCullBack__7J2DPaneF11_GXCullMode(); -extern "C" void getParentPane__7J2DPaneFv(); -extern "C" void makePaneExStream__7J2DPaneFP7J2DPaneP20JSURandomInputStream(); -extern "C" void setAnimation__7J2DPaneFP10J2DAnmBase(); -extern "C" void clearAnmTransform__7J2DPaneFv(); -extern "C" void animationTransform__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void animationPane__7J2DPaneFPC15J2DAnmTransform(); -extern "C" void setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull(); -extern "C" void setAnimationVC__7J2DPaneFP14J2DAnmVtxColor(); -extern "C" void setConnectParent__7J2DPaneFb(); -extern "C" void update__7J2DPaneFv(); -extern "C" void __ct__9J2DWindowFv(); -extern "C" void __dt__9J2DWindowFv(); -extern "C" void resize__9J2DWindowFff(); -extern "C" void drawSelf__9J2DWindowFff(); -extern "C" s32 getTypeID__9J2DWindowCFv(); -extern "C" void getVisibility__20J2DAnmVisibilityFullCFUsPUc(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); - -// -// Declarations: -// - /* ############################################################################################## */ /* 803A1C60-803A1C70 02E2C0 0010+00 2/2 0/0 0/0 .rodata @1508 */ SECTION_RODATA static u8 const lit_1508[16] = { @@ -121,69 +15,6 @@ SECTION_RODATA static u8 const lit_1508[16] = { }; COMPILER_STRIP_GATE(0x803A1C60, &lit_1508); -/* 803CD3E8-803CD4B8 02A508 00CC+04 2/2 0/0 0/0 .data __vt__11J2DWindowEx */ -SECTION_DATA extern void* __vt__11J2DWindowEx[51 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11J2DWindowExFv, - (void*)getTypeID__9J2DWindowCFv, - (void*)move__7J2DPaneFff, - (void*)add__7J2DPaneFff, - (void*)resize__9J2DWindowFff, - (void*)setCullBack__11J2DWindowExFb, - (void*)setCullBack__11J2DWindowExF11_GXCullMode, - (void*)setAlpha__11J2DWindowExFUc, - (void*)setConnectParent__7J2DPaneFb, - (void*)calcMtx__7J2DPaneFv, - (void*)update__7J2DPaneFv, - (void*)drawSelf__9J2DWindowFff, - (void*)drawSelf__11J2DWindowExFffPA3_A4_f, - (void*)search__7J2DPaneFUx, - (void*)searchUserInfo__7J2DPaneFUx, - (void*)makeMatrix__7J2DPaneFff, - (void*)makeMatrix__7J2DPaneFffff, - (void*)isUsed__11J2DWindowExFPC7ResTIMG, - (void*)isUsed__11J2DWindowExFPC7ResFONT, - (void*)clearAnmTransform__7J2DPaneFv, - (void*)rewriteAlpha__11J2DWindowExFv, - (void*)setAnimation__11J2DWindowExFP10J2DAnmBase, - (void*)setAnimation__11J2DWindowExFP15J2DAnmTransform, - (void*)setAnimation__11J2DWindowExFP11J2DAnmColor, - (void*)setAnimation__11J2DWindowExFP16J2DAnmTexPattern, - (void*)setAnimation__11J2DWindowExFP19J2DAnmTextureSRTKey, - (void*)setAnimation__11J2DWindowExFP15J2DAnmTevRegKey, - (void*)setAnimation__11J2DWindowExFP20J2DAnmVisibilityFull, - (void*)setAnimation__11J2DWindowExFP14J2DAnmVtxColor, - (void*)animationTransform__7J2DPaneFPC15J2DAnmTransform, - (void*)setVisibileAnimation__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setAnimationVF__7J2DPaneFP20J2DAnmVisibilityFull, - (void*)setVtxColorAnimation__7J2DPaneFP14J2DAnmVtxColor, - (void*)setAnimationVC__7J2DPaneFP14J2DAnmVtxColor, - (void*)animationPane__11J2DWindowExFPC15J2DAnmTransform, - (void*)func_80301FC8, - (void*)func_80302164, - (void*)draw__11J2DWindowExFffff, - (void*)setBlack__11J2DWindowExFQ28JUtility6TColor, - (void*)setWhite__11J2DWindowExFQ28JUtility6TColor, - (void*)setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor, - (void*)getBlack__11J2DWindowExCFv, - (void*)getWhite__11J2DWindowExCFv, - (void*)getFrameTexture__11J2DWindowExCFUcUc, - (void*)getContentsTexture__11J2DWindowExCFUc, - (void*)getMaterial__11J2DWindowExCFRQ29J2DWindow9TMaterial, - (void*)getFrameMaterial__11J2DWindowExCFUc, - (void*)getContentsMaterial__11J2DWindowExCFv, - (void*)func_80301994, - /* padding */ - NULL, -}; - -/* 804562A0-804562A8 0048A0 0008+00 4/4 0/0 0/0 .sdata2 @1549 */ -SECTION_SDATA2 static f64 lit_1549 = 4503601774854144.0 /* cast s32 to float */; - -/* 804562A8-804562B0 0048A8 0008+00 1/1 0/0 0/0 .sdata2 @1552 */ -SECTION_SDATA2 static f64 lit_1552 = 4503599627370496.0 /* cast u32 to float */; - struct J2DWindowExDef { u32 field_0x0[4]; u16 field_0x10[4]; @@ -488,26 +319,6 @@ void J2DWindowEx::draw_private(JGeometry::TBox2 const& param_0, } } - -/* ############################################################################################## */ -/* 804562B0-804562B4 0048B0 0004+00 4/4 0/0 0/0 .sdata2 @1827 */ -SECTION_SDATA2 static u8 lit_1827[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 804562B4-804562B8 0048B4 0004+00 1/1 0/0 0/0 .sdata2 @2256 */ -SECTION_SDATA2 static f32 lit_2256 = 1.0f; - -/* 804562B8-804562C0 0048B8 0004+04 1/1 0/0 0/0 .sdata2 @2257 */ -SECTION_SDATA2 static f32 lit_2257[1 + 1 /* padding */] = { - 0.5f, - /* padding */ - 0.0f, -}; - /* 80301994-80301D74 2FC2D4 03E0+00 1/0 0/0 0/0 .text * drawContents__11J2DWindowExFRCQ29JGeometry8TBox2 */ void J2DWindowEx::drawContents(JGeometry::TBox2 const& param_1) { @@ -793,8 +604,7 @@ bool J2DWindowEx::setWhite(JUtility::TColor white) { /* 80302874-80302A4C 2FD1B4 01D8+00 1/0 0/0 0/0 .text * setBlackWhite__11J2DWindowExFQ28JUtility6TColorQ28JUtility6TColor */ -// J2DGXColorS10 issue -#ifdef NONMATCHING +// NONMATCHING - J2DGXColorS10 issue bool J2DWindowEx::setBlackWhite(JUtility::TColor black, JUtility::TColor white) { for (int i = 0; i < 4; i++) { if (mFrameMaterial[i] == NULL) { @@ -839,11 +649,6 @@ bool J2DWindowEx::setBlackWhite(JUtility::TColor black, JUtility::TColor white) } return true; } -#else -bool J2DWindowEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { - // NONMATCHING -} -#endif /* 80302A4C-80302BE8 2FD38C 019C+00 4/4 0/0 0/0 .text * getBlackWhite__11J2DWindowExCFPQ28JUtility6TColorPQ28JUtility6TColor */ @@ -1320,4 +1125,4 @@ bool J2DWindowEx::isUsed(ResFONT const* param_0) { /* 8030361C-8030363C 2FDF5C 0020+00 1/0 0/0 0/0 .text setAnimation__11J2DWindowExFP10J2DAnmBase */ void J2DWindowEx::setAnimation(J2DAnmBase* param_0) { J2DPane::setAnimation(param_0); -} \ No newline at end of file +} diff --git a/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp b/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp index e187a2d6c0f..f87f18f4350 100644 --- a/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DMaterialAttach.cpp @@ -286,4 +286,4 @@ int J3DMaterialTable::entryTevRegAnimator(J3DAnmTevRegKey* param_1) { } } return rv; -} \ No newline at end of file +} diff --git a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp index 8883f8c163a..5f3572ade27 100644 --- a/src/JSystem/J3DGraphAnimator/J3DModelData.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DModelData.cpp @@ -1,6 +1,5 @@ // -// Generated By: dol2asm -// Translation Unit: J3DModelData +// J3DModelData // #include "JSystem/J3DGraphAnimator/J3DModelData.h" diff --git a/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp b/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp index d3faa6b8943..4fab18c4f60 100644 --- a/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DMtxBuffer.cpp @@ -248,7 +248,24 @@ static u8 J3DUnit01[8] = { /* 803268D4-80326ACC 321214 01F8+00 0/0 1/1 0/0 .text calcWeightEnvelopeMtx__12J3DMtxBufferFv */ void J3DMtxBuffer::calcWeightEnvelopeMtx() { - // NONMATCHING + int max = mJointTree->getWEvlpMtxNum(); + u16* indices = mJointTree->getWEvlpMixIndex(); + f32* weights = mJointTree->getWEvlpMixWeight(); + for (int i = -1; i < max; i++) { + u8* scaleFlags = mpEvlpScaleFlagArr; + scaleFlags[i] = 1; + Mtx* weightAnmMtx = &mpWeightEvlpMtx[i]; + int mixNum = mJointTree->getWEvlpMixMtxNum(i); + for (int j = 0; j < mixNum; j++) { + u16 idx = indices[j]; + f32 weight = weights[j]; + Mtx& invMtx = mJointTree->getInvJointMtx(idx); + Mtx& worldMtx = mpUserAnmMtx[idx]; + // I think it's this but as ASM? maybe? + MTXConcat(invMtx, worldMtx, *weightAnmMtx); + scaleFlags[i] &= mpScaleFlagArr[j]; + } + } } /* 80326ACC-80326D3C 32140C 0270+00 0/0 1/1 0/0 .text diff --git a/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp b/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp index 83d61a73f3a..c64f15670e6 100644 --- a/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp +++ b/src/JSystem/J3DGraphAnimator/J3DSkinDeform.cpp @@ -5,78 +5,11 @@ #include "JSystem/J3DGraphAnimator/J3DSkinDeform.h" #include "JSystem/J3DGraphAnimator/J3DModel.h" +#include "JSystem/JKernel/JKRHeap.h" #include "dol2asm.h" #include "dolphin/os.h" #include "string.h" -// -// Types: -// - -// -// Forward References: -// - -extern "C" void __ct__12J3DSkinNListFv(); -extern "C" static void J3DPSWeightMTXMultVec__FPA4_ffP3VecP3Vec(); -extern "C" static void J3DPSWeightMTXMultVecSR__FPA4_ffP3VecP3Vec(); -extern "C" void calcSkin_VtxPosF32__12J3DSkinNListFPA4_fPvPv(); -extern "C" void calcSkin_VtxNrmF32__12J3DSkinNListFPA4_fPvPv(); -extern "C" void __ct__13J3DSkinDeformFv(); -extern "C" void initSkinInfo__13J3DSkinDeformFP12J3DModelData(); -extern "C" void initMtxIndexArray__13J3DSkinDeformFP12J3DModelData(); -extern "C" void changeFastSkinDL__13J3DSkinDeformFP12J3DModelData(); -extern "C" void calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer(); -extern "C" void transformVtxPosNrm__13J3DSkinDeformFP12J3DModelData(); -extern "C" void calcAnmInvJointMtx__13J3DSkinDeformFP12J3DMtxBuffer(); -extern "C" void deformFastVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer(); -extern "C" void deformFastVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer(); -extern "C" void deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer(); -extern "C" void deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer(); -extern "C" void deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer(); -extern "C" void deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer(); -extern "C" void deform__13J3DSkinDeformFP8J3DModel(); -extern "C" void deform__13J3DSkinDeformFP15J3DVertexBufferP12J3DMtxBuffer(); -extern "C" void calc__15J3DVtxColorCalcFP8J3DModel(); -extern "C" void __dt__13J3DSkinDeformFv(); -extern "C" extern char const* const J3DSkinDeform__stringBase0; -extern "C" u8 sWorkArea_WEvlpMixMtx__13J3DSkinDeform[4096]; -extern "C" u8 sWorkArea_WEvlpMixWeight__13J3DSkinDeform[4096]; -extern "C" u16 sWorkArea_MtxReg__13J3DSkinDeform[1024 + 4 /* padding */]; - -// -// External References: -// - -extern "C" void* __nwa__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void J3DGQRSetup7__FUlUlUlUl(); -extern "C" void J3DPSCalcInverseTranspose__FPA4_fPA3_f(); -extern "C" void makeVcdVatCmd__8J3DShapeFv(); -extern "C" void __construct_new_array(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_17(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_17(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern f32 PSMulUnit01[2]; - -// -// Declarations: -// - /* 8032C6E4-8032C704 327024 0020+00 1/1 0/0 0/0 .text __ct__12J3DSkinNListFv */ J3DSkinNList::J3DSkinNList() { field_0x0 = NULL; @@ -269,31 +202,13 @@ void J3DSkinDeform::initSkinInfo(J3DModelData* param_0) { } } -/* ############################################################################################## */ -/* 803A2008-803A2018 02E668 0010+00 1/1 0/0 0/0 .rodata @1142 */ -SECTION_RODATA static u32 const lit_1142[4] = { - 0, 1, 1, 2, -}; -COMPILER_STRIP_GATE(0x803A2008, &lit_1142); - -/* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803A2028 = - " Invlid Data : CPU Pipeline process GX_INDEX16 D" - "ata Only\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_803A2062 = "\0\0\0\0\0"; -#pragma pop - /* 80439218-80439A20 065F38 0800+08 1/1 0/0 0/0 .bss sWorkArea_MtxReg__13J3DSkinDeform */ u16 J3DSkinDeform::sWorkArea_MtxReg[1024 + 4 /* padding */]; /* 8032CF44-8032D378 327884 0434+00 0/0 1/1 0/0 .text * initMtxIndexArray__13J3DSkinDeformFP12J3DModelData */ -// Several register order and regalloc issues -#ifdef NONMATCHING +// NONMATCHING - Several register order and regalloc issues int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) { if (mPosData != NULL && mNrmData != NULL) { return 0; @@ -409,11 +324,6 @@ int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) { return 0; } -#else -int J3DSkinDeform::initMtxIndexArray(J3DModelData* param_0) { - // NONMATCHING -} -#endif /* ############################################################################################## */ /* 803A2018-803A2028 02E678 0010+00 1/1 0/0 0/0 .rodata @1270 */ @@ -424,8 +334,7 @@ COMPILER_STRIP_GATE(0x803A2018, &lit_1270); /* 8032D378-8032D5C4 327CB8 024C+00 0/0 1/1 0/0 .text * changeFastSkinDL__13J3DSkinDeformFP12J3DModelData */ -// regalloc, display list access issues -#ifdef NONMATCHING +// NONMATCHING - regalloc, display list access issues void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) { for (u16 i = 0; i < param_0->getShapeNum(); i++) { u32 local_28[4] = {0,1,1,2}; @@ -484,11 +393,6 @@ void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) { pShape->makeVcdVatCmd(); } } -#else -void J3DSkinDeform::changeFastSkinDL(J3DModelData* param_0) { - // NONMATCHING -} -#endif /* 8032D5C4-8032D738 327F04 0174+00 1/1 0/0 0/0 .text calcNrmMtx__13J3DSkinDeformFP12J3DMtxBuffer */ @@ -614,8 +518,7 @@ void J3DSkinDeform::deformFastVtxNrm_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* /* 8032DB50-8032DC74 328490 0124+00 1/1 0/0 0/0 .text * deformVtxPos_F32__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */ -// J3DPSMulMtxVec regalloc -#ifdef NONMATCHING +// NONMATCHING - J3DPSMulMtxVec regalloc void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { Mtx* anmMtxs[2]; anmMtxs[0] = (Mtx*)param_1->getAnmMtx(0); @@ -632,16 +535,10 @@ void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* par DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(Vec)); param_0->setCurrentVtxPos(transformedVtxPos); } -#else -void J3DSkinDeform::deformVtxPos_F32(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { - // NONMATCHING -} -#endif /* 8032DC74-8032DDB8 3285B4 0144+00 1/1 0/0 0/0 .text * deformVtxPos_S16__13J3DSkinDeformCFP15J3DVertexBufferP12J3DMtxBuffer */ -// J3DPSMulMtxVec regalloc -#ifdef NONMATCHING +// NONMATCHING - J3DPSMulMtxVec regalloc void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { Mtx* anmMtxs[2]; anmMtxs[0] = (Mtx*)param_1->getAnmMtx(0); @@ -660,16 +557,10 @@ void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* par DCStoreRange(param_0->getTransformedVtxPos(0), param_0->getVertexData()->getVtxNum() * sizeof(SVec)); param_0->setCurrentVtxPos(transformedVtxPos); } -#else -void J3DSkinDeform::deformVtxPos_S16(J3DVertexBuffer* param_0, J3DMtxBuffer* param_1) const { - // NONMATCHING -} -#endif /* 8032DDB8-8032DEBC 3286F8 0104+00 1/1 0/0 0/0 .text * deformVtxNrm_F32__13J3DSkinDeformCFP15J3DVertexBuffer */ -// J3DPSMulMtxVec regalloc -#ifdef NONMATCHING +// NONMATCHING - J3DPSMulMtxVec regalloc void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const { param_0->swapTransformedVtxNrm(); int nrmNum = param_0->getVertexData()->getNrmNum(); @@ -681,16 +572,10 @@ void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const { DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(Vec)); param_0->setCurrentVtxNrm(transformedVtxNrm); } -#else -void J3DSkinDeform::deformVtxNrm_F32(J3DVertexBuffer* param_0) const { - // NONMATCHING -} -#endif /* 8032DEBC-8032DFDC 3287FC 0120+00 1/1 0/0 0/0 .text * deformVtxNrm_S16__13J3DSkinDeformCFP15J3DVertexBuffer */ -// J3DPSMulMtxVec regalloc -#ifdef NONMATCHING +// NONMATCHING - J3DPSMulMtxVec regalloc void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const { u8 vtxNrmFrac = param_0->getVertexData()->getVtxNrmFrac(); J3DGQRSetup7(vtxNrmFrac, 7, vtxNrmFrac, 7); @@ -704,11 +589,6 @@ void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const { DCStoreRange(param_0->getTransformedVtxNrm(0), param_0->getVertexData()->getNrmNum() * sizeof(SVec)); param_0->setCurrentVtxNrm(transformedVtxNrm); } -#else -void J3DSkinDeform::deformVtxNrm_S16(J3DVertexBuffer* param_0) const { - // NONMATCHING -} -#endif /* 8032DFDC-8032E064 32891C 0088+00 0/0 1/1 0/0 .text deform__13J3DSkinDeformFP8J3DModel */ @@ -767,4 +647,4 @@ void J3DVtxColorCalc::calc(J3DModel* param_0) { /* 8032E1B0-8032E1F8 328AF0 0048+00 1/0 0/0 0/0 .text __dt__13J3DSkinDeformFv */ J3DSkinDeform::~J3DSkinDeform() {} -/* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 803A2028-803A2028 02E688 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp index 1b1791a5ed4..41be62d2b46 100644 --- a/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DAnmLoader.cpp @@ -1,6 +1,5 @@ // -// Generated By: dol2asm -// Translation Unit: J3DAnmLoader +// J3DAnmLoader // #include "JSystem/J3DGraphLoader/J3DAnmLoader.h" diff --git a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp index ee63dfae24e..cf56637ee5f 100644 --- a/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp +++ b/src/JSystem/J3DGraphLoader/J3DClusterLoader.cpp @@ -1,6 +1,5 @@ // -// Generated By: dol2asm -// Translation Unit: J3DClusterLoader +// J3DClusterLoader // #include "JSystem/J3DGraphLoader/J3DClusterLoader.h" @@ -116,30 +115,4 @@ void J3DClusterLoader_v15::readCluster(const J3DClusterBlock* block) { DCStoreRange(arr, vtxPosSize); } - -/* 803345FC-80334644 32EF3C 0048+00 1/0 0/0 0/0 .text __dt__16J3DClusterLoaderFv */ -// Remove when JSUConvertOffsetToPtr is ok -void __dt__16J3DClusterLoaderFv() { -//asm J3DClusterLoader::~J3DClusterLoader() { - // NONMATCHING -} - -/* 80334644-8033465C 32EF84 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<16J3DClusterVertex>__FPCvPCv */ -extern "C" void func_80334644(void* _this, void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 8033465C-80334674 32EF9C 0018+00 1/1 0/0 0/0 .text - * JSUConvertOffsetToPtr<13J3DClusterKey>__FPCvPCv */ -extern "C" void func_8033465C(void* _this, void const* param_0, void const* param_1) { - // NONMATCHING -} - -/* 80334674-8033468C 32EFB4 0018+00 1/1 0/0 0/0 .text JSUConvertOffsetToPtr<10J3DCluster>__FPCvPCv - */ -extern "C" void func_80334674(void* _this, void const* param_0, void const* param_1) { - // NONMATCHING -} - /* 803A2098-803A2098 02E6F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */