From 2a5d6a084221a64fed11f5be055161678ef959c5 Mon Sep 17 00:00:00 2001 From: Banjo Kazooie Date: Sat, 15 Oct 2022 00:25:33 -0500 Subject: [PATCH] core1/code_72B0.c done --- README.md | 2 +- include/functions.h | 4 +- include/structs.h | 20 +++-- progress/progress_core1.svg | 6 +- progress/progress_total.svg | 4 +- src/core1/code_72B0.c | 145 +++++++++++++++++++++++++++++++----- src/core1/code_7F60.c | 4 +- src/core2/code_34790.c | 6 +- src/core2/code_7AF80.c | 24 +++--- src/core2/code_999A0.c | 26 +++---- src/core2/code_A4D00.c | 4 +- src/core2/code_A5BC0.c | 6 +- src/core2/code_C4B0.c | 6 +- src/core2/code_C5440.c | 24 +++--- subyaml/core1.us.v10.yaml | 5 +- 15 files changed, 199 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index e1ba846f..4ac66261 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# banjo (90.5890%) +# banjo (90.6686%) diff --git a/include/functions.h b/include/functions.h index 2d09ea78..2d7c2756 100644 --- a/include/functions.h +++ b/include/functions.h @@ -502,8 +502,8 @@ void func_80346C10(enum bs_e *retVal, enum bs_e fail_state, enum bs_e success_st void func_80347A14(s32); void func_8034A174(struct5Bs *this, s32 indx,f32 dst[3]); Struct61s *func_8034AB6C(enum map_e map_id); -Struct6Ds *func_8034C528(s32); -Struct73s *func_8034C5AC(s32); +Struct70s *func_8034C528(s32); +Struct70s *func_8034C5AC(s32); void func_8034DC08(Struct6Ds *, f32[3], f32[3], f32, s32); void func_8034DDF0(Struct6Ds *arg0, f32 arg1[3], f32 arg2[3], f32 arg3, s32 arg4); void func_8034DE60(Struct6Ds *, f32, f32, f32, s32); diff --git a/include/structs.h b/include/structs.h index e6ad797b..309ca36c 100644 --- a/include/structs.h +++ b/include/structs.h @@ -323,13 +323,6 @@ typedef struct struct_1C_1_s{ u8 *string; //0x4 }struct1Cs_1; -typedef struct struct_1D_s{ - BKModel *unk0; - s16 unk4; - u8 unk6; - u8 pad7[1]; - u8 pad8[0xA0];//union of subtypes -}struct1Ds; typedef struct struct_1E_s{ void (* unk0)(void * arg0, s32 arg1, s32 arg2, s32 arg3); @@ -665,10 +658,6 @@ typedef struct struct_65_s{ u8 unk27; }Struct65s; -typedef struct struct_66_s{ - u8 pad0[0x8]; - s32 unk8; -}Struct66s; typedef void (*Struct68DrawMethod)(void *, struct struct_68_s *, f32[3], f32[3], f32, BKModelBin*, Gfx**, Mtx**, Vtx**); @@ -818,6 +807,15 @@ typedef union { Struct77s type_77; }Struct70s; +typedef struct struct_1D_s{ + BKModel *unk0; + s16 unk4; + u8 unk6; + // u8 pad7[1]; + Struct70s unk8;//union of subtypes +}struct1Ds; + + typedef struct { u8 unk0; // u8 pad1[0x3]; diff --git a/progress/progress_core1.svg b/progress/progress_core1.svg index 8003d84c..14f9e1c7 100644 --- a/progress/progress_core1.svg +++ b/progress/progress_core1.svg @@ -9,7 +9,7 @@ - + @@ -17,7 +17,7 @@ core1 - 81.0507% - 81.0507% + 81.5990% + 81.5990% \ No newline at end of file diff --git a/progress/progress_total.svg b/progress/progress_total.svg index e684ef7a..7637f8aa 100644 --- a/progress/progress_total.svg +++ b/progress/progress_total.svg @@ -17,7 +17,7 @@ Banjo-Kazooie (us.v10) - 90.5890% - 90.5890% + 90.6686% + 90.6686% \ No newline at end of file diff --git a/src/core1/code_72B0.c b/src/core1/code_72B0.c index 8a51a08f..6a720b04 100644 --- a/src/core1/code_72B0.c +++ b/src/core1/code_72B0.c @@ -6,10 +6,10 @@ int func_802458E0(f32 arg0[3], Actor *arg1, s32 arg2); extern bool func_80320DB0(f32[3], f32, f32[3], u32); extern bool func_80323240(struct56s *, f32, f32[3]); extern f32 ml_vec3f_dot_product(f32[3], f32[3]); -extern Struct66s *func_80320B98(f32[3], f32[3], f32[3], u32); - -/* .rodata */ -extern f64 D_802776C8; +extern BKCollisionTri *func_80320B98(f32[3], f32[3], f32[3], u32); +extern BKCollisionTri *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5); +extern f32 func_8031C5D4(struct0*); +extern void func_8031C5AC(struct0 *, f32 *); /* .bss */ u8 pad_D_8027EF20[0x10]; @@ -20,22 +20,22 @@ void func_80244CD0(f32 arg0[3], u32 arg1) { f32 sp34[3]; f32 sp28[3]; f32 sp1C[3]; - Struct66s *temp_v0; + BKCollisionTri *temp_v0; ml_vec3f_copy(sp28, arg0); ml_vec3f_copy(sp1C, arg0); sp28[1] += 100.0f; sp1C[1] -= 500.0f; temp_v0 = func_80320B98(sp28, sp1C, sp34, arg1); - if ((temp_v0 != NULL) && (!(sp34[1] < 0.0f) || (temp_v0->unk8 & 0x10000)) && (arg0[1] < sp1C[1])) { + if ((temp_v0 != NULL) && (!(sp34[1] < 0.0f) || (temp_v0->flags & 0x10000)) && (arg0[1] < sp1C[1])) { arg0[1] = sp1C[1]; } } -Struct66s *func_80244D94(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3, f32 arg4) { +BKCollisionTri *func_80244D94(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3, f32 arg4) { f32 sp2C[3]; f32 sp20[3]; - Struct66s *sp1C; + BKCollisionTri *sp1C; ml_vec3f_copy(sp20, arg1); ml_vec3f_diff_copy(sp2C, sp20, arg0); @@ -52,9 +52,42 @@ Struct66s *func_80244D94(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3, f32 ar return sp1C; } -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_80244E54.s") +BKCollisionTri *func_80244E54(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3, f32 arg4, f32 arg5){ + f32 sp34[3]; + f32 sp28[3]; + BKCollisionTri *sp24; -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_80244F00.s") + ml_vec3f_copy(sp34, arg0); + ml_vec3f_copy(sp28, arg1); + + sp34[1] += arg5; + sp28[1] += arg5; + sp24 = func_80244D94(sp34, sp28, arg2, arg3, arg4); + if(sp24 == NULL) + return 0; + + sp28[1] -= arg5; + ml_vec3f_copy(arg1, sp28); + return sp24; +} + +void func_80244F00(f32 arg0[3], f32 arg1, f32 arg2, s32 arg3, u32 arg4){ + f32 sp34[3]; + f32 sp28[3]; + f32 pad; + + sp28[0] = arg0[0]; + sp28[1] = arg0[1] + arg2; + sp28[2] = arg0[2]; + if(func_80320DB0(sp28, arg1, sp34, arg4)){ + arg0[0] += 1.3f*sp34[0]; + arg0[1] += 1.3f*sp34[1]; + arg0[2] += 1.3f*sp34[2]; + if(arg3){ + func_80244CD0(arg0, arg4); + } + } +} void func_80244FC0(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3, s32 arg4, u32 arg5) { f32 sp44[3]; @@ -117,8 +150,8 @@ void func_802451A4(f32 arg0[3], f32 arg1[3], f32 arg2[3], f32 arg3[3], f32 arg4[ D_8027EF30 = ml_vec3f_dot_product(arg4, sp30); } phi_v0 = (D_8027EF30 < 0.0f) ? -1 : 1; - ml_vec3f_yaw_rotate_copy(sp48, arg4,(phi_v0 * sp28) * D_802776C8); - phi_f12 = -ml_vec3f_dot_product(&sp48, &sp54); + ml_vec3f_yaw_rotate_copy(sp48, arg4,(phi_v0 * sp28) * 45.0); + phi_f12 = -ml_vec3f_dot_product(sp48, sp54); phi_f12 = MAX(5.0f, phi_f12); arg1[0] += phi_f12 * sp48[0]; arg1[1] += phi_f12 * sp48[1]; @@ -188,15 +221,93 @@ int func_8024549C(f32 arg0[3], f32 arg1){ return sp1C; } -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_80245524.s") +bool func_80245524(f32 arg0[3], void *arg1, s32 *arg2, f32 *arg3){ + *arg2 = func_8034C630(arg1); + if(*arg2 == NULL){ + *arg3 = arg0[1]; + return FALSE; + } + *arg3 = arg0[1] - (f32)func_8034E698(*arg2); + return TRUE; +} -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_8024559C.s") +s32 func_8024559C(f32 arg0[3], s32 *arg1, f32 *arg2){ + void *var_v0; + f32 sp18[3]; + + *arg1 = 0; + *arg2 = arg0[1]; + ml_vec3f_copy(sp18, arg0); + var_v0 = func_8024549C(sp18, 20.0f); + if(var_v0 == 0){ + return 0; + } + return func_80245524(sp18, var_v0, arg1, arg2); +} -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_8024560C.s") -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_8024575C.s") -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_72B0/func_802457C4.s") +void func_8024560C(f32 arg0[3], struct0 *arg1, UNK_TYPE(s32) arg2, u8 *arg3, f32 arg4[3]){ + f32 sp44[3]; + f32 sp40; + f32 temp_f12; + u8 temp_v0; + + func_8031C618(arg1, arg0); + func_8031C638(arg1, arg2); + func_8031C44C(arg1); + sp40 = func_8031C5D4(arg1); + func_8031C5AC(arg1, sp44); + temp_v0 = *arg3; + *arg3 = 0; + if (!(sp44[1] < 0.44)) { + if (arg0[1] <= sp40) { + arg0[1] = sp40; + *arg3 = 1; + } + else if ((temp_v0 != 0) && (arg4[1] < 0.0f)) { + if (sp44[1] < 0.9) { + if (arg0[1] < (sp40 + 30.0f)) { + arg0[1] = sp40; + *arg3 = 1; + } + } else if (arg0[1] < (sp40 + 5.0f)) { + arg0[1] = sp40; + *arg3 = 1; + } + } + } +} + +BKCollisionTri *func_8024575C(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5){ + if(arg2 < ml_vec3f_distance(arg0, arg1)){ + return NULL; + } + return func_80320C94(arg0, arg1, arg2, arg3, arg4, arg5); + +} + +BKCollisionTri *func_802457C4(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3, f32 arg4[3], s32 arg5, u32 arg6){ + BKCollisionTri *var_v1; + f32 sp38[3]; + f32 sp2C[3]; + + sp38[0] = arg0[0]; + sp38[1] = arg0[1] + arg2; + sp38[2] = arg0[2]; + + sp2C[0] = arg1[0]; + sp2C[1] = arg1[1] + arg2; + sp2C[2] = arg1[2]; + + var_v1 = func_80320C94(sp38, sp2C, arg3, arg4, arg5, arg6); + if(var_v1 != NULL){ + arg1[0] = sp2C[0]; + arg1[1] = sp2C[1] - arg2; + arg1[2] = sp2C[2]; + } + return var_v1; +} void func_8024587C(BKCollisionTri *dst, BKCollisionTri *src){ dst->unk0[0] = src->unk0[0]; diff --git a/src/core1/code_7F60.c b/src/core1/code_7F60.c index 52495699..9bf52876 100644 --- a/src/core1/code_7F60.c +++ b/src/core1/code_7F60.c @@ -4,7 +4,9 @@ extern f32 D_80275908; -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_80245980.s") +s32 func_80245980(f32 arg0){ + return arg0*65536.0f; +} #pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_802459A0.s") diff --git a/src/core2/code_34790.c b/src/core2/code_34790.c index 1b20a952..67db148f 100644 --- a/src/core2/code_34790.c +++ b/src/core2/code_34790.c @@ -5,7 +5,7 @@ extern void func_802BEA4C(f32[3], f32[3], f32, f32[3]); extern void func_802BEBE8(f32[3], f32[3], f32, f32[3]); extern void func_802BEAAC(f32[3], f32[3], f32, f32[3], f32[3], f32[3], f32[3]); -extern Struct66s *func_80320B98(f32[3], f32[3], f32[3], s32); +extern BKCollisionTri *func_80320B98(f32[3], f32[3], f32[3], s32); f32 func_802BB938(f32[3], f32[3]); f32 func_802BBD48(void); f32 func_802BBEA4(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, s32 arg4); @@ -194,7 +194,7 @@ f32 func_802BBEA4(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, s32 arg4) { f32 sp4C[3]; f32 phi_f2; f32 sp3C[3]; - Struct66s *sp38; + BKCollisionTri *sp38; s32 i; if (arg3 == 0) { @@ -207,7 +207,7 @@ f32 func_802BBEA4(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, s32 arg4) { sp38 = func_80320B98(arg0, sp4C, sp3C, arg4); if (sp38 != NULL) { phi_f2 = ml_vec3f_distance(arg0, &sp4C); - D_8037D8D0.unk0[D_8037D8D0.unk30] = sp38->unk8; + D_8037D8D0.unk0[D_8037D8D0.unk30] = sp38->flags; } else { phi_f2 = arg2; D_8037D8D0.unk0[D_8037D8D0.unk30] = 0; diff --git a/src/core2/code_7AF80.c b/src/core2/code_7AF80.c index 2c6a79bc..a350a9e7 100644 --- a/src/core2/code_7AF80.c +++ b/src/core2/code_7AF80.c @@ -11,8 +11,8 @@ extern f32 func_803243D0(struct56s *arg0, f32 arg1[3]); extern void func_802CAF14(u32*, s32, bool); extern void func_8032D510(Cube *, Gfx **, Mtx **, Vtx **); extern ActorProp *func_803322F0(Cube *, ActorMarker *, f32, s32, s32 *); -extern Struct66s *func_803319C0(Cube *cube, f32 position[3], f32 radius, f32 arg2[3], u32 flags); -extern Struct66s *func_80331638(Cube *cube, f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg2[3], s32, u32 flags); +extern BKCollisionTri *func_803319C0(Cube *cube, f32 position[3], f32 radius, f32 arg2[3], u32 flags); +extern BKCollisionTri *func_80331638(Cube *cube, f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg2[3], s32, u32 flags); typedef struct { s32 unk0; @@ -542,7 +542,7 @@ void func_80303664(s32 arg0[3], s32 arg1[3]){ arg1[2] = D_80381FA0.max[2]; } -//Struct66s * +//BKCollisionTri * void * func_803036A0(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3) { s32 cube_indx[3]; s32 min[3]; @@ -594,17 +594,17 @@ void * func_80303800(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3) return NULL; } -//Struct66s * +//BKCollisionTri * #ifndef NONMATCHING -Struct66s * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags); +BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags); #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80303960.s") #else -Struct66s * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags) { +BKCollisionTri * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg3[3], s32 arg4, u32 flags) { s32 cube_indx[3]; s32 min[3]; s32 max[3]; - Struct66s *temp_v0; - Struct66s *var_s5; + BKCollisionTri *temp_v0; + BKCollisionTri *var_s5; var_s5 = NULL; cube_volumeToIndices(min, max, volume_p1, volume_p2, radius + D_80381FA0.unk4); @@ -626,13 +626,13 @@ Struct66s * func_80303960(f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 ar } #endif -//Struct66s * -Struct66s * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) { +//BKCollisionTri * +BKCollisionTri * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) { s32 cube_indx[3]; s32 min[3]; s32 max[3]; - Struct66s *temp_v0; - Struct66s *var_s5; + BKCollisionTri *temp_v0; + BKCollisionTri *var_s5; var_s5 = NULL; cube_volumeToIndices(min, max, position, position, radius + D_80381FA0.unk4); diff --git a/src/core2/code_999A0.c b/src/core2/code_999A0.c index 69a538db..a1888ab4 100644 --- a/src/core2/code_999A0.c +++ b/src/core2/code_999A0.c @@ -5,9 +5,9 @@ extern void func_80303F7C(ActorMarker *, f32, s32, s32); extern ActorProp *func_80303FE4(ActorMarker *, f32, s32); -typedef Struct66s * (*Method_Core2_999A0_0)(f32[3], f32[3], f32[3], u32); -typedef Struct66s * (*Method_Core2_999A0_1)(f32[3], f32[3], f32, f32[3], s32, u32); -typedef Struct66s * (*Method_Core2_999A0_2)(f32[3], f32, f32[3], u32); +typedef BKCollisionTri * (*Method_Core2_999A0_0)(f32[3], f32[3], f32[3], u32); +typedef BKCollisionTri * (*Method_Core2_999A0_1)(f32[3], f32[3], f32, f32[3], s32, u32); +typedef BKCollisionTri * (*Method_Core2_999A0_2)(f32[3], f32, f32[3], u32); typedef void * (*Method_Core2_999A0_3)(void); typedef struct { @@ -25,7 +25,7 @@ struct { }D_80383230; /* .public */ -Struct66s *func_80320B98(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3); +BKCollisionTri *func_80320B98(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3); void func_80320B44(Method_Core2_999A0_0 arg0, Method_Core2_999A0_1 arg1, Method_Core2_999A0_2 arg2, Method_Core2_999A0_3 arg3); /* .code */ @@ -103,10 +103,10 @@ void func_80320B84(void){ D_80383230.unk84 = NULL; } -Struct66s *func_80320B98(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3) { +BKCollisionTri *func_80320B98(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3) { Struct_core2_999A0_0 *var_s0; - Struct66s * temp_v0_2; - Struct66s * var_s7; + BKCollisionTri * temp_v0_2; + BKCollisionTri * var_s7; var_s7 = NULL; D_80383230.unk84 = NULL; @@ -126,10 +126,10 @@ Struct66s *func_80320B98(f32 arg0[3], f32 arg1[3], f32 arg2[3], u32 arg3) { return var_s7; } -Struct66s *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5) { +BKCollisionTri *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5) { Struct_core2_999A0_0 *var_s0; - Struct66s * temp_v0_2; - Struct66s * var_s7; + BKCollisionTri * temp_v0_2; + BKCollisionTri * var_s7; var_s7 = NULL; D_80383230.unk84 = NULL; @@ -149,10 +149,10 @@ Struct66s *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 ar return var_s7; } -Struct66s *func_80320DB0(f32 arg0[3], f32 arg1, f32 arg2[3], u32 arg3) { +BKCollisionTri *func_80320DB0(f32 arg0[3], f32 arg1, f32 arg2[3], u32 arg3) { Struct_core2_999A0_0 *var_s0; - Struct66s * temp_v0_2; - Struct66s * var_s7; + BKCollisionTri * temp_v0_2; + BKCollisionTri * var_s7; var_s7 = NULL; D_80383230.unk84 = NULL; diff --git a/src/core2/code_A4D00.c b/src/core2/code_A4D00.c index d9357cd0..0935a1f7 100644 --- a/src/core2/code_A4D00.c +++ b/src/core2/code_A4D00.c @@ -12,7 +12,7 @@ extern f32 func_8033229C(ActorMarker *marker); extern f32 func_80309B24(f32 [3]); extern f32 ml_vec3f_dot_product(f32[3], f32[3]); extern f32 ml_vec3f_distance_squared(f32[3], f32[3]); -extern Struct66s *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5); +extern BKCollisionTri *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5); /* .h */ typedef bool (*method_core2_A4D00_0)(Actor *, f32[3], s32, s32); @@ -20,7 +20,7 @@ typedef bool (*method_core2_A4D00_0)(Actor *, f32[3], s32, s32); typedef struct { f32 unk0[3]; f32 unkC[3]; - Struct66s * unk18; + BKCollisionTri * unk18; f32 unk1C[3]; f32 unk28[3]; f32 unk34[3]; diff --git a/src/core2/code_A5BC0.c b/src/core2/code_A5BC0.c index f7074e8b..5faa478d 100644 --- a/src/core2/code_A5BC0.c +++ b/src/core2/code_A5BC0.c @@ -1785,9 +1785,9 @@ s32 func_80331638(Cube *cube, f32 arg1[3], f32 arg2[3], f32 arg3, f32 arg4[3], s #ifndef NONMATCHING #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_803319C0.s") #else -Struct66s *func_803319C0(Cube *arg0, f32 arg1[3], f32 arg2, s32 arg3, f32 arg4[3], u32 arg5) { - Struct66s *var_s7; - Struct66s *var_v0; +BKCollisionTri *func_803319C0(Cube *arg0, f32 arg1[3], f32 arg2, s32 arg3, f32 arg4[3], u32 arg5) { + BKCollisionTri *var_s7; + BKCollisionTri *var_v0; s32 var_s3; Prop *var_s0; diff --git a/src/core2/code_C4B0.c b/src/core2/code_C4B0.c index bb00b3d4..f4b5a081 100644 --- a/src/core2/code_C4B0.c +++ b/src/core2/code_C4B0.c @@ -9,10 +9,10 @@ extern f32 func_8031C5E4(struct0*); extern void func_8031C5FC(struct0 *, f32); extern void func_80244FC0(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3, s32 arg4, u32 arg5); extern s32 func_80244E54(f32[3], f32[3], f32 [3], u32, f32, f32); -extern Struct66s *func_802457C4(f32[3], f32[3], f32, f32, f32[3], s32, u32); +extern BKCollisionTri *func_802457C4(f32[3], f32[3], f32, f32, f32[3], s32, u32); extern f32 func_80255D70(f32 arg0); extern s32 func_8029463C(void); -extern Struct66s *func_80320C94(f32[3], f32[3], f32, f32[3], s32, u32); +extern BKCollisionTri *func_80320C94(f32[3], f32[3], f32, f32[3], s32, u32); void func_80294378(s32 arg0); void func_80294384(s32 arg0); @@ -21,7 +21,7 @@ void func_80294390(void); typedef struct { f32 unk0[3]; f32 unkC[3]; - Struct66s *unk18; + BKCollisionTri *unk18; f32 unk1C[3]; f32 unk28[3]; f32 unk34[3]; diff --git a/src/core2/code_C5440.c b/src/core2/code_C5440.c index 3cde7c71..3a2a9718 100644 --- a/src/core2/code_C5440.c +++ b/src/core2/code_C5440.c @@ -59,16 +59,16 @@ func_8034C3D0(BKModel *arg0, s32 arg1, s32 vtx_xform_id, s32 arg3){ v0->unk6 = vtx_xform_id; v0->unk0 = arg0; v0->unk4 = arg1; - D_80372030[v0->unk6].unk0(&v0->pad8[0], arg3, v0->unk0, v0->unk4); + D_80372030[v0->unk6].unk0(&v0->unk8, arg3, v0->unk0, v0->unk4); } -void * func_8034C448(s32 arg0){ +Struct70s *func_8034C448(s32 arg0){ struct1Ds *iPtr; struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ if(iPtr->unk6 == 8 && iPtr->unk4 == arg0) - return &iPtr->pad8[0]; + return &iPtr->unk8; } return NULL; } @@ -94,29 +94,29 @@ s16 func_8034C50C(s32 arg0) { } -Struct6Ds * func_8034C528(s32 arg0){ +Struct70s *func_8034C528(s32 arg0){ struct1Ds *iPtr; struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ if(iPtr->unk6 == 2 && iPtr->unk4 == arg0) - return &iPtr->pad8[0]; + return &iPtr->unk8; } return NULL; } -Struct73s *func_8034C5AC(s32 arg0){ +Struct70s *func_8034C5AC(s32 arg0){ struct1Ds *iPtr; struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ if(iPtr->unk6 == 3 && iPtr->unk4 == arg0) - return &iPtr->pad8[0]; + return &iPtr->unk8; } return NULL; } -void * func_8034C630(s32 arg0){ +Struct70s *func_8034C630(s32 arg0){ struct1Ds *iPtr; struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); @@ -124,7 +124,7 @@ void * func_8034C630(s32 arg0){ if( (iPtr->unk6 == 3) && func_802E9FEC(func_8033F2AC(iPtr->unk0), iPtr->unk4, arg0) ){ - return &iPtr->pad8[0]; + return &iPtr->unk8; } } return NULL; @@ -169,12 +169,12 @@ void func_8034C6DC(BKModel *arg0){ } } -void * func_8034C8D8(void){ +void func_8034C8D8(void){ struct1Ds *iPtr; struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ - D_80372030[iPtr->unk6].unk8(&iPtr->pad8[0]); + D_80372030[iPtr->unk6].unk8(&iPtr->unk8); } vector_free(D_80386140.unk4); } @@ -193,7 +193,7 @@ void * func_8034C9D4(void){ struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ - D_80372030[iPtr->unk6].unk4(&iPtr->pad8[0], iPtr->unk0, iPtr->unk4); + D_80372030[iPtr->unk6].unk4(&iPtr->unk8, iPtr->unk0, iPtr->unk4); } } \ No newline at end of file diff --git a/subyaml/core1.us.v10.yaml b/subyaml/core1.us.v10.yaml index bb080f37..5d41de05 100644 --- a/subyaml/core1.us.v10.yaml +++ b/subyaml/core1.us.v10.yaml @@ -39,7 +39,7 @@ segments: - [0x31C0, c, code_31C0] - [0x3A70, c, code_3A70] - [0x7090, c, code_7090] #DONE - - [0x72B0, c, code_72B0] + - [0x72B0, c, code_72B0] #DONE - [0x7F60, c, code_7F60] - [0x8C50, c, code_8C50] #DONE - [0x9D30, c, code_9D30] @@ -279,7 +279,8 @@ segments: - [0x39C00, bin, data_39C00] # .rodata, code_1D00] - [0x39C20, .rodata, code_31C0] - [0x39C30, bin, data_39C30] # .rodata, code_3A70] - - [0x39CA0, bin, data_39CA0] # .rodata, code_72B0] + - [0x39CA0, .rodata, code_72B0] + - [0x39CC0, bin, data_39CC0] - [0x39CD0, bin, data_39CD0] # .rodata, code_7F60] - [0x39CE0, bin, data_39CE0] # .rodata, code_9D30] - [0x39D00, .rodata, done/code_CE60]