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]