diff --git a/README.md b/README.md
index 5fdcdb66..2ce42402 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# banjo (96.5966%)
+# banjo (96.6180%)
diff --git a/progress/progress_core1.svg b/progress/progress_core1.svg
index cd1a3e19..1dc9bff4 100644
--- a/progress/progress_core1.svg
+++ b/progress/progress_core1.svg
@@ -9,7 +9,7 @@
-
+
@@ -17,7 +17,7 @@
core1
- 93.6357%
- 93.6357%
+ 93.7828%
+ 93.7828%
\ No newline at end of file
diff --git a/progress/progress_total.svg b/progress/progress_total.svg
index 2f3b2f86..f519cc6d 100644
--- a/progress/progress_total.svg
+++ b/progress/progress_total.svg
@@ -17,7 +17,7 @@
Banjo-Kazooie (us.v10)
- 96.5966%
- 96.5966%
+ 96.6180%
+ 96.6180%
\ No newline at end of file
diff --git a/src/core1/code_13990.c b/src/core1/code_13990.c
index b7dcfaf1..e217742b 100644
--- a/src/core1/code_13990.c
+++ b/src/core1/code_13990.c
@@ -135,8 +135,22 @@ void func_802517F8(f32* arg0) {
}
}
+void func_80251878(f32* arg0) {
+ s32 i;
+ s32 j;
+ Mtx* var_a2;
-#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_13990/func_80251878.s")
+ var_a2 = D_80282FD0 + 1;
+ for(i = 0; i < 4; i++, arg0 += 4){
+ for(j = 0; j < 4; j++){
+ reinterpret_cast(f32, var_a2->m[i][j]) = arg0[0] * reinterpret_cast(f32, D_80282FD0->m[0][j])
+ + arg0[1] * reinterpret_cast(f32, D_80282FD0->m[1][j])
+ + arg0[2] * reinterpret_cast(f32, D_80282FD0->m[2][j])
+ + arg0[3] * reinterpret_cast(f32, D_80282FD0->m[3][j]);
+ }
+ }
+ D_80282FD0 = var_a2;
+}
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_13990/func_802519C8.s")