summaryrefslogtreecommitdiff
path: root/include/JSystem/J3DGraphBase
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/J3DGraphBase
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/J3DGraphBase')
-rw-r--r--include/JSystem/J3DGraphBase/J3DTransform.h27
1 files changed, 26 insertions, 1 deletions
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