From 1f8c460fe10bf9feb30189dc6cff77934de73239 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Sun, 27 Nov 2022 13:18:49 -0600 Subject: [PATCH] match func_802E4C0C() --- README.md | 2 +- progress/progress_core2.svg | 4 ++-- progress/progress_total.svg | 4 ++-- src/core2/code_5DBC0.c | 14 ++++---------- src/core2/code_5FD90.c | 22 +++++++--------------- src/core2/code_B3A80.c | 8 ++++---- src/core2/code_B9770.c | 2 +- 7 files changed, 21 insertions(+), 35 deletions(-) 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];