func_80293668 match

This commit is contained in:
Banjo Kazooie
2024-08-24 20:26:16 -05:00
parent a0e73bfa4d
commit 929beb4de9
4 changed files with 73 additions and 79 deletions

View File

@@ -1,4 +1,4 @@
# banjo (99.2497%) # banjo (99.3598%)
<img src="./progress/progress_total.svg"> <img src="./progress/progress_total.svg">
@@ -25,7 +25,6 @@ Be sure to check scratch "family" for any progress that may not be reflected her
| File | Function | Scratch Link | % | Notes | | File | Function | Scratch Link | % | Notes |
| ------------------ | --------------- | ---------------------------------------- | ------ | ----- | | ------------------ | --------------- | ---------------------------------------- | ------ | ----- |
| core2/code_C4B0.c | func_80293668 | [rOskO](https://decomp.me/scratch/rOskO) | 86.41% |
| core2/code_12F30.c | func_80299EC0 | [Ar62G](https://decomp.me/scratch/Ar62G) | 77.65% | | core2/code_12F30.c | func_80299EC0 | [Ar62G](https://decomp.me/scratch/Ar62G) | 77.65% |
| core2/code_7AF80.c | func_80307948 | [zd8KD](https://decomp.me/scratch/zd8KD) | 85.40% | | core2/code_7AF80.c | func_80307948 | [zd8KD](https://decomp.me/scratch/zd8KD) | 85.40% |
| core2/code_87E30.c | gcdialog_update | [cPns0](https://decomp.me/scratch/cPns0) | 92.23% | | core2/code_87E30.c | gcdialog_update | [cPns0](https://decomp.me/scratch/cPns0) | 92.23% |

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="#06e000" d="M44 0h67v20H44z"/> <path fill="#05e000" 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">98.6923%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">98.8842%</text>
<text x="77.5" y="14">98.6923%</text> <text x="77.5" y="14">98.8842%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text> <text x="75.0" y="14">Banjo-Kazooie (us.v10)</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="184.5" y="15" fill="#010101" fill-opacity=".3">99.2497%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">99.3598%</text>
<text x="183.5" y="14">99.2497%</text> <text x="183.5" y="14">99.3598%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -112,9 +112,6 @@ void func_8029350C(f32 *arg0) {
} }
} }
#ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_C4B0/func_80293668.s")
#else
void func_80293668(void) { void func_80293668(void) {
f32 sp3AC[3]; f32 sp3AC[3];
f32 sp3A0[3]; f32 sp3A0[3];
@@ -127,111 +124,111 @@ void func_80293668(void) {
f32 sp364[3]; f32 sp364[3];
Struct_core2_C4B0_0 *var_s1; Struct_core2_C4B0_0 *var_s1;
Struct_core2_C4B0_0 sp90[5]; Struct_core2_C4B0_0 sp90[5];
u32 temp_s7;
s32 temp_v0; s32 temp_v0;
Struct_core2_C4B0_0 *sp88;
temp_v0 = baMarker_8028D694(); temp_v0 = baMarker_8028D694();
func_80244FC0(D_8037C228, sp390, D_8037C1F8[1], D_8037C1F8[0], 1, temp_v0 | 0x1E0000); func_80244FC0(D_8037C228, sp390, D_8037C1F8[1], D_8037C1F8[0], 1, temp_v0 | 0x1E0000);
temp_s7 = temp_v0 | 0x1E0000;
for(i = 0; i < 5; i++){ for(i = 0; i < 5; i++){
sp88 = &sp90[i];
var_s1 = (i != 0) ? &sp90[i - 1] : NULL; var_s1 = (i != 0) ? &sp90[i - 1] : NULL;
if (i != 0) { if (i != 0) {
ml_vec3f_copy(sp90[i].unk0, var_s1->unk0); ml_vec3f_copy(sp88->unk0, var_s1->unk0);
ml_vec3f_copy(sp90[i].unkC, var_s1->unkC); ml_vec3f_copy(sp88->unkC, var_s1->unkC);
} else { } else {
ml_vec3f_copy(sp90[i].unk0, D_8037C218); ml_vec3f_copy(sp88->unk0, D_8037C218);
ml_vec3f_copy(sp90[i].unkC, D_8037C228); ml_vec3f_copy(sp88->unkC, D_8037C228);
} }
ml_vec3f_copy(sp364, sp90[i].unk0); ml_vec3f_copy(sp364, sp88->unk0);
ml_vec3f_diff_copy(sp380, sp90[i].unk0, sp90[i].unkC); ml_vec3f_diff_copy(sp380, sp88->unk0, sp88->unkC);
temp_f0 = ((D_8037C1F8[1] * 2) - 4.0f); temp_f0 = ((D_8037C1F8[1] * 2) - 4.0f);
if ((sp380[0]*sp380[0] + sp380[1]*sp380[1] + sp380[2]*sp380[2]) > (temp_f0 * temp_f0)) { if ((sp380[0]*sp380[0] + sp380[1]*sp380[1] + sp380[2]*sp380[2]) > (temp_f0 * temp_f0)) {
sp38C = sp90[i].unk0[1]; sp38C = sp88->unk0[1];
sp90[i].unk40 = func_80244E54(sp90[i].unkC, sp90[i].unk0, sp90[i].unk44, temp_s7, D_8037C1F8[1] - 1.0f, D_8037C1F8[0]); sp88->unk40 = func_80244E54(sp88->unkC, sp88->unk0, sp88->unk44, temp_v0 | 0x1E0000, D_8037C1F8[1] - 1.0f, D_8037C1F8[0]);
if (sp90[i].unk40 != 0) { if (sp88->unk40 != 0) {
ml_vec3f_normalize(sp380); ml_vec3f_normalize(sp380);
if ((sp380[0]*sp90[i].unk44[0] + sp380[1]*sp90[i].unk44[1] + sp380[2]*sp90[i].unk44[2]) > 0.0f) { temp_f0 = sp380[0]*sp88->unk44[0][0] + sp380[1]*sp88->unk44[0][1] + sp380[2]*sp88->unk44[0][2];
sp90[i].unk40 = 0; if (temp_f0 > 0.0f) {
ml_vec3f_copy(sp90[i].unk0, sp364); sp88->unk40 = 0;
ml_vec3f_copy(sp88->unk0, sp364);
} }
} }
if (sp90[i].unk40 != 0) { if (sp88->unk40 != 0) {
if ((sp90[i].unk44[1] >= 0.0) && (sp90[i].unk44[1] < D_80374770)) { if ((sp88->unk44[0][1] >= 0.0) && (sp88->unk44[0][1] < 0.02)) {
sp90[i].unk0[1] = sp38C; sp88->unk0[1] = sp38C;
} }
} }
} else { } else {
sp90[i].unk40 = 0; sp88->unk40 = 0;
} }
func_8029350C(sp90[i].unk0);
sp90[i].unk8C = D_8037C279;
sp90[i].unk34[0] = sp90[i].unkC[0];
sp90[i].unk34[1] = sp90[i].unkC[1];
sp90[i].unk34[2] = sp90[i].unkC[2];
sp90[i].unk34[1] +=D_8037C1F8[0];
sp90[i].unk28[0] = sp90[i].unk0[0]; func_8029350C(sp88->unk0);
sp90[i].unk28[1] = sp90[i].unk0[1];
sp90[i].unk28[2] = sp90[i].unk0[2];
sp90[i].unk28[1] +=D_8037C1F8[0];
sp90[i].unk18 = func_80320C94(sp90[i].unk34, sp90[i].unk28, D_8037C1F8[1], sp90[i].unk1C, 3, temp_s7); sp88->unk8C = D_8037C279;
if (sp90[i].unk18 != NULL) {
sp88->unk34[0] = sp88->unkC[0];
sp88->unk34[1] = D_8037C1F8[0] + sp88->unkC[1];
sp88->unk34[2] = sp88->unkC[2];
sp88->unk28[0] = sp88->unk0[0];
sp88->unk28[1] = D_8037C1F8[0] + sp88->unk0[1];
sp88->unk28[2] = sp88->unk0[2];
sp88->unk18 = func_80320C94(sp88->unk34, sp88->unk28, D_8037C1F8[1], sp88->unk1C, 3, temp_v0 | 0x1E0000);
if (sp88->unk18 != NULL) {
D_8037C27D++; D_8037C27D++;
D_8037C204 = sp90[i].unk18; D_8037C204 = sp88->unk18;
ml_vec3f_copy(D_8037C258, sp90[i].unk1C); ml_vec3f_copy(D_8037C258, sp88->unk1C);
if (i == 2) { if (i == 2) {
if ((sp90[i].unk18 == sp90[0].unk18) && (var_s1->unk18 != sp90[0].unk18)) { if ((sp88->unk18 == sp90[0].unk18) && (sp88->unk18 != var_s1->unk18)) {
ml_vec3f_add(sp380, sp90[i].unk1C, var_s1->unk1C); ml_vec3f_add(sp380, sp88->unk1C, var_s1->unk1C);
ml_vec3f_normalize(sp380); ml_vec3f_normalize(sp380);
ml_vec3f_copy(sp90[i].unk1C, sp380); ml_vec3f_copy(sp88->unk1C, sp380);
} }
} }
if (i == 2) { if (i == 2) {
if (sp90[i].unk18 == sp90[0].unk18) { if (sp88->unk18 == sp90[0].unk18) {
if ((var_s1->unk18 == sp90[i].unk18) && func_802946FC(sp90[i].unk68, sp90[i].unk18)) { if ((sp88->unk18 == var_s1->unk18) && func_802946FC(sp88->unk68, sp88->unk18)) {
func_802578A4(sp380, sp90[i].unk0, sp90[i].unk68); func_802578A4(sp380, sp88->unk0, sp88->unk68[0]);
ml_vec3f_diff_copy(sp3A0, sp90[i].unk0, sp380); ml_vec3f_diff_copy(sp3A0, sp88->unk0, sp380);
ml_vec3f_set_length_copy(sp3A0, sp3A0, D_8037C1F8[1] + 1.0f); ml_vec3f_set_length_copy(sp3A0, sp3A0, D_8037C1F8[1] + 1.0f);
sp380[0] += sp3A0[0]; sp380[0] += sp3A0[0];
sp380[1] += sp3A0[1]; sp380[1] += sp3A0[1];
sp380[2] += sp3A0[2]; sp380[2] += sp3A0[2];
if (!(sp90[i].unk18->unk8 & 0x00010000)) { if (!(sp88->unk18->flags & 0x00010000)) {
sp90[i].unk18 = func_802457C4(sp380, sp90[i].unk0, D_8037C1F8[0], D_8037C1F8[1], sp90[i].unk1C, 3, temp_s7); sp88->unk18 = func_802457C4(sp380, sp88->unk0, D_8037C1F8[0], D_8037C1F8[1], sp88->unk1C, 3, temp_v0 | 0x1E0000);
} else { } else {
ml_vec3f_copy(sp90[i].unk0, sp380); ml_vec3f_copy(sp88->unk0, sp380);
} }
} }
} }
} }
if ((sp90[i].unk8C == 0) && (sp90[i].unk18 != NULL) && (D_8037C238[1] < 0.0f)) { if ((sp88->unk8C == 0) && (sp88->unk18 != NULL) && (D_8037C238[1] < 0.0f)) {
if( (mlAbsF(sp90[i].unk1C[1]) < D_80374778) && func_802946FC(sp90[i].unk68, sp90[i].unk18)) { if( (mlAbsF(sp88->unk1C[1]) < 0.01) && func_802946FC(sp88->unk68, sp88->unk18)) {
func_802578A4(sp380, sp90[i].unk0, sp90[i].unk68); func_802578A4(sp380, sp88->unk0, sp88->unk68[0]);
ml_vec3f_scale_copy(sp3A0, sp90[i].unk1C, D_8037C1F8[1] + 1.0f); ml_vec3f_scale_copy(sp3A0, sp88->unk1C, D_8037C1F8[1] + 1.0f);
ml_vec3f_add(sp374, sp380, sp3A0); ml_vec3f_add(sp374, sp380, sp3A0);
sp90[i].unk18 = func_802457C4(sp374, sp380, D_8037C1F8[0], D_8037C1F8[1], sp90[i].unk1C, 3, temp_s7); sp88->unk18 = func_802457C4(sp374, sp380, D_8037C1F8[0], D_8037C1F8[1], sp88->unk1C, 3, temp_v0 | 0x1E0000);
sp90[i].unk0[0] = sp380[0]; sp88->unk0[0] = sp380[0];
sp90[i].unk0[2] = sp380[2]; sp88->unk0[2] = sp380[2];
} }
} }
if ((D_80374780 < sp90[i].unk1C[1]) && func_802946FC(sp90[i].unk68, sp90[i].unk18)) { if ((0.999 < sp88->unk1C[1]) && func_802946FC(sp88->unk68, sp88->unk18)) {
func_8025778C(sp3AC, sp90[i].unk0, sp90[i].unk68); func_8025778C(sp3AC, sp88->unk0, sp88->unk68);
sp380[0] = sp90[i].unk0[0] - sp3AC[0]; sp380[0] = sp88->unk0[0] - sp3AC[0];
sp380[1] = 0.0f; sp380[1] = 0.0f;
sp380[2] = sp90[i].unk0[2] - sp3AC[2]; sp380[2] = sp88->unk0[2] - sp3AC[2];
ml_vec3f_set_length_copy(sp380, sp380, D_8037C1F8[1] + 1.0f); ml_vec3f_set_length_copy(sp380, sp380, 1.0f + D_8037C1F8[1]);
sp380[0] = sp380[0] + sp3AC[0]; sp380[0] += sp3AC[0];
sp380[1] = sp380[1] + sp3AC[1]; sp380[1] += sp3AC[1];
sp380[2] = sp380[2] + sp3AC[2]; sp380[2] += sp3AC[2];
sp90[i].unk0[0] = sp380[0]; sp88->unk0[0] = sp380[0];
sp90[i].unk0[2] = sp380[2]; sp88->unk0[2] = sp380[2];
} else if (ml_isNonzero_vec3f(sp90[i].unk1C)) { } else if (ml_isNonzero_vec3f(sp88->unk1C)) {
func_802450DC(sp90[i].unkC, sp90[i].unk0, sp90[i].unk34, sp90[i].unk28, sp90[i].unk1C); func_802450DC(sp88->unkC, sp88->unk0, sp88->unk34, sp88->unk28, sp88->unk1C);
} }
} else {
}
else{
break; break;
} }
} }
@@ -242,12 +239,10 @@ void func_80293668(void) {
if (i == 5) { if (i == 5) {
ml_vec3f_copy(D_8037C218, sp390); ml_vec3f_copy(D_8037C218, sp390);
} } else{
else{ ml_vec3f_copy(D_8037C218, sp88->unk0);
ml_vec3f_copy(D_8037C218, sp90[i].unk0);
} }
} }
#endif
void func_80293D2C(f32 *arg0, f32 * arg1){ void func_80293D2C(f32 *arg0, f32 * arg1){
*arg0 = D_8037C1F8[0]; *arg0 = D_8037C1F8[0];