summaryrefslogtreecommitdiff
path: root/include/JSystem/J3DGraphAnimator
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2023-01-06 08:44:50 -0700
committerPheenoh <pheenoh@gmail.com>2023-01-06 08:44:50 -0700
commit42a6a6ebca5fe6a98546cb85b11478077467119a (patch)
treed5b6647d8d37ef33b2a548c6d4b1275f3b718122 /include/JSystem/J3DGraphAnimator
parentf367d21472ab76c3ebc6b8ce59f8f588e703afa6 (diff)
nodeCallBack attempt
Diffstat (limited to 'include/JSystem/J3DGraphAnimator')
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModel.h20
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DMtxBuffer.h1
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; }