core1/code_72B0.c done

This commit is contained in:
Banjo Kazooie
2022-10-15 00:25:33 -05:00
parent 237a00e999
commit 2a5d6a0842
15 changed files with 199 additions and 87 deletions

View File

@@ -1,4 +1,4 @@
# banjo (90.5890%) # banjo (90.6686%)
<img src="./progress/progress_total.svg"> <img src="./progress/progress_total.svg">

View File

@@ -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_80347A14(s32);
void func_8034A174(struct5Bs *this, s32 indx,f32 dst[3]); void func_8034A174(struct5Bs *this, s32 indx,f32 dst[3]);
Struct61s *func_8034AB6C(enum map_e map_id); Struct61s *func_8034AB6C(enum map_e map_id);
Struct6Ds *func_8034C528(s32); Struct70s *func_8034C528(s32);
Struct73s *func_8034C5AC(s32); Struct70s *func_8034C5AC(s32);
void func_8034DC08(Struct6Ds *, f32[3], f32[3], f32, 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_8034DDF0(Struct6Ds *arg0, f32 arg1[3], f32 arg2[3], f32 arg3, s32 arg4);
void func_8034DE60(Struct6Ds *, f32, f32, f32, s32); void func_8034DE60(Struct6Ds *, f32, f32, f32, s32);

View File

@@ -323,13 +323,6 @@ typedef struct struct_1C_1_s{
u8 *string; //0x4 u8 *string; //0x4
}struct1Cs_1; }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{ typedef struct struct_1E_s{
void (* unk0)(void * arg0, s32 arg1, s32 arg2, s32 arg3); void (* unk0)(void * arg0, s32 arg1, s32 arg2, s32 arg3);
@@ -665,10 +658,6 @@ typedef struct struct_65_s{
u8 unk27; u8 unk27;
}Struct65s; }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**); 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; Struct77s type_77;
}Struct70s; }Struct70s;
typedef struct struct_1D_s{
BKModel *unk0;
s16 unk4;
u8 unk6;
// u8 pad7[1];
Struct70s unk8;//union of subtypes
}struct1Ds;
typedef struct { typedef struct {
u8 unk0; u8 unk0;
// u8 pad1[0x3]; // u8 pad1[0x3];

View File

@@ -9,7 +9,7 @@
</mask> </mask>
<g mask="url(#anybadge_1)"> <g mask="url(#anybadge_1)">
<path fill="#555" d="M0 0h44v20H0z"/> <path fill="#555" d="M0 0h44v20H0z"/>
<path fill="#55e000" d="M44 0h67v20H44z"/> <path fill="#52e000" d="M44 0h67v20H44z"/>
<path fill="url(#b)" d="M0 0h111v20H0z"/> <path fill="url(#b)" d="M0 0h111v20H0z"/>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
@@ -17,7 +17,7 @@
<text x="22.0" y="14">core1</text> <text x="22.0" y="14">core1</text>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="78.5" y="15" fill="#010101" fill-opacity=".3">81.0507%</text> <text x="78.5" y="15" fill="#010101" fill-opacity=".3">81.5990%</text>
<text x="77.5" y="14">81.0507%</text> <text x="77.5" y="14">81.5990%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -17,7 +17,7 @@
<text x="75.0" y="14">Banjo-Kazooie (us.v10)</text> <text x="75.0" y="14">Banjo-Kazooie (us.v10)</text>
</g> </g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11"> <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="184.5" y="15" fill="#010101" fill-opacity=".3">90.5890%</text> <text x="184.5" y="15" fill="#010101" fill-opacity=".3">90.6686%</text>
<text x="183.5" y="14">90.5890%</text> <text x="183.5" y="14">90.6686%</text>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -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_80320DB0(f32[3], f32, f32[3], u32);
extern bool func_80323240(struct56s *, f32, f32[3]); extern bool func_80323240(struct56s *, f32, f32[3]);
extern f32 ml_vec3f_dot_product(f32[3], f32[3]); extern f32 ml_vec3f_dot_product(f32[3], f32[3]);
extern Struct66s *func_80320B98(f32[3], f32[3], f32[3], u32); 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);
/* .rodata */ extern f32 func_8031C5D4(struct0*);
extern f64 D_802776C8; extern void func_8031C5AC(struct0 *, f32 *);
/* .bss */ /* .bss */
u8 pad_D_8027EF20[0x10]; u8 pad_D_8027EF20[0x10];
@@ -20,22 +20,22 @@ void func_80244CD0(f32 arg0[3], u32 arg1) {
f32 sp34[3]; f32 sp34[3];
f32 sp28[3]; f32 sp28[3];
f32 sp1C[3]; f32 sp1C[3];
Struct66s *temp_v0; BKCollisionTri *temp_v0;
ml_vec3f_copy(sp28, arg0); ml_vec3f_copy(sp28, arg0);
ml_vec3f_copy(sp1C, arg0); ml_vec3f_copy(sp1C, arg0);
sp28[1] += 100.0f; sp28[1] += 100.0f;
sp1C[1] -= 500.0f; sp1C[1] -= 500.0f;
temp_v0 = func_80320B98(sp28, sp1C, sp34, arg1); 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]; 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 sp2C[3];
f32 sp20[3]; f32 sp20[3];
Struct66s *sp1C; BKCollisionTri *sp1C;
ml_vec3f_copy(sp20, arg1); ml_vec3f_copy(sp20, arg1);
ml_vec3f_diff_copy(sp2C, sp20, arg0); 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; 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) { void func_80244FC0(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3, s32 arg4, u32 arg5) {
f32 sp44[3]; 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); D_8027EF30 = ml_vec3f_dot_product(arg4, sp30);
} }
phi_v0 = (D_8027EF30 < 0.0f) ? -1 : 1; phi_v0 = (D_8027EF30 < 0.0f) ? -1 : 1;
ml_vec3f_yaw_rotate_copy(sp48, arg4,(phi_v0 * sp28) * D_802776C8); ml_vec3f_yaw_rotate_copy(sp48, arg4,(phi_v0 * sp28) * 45.0);
phi_f12 = -ml_vec3f_dot_product(&sp48, &sp54); phi_f12 = -ml_vec3f_dot_product(sp48, sp54);
phi_f12 = MAX(5.0f, phi_f12); phi_f12 = MAX(5.0f, phi_f12);
arg1[0] += phi_f12 * sp48[0]; arg1[0] += phi_f12 * sp48[0];
arg1[1] += phi_f12 * sp48[1]; arg1[1] += phi_f12 * sp48[1];
@@ -188,15 +221,93 @@ int func_8024549C(f32 arg0[3], f32 arg1){
return sp1C; 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){ void func_8024587C(BKCollisionTri *dst, BKCollisionTri *src){
dst->unk0[0] = src->unk0[0]; dst->unk0[0] = src->unk0[0];

View File

@@ -4,7 +4,9 @@
extern f32 D_80275908; 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") #pragma GLOBAL_ASM("asm/nonmatchings/core1/code_7F60/func_802459A0.s")

View File

@@ -5,7 +5,7 @@
extern void func_802BEA4C(f32[3], f32[3], f32, f32[3]); 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_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 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_802BB938(f32[3], f32[3]);
f32 func_802BBD48(void); f32 func_802BBD48(void);
f32 func_802BBEA4(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, s32 arg4); 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 sp4C[3];
f32 phi_f2; f32 phi_f2;
f32 sp3C[3]; f32 sp3C[3];
Struct66s *sp38; BKCollisionTri *sp38;
s32 i; s32 i;
if (arg3 == 0) { 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); sp38 = func_80320B98(arg0, sp4C, sp3C, arg4);
if (sp38 != NULL) { if (sp38 != NULL) {
phi_f2 = ml_vec3f_distance(arg0, &sp4C); phi_f2 = ml_vec3f_distance(arg0, &sp4C);
D_8037D8D0.unk0[D_8037D8D0.unk30] = sp38->unk8; D_8037D8D0.unk0[D_8037D8D0.unk30] = sp38->flags;
} else { } else {
phi_f2 = arg2; phi_f2 = arg2;
D_8037D8D0.unk0[D_8037D8D0.unk30] = 0; D_8037D8D0.unk0[D_8037D8D0.unk30] = 0;

View File

@@ -11,8 +11,8 @@ extern f32 func_803243D0(struct56s *arg0, f32 arg1[3]);
extern void func_802CAF14(u32*, s32, bool); extern void func_802CAF14(u32*, s32, bool);
extern void func_8032D510(Cube *, Gfx **, Mtx **, Vtx **); extern void func_8032D510(Cube *, Gfx **, Mtx **, Vtx **);
extern ActorProp *func_803322F0(Cube *, ActorMarker *, f32, s32, s32 *); 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 BKCollisionTri *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_80331638(Cube *cube, f32 volume_p1[3], f32 volume_p2[3], f32 radius, f32 arg2[3], s32, u32 flags);
typedef struct { typedef struct {
s32 unk0; s32 unk0;
@@ -542,7 +542,7 @@ void func_80303664(s32 arg0[3], s32 arg1[3]){
arg1[2] = D_80381FA0.max[2]; arg1[2] = D_80381FA0.max[2];
} }
//Struct66s * //BKCollisionTri *
void * func_803036A0(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3) { void * func_803036A0(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3) {
s32 cube_indx[3]; s32 cube_indx[3];
s32 min[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; return NULL;
} }
//Struct66s * //BKCollisionTri *
#ifndef NONMATCHING #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") #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80303960.s")
#else #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 cube_indx[3];
s32 min[3]; s32 min[3];
s32 max[3]; s32 max[3];
Struct66s *temp_v0; BKCollisionTri *temp_v0;
Struct66s *var_s5; BKCollisionTri *var_s5;
var_s5 = NULL; var_s5 = NULL;
cube_volumeToIndices(min, max, volume_p1, volume_p2, radius + D_80381FA0.unk4); 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 #endif
//Struct66s * //BKCollisionTri *
Struct66s * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) { BKCollisionTri * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) {
s32 cube_indx[3]; s32 cube_indx[3];
s32 min[3]; s32 min[3];
s32 max[3]; s32 max[3];
Struct66s *temp_v0; BKCollisionTri *temp_v0;
Struct66s *var_s5; BKCollisionTri *var_s5;
var_s5 = NULL; var_s5 = NULL;
cube_volumeToIndices(min, max, position, position, radius + D_80381FA0.unk4); cube_volumeToIndices(min, max, position, position, radius + D_80381FA0.unk4);

View File

@@ -5,9 +5,9 @@
extern void func_80303F7C(ActorMarker *, f32, s32, s32); extern void func_80303F7C(ActorMarker *, f32, s32, s32);
extern ActorProp *func_80303FE4(ActorMarker *, f32, s32); extern ActorProp *func_80303FE4(ActorMarker *, f32, s32);
typedef Struct66s * (*Method_Core2_999A0_0)(f32[3], f32[3], f32[3], u32); typedef BKCollisionTri * (*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 BKCollisionTri * (*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_2)(f32[3], f32, f32[3], u32);
typedef void * (*Method_Core2_999A0_3)(void); typedef void * (*Method_Core2_999A0_3)(void);
typedef struct { typedef struct {
@@ -25,7 +25,7 @@ struct {
}D_80383230; }D_80383230;
/* .public */ /* .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); void func_80320B44(Method_Core2_999A0_0 arg0, Method_Core2_999A0_1 arg1, Method_Core2_999A0_2 arg2, Method_Core2_999A0_3 arg3);
/* .code */ /* .code */
@@ -103,10 +103,10 @@ void func_80320B84(void){
D_80383230.unk84 = NULL; 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; Struct_core2_999A0_0 *var_s0;
Struct66s * temp_v0_2; BKCollisionTri * temp_v0_2;
Struct66s * var_s7; BKCollisionTri * var_s7;
var_s7 = NULL; var_s7 = NULL;
D_80383230.unk84 = 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; 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; Struct_core2_999A0_0 *var_s0;
Struct66s * temp_v0_2; BKCollisionTri * temp_v0_2;
Struct66s * var_s7; BKCollisionTri * var_s7;
var_s7 = NULL; var_s7 = NULL;
D_80383230.unk84 = 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; 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; Struct_core2_999A0_0 *var_s0;
Struct66s * temp_v0_2; BKCollisionTri * temp_v0_2;
Struct66s * var_s7; BKCollisionTri * var_s7;
var_s7 = NULL; var_s7 = NULL;
D_80383230.unk84 = NULL; D_80383230.unk84 = NULL;

View File

@@ -12,7 +12,7 @@ extern f32 func_8033229C(ActorMarker *marker);
extern f32 func_80309B24(f32 [3]); extern f32 func_80309B24(f32 [3]);
extern f32 ml_vec3f_dot_product(f32[3], f32[3]); extern f32 ml_vec3f_dot_product(f32[3], f32[3]);
extern f32 ml_vec3f_distance_squared(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 */ /* .h */
typedef bool (*method_core2_A4D00_0)(Actor *, f32[3], s32, s32); 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 { typedef struct {
f32 unk0[3]; f32 unk0[3];
f32 unkC[3]; f32 unkC[3];
Struct66s * unk18; BKCollisionTri * unk18;
f32 unk1C[3]; f32 unk1C[3];
f32 unk28[3]; f32 unk28[3];
f32 unk34[3]; f32 unk34[3];

View File

@@ -1785,9 +1785,9 @@ s32 func_80331638(Cube *cube, f32 arg1[3], f32 arg2[3], f32 arg3, f32 arg4[3], s
#ifndef NONMATCHING #ifndef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_803319C0.s") #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_A5BC0/func_803319C0.s")
#else #else
Struct66s *func_803319C0(Cube *arg0, f32 arg1[3], f32 arg2, s32 arg3, f32 arg4[3], u32 arg5) { BKCollisionTri *func_803319C0(Cube *arg0, f32 arg1[3], f32 arg2, s32 arg3, f32 arg4[3], u32 arg5) {
Struct66s *var_s7; BKCollisionTri *var_s7;
Struct66s *var_v0; BKCollisionTri *var_v0;
s32 var_s3; s32 var_s3;
Prop *var_s0; Prop *var_s0;

View File

@@ -9,10 +9,10 @@ extern f32 func_8031C5E4(struct0*);
extern void func_8031C5FC(struct0 *, f32); 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 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 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 f32 func_80255D70(f32 arg0);
extern s32 func_8029463C(void); 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_80294378(s32 arg0);
void func_80294384(s32 arg0); void func_80294384(s32 arg0);
@@ -21,7 +21,7 @@ void func_80294390(void);
typedef struct { typedef struct {
f32 unk0[3]; f32 unk0[3];
f32 unkC[3]; f32 unkC[3];
Struct66s *unk18; BKCollisionTri *unk18;
f32 unk1C[3]; f32 unk1C[3];
f32 unk28[3]; f32 unk28[3];
f32 unk34[3]; f32 unk34[3];

View File

@@ -59,16 +59,16 @@ func_8034C3D0(BKModel *arg0, s32 arg1, s32 vtx_xform_id, s32 arg3){
v0->unk6 = vtx_xform_id; v0->unk6 = vtx_xform_id;
v0->unk0 = arg0; v0->unk0 = arg0;
v0->unk4 = arg1; 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 *iPtr;
struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); struct1Ds *endPtr = vector_getEnd(D_80386140.unk4);
for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){
if(iPtr->unk6 == 8 && iPtr->unk4 == arg0) if(iPtr->unk6 == 8 && iPtr->unk4 == arg0)
return &iPtr->pad8[0]; return &iPtr->unk8;
} }
return NULL; return NULL;
} }
@@ -94,29 +94,29 @@ s16 func_8034C50C(s32 arg0) {
} }
Struct6Ds * func_8034C528(s32 arg0){ Struct70s *func_8034C528(s32 arg0){
struct1Ds *iPtr; struct1Ds *iPtr;
struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); struct1Ds *endPtr = vector_getEnd(D_80386140.unk4);
for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){
if(iPtr->unk6 == 2 && iPtr->unk4 == arg0) if(iPtr->unk6 == 2 && iPtr->unk4 == arg0)
return &iPtr->pad8[0]; return &iPtr->unk8;
} }
return NULL; return NULL;
} }
Struct73s *func_8034C5AC(s32 arg0){ Struct70s *func_8034C5AC(s32 arg0){
struct1Ds *iPtr; struct1Ds *iPtr;
struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); struct1Ds *endPtr = vector_getEnd(D_80386140.unk4);
for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){
if(iPtr->unk6 == 3 && iPtr->unk4 == arg0) if(iPtr->unk6 == 3 && iPtr->unk4 == arg0)
return &iPtr->pad8[0]; return &iPtr->unk8;
} }
return NULL; return NULL;
} }
void * func_8034C630(s32 arg0){ Struct70s *func_8034C630(s32 arg0){
struct1Ds *iPtr; struct1Ds *iPtr;
struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); struct1Ds *endPtr = vector_getEnd(D_80386140.unk4);
@@ -124,7 +124,7 @@ void * func_8034C630(s32 arg0){
if( (iPtr->unk6 == 3) if( (iPtr->unk6 == 3)
&& func_802E9FEC(func_8033F2AC(iPtr->unk0), iPtr->unk4, arg0) && func_802E9FEC(func_8033F2AC(iPtr->unk0), iPtr->unk4, arg0)
){ ){
return &iPtr->pad8[0]; return &iPtr->unk8;
} }
} }
return NULL; return NULL;
@@ -169,12 +169,12 @@ void func_8034C6DC(BKModel *arg0){
} }
} }
void * func_8034C8D8(void){ void func_8034C8D8(void){
struct1Ds *iPtr; struct1Ds *iPtr;
struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); struct1Ds *endPtr = vector_getEnd(D_80386140.unk4);
for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ 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); vector_free(D_80386140.unk4);
} }
@@ -193,7 +193,7 @@ void * func_8034C9D4(void){
struct1Ds *endPtr = vector_getEnd(D_80386140.unk4); struct1Ds *endPtr = vector_getEnd(D_80386140.unk4);
for(iPtr = vector_getBegin(D_80386140.unk4); iPtr < endPtr; iPtr++){ 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);
} }
} }

View File

@@ -39,7 +39,7 @@ segments:
- [0x31C0, c, code_31C0] - [0x31C0, c, code_31C0]
- [0x3A70, c, code_3A70] - [0x3A70, c, code_3A70]
- [0x7090, c, code_7090] #DONE - [0x7090, c, code_7090] #DONE
- [0x72B0, c, code_72B0] - [0x72B0, c, code_72B0] #DONE
- [0x7F60, c, code_7F60] - [0x7F60, c, code_7F60]
- [0x8C50, c, code_8C50] #DONE - [0x8C50, c, code_8C50] #DONE
- [0x9D30, c, code_9D30] - [0x9D30, c, code_9D30]
@@ -279,7 +279,8 @@ segments:
- [0x39C00, bin, data_39C00] # .rodata, code_1D00] - [0x39C00, bin, data_39C00] # .rodata, code_1D00]
- [0x39C20, .rodata, code_31C0] - [0x39C20, .rodata, code_31C0]
- [0x39C30, bin, data_39C30] # .rodata, code_3A70] - [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] - [0x39CD0, bin, data_39CD0] # .rodata, code_7F60]
- [0x39CE0, bin, data_39CE0] # .rodata, code_9D30] - [0x39CE0, bin, data_39CE0] # .rodata, code_9D30]
- [0x39D00, .rodata, done/code_CE60] - [0x39D00, .rodata, done/code_CE60]