diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2024-10-19 01:54:22 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-19 11:54:22 +0300 |
| commit | 0652b2c7b3722e40ded1a34f8846b8ae9d8fa4eb (patch) | |
| tree | 39764176734667add46d3a1f73ac76eb2650792a /include/JSystem | |
| parent | abc4c6659ae6e9cab854ff05651c1ff119659bf6 (diff) | |
obj_Iceleaf almost done / d_a_alink work (#2217)
* obj_iceleaf almost done
* fix up d_a_alink procvars
* more d_a_alink work
* some d_a_alink error cleanup
* some more cleanup
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DJoint.h | 1 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DTransform.h | 27 |
2 files changed, 27 insertions, 1 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 9c789733ff..8ae6fbe944 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -55,6 +55,7 @@ public: void setYounger(J3DJoint* pYounger) { mYounger = pYounger; } void setCurrentMtxCalc(J3DMtxCalc* pMtxCalc) { mCurrentMtxCalc = pMtxCalc; } J3DTransformInfo& getTransformInfo() { return mTransformInfo; } + void setTransformInfo(J3DTransformInfo& i_info) { mTransformInfo = i_info; } Vec* getMax() { return &mMax; } Vec* getMin() { return &mMin; } void setCallBack(J3DJointCallBack callback) { mCallBack = callback; } diff --git a/include/JSystem/J3DGraphBase/J3DTransform.h b/include/JSystem/J3DGraphBase/J3DTransform.h index d4c7bed2ce..de850d7db2 100644 --- a/include/JSystem/J3DGraphBase/J3DTransform.h +++ b/include/JSystem/J3DGraphBase/J3DTransform.h @@ -15,11 +15,36 @@ struct J3DTransformInfo { /* 0x00 */ Vec mScale; /* 0x0C */ SVec mRotation; /* 0x14 */ Vec mTranslate; - inline J3DTransformInfo& operator=(const J3DTransformInfo& b) { + + /* inline J3DTransformInfo& operator=(const J3DTransformInfo& b) { mScale = b.mScale; mRotation = b.mRotation; mTranslate = b.mTranslate; return *this; + } */ + + inline J3DTransformInfo& operator=(const register J3DTransformInfo& b) { + register const J3DTransformInfo& var_r31 = b; + register J3DTransformInfo& var_r30 = *this; + + register f32 var_f31; + register f32 var_f0; + register int var_r0; + asm { + psq_l var_f31, 0x0(var_r31), 0, 0 + psq_st var_f31, 0x0(var_r30), 0, 0 + lfs var_f0, 0x8(var_r31) + stfs var_f0, 0x8(var_r30) + lwz var_r0, 0xc(var_r31) + stw var_r0, 0xc(var_r30) + lha var_r0, 0x10(var_r31) + sth var_r0, 0x10(var_r30) + psq_l var_f31, 0x14(var_r31), 0, 0 + psq_st var_f31, 0x14(var_r30), 0, 0 + lfs var_f0, 0x1c(var_r31) + stfs var_f0, 0x1c(var_r30) + } + return *this; } }; // Size: 0x20 |
