summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.py4
-rw-r--r--include/JSystem/J3DGraphBase/J3DTransform.h25
-rw-r--r--src/d/actor/d_a_obj_iceleaf.cpp1
-rw-r--r--src/m_Do/m_Do_ext.cpp2
4 files changed, 12 insertions, 20 deletions
diff --git a/configure.py b/configure.py
index 7bfa046439..b9f328c58b 100755
--- a/configure.py
+++ b/configure.py
@@ -506,7 +506,7 @@ config.libs = [
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_graphic.cpp"),
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_machine.cpp"),
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_mtx.cpp"),
- Object(NonMatching, "m_Do/m_Do_ext.cpp"),
+ Object(NonMatching, "m_Do/m_Do_ext.cpp"), # weak func order; unused weak func inlining issues
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_lib.cpp"),
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_Reset.cpp"),
Object(MatchingFor(ALL_GCN), "m_Do/m_Do_dvd_thread.cpp"),
@@ -2053,7 +2053,7 @@ config.libs = [
ActorRel(MatchingFor(ALL_GCN), "d_a_obj_ice_l"),
ActorRel(NonMatching, "d_a_obj_ice_s"),
ActorRel(MatchingFor(ALL_GCN), "d_a_obj_iceblock"),
- ActorRel(NonMatching, "d_a_obj_iceleaf"),
+ ActorRel(MatchingFor(ALL_GCN), "d_a_obj_iceleaf"),
ActorRel(MatchingFor(ALL_GCN), "d_a_obj_ihasi"),
ActorRel(MatchingFor(ALL_GCN), "d_a_obj_ikada"),
ActorRel(MatchingFor(ALL_GCN), "d_a_obj_inobone"),
diff --git a/include/JSystem/J3DGraphBase/J3DTransform.h b/include/JSystem/J3DGraphBase/J3DTransform.h
index f08925eac2..242b3b03f6 100644
--- a/include/JSystem/J3DGraphBase/J3DTransform.h
+++ b/include/JSystem/J3DGraphBase/J3DTransform.h
@@ -26,24 +26,19 @@ struct J3DTransformInfo {
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_f31, 0x8(var_r31)
- stfs var_f31, 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)
+ psq_l var_f31, J3DTransformInfo.mScale(var_r31), 0, 0
+ psq_st var_f31, J3DTransformInfo.mScale(var_r30), 0, 0
+ }
+ mScale.z = b.mScale.z;
+ *(u32*)&mRotation = *(u32*)&b.mRotation;
+ mRotation.z = b.mRotation.z;
+ asm {
+ psq_l var_f31, J3DTransformInfo.mTranslate(var_r31), 0, 0
+ psq_st var_f31, J3DTransformInfo.mTranslate(var_r30), 0, 0
}
+ mTranslate.z = b.mTranslate.z;
return *this;
}
#endif
diff --git a/src/d/actor/d_a_obj_iceleaf.cpp b/src/d/actor/d_a_obj_iceleaf.cpp
index a08b9142ad..d342a4e41b 100644
--- a/src/d/actor/d_a_obj_iceleaf.cpp
+++ b/src/d/actor/d_a_obj_iceleaf.cpp
@@ -95,7 +95,6 @@ static dCcD_SrcCyl l_cyl_src = {
};
/* 80C249E4-80C24BC4 000344 01E0+00 1/1 0/0 0/0 .text Create__14daObjIceLeaf_cFv */
-// NONMATCHING - regalloc
int daObjIceLeaf_c::Create() {
J3DJoint* joint = mpModel->getModelData()->getJointNodePointer(0);
mTransformInfo = joint->getTransformInfo();
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index 3b23d8abd0..226cb9edc3 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -1253,7 +1253,6 @@ int mDoExt_McaMorf::create(J3DModelData* modelData, mDoExt_McaMorfCallBack1_c* c
}
/* 80010074-8001037C 00A9B4 0308+00 1/0 0/0 0/0 .text calc__14mDoExt_McaMorfFv */
-// NONMATCHING regalloc
void mDoExt_McaMorf::calc() {
if (mpModel == NULL) {
return;
@@ -1524,7 +1523,6 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
}
/* 80010B68-80010E70 00B4A8 0308+00 1/0 0/0 0/0 .text calc__16mDoExt_McaMorfSOFv */
-// NONMATCHING regalloc
void mDoExt_McaMorfSO::calc() {
if (mpModel != NULL) {
u16 jnt_no = getJoint()->getJntNo();