diff options
| author | Pheenoh <pheenoh@gmail.com> | 2023-01-06 08:44:50 -0700 |
|---|---|---|
| committer | Pheenoh <pheenoh@gmail.com> | 2023-01-06 08:44:50 -0700 |
| commit | 42a6a6ebca5fe6a98546cb85b11478077467119a (patch) | |
| tree | d5b6647d8d37ef33b2a548c6d4b1275f3b718122 /include/JSystem/J3DGraphAnimator | |
| parent | f367d21472ab76c3ebc6b8ce59f8f588e703afa6 (diff) | |
nodeCallBack attempt
Diffstat (limited to 'include/JSystem/J3DGraphAnimator')
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DModel.h | 20 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h | 1 |
2 files changed, 18 insertions, 3 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index a6537a1bf2..99c75eec7d 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -24,6 +24,19 @@ struct J3DUnkCalc2 { virtual void calc(J3DModelData* mpModelData); }; +struct UserArea { + u8 field_0x00[0x60e]; + s16 field_0x60e; + s16 field_0x610; + s16 field_0x612; + u8 field_0x614[0x14]; + s16 field_0x628; + s16 field_0x62a; + u8 field_0x62c[0x12]; + s16 field_0x63e; + s16 field_0x640; +}; + typedef void (*J3DCalcCallBack)(J3DModel*, u32 timing); class J3DModel { @@ -77,18 +90,19 @@ public: Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); } Mtx* getDrawMtxPtr() const { return mMtxBuffer->getDrawMtxPtr(); } void setBaseScale(const Vec& scale) { mBaseScale = scale; } - void setUserArea(u32 area) { mUserArea = area; } - u32 getUserArea() const { return mUserArea; } + void setUserArea(UserArea* area) { mUserArea = area; } + UserArea* getUserArea() const { return mUserArea; } Vec* getBaseScale() { return &mBaseScale; } // is there a better way to handle inlines with same name as non-inlines? MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); } + void setAnmMtx(int p1, Mtx mtx) { return mMtxBuffer->setAnmMtx(p1, mtx); } /* 0x04 */ J3DModelData* mModelData; /* 0x08 */ u32 mFlags; /* 0x0C */ u32 mDiffFlag; /* 0x10 */ J3DCalcCallBack mCalcCallBack; - /* 0x14 */ u32 mUserArea; + /* 0x14 */ UserArea* mUserArea; /* 0x18 */ Vec mBaseScale; /* 0x24 */ Mtx mBaseTransformMtx; /* 0x54 */ Mtx mInternalView; diff --git a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h index ee49731289..0af381eaec 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h +++ b/include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h @@ -25,6 +25,7 @@ public: /* 80326EF0 */ void calcBBoardMtx(); MtxP getAnmMtx(int idx) const { return mpAnmMtx[idx]; } + void setAnmMtx(int idx, Mtx mtx) { PSMTXCopy(mtx,mpAnmMtx[idx]); } void setScaleFlag(int idx, u8 flag) { mpScaleFlagArr[idx] = flag; } u32* getCurrentViewNoPtr() { return &mCurrentViewNo; } |
