diff --git a/configure.py b/configure.py index 7c1487618..166bc0a59 100755 --- a/configure.py +++ b/configure.py @@ -1261,7 +1261,7 @@ config.libs = [ Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c", extra_cflags=["-inline noauto"]), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c"), - Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/locale.c"), # Demo-only + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/locale.c"), # Demo-only TU Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mbstring.c", extra_cflags=["-inline noauto"]), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mem.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mem_funcs.c"), @@ -1270,7 +1270,7 @@ config.libs = [ Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/float.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/scanf.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/string.c"), - Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtold.c"), # Demo-only + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtold.c"), # Demo-only TU Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtoul.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Src/uart_console_io.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/wchar_io.c"), @@ -1278,7 +1278,7 @@ config.libs = [ Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_asin.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_atan2.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_fmod.c"), - Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_pow.c"), # Demo-only + Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_pow.c"), # Demo-only TU Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_rem_pio2.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_cos.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_rem_pio2.c"), @@ -1291,14 +1291,14 @@ config.libs = [ Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_frexp.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_ldexp.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_modf.c"), - Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_nextafter.c"), # Demo-only + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_nextafter.c"), # Demo-only TU Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_sin.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_tan.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_acos.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_asin.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_atan2.c"), Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_fmod.c"), - Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_pow.c"), # Demo-only + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_pow.c"), # Demo-only TU Object(Matching, "PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Src/math_ppc.c"), ], }, @@ -1489,7 +1489,7 @@ config.libs = [ ActorRel(Matching, "d_a_tag_hint"), ActorRel(Matching, "d_a_tag_kb_item"), ActorRel(Matching, "d_a_tag_kk1"), - ActorRel(Equivalent, "d_a_tag_light"), + ActorRel(Matching, "d_a_tag_light"), ActorRel(Matching, "d_a_tag_msg"), ActorRel(Matching, "d_a_tag_photo"), ActorRel(Matching, "d_a_tag_waterlevel"), @@ -1520,8 +1520,8 @@ config.libs = [ ActorRel(Equivalent, "d_a_himo3"), ActorRel(Matching, "d_a_hmlif"), ActorRel(Matching, "d_a_hys"), - ActorRel(Equivalent, "d_a_kamome"), - ActorRel(Matching, "d_a_kamome2"), # Demo-only + ActorRel(Equivalent, "d_a_kamome"), # fpr regalloc + ActorRel(Matching, "d_a_kamome2"), # Demo-only TU ActorRel(NonMatching, "d_a_kantera"), ActorRel(Matching, "d_a_kn"), ActorRel(Matching, "d_a_kokiie"), diff --git a/src/d/actor/d_a_kamome.cpp b/src/d/actor/d_a_kamome.cpp index 98259e811..5bf2145d5 100644 --- a/src/d/actor/d_a_kamome.cpp +++ b/src/d/actor/d_a_kamome.cpp @@ -709,6 +709,7 @@ void kamome_path_move(kamome_class* i_this) { /* 00002740-00003628 .text kamome_auto_move__FP12kamome_class */ void kamome_auto_move(kamome_class* i_this) { fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->actor; + fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0); fopAc_ac_c* pfVar4; s8 moveType = 0; s32 frame; diff --git a/src/d/actor/d_a_kt.cpp b/src/d/actor/d_a_kt.cpp index ea46c669c..435f4d488 100644 --- a/src/d/actor/d_a_kt.cpp +++ b/src/d/actor/d_a_kt.cpp @@ -130,8 +130,8 @@ calc_012: offs.x = 0.0f; offs.y = 0.0f; offs.z = i_this->mSpeedFwd; - mDoMtx_YrotS(*calc_mtx, *r18); - mDoMtx_XrotM(*calc_mtx, *r17); + cMtx_YrotS(*calc_mtx, *r18); + cMtx_XrotM(*calc_mtx, *r17); MtxPosition(&offs, &i_this->mSpeedVel); *r28 += i_this->mSpeedVel.x; *r26 += i_this->mSpeedVel.y; @@ -148,7 +148,7 @@ calc_012: offs.x = 0.0f; offs.y = 0.0f; offs.z = i_this->mSpeedFwd; - mDoMtx_YrotS(*calc_mtx, *r16); + cMtx_YrotS(*calc_mtx, *r16); MtxPosition(&offs, &pt); *r28 += pt.x; *r27 += pt.z; @@ -180,7 +180,7 @@ calc_012: offs.x = 0.0f; offs.y = 0.0f; offs.z = i_this->mSpeedFwd; - mDoMtx_YrotS(*calc_mtx, *r16); + cMtx_YrotS(*calc_mtx, *r16); MtxPosition(&offs, &pt); *r28 += pt.x; *r27 += pt.z; @@ -226,7 +226,7 @@ calc_012: offs.x = 0.0f; offs.y = 0.0f; offs.z = REG0_F(11) + 10.0f; - mDoMtx_YrotS(*calc_mtx, *r16_2); + cMtx_YrotS(*calc_mtx, *r16_2); MtxPosition(&offs, &i_this->mSpeedVel); *r28 += i_this->mSpeedVel.x; *r27 += i_this->mSpeedVel.z; @@ -309,7 +309,7 @@ static BOOL daKt_IsDelete(kt_class* i_this) { /* 00001248-00001278 .text daKt_Delete__FP8kt_class */ static BOOL daKt_Delete(kt_class* i_this) { - dComIfG_resDelete(&i_this->mPhs, "Kt"); + dComIfG_resDeleteDemo(&i_this->mPhs, "Kt"); return TRUE; } diff --git a/src/d/actor/d_a_tag_light.cpp b/src/d/actor/d_a_tag_light.cpp index 7ce05e264..39f3faf40 100644 --- a/src/d/actor/d_a_tag_light.cpp +++ b/src/d/actor/d_a_tag_light.cpp @@ -289,7 +289,6 @@ void Act_c::get_base_model_light_start_offset(cXyz* outPos) { /* 00000BCC-0000111C .text get_projection_info__Q210daTagLight5Act_cFP4cXyzP4cXyzP4cXyzPC4cXyzPC4cXyz */ void Act_c::get_projection_info(cXyz* outArg1, cXyz* outArg2, cXyz* outArg3, const cXyz* arg4, const cXyz* arg5) { - /* Nonmatching - stack order */ *outArg3 = current.pos; f32 ratio = prm_get_coneRatio(); @@ -317,37 +316,17 @@ void Act_c::get_projection_info(cXyz* outArg1, cXyz* outArg2, cXyz* outArg3, con cXyz sp40; for (s32 i = 0; i < 4; i++) { - /* - Mtx sp10; - sp10[2][0] = fVar1; - sp10[2][1] = 0.0f; - sp10[2][2] = 0.0f; - sp10[2][3] = -fVar1; - sp10[1][0] = 0.0f; - sp10[1][1] = 0.0f; - sp10[1][2] = 0.0f; - sp10[1][3] = 0.0f; - sp10[2][0] = fVar2; - sp10[2][1] = 0.0f; - sp10[2][2] = 0.0f; - sp10[2][3] = -fVar2; - sp4C[0].set(sp10[2][0], sp10[2][1], sp10[2][2]); - sp4C[1].set(sp10[2][3], sp10[1][0], sp10[1][1]); - sp4C[2].set(sp10[1][2], sp10[1][3], sp10[2][0]); - sp4C[3].set(sp10[2][1], sp10[2][2], sp10[2][3]); - */ - cXyz sp10[4]; - sp10[3].set(fVar1, 0.0f, 0.0f); - sp4C[0].set(sp10[3]); + cXyz sp10(fVar1, 0.0f, 0.0f); + sp4C[0].set(sp10); - sp10[2].set(-fVar1, 0.0f, 0.0f); - sp4C[1].set(sp10[2]); + cXyz sp1C(-fVar1, 0.0f, 0.0f); + sp4C[1].set(sp1C); - sp10[1].set(0.0f, 0.0f, fVar2); - sp4C[2].set(sp10[1]); + cXyz sp28(0.0f, 0.0f, fVar2); + sp4C[2].set(sp28); - sp10[0].set(0.0f, 0.0f, -fVar2); - sp4C[3].set(sp10[0]); + cXyz sp34(0.0f, 0.0f, -fVar2); + sp4C[3].set(sp34); sp7C[i] = *outArg1; mDoMtx_multVec(m2A4, &sp4C[i], &sp40); @@ -508,7 +487,6 @@ void Act_c::set_material(J3DMaterial* material, u8 alpha) { /* 00001D20-00001EAC .text _draw__Q210daTagLight5Act_cFv */ bool Act_c::_draw() { - /* Nonmatching - regalloc */ if (m2A0 == 1 && m308 > 0.0f) { g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &tevStr); g_env_light.setLightTevColorType(mpModel, &tevStr);