core1/code_7F60.c progress

This commit is contained in:
Banjo Kazooie
2022-10-15 19:43:59 -05:00
parent bbadd23eef
commit ddc9b2eb13
4 changed files with 28 additions and 55 deletions

View File

@@ -1,4 +1,4 @@
# banjo (90.8038%) # banjo (90.8015%)
<img src="./progress/progress_total.svg"> <img src="./progress/progress_total.svg">

View File

@@ -17,7 +17,7 @@
<text x="22.0" y="14">core1</text> <text x="22.0" y="14">core1</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">82.5310%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">82.6659%</text>
<text x="77.5" y="14">82.5310%</text> <text x="77.5" y="14">82.6659%</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">90.8038%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">90.8015%</text>
<text x="183.5" y="14">90.8038%</text> <text x="183.5" y="14">90.8015%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -8,59 +8,26 @@ s32 func_80245980(f32 arg0){
return arg0*65536.0f; return arg0*65536.0f;
} }
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_802459A0.s") void func_802459A0(float mf[4][4], Mtx *m)
// void func_802459A0(void *arg0, s32 *arg1) { {
// s32 *var_s3; int i, j;
// s32 *var_s4; int e1,e2;
// s32 temp_s2; int *ai,*af;
// s32 temp_v0;
// s32 var_s1;
// s32 var_s7;
// void *var_fp;
// void *var_s0;
// var_s3 = arg1;
// var_s4 = arg1 + 0x20;
// var_s7 = 0;
// var_fp = arg0;
// do {
// var_s1 = 0;
// var_s0 = var_fp;
// loop_2:
// temp_s2 = func_80245980(var_s0->unk0);
// temp_v0 = func_80245980(var_s0->unk4);
// var_s1 += 8;
// *var_s3 = (temp_s2 & 0xFFFF0000) | ((temp_v0 >> 0x10) & 0xFFFF);
// var_s0 += 8;
// var_s3 += 4;
// *var_s4 = ((temp_s2 << 0x10) & 0xFFFF0000) | (temp_v0 & 0xFFFF);
// var_s4 += 4;
// if (var_s1 != 0x10) {
// goto loop_2;
// }
// var_s7 += 1;
// var_fp += 0x10;
// } while (var_s7 != 4);
// }
ai=(int *) &m->m[0][0];
af=(int *) &m->m[2][0];
for (i=0; i<4; i++)
for (j=0; j<2; j++) {
e1=func_80245980(mf[i][j*2]);
e2=func_80245980(mf[i][j*2+1]);
*(ai++) = ( e1 & 0xffff0000 ) | ((e2 >> 16)&0xffff);
*(af++) = ((e1 << 16) & 0xffff0000) | (e2 & 0xffff);
}
}
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_80245A7C.s") #pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_80245A7C.s")
// void func_80245A7C(Mtx *m0, Mtx *m1){
// u32 *v0 = &m1->m[0][0];
// u32 *v1 = &m1->m[2][0];
// f32 *a2 = &m0->m[0][0];
// s32 a0;
// s32 a1;
// int i;
// for(i = 0; i < 8; i++){
// a0 = a2[2*i]*65536.0f;
// a1 = a2[2*i+1]*65536.0f;
// v0[i] = ((a0 << 0) & 0xffff0000) | ((a1 >> 16) & 0xffff);
// v1[i] = ((a0 << 16) & 0xffff0000) | ((a1 >> 0) & 0xffff);
// }
// }
void func_80245BE4(f32 mf[4][4], f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) { void func_80245BE4(f32 mf[4][4], f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) {
s32 i, j; s32 i, j;
@@ -119,9 +86,15 @@ void func_80245F34(f32 *arg0, f32 *arg1, f32 *arg2) {
*arg2 *= inv_len; *arg2 *= inv_len;
} }
void func_80245FB8(f32 mf[4][4], u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale);
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_80245FB8.s") #pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_80245FB8.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/guPerspective.s") void guPerspective(Mtx *m, u16 *perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale) {
f32 sp28[4][4];
func_80245FB8(sp28, perspNorm, fovy, aspect, near, far, scale);
func_802459A0(sp28, m);
}
void func_8024632C(f32 mf[4][4], f32 arg1, f32 arg2, f32 arg3, f32 arg4) { void func_8024632C(f32 mf[4][4], f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
f32 sp34; f32 sp34;