diff --git a/README.md b/README.md index 2c1439fc..03f6cf94 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# banjo (95.8644%) +# banjo (95.8799%) diff --git a/progress/progress_core1.svg b/progress/progress_core1.svg index 3b5d325f..eb027e5a 100644 --- a/progress/progress_core1.svg +++ b/progress/progress_core1.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ core1 - 92.9525% - 92.9525% + 93.0594% + 93.0594% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index abc2bd3b..3730761c 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 95.8644% - 95.8644% + 95.8799% + 95.8799% \ No newline at end of file diff --git a/src/core1/code_13990.c b/src/core1/code_13990.c index 5f04c590..a6cd88a6 100644 --- a/src/core1/code_13990.c +++ b/src/core1/code_13990.c @@ -69,7 +69,32 @@ void func_802514BC(Mtx *arg0) { } #endif -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_13990/func_802515D4.s") +void func_802515D4(f32 arg0[3][3]) { + f32 var_f0; + s32 var_v0; + s32 var_v1; + s32 i; + f32 sp1C[3][3]; + + for(i = 0; i < 3; i++){ + for(var_v1 = 0; var_v1 < 3; var_v1++){ + var_f0 = 0.0f; + for(var_v0 = 0; var_v0 < 3; var_v0++){ + var_f0 += arg0[i][var_v0] * reinterpret_cast(f32, D_80282FD0->m[var_v0][var_v1]); + } + sp1C[i][var_v1] = var_f0; + } + + } + + for( i = 0; i < 3; i++){ + for(var_v1 = 0; var_v1 < 3; var_v1++){ + reinterpret_cast(f32, D_80282FD0->m[i][var_v1]) = sp1C[i][var_v1]; + + } + } +} + void mlMtxPop(void){ D_80282FD0--;