diff options
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/J2DGraph/J2DAnimation.h | 6 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPane.h | 10 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPicture.h | 16 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DScreen.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J2DGraph/J2DTextBox.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DAnimation.h | 211 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DJoint.h | 12 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DMatBlock.h | 100 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DTevs.h | 8 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphLoader/J3DAnmLoader.h | 54 | ||||
| -rw-r--r-- | include/JSystem/JGeometry.h | 4 | ||||
| -rw-r--r-- | include/JSystem/JParticle/JPAParticle.h | 6 | ||||
| -rw-r--r-- | include/JSystem/JUtility/JUTFont.h | 6 | ||||
| -rw-r--r-- | include/JSystem/JUtility/JUTResFont.h | 2 |
14 files changed, 279 insertions, 160 deletions
diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index a4bd2fb07d..fe36766b7a 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -151,12 +151,8 @@ public: mTranslateValues = pTranslateValues; mKind = KIND_TRANSFORM; } - #ifdef __dt__15J2DAnmTransformFv_DEFINED - /* 80184370 */ virtual ~J2DAnmTransform(); - #else /* 80184370 */ virtual ~J2DAnmTransform() {} - #endif - /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; + /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; // {} (should be inline) /* 0x10 */ f32* mScaleValues; /* 0x14 */ s16* mRotationValues; diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index db868228b1..61989f4f58 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -88,13 +88,19 @@ public: /* vt 0x20 */ virtual void setCullBack(_GXCullMode cmode); /* vt 0x24 */ virtual void setAlpha(u8); /* vt 0x28 */ virtual bool setConnectParent(bool connected); - /* vt 0x2C */ virtual void calcMtx(); + /* vt 0x2C */ virtual void calcMtx() { + if (mPaneTree.getParent() != NULL) { + makeMatrix(mTranslateX, mTranslateY); + } + } /* vt 0x30 */ virtual void update(); /* vt 0x34 */ virtual void drawSelf(f32 arg1, f32 arg2); /* vt 0x38 */ virtual void drawSelf(f32 arg1, f32 arg2, Mtx* mtx); /* vt 0x3C */ virtual J2DPane* search(u64 tag); /* vt 0x40 */ virtual J2DPane* searchUserInfo(u64 tag); - /* vt 0x44 */ virtual void makeMatrix(f32, f32); + /* vt 0x44 */ virtual void makeMatrix(f32 a, f32 b) { + makeMatrix(a, b, -mBounds.i.x, -mBounds.i.y); + } /* vt 0x48 */ virtual void makeMatrix(f32 a, f32 b, f32 c, f32 d); /* vt 0x4C */ virtual bool isUsed(const ResTIMG* timg); /* vt 0x50 */ virtual bool isUsed(const ResFONT* font); diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index 4bad6b8019..e391869896 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -106,9 +106,19 @@ public: /* 802FDAC8 */ virtual const ResTIMG* changeTexture(char const*, u8, JUTPalette*); /* 800539DC */ virtual JUTTexture* getTexture(u8) const; /* 802FF634 */ virtual u8 getTextureCount() const; - /* 80053C6C */ virtual bool setBlack(JUtility::TColor); - /* 80053C44 */ virtual bool setWhite(JUtility::TColor); - /* 8018BEE0 */ virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white); + /* 80053C6C */ virtual bool setBlack(JUtility::TColor i_black) { + mBlack = i_black; + return true; + } + /* 80053C44 */ virtual bool setWhite(JUtility::TColor i_white) { + mWhite = i_white; + return true; + } + /* 8018BEE0 */ virtual bool setBlackWhite(JUtility::TColor i_black, JUtility::TColor i_white) { + mBlack = i_black; + mWhite = i_white; + return true; + } /* 801DFA4C */ virtual JUtility::TColor getBlack() const; /* 801DFA40 */ virtual JUtility::TColor getWhite() const; /* 8025603C */ virtual J2DMaterial* getMaterial() const { return NULL; } diff --git a/include/JSystem/J2DGraph/J2DScreen.h b/include/JSystem/J2DGraph/J2DScreen.h index 29d41577b9..ed4a0311a5 100644 --- a/include/JSystem/J2DGraph/J2DScreen.h +++ b/include/JSystem/J2DGraph/J2DScreen.h @@ -55,7 +55,7 @@ public: /* 802F90E0 */ virtual J2DPane* searchUserInfo(u64); /* 802F9600 */ virtual bool isUsed(ResTIMG const*); /* 802F9620 */ virtual bool isUsed(ResFONT const*); - /* 80053BA0 */ virtual void clearAnmTransform(); + /* 80053BA0 */ virtual void clearAnmTransform() { J2DPane::clearAnmTransform(); } /* 802F9704 */ virtual void setAnimation(J2DAnmColor*); /* 80192414 */ virtual void setAnimation(J2DAnmTransform* i_bck) { J2DPane::setAnimation(i_bck); } /* 802F9798 */ virtual void setAnimation(J2DAnmTextureSRTKey*); diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index 55b0a6a641..3a2e94a17a 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -75,7 +75,7 @@ public: /* 80300278 */ virtual void setFont(JUTFont*); /* 8021C7F4 */ virtual JUTFont* getFont() const { return mFont; } /* 80254408 */ virtual bool setBlack(JUtility::TColor); - /* 80186C84 */ virtual bool setWhite(JUtility::TColor); + /* 80186C84 */ virtual bool setWhite(JUtility::TColor white) { mWhiteColor = white; return true; } /* 8019230C */ virtual bool setBlackWhite(JUtility::TColor, JUtility::TColor); /* 801DFA34 */ virtual JUtility::TColor getBlack() const; /* 801DFA28 */ virtual JUtility::TColor getWhite() const; diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index fa1c4e66b7..2d6107db5c 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -174,13 +174,13 @@ struct J3DAnmVtxColorFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 mAnmTableNum[2]; /* 0x10 */ u8 field_0x10[0x18 - 0x10]; - /* 0x18 */ s32 mTableOffsets[2]; - /* 0x20 */ s32 mVtxColorIndexDataOffsets[2]; - /* 0x28 */ s32 mVtxColorIndexPointerOffsets[2]; - /* 0x30 */ s32 mRValuesOffset; - /* 0x34 */ s32 mGValuesOffset; - /* 0x38 */ s32 mBValuesOffset; - /* 0x3C */ s32 mAValuesOffset; + /* 0x18 */ void* mTableOffsets[2]; + /* 0x20 */ void* mVtxColorIndexDataOffsets[2]; + /* 0x28 */ void* mVtxColorIndexPointerOffsets[2]; + /* 0x30 */ void* mRValuesOffset; + /* 0x34 */ void* mGValuesOffset; + /* 0x38 */ void* mBValuesOffset; + /* 0x3C */ void* mAValuesOffset; }; // Size = 0x40 STATIC_ASSERT(sizeof(J3DAnmVtxColorFullData) == 0x40); @@ -196,8 +196,8 @@ struct J3DAnmVisibilityFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x0E */ u16 field_0xe; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mValuesOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mValuesOffset; }; // Size = 0x18 STATIC_ASSERT(sizeof(J3DAnmVisibilityFullData) == 0x18); @@ -213,10 +213,10 @@ struct J3DAnmTransformFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x0E */ u8 field_0xe[0x14 - 0xe]; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 mScaleValOffset; - /* 0x1C */ s32 mRotValOffset; - /* 0x20 */ s32 mTransValOffset; + /* 0x14 */ void* mTableOffset; + /* 0x18 */ void* mScaleValOffset; + /* 0x1C */ void* mRotValOffset; + /* 0x20 */ void* mTransValOffset; }; // Size = 0x24 STATIC_ASSERT(sizeof(J3DAnmTransformFullData) == 0x24); @@ -235,13 +235,13 @@ struct J3DAnmColorKeyData { /* 0x12 */ u16 field_0x12; /* 0x14 */ u16 field_0x14; /* 0x16 */ u16 field_0x16; - /* 0x18 */ s32 mTableOffset; /* Created by retype action */ - /* 0x1C */ s32 mUpdateMaterialIDOffset; - /* 0x20 */ s32 mNameTabOffset; /* Created by retype action */ - /* 0x24 */ s32 mRValOffset; - /* 0x28 */ s32 mGValOffset; - /* 0x2C */ s32 mBValOffset; - /* 0x30 */ s32 mAValOffset; + /* 0x18 */ void* mTableOffset; + /* 0x1C */ void* mUpdateMaterialIDOffset; + /* 0x20 */ void* mNameTabOffset; + /* 0x24 */ void* mRValOffset; + /* 0x28 */ void* mGValOffset; + /* 0x2C */ void* mBValOffset; + /* 0x30 */ void* mAValOffset; }; // Size = 0x34 STATIC_ASSERT(sizeof(J3DAnmColorKeyData) == 0x34); @@ -259,26 +259,26 @@ struct J3DAnmTextureSRTKeyData { /* 0x0E */ u16 field_0xe; /* 0x10 */ u16 field_0x10; /* 0x12 */ u16 field_0x12; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 mUpdateMatIDOffset; - /* 0x1C */ s32 mNameTab1Offset; - /* 0x20 */ s32 mUpdateTexMtxIDOffset; - /* 0x24 */ s32 unkOffset; - /* 0x28 */ s32 mScaleValOffset; - /* 0x2C */ s32 mRotValOffset; - /* 0x30 */ s32 mTransValOffset; + /* 0x14 */ void* mTableOffset; + /* 0x18 */ void* mUpdateMatIDOffset; + /* 0x1C */ void* mNameTab1Offset; + /* 0x20 */ void* mUpdateTexMtxIDOffset; + /* 0x24 */ void* unkOffset; + /* 0x28 */ void* mScaleValOffset; + /* 0x2C */ void* mRotValOffset; + /* 0x30 */ void* mTransValOffset; /* 0x34 */ u16 field_0x34; /* 0x36 */ u16 field_0x36; /* 0x38 */ u16 field_0x38; /* 0x3A */ u16 field_0x3a; - /* 0x3C */ s32 mInfoTable2Offset; - /* 0x40 */ s32 field_0x40; - /* 0x44 */ u32 mNameTab2Offset; - /* 0x48 */ s32 field_0x48; - /* 0x4C */ s32 field_0x4c; - /* 0x50 */ s32 field_0x50; - /* 0x54 */ s32 field_0x54; - /* 0x58 */ s32 field_0x58; + /* 0x3C */ void* mInfoTable2Offset; + /* 0x40 */ void* field_0x40; + /* 0x44 */ void* mNameTab2Offset; + /* 0x48 */ void* field_0x48; + /* 0x4C */ void* field_0x4c; + /* 0x50 */ void* field_0x50; + /* 0x54 */ void* field_0x54; + /* 0x58 */ void* field_0x58; /* 0x5C */ s32 field_0x5c; }; // Size = 0x60 @@ -295,13 +295,13 @@ struct J3DAnmVtxColorKeyData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 mAnmTableNum[2]; /* 0x10 */ u8 field_0x10[0x18 - 0x10]; - /* 0x18 */ s32 mTableOffsets[2]; - /* 0x20 */ s32 mVtxColoIndexDataOffset[2]; - /* 0x28 */ s32 mVtxColoIndexPointerOffset[2]; - /* 0x30 */ s32 mRValOffset; - /* 0x34 */ s32 mGValOffset; - /* 0x38 */ s32 mBValOffset; - /* 0x3C */ s32 mAValOffset; + /* 0x18 */ void* mTableOffsets[2]; + /* 0x20 */ void* mVtxColoIndexDataOffset[2]; + /* 0x28 */ void* mVtxColoIndexPointerOffset[2]; + /* 0x30 */ void* mRValOffset; + /* 0x34 */ void* mGValOffset; + /* 0x38 */ void* mBValOffset; + /* 0x3C */ void* mAValOffset; }; // Size = 0x40 STATIC_ASSERT(sizeof(J3DAnmVtxColorKeyData) == 0x40); @@ -317,10 +317,10 @@ struct J3DAnmTexPatternFullData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x0E */ u16 field_0xe; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mValuesOffset; - /* 0x18 */ s32 mUpdateMaterialIDOffset; - /* 0x1C */ s32 mNameTabOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mValuesOffset; + /* 0x18 */ void* mUpdateMaterialIDOffset; + /* 0x1C */ void* mNameTabOffset; }; // Size = 0x20 STATIC_ASSERT(sizeof(J3DAnmTexPatternFullData) == 0x20); @@ -344,20 +344,20 @@ struct J3DAnmTevRegKeyData { /* 0x1A */ u16 field_0x1a; /* 0x1C */ u16 field_0x1c; /* 0x1E */ u16 field_0x1e; - /* 0x20 */ s32 mCRegTableOffset; - /* 0x24 */ s32 mKRegTableOffset; - /* 0x28 */ s32 mCRegUpdateMaterialIDOffset; - /* 0x2C */ s32 mKRegUpdateMaterialIDOffset; - /* 0x30 */ s32 mCRegNameTabOffset; - /* 0x34 */ s32 mKRegNameTabOffset; - /* 0x38 */ s32 mCRValuesOffset; - /* 0x3C */ s32 mCGValuesOffset; - /* 0x40 */ s32 mCBValuesOffset; - /* 0x44 */ s32 mCAValuesOffset; - /* 0x48 */ s32 mKRValuesOffset; - /* 0x4C */ s32 mKGValuesOffset; - /* 0x50 */ s32 mKBValuesOffset; - /* 0x54 */ s32 mKAValuesOffset; + /* 0x20 */ void* mCRegTableOffset; + /* 0x24 */ void* mKRegTableOffset; + /* 0x28 */ void* mCRegUpdateMaterialIDOffset; + /* 0x2C */ void* mKRegUpdateMaterialIDOffset; + /* 0x30 */ void* mCRegNameTabOffset; + /* 0x34 */ void* mKRegNameTabOffset; + /* 0x38 */ void* mCRValuesOffset; + /* 0x3C */ void* mCGValuesOffset; + /* 0x40 */ void* mCBValuesOffset; + /* 0x44 */ void* mCAValuesOffset; + /* 0x48 */ void* mKRValuesOffset; + /* 0x4C */ void* mKGValuesOffset; + /* 0x50 */ void* mKBValuesOffset; + /* 0x54 */ void* mKAValuesOffset; }; // Size = 0x58 STATIC_ASSERT(sizeof(J3DAnmTevRegKeyData) == 0x58); @@ -373,13 +373,13 @@ struct J3DAnmColorFullData { /* PlaceHolder Structure */ /* 0x0C */ s16 mFrameMax; /* 0x0E */ u16 mUpdateMaterialNum; /* 0x10 */ u8 field_0x10[0x18 - 0x10]; - /* 0x18 */ s32 mTableOffset; - /* 0x1C */ s32 mUpdateMaterialIDOffset; - /* 0x20 */ s32 mNameTabOffset; - /* 0x24 */ s32 mRValuesOffset; - /* 0x28 */ s32 mGValuesOffset; - /* 0x2C */ s32 mBValuesOffset; - /* 0x30 */ s32 mAValuesOffset; + /* 0x18 */ void* mTableOffset; + /* 0x1C */ void* mUpdateMaterialIDOffset; + /* 0x20 */ void* mNameTabOffset; + /* 0x24 */ void* mRValuesOffset; + /* 0x28 */ void* mGValuesOffset; + /* 0x2C */ void* mBValuesOffset; + /* 0x30 */ void* mAValuesOffset; }; // Size = 0x34 STATIC_ASSERT(sizeof(J3DAnmColorFullData) == 0x34); @@ -403,10 +403,10 @@ struct J3DAnmTransformKeyData { /* 0x0A */ s16 mFrameMax; /* 0x0C */ u16 field_0xc; /* 0x10 */ int field_0x10; - /* 0x14 */ s32 mTableOffset; - /* 0x18 */ s32 field_0x18; - /* 0x1c */ s32 field_0x1c; - /* 0x20 */ s32 field_0x20; + /* 0x14 */ void* mTableOffset; + /* 0x18 */ void* field_0x18; + /* 0x1c */ void* field_0x1c; + /* 0x20 */ void* field_0x20; }; /** @@ -418,8 +418,8 @@ struct J3DAnmClusterKeyData { /* 0x08 */ u8 field_0x8; /* 0x0A */ s16 mFrameMax; /* 0x0C */ s32 field_0xc; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mWeightOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mWeightOffset; }; /** @@ -431,8 +431,8 @@ struct J3DAnmClusterFullData { /* 0x08 */ u8 field_0x8; /* 0x0A */ s16 mFrameMax; /* 0x0C */ s32 field_0xc; - /* 0x10 */ s32 mTableOffset; - /* 0x14 */ s32 mWeightOffset; + /* 0x10 */ void* mTableOffset; + /* 0x14 */ void* mWeightOffset; }; /** @@ -487,7 +487,7 @@ public: /* 80328E40 */ J3DAnmTransform(s16, f32*, s16*, f32*); /* 8003B93C */ virtual ~J3DAnmTransform() {} - /* 8003C77C */ virtual s32 getKind() const; + /* 8003C77C */ virtual s32 getKind() const { return 0; } virtual void getTransform(u16, J3DTransformInfo*) const = 0; /* 0x0C */ f32* mScaleData; @@ -512,9 +512,11 @@ public: /* 80329A34 */ void calcTransform(f32, u16, J3DTransformInfo*) const; - /* 8003B8D0 */ virtual ~J3DAnmTransformKey(); - /* 8003C800 */ virtual s32 getKind() const; - /* 8003C808 */ virtual void getTransform(u16, J3DTransformInfo*) const; + /* 8003B8D0 */ virtual ~J3DAnmTransformKey() {} + /* 8003C800 */ virtual s32 getKind() const { return 8; } + /* 8003C808 */ virtual void getTransform(u16 param_0, J3DTransformInfo* param_1) const { + calcTransform(mFrame, param_0, param_1); + } /* 0x20 */ int mDecShift; /* 0x24 */ J3DAnmTransformKeyTable* mAnmTable; @@ -860,8 +862,8 @@ public: mVisibility = NULL; } - /* 8033979C */ virtual ~J3DAnmVisibilityFull(); - /* 803397F8 */ virtual s32 getKind() const; + /* 8033979C */ virtual ~J3DAnmVisibilityFull() {} + /* 803397F8 */ virtual s32 getKind() const { return 6; } /* 0x0C */ u16 mUpdateMaterialNum; /* 0x0E */ u16 field_0xe; @@ -921,4 +923,49 @@ public: /* 0x10 */ f32 mFrame; }; // Size: 0x14 +struct J3DMtxCalcAnmBase: public J3DMtxCalc { + J3DMtxCalcAnmBase(J3DAnmTransform* param_0) { mAnmTransform = param_0; } + /* 8000D8EC */ ~J3DMtxCalcAnmBase() {} + /* 80014FB8 */ J3DAnmTransform* getAnmTransform() { return mAnmTransform; } + /* 80014FC0 */ void setAnmTransform(J3DAnmTransform* param_0) { mAnmTransform = param_0; } + + J3DAnmTransform* mAnmTransform; +}; + +struct J3DMtxCalcAnimationAdaptorBase { + J3DMtxCalcAnimationAdaptorBase() {} + void change(J3DAnmTransform*) {} +}; + +template <typename A0> +struct J3DMtxCalcAnimationAdaptorDefault : public J3DMtxCalcAnimationAdaptorBase { + J3DMtxCalcAnimationAdaptorDefault(J3DAnmTransform* param_0) {} + void calc(J3DMtxCalcAnmBase* param_0) { + J3DTransformInfo transform; + J3DTransformInfo* transform_p; + if (param_0->getAnmTransform() != NULL) { + u16 jnt_no = J3DMtxCalc::getJoint()->getJntNo(); + param_0->getAnmTransform()->getTransform(jnt_no, &transform); + transform_p = &transform; + } else { + transform_p = &J3DMtxCalc::getJoint()->getTransformInfo(); + } + A0::calcTransform(*transform_p); + } +}; + +template <typename A0, typename B0> +struct J3DMtxCalcAnimation : public J3DMtxCalcAnmBase { + J3DMtxCalcAnimation(J3DAnmTransform* param_0) : J3DMtxCalcAnmBase(param_0), field_0x8(param_0) {} + ~J3DMtxCalcAnimation() {} + void setAnmTransform(J3DAnmTransform* param_0) { + mAnmTransform = param_0; + field_0x8.change(param_0); + } + void init(const Vec& param_0, const Mtx& param_1) { B0::init(param_0, param_1); } + void calc() { field_0x8.calc(this); } + + A0 field_0x8; +}; + #endif /* J3DANIMATION_H */ diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 8ae6fbe944..ff9d189779 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -18,12 +18,12 @@ public: /* 80325D1C */ static void setMtxBuffer(J3DMtxBuffer*); /* 8000D948 */ virtual ~J3DMtxCalc() {} - /* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*); - /* 80014E9C */ virtual J3DAnmTransform* getAnmTransform(); - /* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*); - /* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8); - /* 80014EA4 */ virtual void setWeight(u8, f32); - /* 80014EA8 */ virtual void getWeight(u8) const; + /* 80014E90 */ virtual void setAnmTransform(J3DAnmTransform*) {} + /* 80014E9C */ virtual J3DAnmTransform* getAnmTransform() { return NULL; } + /* 80014E8C */ virtual void setAnmTransform(u8, J3DAnmTransform*) {} + /* 80014E94 */ virtual J3DAnmTransform* getAnmTransform(u8) { return NULL; } + /* 80014EA4 */ virtual void setWeight(u8, f32) {} + /* 80014EA8 */ virtual f32 getWeight(u8) const { return 0.0f; } virtual void init(const Vec& param_0, const Mtx&) = 0; virtual void calc() = 0; diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index 18e7c7ec19..9ab7424801 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -78,12 +78,12 @@ public: /* 803172FC */ virtual s32 countDLSize(); virtual u32 getType() = 0; /* 8031741C */ virtual void setTexGenNum(u32 const*); - /* 8000E0D0 */ virtual void setTexGenNum(u32); - /* 8000DFE8 */ virtual u32 getTexGenNum() const; - /* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*); - /* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32); + /* 8000E0D0 */ virtual void setTexGenNum(u32) {} + /* 8000DFE8 */ virtual u32 getTexGenNum() const { return 0; } + /* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*) {} + /* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32) { return NULL; } /* 8003AB2C */ virtual void setTexMtx(u32, J3DTexMtx*) {} - /* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32); + /* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32) { return NULL; } /* 80317424 */ virtual void setNBTScale(J3DNBTScale const*); /* 80317420 */ virtual void setNBTScale(J3DNBTScale); /* 80317334 */ virtual J3DNBTScale* getNBTScale(); @@ -217,37 +217,37 @@ public: virtual u32 getType() = 0; /* 8031730C */ virtual s32 countDLSize(); /* 80323544 */ virtual void setTexNo(u32, u16 const*); - /* 8000E0AC */ virtual void setTexNo(u32, u16); - /* 8000DF94 */ virtual u16 getTexNo(u32) const; + /* 8000E0AC */ virtual void setTexNo(u32, u16) {} + /* 8000DF94 */ virtual u16 getTexNo(u32) const { return 0xffff; } /* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*); - /* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder); - /* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32); + /* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder) {} + /* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32) { return NULL; } /* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*); - /* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10); - /* 8000DFC8 */ virtual J3DGXColorS10* getTevColor(u32); - /* 800732AC */ virtual void setTevKColor(u32, J3DGXColor const*); - /* 8000E0C0 */ virtual void setTevKColor(u32, J3DGXColor); - /* 8000DFC0 */ virtual J3DGXColor* getTevKColor(u32); + /* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10) {} + /* 8000DFC8 */ virtual J3DGXColorS10* getTevColor(u32) { return NULL; } + /* 800732AC */ virtual void setTevKColor(u32, J3DGXColor const*) {} + /* 8000E0C0 */ virtual void setTevKColor(u32, J3DGXColor) {} + /* 8000DFC0 */ virtual J3DGXColor* getTevKColor(u32) { return NULL; } /* 80322950 */ virtual void setTevKColorSel(u32, u8 const*); - /* 8000E0B8 */ virtual void setTevKColorSel(u32, u8); - /* 8000DFB0 */ virtual bool getTevKColorSel(u32); + /* 8000E0B8 */ virtual void setTevKColorSel(u32, u8) {} + /* 8000DFB0 */ virtual bool getTevKColorSel(u32) { return false; } /* 80322954 */ virtual void setTevKAlphaSel(u32, u8 const*); - /* 8000E0B4 */ virtual void setTevKAlphaSel(u32, u8); - /* 8000DFA8 */ virtual bool getTevKAlphaSel(u32); + /* 8000E0B4 */ virtual void setTevKAlphaSel(u32, u8) {} + /* 8000DFA8 */ virtual bool getTevKAlphaSel(u32) { return false; } /* 8032354C */ virtual void setTevStageNum(u8 const*); - /* 8000E0C8 */ virtual void setTevStageNum(u8); - /* 8000DFD0 */ virtual u8 getTevStageNum() const; + /* 8000E0C8 */ virtual void setTevStageNum(u8) {} + /* 8000DFD0 */ virtual u8 getTevStageNum() const { return 1; } /* 80323550 */ virtual void setTevStage(u32, J3DTevStage const*); - /* 8000E0A8 */ virtual void setTevStage(u32, J3DTevStage); - /* 8000DF8C */ virtual J3DTevStage* getTevStage(u32); + /* 8000E0A8 */ virtual void setTevStage(u32, J3DTevStage) {} + /* 8000DF8C */ virtual J3DTevStage* getTevStage(u32) { return NULL; } /* 8032295C */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo const*); /* 80322958 */ virtual void setTevSwapModeInfo(u32, J3DTevSwapModeInfo); /* 80322960 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable const*); - /* 8000E0B0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable); - /* 8000DFA0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32); + /* 8000E0B0 */ virtual void setTevSwapModeTable(u32, J3DTevSwapModeTable) {} + /* 8000DFA0 */ virtual J3DTevSwapModeTable* getTevSwapModeTable(u32) { return NULL; } /* 80323554 */ virtual void setIndTevStage(u32, J3DIndTevStage const*); - /* 8000E0A4 */ virtual void setIndTevStage(u32, J3DIndTevStage); - /* 8000DF84 */ virtual J3DIndTevStage* getIndTevStage(u32); + /* 8000E0A4 */ virtual void setIndTevStage(u32, J3DIndTevStage) {} + /* 8000DF84 */ virtual J3DIndTevStage* getIndTevStage(u32) { return NULL; } /* 80323558 */ virtual u32 getTexNoOffset() const; /* 80322964 */ virtual bool getTevRegOffset() const; /* 80321FE0 */ virtual void setTexNoOffset(u32); @@ -809,19 +809,19 @@ public: virtual u32 getType() = 0; /* 80317368 */ virtual void setFog(J3DFog); /* 80317364 */ virtual void setFog(J3DFog*); - /* 8000DF5C */ virtual J3DFog* getFog(); + /* 8000DF5C */ virtual J3DFog* getFog() { return NULL; } /* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*); - /* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&); - /* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp(); + /* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&) {} + /* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp() { return NULL; } /* 80317370 */ virtual void setBlend(J3DBlend const*); - /* 8000E018 */ virtual void setBlend(J3DBlend const&); - /* 8000DF4C */ virtual J3DBlend* getBlend(); + /* 8000E018 */ virtual void setBlend(J3DBlend const&) {} + /* 8000DF4C */ virtual J3DBlend* getBlend() { return NULL; } /* 80317374 */ virtual void setZMode(J3DZMode const*); - /* 8000E014 */ virtual void setZMode(J3DZMode); - /* 8000DF44 */ virtual J3DZMode* getZMode(); + /* 8000E014 */ virtual void setZMode(J3DZMode) {} + /* 8000DF44 */ virtual J3DZMode* getZMode() { return NULL; } /* 80317378 */ virtual void setZCompLoc(u8 const*); - /* 8000E010 */ virtual void setZCompLoc(u8); - /* 8000DF3C */ virtual u8 getZCompLoc() const; + /* 8000E010 */ virtual void setZCompLoc(u8) {} + /* 8000DF3C */ virtual u8 getZCompLoc() const { return 0; } /* 80317380 */ virtual void setDither(u8 const*); /* 8031737C */ virtual void setDither(u8); /* 80317384 */ virtual u8 getDither() const; @@ -1054,17 +1054,17 @@ public: virtual void load() = 0; /* 80317314 */ virtual s32 countDLSize(); virtual u32 getType() = 0; - /* 8000E0A0 */ virtual void setIndTexStageNum(u8); - /* 8000DF7C */ virtual u8 getIndTexStageNum() const; + /* 8000E0A0 */ virtual void setIndTexStageNum(u8) {} + /* 8000DF7C */ virtual u8 getIndTexStageNum() const { return 0; } /* 80317410 */ virtual void setIndTexOrder(u32, J3DIndTexOrder); /* 8031740C */ virtual void setIndTexOrder(u32, J3DIndTexOrder const*); - /* 8000DF74 */ virtual J3DIndTexOrder* getIndTexOrder(u32); + /* 8000DF74 */ virtual J3DIndTexOrder* getIndTexOrder(u32) { return NULL; } /* 80317414 */ virtual void setIndTexMtx(u32, J3DIndTexMtx const*); - /* 8000E060 */ virtual void setIndTexMtx(u32, J3DIndTexMtx); - /* 8000DF6C */ virtual J3DIndTexMtx* getIndTexMtx(u32); - /* 8000E020 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale); + /* 8000E060 */ virtual void setIndTexMtx(u32, J3DIndTexMtx) {} + /* 8000DF6C */ virtual J3DIndTexMtx* getIndTexMtx(u32) { return NULL; } + /* 8000E020 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale) {} /* 80317418 */ virtual void setIndTexCoordScale(u32, J3DIndTexCoordScale const*); - /* 8000DF64 */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32); + /* 8000DF64 */ virtual J3DIndTexCoordScale* getIndTexCoordScale(u32) { return NULL; } /* 8031726C */ virtual ~J3DIndBlock() {} }; @@ -1215,17 +1215,17 @@ public: /* 80317304 */ virtual s32 countDLSize(); virtual u32 getType() = 0; /* 80317448 */ virtual void setMatColor(u32, J3DGXColor const*); - /* 8000E0DC */ virtual void setMatColor(u32, J3DGXColor); - /* 8000E000 */ virtual J3DGXColor* getMatColor(u32); + /* 8000E0DC */ virtual void setMatColor(u32, J3DGXColor) {} + /* 8000E000 */ virtual J3DGXColor* getMatColor(u32) { return NULL; } /* 801A4C0C */ virtual void setAmbColor(u32, J3DGXColor const*); - /* 8000E0D4 */ virtual void setAmbColor(u32, J3DGXColor); - /* 8000DFF0 */ virtual J3DGXColor* getAmbColor(u32); - /* 8000E0E0 */ virtual void setColorChanNum(u8); + /* 8000E0D4 */ virtual void setAmbColor(u32, J3DGXColor) {} + /* 8000DFF0 */ virtual J3DGXColor* getAmbColor(u32) { return NULL; } + /* 8000E0E0 */ virtual void setColorChanNum(u8) {} /* 8031744C */ virtual void setColorChanNum(u8 const*); - /* 8000E008 */ virtual u8 getColorChanNum() const; - /* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&); + /* 8000E008 */ virtual u8 getColorChanNum() const { return 0; } + /* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&) {} /* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*); - /* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32); + /* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32) { return NULL; } /* 801A4C08 */ virtual void setLight(u32, J3DLightObj*); /* 80317454 */ virtual bool getLight(u32); /* 80317460 */ virtual void setCullMode(u8 const*); diff --git a/include/JSystem/J3DGraphBase/J3DTevs.h b/include/JSystem/J3DGraphBase/J3DTevs.h index f27215544f..136df1f7a5 100644 --- a/include/JSystem/J3DGraphBase/J3DTevs.h +++ b/include/JSystem/J3DGraphBase/J3DTevs.h @@ -65,7 +65,10 @@ extern J3DTevSwapModeInfo const j3dDefaultTevSwapMode; * */ struct J3DTevStage { - /* 8000E230 */ J3DTevStage(); + /* 8000E230 */ J3DTevStage() { + setTevStageInfo(j3dDefaultTevStageInfo); + setTevSwapModeInfo(j3dDefaultTevSwapMode); + } void setTevColorOp(u8 param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5) { mTevColorOp = mTevColorOp & ~(0x01 << 2) | param_1 << 2; if (param_1 <= 1) { @@ -237,13 +240,14 @@ struct J3DTevOrder : public J3DTevOrderInfo { }; extern u8 j3dTevSwapTableTable[1024]; +extern u8 const data_804563F8; /** * @ingroup jsystem-j3d * */ struct J3DTevSwapModeTable { - /* 8000E134 */ J3DTevSwapModeTable(); + /* 8000E134 */ J3DTevSwapModeTable() { mIdx = data_804563F8; } J3DTevSwapModeTable(J3DTevSwapModeTableInfo const& info) { mIdx = calcTevSwapTableID(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3); } diff --git a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h index 789f52bfa0..b59a6c2cac 100644 --- a/include/JSystem/J3DGraphLoader/J3DAnmLoader.h +++ b/include/JSystem/J3DGraphLoader/J3DAnmLoader.h @@ -1,6 +1,7 @@ #ifndef J3DANMLOADER_H #define J3DANMLOADER_H +#include "JSystem/J3DGraphAnimator/J3DAnimation.h" enum J3DAnmLoaderDataBaseFlag { J3DLOADER_UNK_FLAG0, @@ -20,4 +21,57 @@ struct J3DAnmLoaderDataBase { static J3DAnmBase* load(void const* param_0) { return load(param_0, J3DLOADER_UNK_FLAG0); } }; +class J3DAnmLoader { +public: + virtual J3DAnmBase* load(const void*) = 0; + virtual void setResource(J3DAnmBase*, const void*) = 0; + /* 80339800 */ virtual ~J3DAnmLoader() {} +}; + +class J3DAnmKeyLoader_v15 : public J3DAnmLoader { +public: + /* 803384E0 */ J3DAnmKeyLoader_v15(); + /* 80338FEC */ void readAnmTransform(J3DAnmTransformKeyData const*); + /* 80339014 */ void setAnmTransform(J3DAnmTransformKey*, J3DAnmTransformKeyData const*); + /* 803390B0 */ void readAnmTextureSRT(J3DAnmTextureSRTKeyData const*); + /* 803390D8 */ void setAnmTextureSRT(J3DAnmTextureSRTKey*, J3DAnmTextureSRTKeyData const*); + /* 803392B0 */ void readAnmColor(J3DAnmColorKeyData const*); + /* 803392D8 */ void setAnmColor(J3DAnmColorKey*, J3DAnmColorKeyData const*); + /* 803393C4 */ void readAnmCluster(J3DAnmClusterKeyData const*); + /* 803393EC */ void setAnmCluster(J3DAnmClusterKey*, J3DAnmClusterKeyData const*); + /* 80339458 */ void readAnmTevReg(J3DAnmTevRegKeyData const*); + /* 80339480 */ void setAnmTevReg(J3DAnmTevRegKey*, J3DAnmTevRegKeyData const*); + /* 8033960C */ void readAnmVtxColor(J3DAnmVtxColorKeyData const*); + /* 80339634 */ void setAnmVtxColor(J3DAnmVtxColorKey*, J3DAnmVtxColorKeyData const*); + + /* 80338D44 */ virtual J3DAnmBase* load(void const*); + /* 80338E8C */ virtual void setResource(J3DAnmBase*, void const*); + /* 803384FC */ virtual ~J3DAnmKeyLoader_v15(); + + /* 0x4 */ J3DAnmBase* mAnm; +}; + +class J3DAnmFullLoader_v15 : public J3DAnmLoader { +public: + /* 80338468 */ J3DAnmFullLoader_v15(); + /* 80338800 */ void readAnmTransform(J3DAnmTransformFullData const*); + /* 80338828 */ void setAnmTransform(J3DAnmTransformFull*, J3DAnmTransformFullData const*); + /* 803388BC */ void readAnmColor(J3DAnmColorFullData const*); + /* 803388E4 */ void setAnmColor(J3DAnmColorFull*, J3DAnmColorFullData const*); + /* 803389B0 */ void readAnmTexPattern(J3DAnmTexPatternFullData const*); + /* 803389D8 */ void setAnmTexPattern(J3DAnmTexPattern*, J3DAnmTexPatternFullData const*); + /* 80338A7C */ void readAnmVisibility(J3DAnmVisibilityFullData const*); + /* 80338AA4 */ void setAnmVisibility(J3DAnmVisibilityFull*, J3DAnmVisibilityFullData const*); + /* 80338B20 */ void readAnmCluster(J3DAnmClusterFullData const*); + /* 80338B48 */ void setAnmCluster(J3DAnmClusterFull*, J3DAnmClusterFullData const*); + /* 80338BB4 */ void readAnmVtxColor(J3DAnmVtxColorFullData const*); + /* 80338BDC */ void setAnmVtxColor(J3DAnmVtxColorFull*, J3DAnmVtxColorFullData const*); + + /* 80338558 */ virtual J3DAnmBase* load(void const*); + /* 803386A0 */ virtual void setResource(J3DAnmBase*, void const*); + /* 80338484 */ virtual ~J3DAnmFullLoader_v15(); + + /* 0x4 */ J3DAnmBase* mAnm; +}; + #endif /* J3DANMLOADER_H */ diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 673f99c328..4f82b1152c 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -171,7 +171,9 @@ struct TVec3<f32> : public Vec { } inline TVec3<f32> operator+(const TVec3<f32>& b) { - return *this += b; + TVec3<f32> a = *this; + a += b; + return a; } // inline TVec3<f32> operator+(const TVec3<f32>& b) { diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 5d057476d9..ed303c3b42 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -81,9 +81,9 @@ public: class JPAParticleCallBack { public: JPAParticleCallBack() {} - virtual ~JPAParticleCallBack(); - virtual void execute(JPABaseEmitter*, JPABaseParticle*); - virtual void draw(JPABaseEmitter*, JPABaseParticle*); + virtual ~JPAParticleCallBack() = 0; + virtual void execute(JPABaseEmitter*, JPABaseParticle*) {} + virtual void draw(JPABaseEmitter*, JPABaseParticle*) {} }; // not sure where this belongs diff --git a/include/JSystem/JUtility/JUTFont.h b/include/JSystem/JUtility/JUTFont.h index b0a1a5c848..ec7c7a1099 100644 --- a/include/JSystem/JUtility/JUTFont.h +++ b/include/JSystem/JUtility/JUTFont.h @@ -77,7 +77,7 @@ public: }; /* 0x0C */ virtual void setGX() = 0; - /* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2); + /* 0x10 */ virtual void setGX(JUtility::TColor col1, JUtility::TColor col2) { setGX(); } /* 0x14 */ virtual f32 drawChar_scale(f32 a1, f32 a2, f32 a3, f32 a4, int a5, bool a6) = 0; /* 0x18 */ virtual int getLeading() const = 0; /* 0x1C */ virtual s32 getAscent() const = 0; @@ -85,8 +85,8 @@ public: /* 0x24 */ virtual s32 getHeight() const = 0; /* 0x28 */ virtual s32 getWidth() const = 0; /* 0x2C */ virtual void getWidthEntry(int i_no, TWidth* width) const = 0; - /* 0x30 */ virtual int getCellWidth() const; - /* 0x34 */ virtual s32 getCellHeight() const; + /* 0x30 */ virtual s32 getCellWidth() const { return getWidth(); } + /* 0x34 */ virtual s32 getCellHeight() const { return getHeight(); } /* 0x38 */ virtual int getFontType() const = 0; /* 0x3C */ virtual ResFONT* getResFont() const = 0; /* 0x40 */ virtual bool isLeadByte(int a1) const = 0; diff --git a/include/JSystem/JUtility/JUTResFont.h b/include/JSystem/JUtility/JUTResFont.h index 36e79aa3bc..99574b712e 100644 --- a/include/JSystem/JUtility/JUTResFont.h +++ b/include/JSystem/JUtility/JUTResFont.h @@ -33,7 +33,7 @@ public: /* 802DE01C */ virtual s32 getHeight() const; /* 802DDFF8 */ virtual s32 getWidth() const; /* 802DFC64 */ virtual void getWidthEntry(int, JUTFont::TWidth*) const; - /* 802DFD0C */ virtual int getCellWidth() const; + /* 802DFD0C */ virtual s32 getCellWidth() const; /* 802DFD58 */ virtual s32 getCellHeight() const; /* 802DDFE0 */ virtual int getFontType() const; /* 802DDFD8 */ virtual ResFONT* getResFont() const; |
