core1/code_72B0.c done
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# banjo (90.5890%)
|
# banjo (90.6686%)
|
||||||
|
|
||||||
<img src="./progress/progress_total.svg">
|
<img src="./progress/progress_total.svg">
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
|
@@ -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];
|
||||||
|
@@ -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 |
@@ -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 |
@@ -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];
|
||||||
|
@@ -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")
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
@@ -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);
|
||||||
|
@@ -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;
|
||||||
|
@@ -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];
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
|
@@ -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];
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@@ -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]
|
||||||
|
Reference in New Issue
Block a user