summaryrefslogtreecommitdiff
path: root/include/JSystem
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2024-10-19 01:54:22 -0700
committerGitHub <noreply@github.com>2024-10-19 11:54:22 +0300
commit0652b2c7b3722e40ded1a34f8846b8ae9d8fa4eb (patch)
tree39764176734667add46d3a1f73ac76eb2650792a /include/JSystem
parentabc4c6659ae6e9cab854ff05651c1ff119659bf6 (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.h1
-rw-r--r--include/JSystem/J3DGraphBase/J3DTransform.h27
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