diff --git a/README.md b/README.md
index d9529fe0..487920e9 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# banjo (94.6059%)
+# banjo (94.6127%)
diff --git a/progress/progress_core2.svg b/progress/progress_core2.svg
index 63a54c9d..0dac2edc 100644
--- a/progress/progress_core2.svg
+++ b/progress/progress_core2.svg
@@ -17,7 +17,7 @@
core2
- 93.1301%
- 93.1301%
+ 93.1420%
+ 93.1420%
\ No newline at end of file
diff --git a/progress/progress_total.svg b/progress/progress_total.svg
index 5e28afee..3c46c8df 100644
--- a/progress/progress_total.svg
+++ b/progress/progress_total.svg
@@ -17,7 +17,7 @@
Banjo-Kazooie (us.v10)
- 94.6059%
- 94.6059%
+ 94.6127%
+ 94.6127%
\ No newline at end of file
diff --git a/src/core2/code_5DBC0.c b/src/core2/code_5DBC0.c
index 9275a3b7..e6692aa4 100644
--- a/src/core2/code_5DBC0.c
+++ b/src/core2/code_5DBC0.c
@@ -74,20 +74,14 @@ struct5DBC0s *func_802E4B50(void){
return D_8037E900;
}
-#ifndef NONMATCHING
-#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_5DBC0/func_802E4C0C.s")
-#else
-void func_802E4C0C(struct5DBC0_2s * arg0, u32 arg1){
- // u32 i, v0;
- u32 v0;
- while(--arg1 > 0){
- // arg1--;
- assetcache_release(arg0[arg1].font_bin);
+void func_802E4C0C(struct5DBC0_2s *arg0, u32 arg1)
+{
+ while(arg1--){
+ assetcache_release(arg0[arg1].font_bin);
free(arg0[arg1].letter_texture);
}
free(arg0);
}
-#endif
void func_802E4C78(void){
if(D_8037E900->unk0 != NULL){
diff --git a/src/core2/code_5FD90.c b/src/core2/code_5FD90.c
index 460e28ba..daeb1ba2 100644
--- a/src/core2/code_5FD90.c
+++ b/src/core2/code_5FD90.c
@@ -9,20 +9,12 @@ extern void func_80252CC4(f32[3],s32, f32, s32);
extern f32 func_802560D0(f32[3], f32[3], f32[3]);
typedef struct {
- u8 pad0[0x24];
- BKCollisionTri *unk24;
-}Struct_core2_5FD90_0;
-
-typedef struct {
- f32 unk0[3];
- f32 unkC[3];
+ f32 unk0[3];
+ f32 unkC[3];
f32 unk18[3];
- struct {
- BKCollisionTri * unk0;
- f32 unk4[3][3];
- }
- unk24;
-}Struct_core2_5FD90_1;
+ BKCollisionTri *unk24;
+ f32 unk28[3][3];
+}Struct_core2_5FD90_0;
/* .rodata */
@@ -35,7 +27,7 @@ struct {
BKCollisionGeo **unk190;
}D_8037E910;
f32 D_8037EAA8[3][3];
-Struct_core2_5FD90_1 D_8037EAD0[100];
+Struct_core2_5FD90_0 D_8037EAD0[100];
/* .code */
void func_802E6D20(BKCollisionTri *arg0, BKVertexList *vtx_list) {
@@ -477,7 +469,7 @@ s32 func_802E81CC(BKCollisionList *collision_list, BKVertexList *vtx_list, f32 a
// //pad8C;
// f32 sp80[3];
// f32 sp74[3];
-// Struct_core2_5FD90_1 *var_s2;
+// Struct_core2_5FD90_0 *var_s2;
// ? *var_t0;
// ? *var_v0;
// f32 *temp_v0;
diff --git a/src/core2/code_B3A80.c b/src/core2/code_B3A80.c
index 9b8284df..730d899c 100644
--- a/src/core2/code_B3A80.c
+++ b/src/core2/code_B3A80.c
@@ -5,7 +5,7 @@
#include "assets.h"
#include "animation.h"
-extern f32 func_80340A4C(f32, s32, f32 *);
+extern f32 glspline_catmull_rom_interpolate(f32, s32, f32 *);
extern f32 D_803709E0[];
extern u8 D_80370A1C;
@@ -107,7 +107,7 @@ f32 func_8033AC38(AnimationFile *this, AnimationFileElement *elem, f32 arg2){
sp38[0] = sp38[1] = D_803709E0[elem->unk0_3];
sp38[2] = (f32) var_a2->unk2 / 64;
sp38[3] = (var_a2->unk0_15 == 1 && elem->data_cnt >= 2) ? (f32)(var_a2 + 1)->unk2/64 : sp38[2];
- return func_80340A4C((arg2 - this->unk0)/(var_a2->unk0_13 - this->unk0), 4, sp38);
+ return glspline_catmull_rom_interpolate((arg2 - this->unk0)/(var_a2->unk0_13 - this->unk0), 4, sp38);
}
var_a0 = var_a2 + elem->data_cnt;
var_a0--;
@@ -116,7 +116,7 @@ f32 func_8033AC38(AnimationFile *this, AnimationFileElement *elem, f32 arg2){
sp38[0] = ((var_a0->unk0_14 == 1) && (elem->data_cnt >= 2)) ? (f32) (var_a0 - 1)->unk2 / 64 : sp38[1];
sp38[2] = sp38[3] = sp38[1];
- return func_80340A4C(arg2 - var_a0->unk0_13, 4, sp38);
+ return glspline_catmull_rom_interpolate(arg2 - var_a0->unk0_13, 4, sp38);
}
@@ -142,7 +142,7 @@ f32 func_8033AC38(AnimationFile *this, AnimationFileElement *elem, f32 arg2){
sp38[0] = (var_a2->unk0_14 == 1 && (var_a2 - 1) >= &elem->data[0]) ? (f32)(var_a2 - 1)->unk2/64 : sp38[1];
sp38[3] = (var_a0->unk0_15 == 1 && (var_a0 + 1) < &elem->data[elem->data_cnt]) ? (f32)(var_a0 + 1)->unk2/64 : sp38[2];
- return func_80340A4C(temp_f12, 4, sp38);
+ return glspline_catmull_rom_interpolate(temp_f12, 4, sp38);
}
void func_8033AFB8(Struct_B1400 *arg0, s32 arg1, f32 arg2[3][3]){
diff --git a/src/core2/code_B9770.c b/src/core2/code_B9770.c
index cc334994..abd99726 100644
--- a/src/core2/code_B9770.c
+++ b/src/core2/code_B9770.c
@@ -301,7 +301,7 @@ s32 func_80340760(s32 arg0, s32 *arg1, f32 *arg2, s32 arg3, s32 arg4, f32 *arg5,
return 0;
}
-f32 func_80340A4C(f32 arg0, s32 arg1, f32 *arg2) {
+f32 glspline_catmull_rom_interpolate(f32 arg0, s32 arg1, f32 *arg2) {
s32 tmp_v1;
s32 tmp_t7;
f32 sp24[3];