core1/gu/rotate.c done

This commit is contained in:
Banjo Kazooie
2022-10-26 15:00:50 -05:00
parent a6934f7205
commit 7ee1bdf312
25 changed files with 253 additions and 157 deletions

View File

@@ -590,37 +590,35 @@ void * func_80303800(f32 volume_p1[3], f32 volume_p2[3], f32 arg2[3], u32 arg3)
return NULL;
}
//BKCollisionTri *
#ifndef NONMATCHING
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
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];
BKCollisionTri *temp_v0;
BKCollisionTri *var_s5;
Cube *cube;
var_s5 = NULL;
cube_volumeToIndices(min, max, volume_p1, volume_p2, radius + D_80381FA0.unk4);
if(cube_indx);
for(cube_indx[0] = min[0]; cube_indx[0] <= max[0]; cube_indx[0]++){
for(cube_indx[1] = min[1]; cube_indx[1] <= max[1]; cube_indx[1]++){
for(cube_indx[2] = min[2]; cube_indx[2] <= max[2]; cube_indx[2]++){
temp_v0 = func_80331638(cube_atIndices(cube_indx), volume_p1, volume_p2, radius, arg3, arg4, flags);
cube = cube_atIndices(cube_indx);
temp_v0 = func_80331638(cube, volume_p1, volume_p2, radius, arg3, arg4, flags);
if (temp_v0 != NULL) {
var_s5 = temp_v0;
}
}
}
}
temp_v0 = func_80331638(func_8030364C(), volume_p1, volume_p2, radius, arg3, arg4, flags);
cube = func_8030364C();
temp_v0 = func_80331638(cube, volume_p1, volume_p2, radius, arg3, arg4, flags);
if (temp_v0 != NULL) {
var_s5 = temp_v0;
}
return var_s5;
}
#endif
//BKCollisionTri *
BKCollisionTri * func_80303AF0(f32 position[3], f32 radius, f32 arg2[3], u32 arg3) {
@@ -1777,13 +1775,57 @@ s32 func_80307164(Struct_core2_7AF80_2 *arg0) {
return -1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307258.s")
s32 func_80307258(f32 arg0[3], s32 arg1, s32 arg2) {
f32 temp_f14;
f32 temp_f2;
Struct_core2_7AF80_2 * temp_a0;
Struct_core2_7AF80_2 *temp_a3;
Struct_core2_7AF80_2 *var_v1;
Struct_core2_7AF80_1 *temp_v0;
temp_v0 = &D_8036A9BC[arg1];
var_v1 = temp_v0->unk8 + arg2;
if (((arg0[0] - var_v1->unk0[0]) * (arg0[0] - var_v1->unk0[0])) + (((arg0[2] - var_v1->unk0[2]) * (arg0[2] - var_v1->unk0[2]))) < (var_v1->unkC * var_v1->unkC)) {
return arg2;
}
temp_a0 = temp_v0->unk8 + temp_v0->unk0;
for (var_v1 = temp_v0->unk8; var_v1 < temp_a0; var_v1++) {
temp_f2 = arg0[2] - var_v1->unk0[2];
temp_f14 = arg0[0] - var_v1->unk0[0];
if (((temp_f2 * temp_f2) + (temp_f14 * temp_f14)) < (var_v1->unkC * var_v1->unkC)) {
return var_v1 - temp_v0->unk8;
}
}
return -1;
}
bool func_80307390(s32 arg0, s32 arg1) {
return (D_8036A9BC + arg0)->unk8[arg1].unk10_0;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_803073CC.s")
s32 func_803073CC(f32 arg0[3], s32 arg1, s32 arg2) {
f32 temp_f14;
f32 temp_f2;
Struct_core2_7AF80_2 * temp_a0;
Struct_core2_7AF80_2 *temp_a3;
Struct_core2_7AF80_2 *var_v1;
Struct_core2_7AF80_1 *temp_v0;
temp_v0 = &D_8036A9D4[arg1];
var_v1 = temp_v0->unk8 + arg2;
if (((arg0[0] - var_v1->unk0[0]) * (arg0[0] - var_v1->unk0[0])) + (((arg0[2] - var_v1->unk0[2]) * (arg0[2] - var_v1->unk0[2]))) < (var_v1->unkC * var_v1->unkC)) {
return arg2;
}
temp_a0 = temp_v0->unk8 + temp_v0->unk0;
for (var_v1 = temp_v0->unk8; var_v1 < temp_a0; var_v1++) {
temp_f2 = arg0[2] - var_v1->unk0[2];
temp_f14 = arg0[0] - var_v1->unk0[0];
if (((temp_f2 * temp_f2) + (temp_f14 * temp_f14)) < (var_v1->unkC * var_v1->unkC)) {
return var_v1 - temp_v0->unk8;
}
}
return -1;
}
#pragma GLOBAL_ASM("asm/nonmatchings/core2/code_7AF80/func_80307504.s")
// s32 func_80307504(f32 arg0[3], s32 arg1, s32 arg2, s32 arg3, s32 arg4) {