core2/code_39EF0.c done

This commit is contained in:
Banjo Kazooie
2022-09-25 23:15:44 -05:00
parent eafea932fa
commit 0e4bd5e0d6
4 changed files with 22 additions and 33 deletions

View File

@@ -9,7 +9,7 @@
</mask> </mask>
<g mask="url(#anybadge_1)"> <g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/> <path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#39e000" d="M44 0h67v20H44z"/> <path fill="#38e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/> <path fill="url(#b)" d="M0 0h111v20H0z"/>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="22.0" y="14">core2</text> <text x="22.0" y="14">core2</text>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">87.3635%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">87.4331%</text>
<text x="77.5" y="14">87.3635%</text> <text x="77.5" y="14">87.4331%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -129,7 +129,7 @@ void func_80299EC0(f32 arg0[3]) {
arg0[2] = 255.0f; arg0[2] = 255.0f;
if (D_8037C6F0.unk0 == 1) { if (D_8037C6F0.unk0 == 1) {
sp78 = 50; sp78 = 50;
} else if (func_8028EE84() != BSWATERGROUP_0_NONE) { } else if (func_8028EE84() == BSWATERGROUP_0_NONE) {
sp78 = 200; sp78 = 200;
} else { } else {
sp78 = 250; sp78 = 250;
@@ -151,8 +151,8 @@ void func_80299EC0(f32 arg0[3]) {
temp_v1 = vtx_buffer + sp6C->unk0[i]; temp_v1 = vtx_buffer + sp6C->unk0[i];
sp48[i][0] = (f32) temp_v1->v.ob[0]; sp48[i][0] = (f32) temp_v1->v.ob[0];
sp48[i][1] = (f32) temp_v1->v.ob[1]; sp48[i][1] = (f32) temp_v1->v.ob[1];
sp48[i][1] = 0.0f;
sp48[i][2] = (f32) temp_v1->v.ob[2]; sp48[i][2] = (f32) temp_v1->v.ob[2];
sp48[i][1] = 0.0f;
sp7C[i][0] = (f32) temp_v1->v.cn[0]; sp7C[i][0] = (f32) temp_v1->v.cn[0];
sp7C[i][1] = (f32) temp_v1->v.cn[1]; sp7C[i][1] = (f32) temp_v1->v.cn[1];
@@ -161,21 +161,19 @@ void func_80299EC0(f32 arg0[3]) {
// spEC[1] = 0.0f; // spEC[1] = 0.0f;
spE0[0] = spEC[0] - sp48[0][0]; spE0[0] = spEC[0] - sp48[0][0];
spE0[1] = 0.0f;
spE0[2] = spEC[2] - sp48[0][2]; spE0[2] = spEC[2] - sp48[0][2];
spE0[1] = 0.0f;
spAC[0] = sp48[0][0] - sp48[1][0]; spAC[0] = sp48[0][0] - sp48[1][0];
spAC[1] = 0.0f;
spAC[2] = sp48[0][2] - sp48[1][2]; spAC[2] = sp48[0][2] - sp48[1][2];
spAC[1] = 0.0f;
spB8[0] = -(sp48[2][2] - sp48[1][2]); spB8[0] = -(sp48[2][2] - sp48[1][2]);
spB8[1] = 0.0f;
spB8[2] = sp48[2][0] - sp48[1][0]; spB8[2] = sp48[2][0] - sp48[1][0];
spB8[1] = 0.0f;
phi_f18 = (spE0[0] * spB8[0]) + (spE0[1] * spB8[1]) + (spB8[2] * spE0[2]); phi_f18 = (spE0[0] * spB8[0]) + (spE0[1] * spB8[1]) + (spB8[2] * spE0[2]);
if(phi_f18 == 0.0f){ phi_f18 = (phi_f18 == 0.0f)? 0.1f : phi_f18;
phi_f18 = D_80374CF0;
}
temp_f0_2 = -((spB8[2] * spAC[2]) + ((spAC[0] * spB8[0]) + 0.0f)) / phi_f18; temp_f0_2 = -((spB8[2] * spAC[2]) + ((spAC[0] * spB8[0]) + 0.0f)) / phi_f18;
spA0[0] = (spE0[0] * temp_f0_2) + sp48[0][0]; spA0[0] = (spE0[0] * temp_f0_2) + sp48[0][0];
@@ -186,7 +184,7 @@ void func_80299EC0(f32 arg0[3]) {
spD4[1] = spA0[1] - sp48[1][1]; spD4[1] = spA0[1] - sp48[1][1];
spD4[2] = spA0[2] - sp48[1][2]; spD4[2] = spA0[2] - sp48[1][2];
temp_f2_2 = gu_sqrtf(spD4[0]*spD4[0] + spD4[1]*spD4[1] + spD4[2]*spD4[2]) / (gu_sqrtf(spB8[0] * spB8[0] + spB8[1] * spB8[1] + spB8[2] * spB8[2]) + D_80374CF8); temp_f2_2 = gu_sqrtf(spD4[0]*spD4[0] + spD4[1]*spD4[1] + spD4[2]*spD4[2]) / (gu_sqrtf(spB8[0] * spB8[0] + spB8[1] * spB8[1] + spB8[2] * spB8[2]) + 0.01);
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
arg0[i] = sp7C[1][i] + (sp7C[2][i] - sp7C[1][i])*temp_f2_2; arg0[i] = sp7C[1][i] + (sp7C[2][i] - sp7C[1][i])*temp_f2_2;
} }
@@ -194,7 +192,7 @@ void func_80299EC0(f32 arg0[3]) {
spD4[0] = spA0[0] - sp48[0][0]; spD4[0] = spA0[0] - sp48[0][0];
spD4[1] = spA0[1] - sp48[0][1]; spD4[1] = spA0[1] - sp48[0][1];
spD4[2] = spA0[2] - sp48[0][2]; spD4[2] = spA0[2] - sp48[0][2];
temp_f2_4 = (1.0 - (gu_sqrtf(spE0[0]*spE0[0] + spE0[1]*spE0[1] + spE0[2]*spE0[2]) / (gu_sqrtf(spD4[0]*spD4[0] + spD4[1]*spD4[1] + spD4[2]*spD4[2]) + D_80374D00))); temp_f2_4 = (1.0 - (gu_sqrtf(spE0[0]*spE0[0] + spE0[1]*spE0[1] + spE0[2]*spE0[2]) / (gu_sqrtf(spD4[0]*spD4[0] + spD4[1]*spD4[1] + spD4[2]*spD4[2]) + 0.01)));
for(i = 0; i < 3; i++){ for(i = 0; i < 3; i++){
arg0[i] += (sp7C[0][i] - arg0[i])*temp_f2_4; arg0[i] += (sp7C[0][i] - arg0[i])*temp_f2_4;
@@ -208,7 +206,7 @@ void func_80299EC0(f32 arg0[3]) {
if(arg0[i] > 255.0f){ arg0[i] = 255.0f; } if(arg0[i] > 255.0f){ arg0[i] = 255.0f; }
if(arg0[i] < 0.0f) { arg0[i] = 0.0f; } if(arg0[i] < 0.0f) { arg0[i] = 0.0f; }
} }
arg0[0] = ((arg0[0] + arg0[1] + arg0[2]) * (f32) (0xFF - sp78)) / D_80374D08 + sp78; arg0[0] = ((arg0[0] + arg0[1] + arg0[2]) * (f32) (0xFF - sp78)) / 765.0f + sp78;
arg0[1] = arg0[0]; arg0[1] = arg0[0];
arg0[2] = arg0[0]; arg0[2] = arg0[0];
} }

View File

@@ -330,9 +330,6 @@ void func_802C1B20(f32 arg0){
D_8037DC10 = arg0; D_8037DC10 = arg0;
} }
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_39EF0/func_802C1B2C.s")
#else
void func_802C1B2C(void) { void func_802C1B2C(void) {
f32 sp7C[3]; f32 sp7C[3];
f32 sp70[3]; f32 sp70[3];
@@ -341,34 +338,30 @@ void func_802C1B2C(void) {
f32 sp4C[3]; f32 sp4C[3];
f32 sp40[3]; f32 sp40[3];
f32 sp3C; f32 sp3C;
f32 sp38;
f32 sp34; f32 sp34;
f32 sp30; f32 sp30;
f32 phi_f0;
func_802BD384(sp64); func_802BD384(sp64);
sp34 = D_8037DC10; sp34 = D_8037DC10;
func_802C02D4(sp7C); func_802C02D4(sp7C);
sp30 = time_getDelta(); sp30 = time_getDelta();
if (sp30);
ml_vec3f_diff_copy(sp40, sp64, sp7C); ml_vec3f_diff_copy(sp40, sp64, sp7C);
sp3C = gu_sqrtf(sp40[0]*sp40[0] + sp40[2]*sp40[2]); sp3C = gu_sqrtf(sp40[0]*sp40[0] + sp40[2]*sp40[2]);
sp3C += func_80259198((sp34 - sp3C) * sp30 * 2, sp30 * 800.0f); sp3C += func_80259198(sp30*(sp34 - sp3C)*2 , sp30 * 800.0f);
func_8025727C(sp7C[0], sp7C[1], sp7C[2], sp64[0], sp64[1], sp64[2], &sp4C[0], &sp4C[1]); func_8025727C(sp7C[0], sp7C[1], sp7C[2], sp64[0], sp64[1], sp64[2], &sp4C[0], &sp4C[1]);
sp40[1] = mlDiffDegF(mlNormalizeAngle(func_8028EBA4() + 180.0f), sp4C[1]) * sp30 * 0.77; sp40[1] = sp30 * 0.77 * mlDiffDegF(mlNormalizeAngle(func_8028EBA4() + 180.0f), sp4C[1]);
sp40[1] = func_80259198(sp40[1], sp30 * 300.0f); sp40[1] = func_80259198(sp40[1], sp30 * 300.0f);
sp4C[1] = mlNormalizeAngle(sp40[1] + sp4C[1]); sp4C[1] = mlNormalizeAngle(sp4C[1] + sp40[1]);
func_80256E24(&sp58, 0.0f, sp4C[1], 0.0f, 0.0f, sp3C); func_80256E24(&sp58, 0.0f, sp4C[1], 0.0f, 0.0f, sp3C);
sp70[0] = sp58[0] + sp7C[0]; sp70[0] = sp7C[0] + sp58[0];
sp70[1] = sp64[1]; sp70[1] = sp64[1];
sp70[2] = sp58[2] + sp7C[2]; sp70[2] = sp7C[2] + sp58[2];
sp40[1] = sp7C[1] - sp64[1]; sp40[1] = sp7C[1] - sp64[1];
if (mlAbsF(sp40[1]) > 200.0f) { if (mlAbsF(sp40[1]) > 200.0f) {
if (sp40[1] > 0.0f) { sp70[1] = sp64[1] - ((sp40[1] > 0.0f) ? sp30 * (200.0f - sp40[1]) * 2 : sp30 * (-200.0f - sp40[1]) * 2);
phi_f0 = 2* sp30 * (200.0f - sp40[1]);
} else {
phi_f0 = sp30 *(-200.0f - sp40[1]) * 2;
}
sp70[1] = sp64[1] - phi_f0;
} }
func_802BD334(sp70); func_802BD334(sp70);
if (func_802BE60C()) { if (func_802BE60C()) {
@@ -376,6 +369,4 @@ void func_802C1B2C(void) {
} }
func_802BE6FC(sp4C, sp7C); func_802BE6FC(sp4C, sp7C);
func_802BD720(sp4C); func_802BD720(sp4C);
if(sp30);
} }
#endif

View File

@@ -163,7 +163,7 @@ segments:
- [0x39190, c, code_39190] #DONE - [0x39190, c, code_39190] #DONE
- [0x396B0, c, code_396B0] #DONE - [0x396B0, c, code_396B0] #DONE
- [0x39A10, c, code_39A10] #DONE - [0x39A10, c, code_39A10] #DONE
- [0x39EF0, c, code_39EF0] - [0x39EF0, c, code_39EF0] #DONE
- [0x3AE10, c, code_3AE10] #DONE - [0x3AE10, c, code_3AE10] #DONE
- [0x3B2C0, c, done/code_3B2C0] #DONE - [0x3B2C0, c, done/code_3B2C0] #DONE
- [0x3B5C0, c, code_3B5C0] #DONE - [0x3B5C0, c, code_3B5C0] #DONE