mirror of
https://github.com/n64decomp/mk64
synced 2026-05-24 23:01:36 -04:00
632512ada9
* fixed float issue brought over from zeldaret * Import trig_tables.inc.c * Delete game_data_802BA370.s * Import two funcs from sm64 into code_80004740.c
2764 lines
73 KiB
C
2764 lines
73 KiB
C
#include <ultra64.h>
|
|
#include <macros.h>
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721E8(?); // extern
|
|
extern ? D_80165CC6;
|
|
|
|
void func_80086E70(s32 arg0) {
|
|
*(&D_80165CC6 + (arg0 * 0xE0)) = 1;
|
|
func_800721E8(8);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086E70.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721E8(?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80086EAC(s32 arg0, s8 arg1, s16 arg2) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkDD = arg1;
|
|
temp_v0->unkAE = arg2;
|
|
func_800721E8(8);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086EAC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80086E70(); // extern
|
|
|
|
void func_80086EF0(void) {
|
|
func_80086E70();
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086EF0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80086E70(); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80086F10(s32 arg0, s32 arg1, s32 arg2) {
|
|
void *temp_v0;
|
|
|
|
func_80086E70();
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkDE = arg1;
|
|
temp_v0->unk80 = arg2;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086F10.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721E8(?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80086F60(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkAE = 0;
|
|
temp_v0->unkDD = 0;
|
|
temp_v0->unkDE = 0;
|
|
func_800721E8(8);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086F60.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165CC6;
|
|
|
|
? func_80086FA4(s32 arg0) {
|
|
? phi_v1;
|
|
|
|
phi_v1 = 0;
|
|
if (*(&D_80165CC6 + (arg0 * 0xE0)) == 0) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086FA4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721E8(?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80086FD4(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
func_800721E8(8);
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkAE = temp_v0->unkAE + 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086FD4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721E8(?); // extern
|
|
extern ? D_80165CC6;
|
|
|
|
void func_8008701C(s32 arg0, s32 arg1) {
|
|
func_800721E8(8);
|
|
*(&D_80165CC6 + (arg0 * 0xE0)) = arg1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008701C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165CC8;
|
|
|
|
s32 func_80087060(s32 arg0, s32 arg1) {
|
|
s32 sp1C;
|
|
s32 temp_a0;
|
|
void *temp_v0;
|
|
s32 phi_a0;
|
|
|
|
sp1C = 0;
|
|
temp_a0 = arg0;
|
|
phi_a0 = temp_a0;
|
|
if (func_80072270(8) != 0) {
|
|
arg0 = temp_a0;
|
|
func_800721C0(temp_a0, 8);
|
|
*(&D_80165CC8 + (arg0 * 0xE0)) = arg1;
|
|
phi_a0 = arg0;
|
|
}
|
|
temp_v0 = (phi_a0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkB0 = temp_v0->unkB0 - 1;
|
|
if (temp_v0->unkB0 < 0) {
|
|
func_800721E8(phi_a0, 8);
|
|
sp1C = 1;
|
|
}
|
|
return sp1C;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087060.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165CC8;
|
|
|
|
s32 func_80087104(s32 arg0, u16 arg1) {
|
|
s32 sp24;
|
|
void *temp_v0;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
*(&D_80165CC8 + (arg0 * 0xE0)) = random_int(arg1);
|
|
}
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkB0 = temp_v0->unkB0 - 1;
|
|
if (temp_v0->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
sp24 = 1;
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087104.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_80086FD4(s32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165CC8;
|
|
|
|
s32 func_800871AC(s32 arg0, s32 arg1) {
|
|
s32 sp24;
|
|
void *temp_v0;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
*(&D_80165CC8 + (arg0 * 0xE0)) = arg1;
|
|
}
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkB0 = temp_v0->unkB0 - 1;
|
|
if (temp_v0->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
func_80086FD4(arg0);
|
|
sp24 = 1;
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800871AC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_802B7830(f32, f32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_800872D8(s32 arg0, void *arg1) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_802B7830(temp_v0->unk4 - arg1->unk0, temp_v0->unkC - arg1->unk8);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800872D8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_802B7830(f32, f32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_80087324(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
return -func_802B7830(temp_v0->unk3C, temp_v0->unk40) & 0xFFFF;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087324.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_802B7830(f32, f32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80087368(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_802B7830(temp_v0->unk38, temp_v0->unk40);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087368.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
u16 func_800417B4(u16, s32); // extern
|
|
s32 func_80087368(); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_800873F4(s32 arg0) {
|
|
void *sp18;
|
|
s32 temp_v0;
|
|
void *temp_v1;
|
|
|
|
temp_v0 = func_80087368();
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp18 = temp_v1;
|
|
temp_v1->unkC0 = func_800417B4(temp_v1->unkC0, temp_v0 & 0xFFFF);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800873F4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 sins(u16); // extern
|
|
f32 coss(u16); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008751C(s32 arg0) {
|
|
void *sp1C;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp1C = temp_v0;
|
|
temp_v0->unk38 = sins(temp_v0->unkC0) * temp_v0->unk34;
|
|
temp_v0->unk40 = coss(temp_v0->unkC0) * temp_v0->unk34;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008751C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 sins(u16); // extern
|
|
f32 coss(u16); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008757C(s32 arg0) {
|
|
f32 sp24;
|
|
void *temp_s0;
|
|
|
|
temp_s0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp24 = coss(temp_s0->unkBE);
|
|
temp_s0->unk38 = sins(temp_s0->unkC0) * (temp_s0->unk34 * sp24);
|
|
temp_s0->unk3C = sins(temp_s0->unkBE) * -temp_s0->unk34;
|
|
sp24 = coss(temp_s0->unkBE);
|
|
temp_s0->unk40 = coss(temp_s0->unkC0) * (temp_s0->unk34 * sp24);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008757C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 sins(s32); // extern
|
|
f32 coss(s32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80087620(s32 arg0) {
|
|
void *sp1C;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp1C = temp_v0;
|
|
temp_v0->unk38 = sins((temp_v0->unkC0 + 0x8000) & 0xFFFF) * temp_v0->unk34;
|
|
temp_v0->unk40 = coss((temp_v0->unkC0 + 0x8000) & 0xFFFF) * temp_v0->unk34;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087620.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 sins(u16); // extern
|
|
f32 coss(u16); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_800876A0(s32 arg0) {
|
|
void *sp18;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp18 = temp_v0;
|
|
temp_v0->unk28 = temp_v0->unk28 + (temp_v0->unk34 * sins(temp_v0->unkC0));
|
|
temp_v0->unk30 = temp_v0->unk30 + (temp_v0->unk34 * coss(temp_v0->unkC0));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800876A0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_80087710(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk28 = temp_v0->unk28 + temp_v0->unk38;
|
|
temp_v0->unk2C = temp_v0->unk2C + temp_v0->unk3C;
|
|
temp_v0->unk30 = temp_v0->unk30 + temp_v0->unk40;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087710.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008775C(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk28 = temp_v0->unk28 + temp_v0->unk38;
|
|
temp_v0->unk30 = temp_v0->unk30 + temp_v0->unk40;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008775C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_800877C4(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk2C = temp_v0->unk2C + temp_v0->unk3C;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800877C4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008751C(); // extern
|
|
? func_8008775C(s32); // extern
|
|
|
|
void func_8008781C(s32 arg0) {
|
|
func_8008751C();
|
|
func_8008775C(arg0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008781C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008757C(); // extern
|
|
? func_80087710(s32); // extern
|
|
|
|
void func_80087844(s32 arg0) {
|
|
func_8008757C();
|
|
func_80087710(arg0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087844.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_8008751C(s32); // extern
|
|
? func_8008775C(s32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165CC8;
|
|
|
|
s32 func_8008789C(s32 arg0, s32 arg1) {
|
|
s32 sp24;
|
|
void *temp_v0;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
func_8008751C(arg0);
|
|
*(&D_80165CC8 + (arg0 * 0xE0)) = arg1;
|
|
}
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkB0 = temp_v0->unkB0 - 1;
|
|
if (temp_v0->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
sp24 = 1;
|
|
} else {
|
|
func_8008775C(arg0);
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008789C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_80087620(s32); // extern
|
|
? func_8008775C(s32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165CC8;
|
|
|
|
s32 func_80087954(s32 arg0, s32 arg1) {
|
|
s32 sp24;
|
|
void *temp_v0;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
func_80087620(arg0);
|
|
*(&D_80165CC8 + (arg0 * 0xE0)) = arg1;
|
|
}
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkB0 = temp_v0->unkB0 - 1;
|
|
if (temp_v0->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
sp24 = 1;
|
|
} else {
|
|
func_8008775C(arg0);
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087954.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_8008751C(s32); // extern
|
|
? func_8008775C(s32); // extern
|
|
s16 func_802B7830(f32, f32, s16); // extern
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_80087A0C(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4) {
|
|
s16 sp36;
|
|
s32 sp2C;
|
|
s32 sp28;
|
|
s32 sp24;
|
|
void *sp20;
|
|
s16 temp_a0;
|
|
s16 temp_v0;
|
|
void *temp_v1;
|
|
void *temp_v1_2;
|
|
|
|
sp2C = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
temp_v0 = arg2 - arg1;
|
|
temp_a0 = arg4 - arg3;
|
|
sp24 = temp_a0;
|
|
sp28 = temp_v0;
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp36 = sqrtf((temp_v0 * temp_v0) + (temp_a0 * temp_a0));
|
|
temp_v1->unk14 = 0.0f;
|
|
sp20 = temp_v1;
|
|
temp_v1->unkC0 = func_802B7830(temp_v0, temp_a0, temp_a0);
|
|
func_8008751C(arg0);
|
|
temp_v1->unkB0 = sp36 / temp_v1->unk34;
|
|
}
|
|
temp_v1_2 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v1_2->unkB0 = temp_v1_2->unkB0 - 1;
|
|
if (temp_v1_2->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
sp2C = 1;
|
|
} else {
|
|
func_8008775C(arg0);
|
|
}
|
|
return sp2C;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087A0C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_80086FD4(s32); // extern
|
|
? func_800877C4(s32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165C54;
|
|
|
|
s32 func_80087B84(s32 arg0, f32 arg1, f32 arg2) {
|
|
s32 sp24;
|
|
void *sp20;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
*(&D_80165C54 + (arg0 * 0xE0)) = -arg1;
|
|
}
|
|
sp20 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_800877C4(arg0);
|
|
if (sp20->unk8 <= arg2) {
|
|
func_800721E8(arg0, 8);
|
|
func_80086FD4(arg0);
|
|
sp24 = 1;
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087B84.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_80086FD4(s32); // extern
|
|
? func_800877C4(s32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_80087C48(s32 arg0, f32 arg1, f32 arg2, s32 arg3) {
|
|
s32 sp24;
|
|
void *temp_v0;
|
|
void *temp_v0_2;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk3C = arg1;
|
|
temp_v0->unkB0 = arg3;
|
|
}
|
|
temp_v0_2 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0_2->unkB0 = temp_v0_2->unkB0 - 1;
|
|
if (temp_v0_2->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
func_80086FD4(arg0);
|
|
sp24 = 1;
|
|
} else {
|
|
temp_v0_2->unk3C = temp_v0_2->unk3C - arg2;
|
|
func_800877C4(arg0);
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087C48.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_80086FD4(s32); // extern
|
|
? func_800877C4(s32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_80165C54;
|
|
|
|
s32 func_80087D24(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
|
s32 sp24;
|
|
void *sp20;
|
|
void *temp_v0;
|
|
|
|
sp24 = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
*(&D_80165C54 + (arg0 * 0xE0)) = arg1;
|
|
}
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp20 = temp_v0;
|
|
temp_v0->unk3C = temp_v0->unk3C - arg2;
|
|
func_800877C4(arg0);
|
|
if (temp_v0->unk2C <= arg3) {
|
|
sp20 = temp_v0;
|
|
func_800721E8(arg0, 8);
|
|
temp_v0->unk2C = arg3;
|
|
func_80086FD4(arg0);
|
|
sp24 = 1;
|
|
}
|
|
return sp24;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087D24.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
? func_80086FD4(s32); // extern
|
|
? func_8008751C(s32); // extern
|
|
? func_80087710(s32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_80087E08(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32 arg5) {
|
|
s32 sp2C;
|
|
void *sp24;
|
|
void *temp_v0;
|
|
void *temp_v0_2;
|
|
|
|
sp2C = 0;
|
|
if (func_80072270(8) != 0) {
|
|
func_800721C0(arg0, 8);
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp24 = temp_v0;
|
|
temp_v0->unk30 = 0.0f;
|
|
temp_v0->unk2C = 0.0f;
|
|
temp_v0->unk28 = 0.0f;
|
|
temp_v0->unk34 = arg3;
|
|
temp_v0->unk3C = arg1;
|
|
temp_v0->unkC0 = arg4;
|
|
func_8008751C(arg0);
|
|
temp_v0->unkB0 = arg5;
|
|
}
|
|
temp_v0_2 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0_2->unkB0 = temp_v0_2->unkB0 - 1;
|
|
if (temp_v0_2->unkB0 < 0) {
|
|
func_800721E8(arg0, 8);
|
|
func_80086FD4(arg0);
|
|
sp2C = 1;
|
|
} else {
|
|
temp_v0_2->unk3C = temp_v0_2->unk3C - arg2;
|
|
func_80087710(arg0);
|
|
}
|
|
return sp2C;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087E08.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 sins(s32); // extern
|
|
f32 coss(u16); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80088038(s32 arg0, f32 arg1, s32 arg2) {
|
|
f32 sp24;
|
|
f32 sp20;
|
|
void *sp1C;
|
|
f32 temp_f2;
|
|
f32 temp_f4;
|
|
u16 temp_t0;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f4 = temp_v0->unk28;
|
|
temp_t0 = temp_v0->unkC4 + arg2;
|
|
temp_v0->unkC4 = temp_t0;
|
|
sp1C = temp_v0;
|
|
sp24 = temp_f4;
|
|
sp20 = temp_v0->unk30;
|
|
temp_v0->unk28 = sins(temp_t0 & 0xFFFF) * arg1;
|
|
temp_f2 = coss(temp_v0->unkC4) * arg1;
|
|
temp_v0->unk30 = temp_f2;
|
|
temp_v0->unk38 = temp_v0->unk28 - temp_f4;
|
|
temp_v0->unk40 = temp_f2 - sp20;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088038.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165760;
|
|
extern ? D_80165770;
|
|
extern ? D_80165780;
|
|
extern ? D_80165784;
|
|
extern ? D_80165C94;
|
|
|
|
void func_800880E4(s32 arg0) {
|
|
? *temp_a1;
|
|
? *temp_a2;
|
|
? *temp_a3;
|
|
void *temp_v0;
|
|
void *phi_v0;
|
|
? *phi_a1;
|
|
? *phi_a2;
|
|
? *phi_a3;
|
|
|
|
phi_v0 = *(&D_80165C94 + (arg0 * 0xE0));
|
|
phi_a1 = &D_80165760;
|
|
phi_a2 = &D_80165770;
|
|
phi_a3 = &D_80165780;
|
|
do {
|
|
temp_a3 = phi_a3 + 2;
|
|
temp_a1 = phi_a1 + 2;
|
|
temp_a1->unk-2 = phi_v0->unk0;
|
|
temp_a2 = phi_a2 + 2;
|
|
temp_v0 = phi_v0 + 8;
|
|
temp_a2->unk-2 = phi_v0->unk2;
|
|
temp_a3->unk-2 = temp_v0->unk-4;
|
|
phi_v0 = temp_v0;
|
|
phi_a1 = temp_a1;
|
|
phi_a2 = temp_a2;
|
|
phi_a3 = temp_a3;
|
|
} while (temp_a3 != &D_80165784);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800880E4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_80088150(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk7C = temp_v0->unk7C + 8;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088150.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_802B7830(f32, f32); // extern
|
|
extern ? D_80165760;
|
|
extern ? D_80165780;
|
|
extern ? D_80165C18;
|
|
|
|
void func_80088178(s32 arg0, s32 arg1) {
|
|
s16 temp_a1;
|
|
u16 temp_a0;
|
|
void *temp_v1;
|
|
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_a0 = temp_v1->unkC0;
|
|
temp_a1 = func_802B7830(D_80165760.unk2 - D_80165760.unk0, D_80165780.unk2 - D_80165780.unk0) - temp_a0;
|
|
if (temp_a1 > 0) {
|
|
temp_v1->unkC0 = temp_a0 + (arg1 << 8);
|
|
return;
|
|
}
|
|
if (temp_a1 < 0) {
|
|
temp_v1->unkC0 = temp_a0 - (arg1 << 8);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088178.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80086FD4(); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80088228(s32 arg0) {
|
|
void *temp_v0;
|
|
void *temp_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v1 = temp_v0->unk80 + 2;
|
|
temp_v0->unk96 = 0;
|
|
temp_v0->unk7C = temp_v1;
|
|
temp_v0->unk94 = temp_v1->unk-2;
|
|
temp_v0->unk28 = temp_v1->unk0;
|
|
temp_v0->unk2C = temp_v1->unk2;
|
|
temp_v0->unk30 = temp_v1->unk4;
|
|
func_80086FD4();
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088228.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s16 D_80165762;
|
|
extern s16 D_80165772;
|
|
extern s16 D_80165782;
|
|
extern ? D_80165C18;
|
|
|
|
? func_800882B0(s32 arg0, s32 arg1) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f2;
|
|
void *temp_a2;
|
|
? phi_v1;
|
|
|
|
temp_a2 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = D_80165762 - temp_a2->unk28;
|
|
temp_f2 = D_80165772 - temp_a2->unk2C;
|
|
temp_f12 = D_80165782 - temp_a2->unk30;
|
|
phi_v1 = 0;
|
|
if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2) + (temp_f12 * temp_f12)) - (arg1 * arg1)) <= 0) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800882B0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800876A0(s32); // extern
|
|
? func_800880E4(); // extern
|
|
? func_80088150(s32); // extern
|
|
? func_80088178(s32, ?); // extern
|
|
s32 func_800882B0(s32, ?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_80088364(s32 arg0) {
|
|
u16 temp_t9;
|
|
void *temp_v0;
|
|
|
|
func_800880E4();
|
|
func_80088178(arg0, 1);
|
|
func_800876A0(arg0);
|
|
if (func_800882B0(arg0, 0xA) != 0) {
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_t9 = temp_v0->unk96 + 1;
|
|
temp_v0->unk96 = temp_t9;
|
|
if (((temp_t9 & 0xFFFF) + 3) == temp_v0->unk94) {
|
|
temp_v0->unkAE = temp_v0->unkAE + 1;
|
|
return;
|
|
}
|
|
func_80088150(arg0);
|
|
// Duplicate return node #4. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088364.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
f32 func_802ABE30(?32, ?, ?32, u16); // extern
|
|
? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern
|
|
s16 func_802B7830(f32, f32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_8018C3B0;
|
|
|
|
s32 func_80088538(s32 arg0) {
|
|
s32 sp2C;
|
|
void *temp_s0;
|
|
|
|
sp2C = 0;
|
|
func_800721E8(0x800000);
|
|
if (func_8007223C(arg0, 0x400) != 0) {
|
|
temp_s0 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC);
|
|
if (D_8018C3B0.unk4 == 1) {
|
|
sp2C = 1;
|
|
func_800721C0(arg0, 0x800000);
|
|
}
|
|
temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA);
|
|
temp_s0->unkB8 = func_802B7830(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000;
|
|
temp_s0->unkBC = func_802B7830(D_8018C3B0.unk30, D_8018C3B0.unk34);
|
|
}
|
|
return sp2C;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088538.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
f32 func_802ABE30(?32, ?, ?32, u16); // extern
|
|
? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_8018C3B0;
|
|
|
|
s32 func_8008861C(s32 arg0) {
|
|
s32 sp2C;
|
|
void *temp_s0;
|
|
|
|
sp2C = 0;
|
|
func_800721E8(0x800000);
|
|
if (func_8007223C(arg0, 0x400) != 0) {
|
|
temp_s0 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC);
|
|
if (D_8018C3B0.unk4 == 1) {
|
|
sp2C = 1;
|
|
func_800721C0(arg0, 0x800000);
|
|
}
|
|
temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA);
|
|
temp_s0->unk1C = D_8018C3B0.unk30;
|
|
temp_s0->unk20 = D_8018C3B0.unk34;
|
|
temp_s0->unk24 = D_8018C3B0.unk38;
|
|
}
|
|
return sp2C;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008861C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
f32 func_802ABE30(?32, ?, ?32, u16); // extern
|
|
? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern
|
|
s16 func_802B7830(f32, f32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_8018C3B0;
|
|
|
|
void func_800886F4(s32 arg0) {
|
|
void *temp_s0;
|
|
|
|
temp_s0 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC);
|
|
if (D_8018C3B0.unk4 == 1) {
|
|
func_800721C0(arg0, 0x800000);
|
|
temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA);
|
|
temp_s0->unkB8 = func_802B7830(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000;
|
|
temp_s0->unkBC = func_802B7830(D_8018C3B0.unk30, D_8018C3B0.unk34);
|
|
return;
|
|
}
|
|
func_800721E8(arg0, 0x800000);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800886F4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
f32 func_802ABE30(?32, ?, ?32, u16); // extern
|
|
? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_8018C3B0;
|
|
|
|
void func_800887C0(s32 arg0) {
|
|
void *temp_s0;
|
|
|
|
temp_s0 = (arg0 * 0xE0) + &D_80165C18;
|
|
func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC);
|
|
if (D_8018C3B0.unk4 == 1) {
|
|
func_800721C0(arg0, 0x800000);
|
|
temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA);
|
|
temp_s0->unk38 = D_8018C3B0.unk30;
|
|
temp_s0->unk3C = D_8018C3B0.unk34;
|
|
temp_s0->unk40 = D_8018C3B0.unk38;
|
|
return;
|
|
}
|
|
func_800721E8(arg0, 0x800000);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800887C0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_8008896C(s32 arg0, void *arg1) {
|
|
s32 temp_f10;
|
|
s32 temp_f6;
|
|
void *temp_a2;
|
|
|
|
temp_a2 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f10 = temp_a2->unk4 - arg1->unk0;
|
|
temp_f6 = temp_a2->unkC - arg1->unk8;
|
|
return (temp_f10 * temp_f10) + (temp_f6 * temp_f6);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008896C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
? func_80088A58(s32 arg0, void *arg1, f32 arg2) {
|
|
f32 temp_f0;
|
|
f32 temp_f2;
|
|
void *temp_v0;
|
|
? phi_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = temp_v0->unk4 - arg1->unk14;
|
|
temp_f2 = temp_v0->unkC - arg1->unk1C;
|
|
phi_v1 = 0;
|
|
if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) <= (arg2 * arg2)) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088A58.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
? func_80088BB8(s32 arg0, void *arg1, f32 arg2) {
|
|
f32 temp_f0;
|
|
f32 temp_f2;
|
|
void *temp_v0;
|
|
? phi_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = temp_v0->unk4 - arg1->unk0;
|
|
temp_f2 = temp_v0->unkC - arg1->unk8;
|
|
phi_v1 = 0;
|
|
if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) <= (arg2 * arg2)) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088BB8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
? func_80088D18(s32 arg0, void *arg1) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f18;
|
|
f32 temp_f2;
|
|
u16 temp_t8;
|
|
void *temp_v0;
|
|
f32 phi_f18;
|
|
? phi_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = temp_v0->unk4 - arg1->unk14;
|
|
temp_t8 = temp_v0->unkC8;
|
|
temp_f2 = temp_v0->unkC - arg1->unk1C;
|
|
temp_f18 = temp_t8;
|
|
phi_f18 = temp_f18;
|
|
phi_v1 = 0;
|
|
if (temp_t8 < 0) {
|
|
phi_f18 = temp_f18 + 4294967296.0f;
|
|
}
|
|
temp_f12 = phi_f18 + arg1->unk70;
|
|
if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) <= (temp_f12 * temp_f12)) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088D18.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
? func_80088DA4(s32 arg0, void *arg1) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f14;
|
|
f32 temp_f2;
|
|
f32 temp_f6;
|
|
u16 temp_t8;
|
|
void *temp_v0;
|
|
f32 phi_f6;
|
|
? phi_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = temp_v0->unk4 - arg1->unk14;
|
|
temp_t8 = temp_v0->unkC8;
|
|
temp_f2 = temp_v0->unk8 - arg1->unk18;
|
|
temp_f12 = temp_v0->unkC - arg1->unk1C;
|
|
temp_f6 = temp_t8;
|
|
phi_f6 = temp_f6;
|
|
phi_v1 = 0;
|
|
if (temp_t8 < 0) {
|
|
phi_f6 = temp_f6 + 4294967296.0f;
|
|
}
|
|
temp_f14 = phi_f6 + arg1->unk70;
|
|
if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2) + (temp_f12 * temp_f12)) <= (temp_f14 * temp_f14)) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088DA4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
? func_80088E98(s32 arg0, void *arg1, f32 arg2) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f14;
|
|
f32 temp_f2;
|
|
void *temp_v0;
|
|
f32 phi_f2;
|
|
? phi_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = temp_v0->unk4 - arg1->unk14;
|
|
temp_f12 = temp_v0->unkC - arg1->unk1C;
|
|
temp_f2 = temp_v0->unk8 - arg1->unk18;
|
|
temp_f14 = temp_v0->unkC8 + arg1->unk70;
|
|
phi_f2 = temp_f2;
|
|
phi_v1 = 0;
|
|
if (temp_f2 < 0.0f) {
|
|
phi_f2 = -temp_f2;
|
|
}
|
|
if ((((temp_f0 * temp_f0) + (temp_f12 * temp_f12)) <= (temp_f14 * temp_f14)) && (phi_f2 <= arg2)) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088E98.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C20;
|
|
|
|
f32 func_80088F54(s32 arg0, void *arg1) {
|
|
f32 temp_f2;
|
|
f32 phi_f2;
|
|
|
|
temp_f2 = *(&D_80165C20 + (arg0 * 0xE0)) - arg1->unk74;
|
|
phi_f2 = temp_f2;
|
|
if (temp_f2 < 0.0f) {
|
|
phi_f2 = -temp_f2;
|
|
}
|
|
return phi_f2;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088F54.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
void func_80088FF0(void *arg0) {
|
|
arg0->unk8C = 0.0f;
|
|
arg0->unk9C = 0.0f;
|
|
arg0->unk34 = 0.0f;
|
|
arg0->unk3C = 0.0f;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088FF0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800413B8(f32, f32 *, f32, f32, f32 *); // extern
|
|
extern f32 D_800EF4A0;
|
|
extern f32 D_800EF4A4;
|
|
extern f32 D_800EF4A8;
|
|
extern f32 D_800EF4AC;
|
|
extern f32 D_800EF4B0;
|
|
extern f32 D_800EF4B4;
|
|
extern f32 D_800EF4B8;
|
|
extern f32 D_800EF4BC;
|
|
extern f32 D_800EF4C0;
|
|
extern f32 D_800EF4C4;
|
|
extern f32 D_800EF4C8;
|
|
extern f32 D_800EF4CC;
|
|
extern f32 D_800EF4D0;
|
|
extern f32 D_800EF4D4;
|
|
|
|
void func_80089020(s32 arg0, f32 *arg1) {
|
|
f32 temp_f0;
|
|
f64 temp_f0_2;
|
|
f64 temp_f0_3;
|
|
f64 temp_f0_4;
|
|
f64 temp_f0_5;
|
|
f32 phi_f2;
|
|
f32 phi_f0;
|
|
|
|
temp_f0 = *arg1;
|
|
if (temp_f0 >= 0.0f) {
|
|
phi_f2 = temp_f0;
|
|
} else {
|
|
phi_f2 = -temp_f0;
|
|
}
|
|
if ((D_800DC4DC[arg0].unk_0BC & 0xC0) != 0) {
|
|
if (gCurrentCourseId == 0xC) {
|
|
temp_f0_2 = phi_f2;
|
|
if (temp_f0_2 <= 0.5) {
|
|
phi_f0 = D_800EF4A0;
|
|
} else if (temp_f0_2 <= 2.0) {
|
|
phi_f0 = D_800EF4A4;
|
|
} else if (temp_f0_2 <= 4.0) {
|
|
phi_f0 = D_800EF4A8;
|
|
} else {
|
|
phi_f0 = 0.25f;
|
|
}
|
|
} else {
|
|
temp_f0_3 = phi_f2;
|
|
if (temp_f0_3 <= 2.0) {
|
|
phi_f0 = D_800EF4AC;
|
|
} else if (temp_f0_3 <= 3.0) {
|
|
phi_f0 = D_800EF4B0;
|
|
} else if (temp_f0_3 <= 4.0) {
|
|
phi_f0 = D_800EF4B4;
|
|
} else {
|
|
phi_f0 = 0.25f;
|
|
}
|
|
}
|
|
} else if (gCurrentCourseId == 0xC) {
|
|
temp_f0_4 = phi_f2;
|
|
if (temp_f0_4 <= 0.5) {
|
|
phi_f0 = D_800EF4B8;
|
|
} else if (temp_f0_4 <= 2.0) {
|
|
phi_f0 = D_800EF4BC;
|
|
} else if (temp_f0_4 <= 4.0) {
|
|
phi_f0 = D_800EF4C0;
|
|
} else {
|
|
phi_f0 = D_800EF4C4;
|
|
}
|
|
} else {
|
|
temp_f0_5 = phi_f2;
|
|
if (temp_f0_5 <= 2.0) {
|
|
phi_f0 = D_800EF4C8;
|
|
} else if (temp_f0_5 <= 3.0) {
|
|
phi_f0 = D_800EF4CC;
|
|
} else if (temp_f0_5 <= 4.0) {
|
|
phi_f0 = D_800EF4D4;
|
|
} else {
|
|
phi_f0 = D_800EF4D0;
|
|
}
|
|
}
|
|
func_800413B8(0.0f, arg1, 0.0f, phi_f0, arg1);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089020.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80089020(f32 *, f32 *); // extern
|
|
|
|
void func_800892E0(s32 arg0) {
|
|
struct_D_8018CE10 *sp1C;
|
|
s8 temp_v1;
|
|
struct_D_8018CE10 *temp_v0;
|
|
|
|
temp_v0 = &D_8018CE10[arg0];
|
|
sp1C = temp_v0;
|
|
func_80089020(&temp_v0->unk_04);
|
|
func_80089020(arg0, &temp_v0->unk_0C);
|
|
temp_v1 = temp_v0->unk1E;
|
|
if (temp_v1 > 0) {
|
|
temp_v0->unk1E = temp_v1 - 1;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800892E0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
f32 func_8008933C(void *arg0, s32 arg1, f32 arg2, f32 arg3) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f2;
|
|
f32 temp_f2_2;
|
|
struct_D_8018CE10 *temp_v1;
|
|
void *temp_v0;
|
|
f32 phi_f2;
|
|
|
|
temp_v1 = &D_8018CE10[(arg0 - D_800DC4DC) / 0xDD8];
|
|
phi_f2 = 0.0f;
|
|
if (temp_v1->unk1E == 0) {
|
|
arg0->unk46 = arg0->unk46 | 2;
|
|
arg0->unkBC = arg0->unkBC | 0x8000;
|
|
temp_v1->unk1E = 4;
|
|
temp_v0 = (arg1 * 0xE0) + &D_80165C18;
|
|
temp_f2 = temp_v0->unk38;
|
|
if ((temp_f2 * (arg0->unk14 - temp_v0->unk4)) >= 0.0f) {
|
|
temp_v1->unk_04 = (temp_f2 * arg3) + (-arg0->unk34 * arg2);
|
|
} else {
|
|
temp_v1->unk_04 = -arg0->unk34 * arg2;
|
|
}
|
|
temp_f2_2 = temp_v0->unk40;
|
|
if ((temp_f2_2 * (arg0->unk1C - temp_v0->unkC)) >= 0.0f) {
|
|
temp_v1->unk_0C = (temp_f2_2 * arg3) + (-arg0->unk3C * arg2);
|
|
} else {
|
|
temp_v1->unk_0C = -arg0->unk3C * arg2;
|
|
}
|
|
temp_f0 = temp_v1->unk_0C;
|
|
temp_f12 = temp_v1->unk_04;
|
|
phi_f2 = (temp_f0 * temp_f0) + (temp_f12 * temp_f12);
|
|
}
|
|
return phi_f2;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008933C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80072180(); // extern
|
|
s32 func_8007223C(?); // extern
|
|
f32 func_8008933C(Player *, s32, s32, s32); // extern
|
|
? func_800C9060(u8, s32); // extern
|
|
|
|
void func_80089474(s32 arg0, u8 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
|
Player *sp18;
|
|
|
|
sp18 = &D_800DC4DC[arg1];
|
|
if (func_8007223C(0x4000000) != 0) {
|
|
func_80072180();
|
|
}
|
|
if ((func_8008933C(sp18, arg0, arg2, arg3) >= 4.0) && ((sp18->unk_000 & 0x1000) != 0x1000)) {
|
|
func_800C9060(arg1, arg4);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089474.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80072180(); // extern
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
s32 func_80088D18(s32, Player *); // extern
|
|
f32 func_8008933C(Player *, s32, ?, f32); // extern
|
|
? func_800C9060(s32, ?); // extern
|
|
extern f64 D_800EF4E0;
|
|
extern ? D_80165C18;
|
|
extern s32 D_8018D158;
|
|
|
|
void func_80089820(s32 arg0, ? arg1, f32 arg2, ? arg3) {
|
|
Player *temp_s0;
|
|
f32 temp_f20;
|
|
s32 temp_s1;
|
|
u16 temp_v0;
|
|
Player *phi_s0;
|
|
s32 phi_s1;
|
|
|
|
temp_s0 = D_800DC4DC;
|
|
func_800721E8(0x2000000);
|
|
if (func_8007223C(arg0, 0x200) != 0) {
|
|
phi_s1 = 0;
|
|
if (D_8018D158 > 0) {
|
|
phi_s0 = temp_s0;
|
|
do {
|
|
if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x80000000) == 0)) {
|
|
temp_v0 = phi_s0->unk_000;
|
|
if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088D18(arg0, phi_s0) != 0)) {
|
|
if ((phi_s0->unk_0BC & 0x200) != 0) {
|
|
func_800721C0(arg0, 0x2000000);
|
|
} else {
|
|
temp_f20 = arg2 * D_800EF4E0;
|
|
if (func_8007223C(arg0, 0x4000000) != 0) {
|
|
func_80072180();
|
|
}
|
|
if ((func_8008933C(phi_s0, arg0, arg1, temp_f20) >= 4.0) && ((phi_s0->unk_000 & 0x1000) != 0x1000)) {
|
|
func_800C9060(phi_s1 & 0xFF, arg3);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
temp_s1 = phi_s1 + 1;
|
|
phi_s0 += 0xDD8;
|
|
phi_s1 = temp_s1;
|
|
} while (temp_s1 < D_8018D158);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089820.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80072180(); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
s32 func_80088DA4(s32, Player *); // extern
|
|
? func_8008933C(Player *, s32, ?, f32); // extern
|
|
extern f64 D_800EF4E8;
|
|
extern ? D_80165C18;
|
|
extern s32 D_8018D158;
|
|
|
|
void func_80089A04(s32 arg0, ? arg1, f32 arg2) {
|
|
Player *temp_s0;
|
|
f64 temp_f20;
|
|
s32 temp_s1;
|
|
Player *phi_s0;
|
|
s32 phi_s1;
|
|
|
|
temp_s0 = D_800DC4DC;
|
|
if (func_8007223C(0x200) != 0) {
|
|
phi_s1 = 0;
|
|
if (D_8018D158 > 0) {
|
|
temp_f20 = D_800EF4E8;
|
|
phi_s0 = temp_s0;
|
|
do {
|
|
if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x80000200) == 0) && (func_80088DA4(arg0, phi_s0) != 0)) {
|
|
func_8008933C(phi_s0, arg0, arg1, arg2 * temp_f20);
|
|
if (func_8007223C(arg0, 0x4000000) != 0) {
|
|
func_80072180();
|
|
}
|
|
}
|
|
temp_s1 = phi_s1 + 1;
|
|
phi_s0 += 0xDD8;
|
|
phi_s1 = temp_s1;
|
|
} while (temp_s1 < D_8018D158);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089A04.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80072180(); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
s32 func_80088D18(s32, Player *); // extern
|
|
? func_800C9060(s32, ?); // extern
|
|
extern ? D_80165C18;
|
|
extern s32 D_8018D158;
|
|
|
|
s32 func_80089B50(s32 arg0) {
|
|
s32 sp40;
|
|
Player *temp_s0;
|
|
s32 temp_s2;
|
|
u16 temp_v0;
|
|
Player *phi_s0;
|
|
s32 phi_s1;
|
|
s32 phi_s2;
|
|
|
|
sp40 = 0;
|
|
temp_s0 = D_800DC4DC;
|
|
phi_s1 = 0;
|
|
if (func_8007223C(0x200) != 0) {
|
|
phi_s2 = 0;
|
|
if (D_8018D158 > 0) {
|
|
phi_s0 = temp_s0;
|
|
do {
|
|
if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x81000000) == 0)) {
|
|
temp_v0 = phi_s0->unk_000;
|
|
if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088D18(arg0, phi_s0) != 0)) {
|
|
sp40 = 1;
|
|
if ((phi_s0->unk_0BC & 0x200) == 0) {
|
|
phi_s0->unk_00C |= 0x400000;
|
|
if (func_8007223C(arg0, 0x4000000) != 0) {
|
|
func_80072180();
|
|
}
|
|
} else {
|
|
func_800C9060(phi_s1 & 0xFF, 0x19018010);
|
|
}
|
|
}
|
|
}
|
|
temp_s2 = phi_s2 + 1;
|
|
phi_s0 += 0xDD8;
|
|
phi_s1 += 1;
|
|
phi_s2 = temp_s2;
|
|
} while (temp_s2 < D_8018D158);
|
|
}
|
|
}
|
|
return sp40;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089B50.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80072180(); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
s32 func_80088E98(s32, Player *, ?); // extern
|
|
extern ? D_80165C18;
|
|
extern s32 D_8018D158;
|
|
|
|
? func_80089CBC(s32 arg0, ? arg1) {
|
|
Player *temp_s0;
|
|
s32 temp_s1;
|
|
u16 temp_v0;
|
|
Player *phi_s0;
|
|
s32 phi_s1;
|
|
? phi_s7;
|
|
? phi_s7_2;
|
|
|
|
temp_s0 = D_800DC4DC;
|
|
phi_s7 = 0;
|
|
phi_s7_2 = 0;
|
|
if (func_8007223C(0x200) != 0) {
|
|
phi_s1 = 0;
|
|
if (D_8018D158 > 0) {
|
|
phi_s0 = temp_s0;
|
|
do {
|
|
if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x81000000) == 0)) {
|
|
temp_v0 = phi_s0->unk_000;
|
|
if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088E98(arg0, phi_s0, arg1) != 0)) {
|
|
phi_s7_2 = 1;
|
|
if ((phi_s0->unk_0BC & 0x200) == 0) {
|
|
phi_s0->unk_00C |= 0x400000;
|
|
if (func_8007223C(arg0, 0x4000000) != 0) {
|
|
func_80072180();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
temp_s1 = phi_s1 + 1;
|
|
phi_s0 += 0xDD8;
|
|
phi_s1 = temp_s1;
|
|
phi_s7 = phi_s7_2;
|
|
} while (temp_s1 < D_8018D158);
|
|
}
|
|
}
|
|
return phi_s7;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089CBC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80072180(); // extern
|
|
s32 func_8007223C(s32, ?); // extern
|
|
s32 func_80088D18(s32, Player *); // extern
|
|
extern ? D_80165C18;
|
|
extern s32 D_8018D158;
|
|
|
|
? func_80089F24(s32 arg0) {
|
|
Player *temp_s0;
|
|
s32 temp_s1;
|
|
u16 temp_v0;
|
|
Player *phi_s0;
|
|
s32 phi_s1;
|
|
? phi_s7;
|
|
? phi_s7_2;
|
|
|
|
temp_s0 = D_800DC4DC;
|
|
phi_s7 = 0;
|
|
phi_s7_2 = 0;
|
|
if (func_8007223C(0x200) != 0) {
|
|
phi_s1 = 0;
|
|
if (D_8018D158 > 0) {
|
|
phi_s0 = temp_s0;
|
|
do {
|
|
if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x800002C0) == 0)) {
|
|
temp_v0 = phi_s0->unk_000;
|
|
if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088D18(arg0, phi_s0) != 0)) {
|
|
phi_s7_2 = 1;
|
|
if (func_8007223C(arg0, 0x4000000) != 0) {
|
|
func_80072180();
|
|
}
|
|
phi_s0->unk_00C |= 0x200000;
|
|
}
|
|
}
|
|
temp_s1 = phi_s1 + 1;
|
|
phi_s0 += 0xDD8;
|
|
phi_s1 = temp_s1;
|
|
phi_s7 = phi_s7_2;
|
|
} while (temp_s1 < D_8018D158);
|
|
}
|
|
}
|
|
return phi_s7;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089F24.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165CD8;
|
|
|
|
? func_8008A060(s32 arg0, void *arg1, s32 arg2) {
|
|
s32 temp_t3;
|
|
s32 temp_t6;
|
|
? phi_v1;
|
|
|
|
temp_t6 = arg2 & 0xFFFF;
|
|
temp_t3 = ((arg1->unk26 - *(&D_80165CD8 + (arg0 * 0xE0))) + (temp_t6 >> 1)) & 0xFFFF;
|
|
phi_v1 = 0;
|
|
if ((temp_t3 >= 0) && (temp_t6 >= temp_t3)) {
|
|
phi_v1 = 1;
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A060.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_802B7830(f32, f32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_8008A0B4(s32 arg0, void *arg1, void *arg2, u16 arg3) {
|
|
s32 sp18;
|
|
s32 temp_t3;
|
|
void *temp_v0;
|
|
s32 phi_t0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp18 = 0;
|
|
temp_t3 = ((arg2->unk26 - func_802B7830(temp_v0->unk4 - arg1->unk14, temp_v0->unkC - arg1->unk1C)) + (arg3 >> 1)) & 0xFFFF;
|
|
phi_t0 = sp18;
|
|
if ((temp_t3 >= 0) && (arg3 >= temp_t3)) {
|
|
phi_t0 = 1;
|
|
}
|
|
return phi_t0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A0B4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_80041770(f32, f32, s32, s32); // extern
|
|
extern ? D_80165C18;
|
|
|
|
s32 func_8008A140(s32 arg0, void *arg1, u16 arg2) {
|
|
s32 sp18;
|
|
s32 temp_t2;
|
|
void *temp_v0;
|
|
s32 phi_t0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp18 = 0;
|
|
temp_t2 = ((func_80041770(arg1->unk0, temp_v0->unk4, arg1->unk8, temp_v0->unkC) + (arg2 / 2)) - arg1->unk26) & 0xFFFF;
|
|
phi_t0 = sp18;
|
|
if ((temp_t2 >= 0) && (arg2 >= temp_t2)) {
|
|
phi_t0 = 1;
|
|
}
|
|
return phi_t0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A140.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
u32 func_8008896C(s32, s32); // extern
|
|
s32 func_8008A140(s32, s32, ?); // extern
|
|
|
|
void func_8008A1D0(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
|
u32 sp2C;
|
|
s32 sp24;
|
|
u32 temp_v0;
|
|
? phi_a2;
|
|
|
|
sp24 = (arg1 * 0xB8) + camera1;
|
|
func_800721E8(0x140000);
|
|
temp_v0 = func_8008896C(arg0, sp24);
|
|
if (temp_v0 < 0x2711) {
|
|
phi_a2 = 0x5555;
|
|
} else {
|
|
phi_a2 = 0x2AAB;
|
|
if (temp_v0 < 0x9C41) {
|
|
phi_a2 = 0x4000;
|
|
}
|
|
}
|
|
sp2C = temp_v0;
|
|
if ((func_8008A140(arg0, sp24, phi_a2) != 0) && ((arg3 * arg3) >= temp_v0)) {
|
|
sp2C = temp_v0;
|
|
func_800721C0(arg0, 0x40000);
|
|
if (temp_v0 >= (arg2 * arg2)) {
|
|
func_800721C0(arg0, 0x100000);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A1D0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
u32 func_8008896C(s32, s32); // extern
|
|
s32 func_8008A140(s32, s32, u16); // extern
|
|
|
|
u32 func_8008A364(s32 arg0, s32 arg1, u16 arg2, s32 arg3) {
|
|
s32 sp24;
|
|
u32 sp20;
|
|
u32 temp_v0;
|
|
u16 phi_a2;
|
|
u32 phi_v1;
|
|
|
|
sp24 = (arg1 * 0xB8) + camera1;
|
|
func_800721E8(0x60000);
|
|
temp_v0 = func_8008896C(arg0, sp24);
|
|
phi_v1 = temp_v0;
|
|
if (temp_v0 < (arg3 * arg3)) {
|
|
sp20 = temp_v0;
|
|
func_800721C0(arg0, 0x20000);
|
|
if (sp20 < 0x2711) {
|
|
phi_a2 = 0x5555;
|
|
} else {
|
|
phi_a2 = arg2;
|
|
if (sp20 < 0x9C41) {
|
|
phi_a2 = 0x4000;
|
|
}
|
|
}
|
|
sp20 = sp20;
|
|
phi_v1 = sp20;
|
|
if (func_8008A140(arg0, sp24, phi_a2) != 0) {
|
|
sp20 = sp20;
|
|
func_800721C0(arg0, 0x40000);
|
|
phi_v1 = sp20;
|
|
}
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A364.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(s32, ?); // extern
|
|
u32 func_8008896C(s32); // extern
|
|
|
|
void func_8008A454(s32 arg0, s32 arg1, s32 arg2) {
|
|
if (func_8008896C((arg1 * 0xB8) + camera1) < (arg2 * arg2)) {
|
|
func_800721C0(arg0, 0x20);
|
|
return;
|
|
}
|
|
func_800721E8(arg0, 0x20);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A454.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
s32 func_8008A140(s32, s32, ?); // extern
|
|
extern ? D_80165C18;
|
|
extern ? D_8018CF68;
|
|
|
|
void func_8008A4CC(s32 arg0) {
|
|
s16 *temp_s0;
|
|
s16 temp_v0;
|
|
s32 temp_s2;
|
|
u8 temp_v1;
|
|
void *temp_s3;
|
|
s32 phi_s2;
|
|
s32 phi_s4;
|
|
|
|
func_800721E8(0x70000);
|
|
phi_s2 = 0;
|
|
phi_s4 = camera1;
|
|
if (gPlayerCountSelection1 > 0) {
|
|
temp_s3 = (arg0 * 0xE0) + &D_80165C18;
|
|
do {
|
|
temp_s0 = &D_8018CF68 + (phi_s2 * 2);
|
|
if (temp_s3->unkA6 != 0) {
|
|
temp_v1 = temp_s3->unkDF;
|
|
temp_v0 = *temp_s0;
|
|
if ((temp_v0 >= (temp_v1 - 1)) && ((temp_v1 + 1) >= temp_v0)) {
|
|
func_800721C0(arg0, 0x10000);
|
|
if (*temp_s0 == temp_s3->unkDF) {
|
|
func_800721C0(arg0, 0x20000);
|
|
}
|
|
if (func_8008A140(arg0, phi_s4, 0x2AAB) != 0) {
|
|
func_800721C0(arg0, 0x40000);
|
|
}
|
|
}
|
|
}
|
|
temp_s2 = phi_s2 + 1;
|
|
phi_s2 = temp_s2;
|
|
phi_s4 += 0xB8;
|
|
} while (temp_s2 < gPlayerCountSelection1);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A4CC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
? func_800721E8(?); // extern
|
|
s32 func_80088BB8(s32, s32, f32); // extern
|
|
s32 func_8008A140(s32, s32, ?); // extern
|
|
extern f64 D_800EF4F0;
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008A6DC(s32 arg0, f32 arg1) {
|
|
f64 temp_f22;
|
|
s32 temp_s2;
|
|
s32 phi_s1;
|
|
? phi_a2;
|
|
s32 phi_s2;
|
|
|
|
func_800721E8(0x60000);
|
|
phi_s1 = camera1;
|
|
phi_s2 = 0;
|
|
if (gPlayerCountSelection1 > 0) {
|
|
temp_f22 = D_800EF4F0;
|
|
do {
|
|
if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && (func_80088BB8(arg0, phi_s1, arg1) != 0)) {
|
|
func_800721C0(arg0, 0x20000);
|
|
phi_a2 = 0x2AAB;
|
|
if (arg1 <= temp_f22) {
|
|
phi_a2 = 0x4000;
|
|
}
|
|
if (func_8008A140(arg0, phi_s1, phi_a2) != 0) {
|
|
func_800721C0(arg0, 0x40000);
|
|
}
|
|
}
|
|
temp_s2 = phi_s2 + 1;
|
|
phi_s1 += 0xB8;
|
|
phi_s2 = temp_s2;
|
|
} while (temp_s2 < gPlayerCountSelection1);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A6DC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_802ABD40(u16); // extern
|
|
|
|
void func_8008A890(void *arg0) {
|
|
func_802ABD40(arg0->unk5E);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A890.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s16 D_8018CF68;
|
|
|
|
? func_8008A8B0(s16 arg0, s16 arg1) {
|
|
s16 *temp_v0;
|
|
s16 temp_a0;
|
|
s32 temp_a2;
|
|
s16 *phi_v0;
|
|
? phi_v1;
|
|
? phi_v1_2;
|
|
|
|
temp_a2 = gPlayerCountSelection1;
|
|
phi_v1 = 0;
|
|
phi_v1_2 = 0;
|
|
if (temp_a2 > 0) {
|
|
phi_v0 = &D_8018CF68;
|
|
do {
|
|
temp_a0 = *phi_v0;
|
|
temp_v0 = phi_v0 + 2;
|
|
phi_v0 = temp_v0;
|
|
if ((temp_a0 >= arg0) && (arg1 >= temp_a0)) {
|
|
phi_v1_2 = 1;
|
|
}
|
|
phi_v1 = phi_v1_2;
|
|
} while (temp_v0 < ((temp_a2 * 2) + &D_8018CF68));
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A8B0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008A920(s32 arg0) {
|
|
void *temp_v0;
|
|
void *temp_v1;
|
|
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0 = temp_v1->unk7C;
|
|
temp_v1->unk38 = (temp_v0->unk8 - temp_v0->unk0) / temp_v0->unk6;
|
|
temp_v1->unk3C = (temp_v0->unkA - temp_v0->unk2) / temp_v0->unk6;
|
|
temp_v1->unk40 = (temp_v0->unkC - temp_v0->unk4) / temp_v0->unk6;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A920.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008A920(); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008A9B8(s32 arg0) {
|
|
void *temp_t9;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_t9 = temp_v0->unk7C + 8;
|
|
temp_v0->unk7C = temp_t9;
|
|
temp_v0->unk9A = 0x2710 / temp_t9->unk6;
|
|
temp_v0->unk98 = 0;
|
|
func_8008A920();
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A9B8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80086FD4(s32); // extern
|
|
? func_8008A920(); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008AA3C(s32 arg0) {
|
|
void *temp_v0;
|
|
void *temp_v1;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v1 = temp_v0->unk80 + 2;
|
|
temp_v0->unk7C = temp_v1;
|
|
temp_v0->unk96 = 0;
|
|
temp_v0->unk98 = 0;
|
|
temp_v0->unk94 = temp_v1->unk-2;
|
|
temp_v0->unk28 = temp_v1->unk0;
|
|
temp_v0->unk2C = temp_v1->unk2;
|
|
temp_v0->unk30 = temp_v1->unk4;
|
|
temp_v0->unk9A = 0x2710 / temp_v1->unk6;
|
|
func_8008A920();
|
|
func_80086FD4(arg0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AA3C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008A9B8(); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008AB10(s32 arg0) {
|
|
u16 temp_t0;
|
|
u16 temp_t3;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk28 = temp_v0->unk28 + temp_v0->unk38;
|
|
temp_t0 = temp_v0->unk98 + temp_v0->unk9A;
|
|
temp_v0->unk2C = temp_v0->unk2C + temp_v0->unk3C;
|
|
temp_v0->unk30 = temp_v0->unk30 + temp_v0->unk40;
|
|
temp_v0->unk98 = temp_t0;
|
|
if ((temp_t0 & 0xFFFF) >= 0x2710) {
|
|
temp_t3 = temp_v0->unk96 + 1;
|
|
temp_v0->unk96 = temp_t3;
|
|
if (((temp_t3 & 0xFFFF) + 1) == temp_v0->unk94) {
|
|
temp_v0->unkAE = temp_v0->unkAE + 1;
|
|
return;
|
|
}
|
|
func_8008A9B8();
|
|
// Duplicate return node #4. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AB10.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern f64 D_800EF4F8;
|
|
extern f64 D_800EF500;
|
|
|
|
void func_8008ACE0(void *arg0, f32 arg1) {
|
|
f32 temp_f14;
|
|
f32 temp_f2;
|
|
f64 temp_f0;
|
|
f64 temp_f16;
|
|
f64 temp_f18;
|
|
|
|
temp_f0 = arg1;
|
|
temp_f2 = 1.0 - temp_f0;
|
|
temp_f14 = arg1 * arg1;
|
|
temp_f18 = temp_f14;
|
|
temp_f16 = temp_f14 * arg1;
|
|
arg0->unk0 = (temp_f2 * temp_f2 * temp_f2) / 6.0;
|
|
arg0->unk4 = ((temp_f16 * 0.5) - temp_f18) + D_800EF4F8;
|
|
arg0->unk8 = (temp_f16 * -0.5) + (0.5 * temp_f18) + (0.5 * temp_f0) + D_800EF500;
|
|
arg0->unkC = temp_f16 / 6.0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008ACE0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
void func_8008ADD0(void *arg0, f32 arg1) {
|
|
f64 temp_f0;
|
|
f64 temp_f14;
|
|
f64 temp_f16;
|
|
f64 temp_f2;
|
|
|
|
temp_f0 = arg1;
|
|
temp_f16 = 2.0 * temp_f0;
|
|
temp_f2 = 1.0 - temp_f0;
|
|
temp_f14 = arg1 * arg1;
|
|
arg0->unk0 = temp_f2 * -0.5 * temp_f2;
|
|
arg0->unk4 = (temp_f14 * 1.5) - temp_f16;
|
|
arg0->unk8 = (((temp_f14 * 3.0) - temp_f16) - 1.0) * -0.5;
|
|
arg0->unkC = temp_f14 * 0.5;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008ADD0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165760;
|
|
extern ? D_80165770;
|
|
extern ? D_80165780;
|
|
extern ? D_80165C18;
|
|
extern ? D_80183DC8;
|
|
|
|
void func_8008AE9C(s32 arg0) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f14;
|
|
f32 temp_f2;
|
|
void *temp_v0;
|
|
|
|
temp_f2 = D_80183DC8.unk0;
|
|
temp_f12 = D_80183DC8.unk4;
|
|
temp_f14 = D_80183DC8.unk8;
|
|
temp_f0 = D_80183DC8.unkC;
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk38 = (D_80165760.unk6 * temp_f0) + ((temp_f2 * D_80165760.unk0) + (temp_f12 * D_80165760.unk2) + (temp_f14 * D_80165760.unk4));
|
|
temp_v0->unk3C = (D_80165770.unk6 * temp_f0) + ((temp_f2 * D_80165770.unk0) + (temp_f12 * D_80165770.unk2) + (temp_f14 * D_80165770.unk4));
|
|
temp_v0->unk40 = (D_80165780.unk6 * temp_f0) + ((temp_f2 * D_80165780.unk0) + (temp_f12 * D_80165780.unk2) + (temp_f14 * D_80165780.unk4));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AE9C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008ADD0(?, ? *, ?); // extern
|
|
? func_8008AE9C(s32); // extern
|
|
extern ? D_80183DC8;
|
|
|
|
void func_8008AFE0(s32 arg0, ? arg1) {
|
|
func_8008ADD0(arg1, &D_80183DC8, arg1);
|
|
func_8008AE9C(arg0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AFE0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165760;
|
|
extern ? D_80165770;
|
|
extern ? D_80165780;
|
|
extern ? D_80165C18;
|
|
extern ? D_80183DA8;
|
|
|
|
void func_8008B038(s32 arg0) {
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
f32 temp_f14;
|
|
f32 temp_f2;
|
|
void *temp_v0;
|
|
|
|
temp_f2 = D_80183DA8.unk0;
|
|
temp_f12 = D_80183DA8.unk4;
|
|
temp_f14 = D_80183DA8.unk8;
|
|
temp_f0 = D_80183DA8.unkC;
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk28 = (D_80165760.unk6 * temp_f0) + ((temp_f2 * D_80165760.unk0) + (temp_f12 * D_80165760.unk2) + (temp_f14 * D_80165760.unk4));
|
|
temp_v0->unk2C = (D_80165770.unk6 * temp_f0) + ((temp_f2 * D_80165770.unk0) + (temp_f12 * D_80165770.unk2) + (temp_f14 * D_80165770.unk4));
|
|
temp_v0->unk30 = (D_80165780.unk6 * temp_f0) + ((temp_f2 * D_80165780.unk0) + (temp_f12 * D_80165780.unk2) + (temp_f14 * D_80165780.unk4));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B038.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008ACE0(?, ? *, ?); // extern
|
|
? func_8008B038(s32); // extern
|
|
extern ? D_80183DA8;
|
|
|
|
void func_8008B17C(s32 arg0, ? arg1) {
|
|
func_8008ACE0(arg1, &D_80183DA8, arg1);
|
|
func_8008B038(arg0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B17C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s16 D_80165760;
|
|
extern s16 D_80165762;
|
|
extern s16 D_80165764;
|
|
extern s16 D_80165766;
|
|
extern s16 D_80165770;
|
|
extern s16 D_80165772;
|
|
extern s16 D_80165774;
|
|
extern s16 D_80165776;
|
|
extern s16 D_80165780;
|
|
extern s16 D_80165782;
|
|
extern s16 D_80165784;
|
|
extern s16 D_80165786;
|
|
extern ? D_80165C94;
|
|
|
|
void func_8008B1D4(s32 arg0) {
|
|
s16 *temp_v0;
|
|
void *temp_v0_2;
|
|
|
|
temp_v0 = *(&D_80165C94 + (arg0 * 0xE0));
|
|
temp_v0_2 = temp_v0 + 0x18;
|
|
D_80165760 = *temp_v0;
|
|
D_80165770 = temp_v0_2->unk-16;
|
|
D_80165780 = temp_v0_2->unk-14;
|
|
D_80165762 = temp_v0_2->unk-10;
|
|
D_80165772 = temp_v0_2->unk-E;
|
|
D_80165782 = temp_v0_2->unk-C;
|
|
D_80165764 = temp_v0_2->unk-8;
|
|
D_80165774 = temp_v0_2->unk-6;
|
|
D_80165784 = temp_v0_2->unk-4;
|
|
D_80165766 = temp_v0_2->unk0;
|
|
D_80165776 = temp_v0_2->unk2;
|
|
D_80165786 = temp_v0_2->unk4;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B1D4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s16 D_80165760;
|
|
extern s16 D_80165762;
|
|
extern s16 D_80165764;
|
|
extern s16 D_80165766;
|
|
extern s16 D_80165770;
|
|
extern s16 D_80165772;
|
|
extern s16 D_80165774;
|
|
extern s16 D_80165776;
|
|
extern s16 D_80165780;
|
|
extern s16 D_80165782;
|
|
extern s16 D_80165784;
|
|
extern s16 D_80165786;
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B284(s32 arg0) {
|
|
s32 sp0;
|
|
s16 *temp_v0_2;
|
|
s16 temp_a1;
|
|
u16 temp_a2;
|
|
void *temp_v0;
|
|
void *temp_v0_3;
|
|
void *temp_v1;
|
|
s16 *phi_v0;
|
|
void *phi_v0_2;
|
|
void *phi_v0_3;
|
|
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_a2 = temp_v1->unk94;
|
|
temp_a1 = temp_v1->unk96;
|
|
temp_v0 = temp_v1->unk7C;
|
|
if ((temp_a2 - 4) >= temp_a1) {
|
|
sp0 = 0x2710;
|
|
} else if ((temp_a1 + 3) == temp_a2) {
|
|
sp0 = 2;
|
|
} else if ((temp_a1 + 2) == temp_a2) {
|
|
sp0 = 1;
|
|
} else if ((temp_a1 + 1) == temp_a2) {
|
|
sp0 = 0;
|
|
}
|
|
D_80165760 = temp_v0->unk0;
|
|
temp_v0_2 = temp_v0 + 8;
|
|
D_80165770 = temp_v0->unk2;
|
|
D_80165780 = temp_v0_2->unk-4;
|
|
phi_v0 = temp_v0_2;
|
|
if (sp0 == 0) {
|
|
phi_v0 = temp_v1->unk80 + 2;
|
|
}
|
|
temp_v0_3 = phi_v0 + 8;
|
|
D_80165762 = *phi_v0;
|
|
D_80165772 = temp_v0_3->unk-6;
|
|
D_80165782 = temp_v0_3->unk-4;
|
|
phi_v0_2 = temp_v0_3;
|
|
if (sp0 == 1) {
|
|
phi_v0_2 = temp_v1->unk80 + 2;
|
|
}
|
|
D_80165764 = phi_v0_2->unk0;
|
|
D_80165774 = phi_v0_2->unk2;
|
|
D_80165784 = phi_v0_2->unk4;
|
|
if (sp0 == 2) {
|
|
phi_v0_3 = temp_v1->unk80 + 2;
|
|
} else {
|
|
phi_v0_3 = phi_v0_2 + 8;
|
|
}
|
|
D_80165766 = phi_v0_3->unk0;
|
|
D_80165776 = phi_v0_3->unk2;
|
|
D_80165786 = phi_v0_3->unk4;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B284.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721C0(s32, ?); // extern
|
|
s32 func_80072270(?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B3E4(s32 arg0) {
|
|
void *temp_v0;
|
|
void *temp_v1;
|
|
|
|
if (func_80072270(8) != 0) {
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk96 = 0;
|
|
temp_v0->unk98 = 0;
|
|
temp_v1 = temp_v0->unk80 + 2;
|
|
temp_v0->unk7C = temp_v1;
|
|
temp_v0->unk94 = temp_v1->unk-2;
|
|
func_800721C0(arg0, 8);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B3E4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B44C(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk98 = 0;
|
|
temp_v0->unk7C = temp_v0->unk7C + 8;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B44C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_8007223C(s32, ?); // extern
|
|
? func_8008AFE0(s32, f32); // extern
|
|
? func_8008B17C(s32, f32); // extern
|
|
? func_8008B1D4(s32); // extern
|
|
? func_8008B284(s32); // extern
|
|
? func_8008B3E4(); // extern
|
|
extern f64 D_800EF508;
|
|
extern f64 D_800EF510;
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B478(s32 arg0, s32 arg1) {
|
|
f32 sp34;
|
|
void *sp24;
|
|
f32 temp_f0;
|
|
f32 temp_f0_2;
|
|
f32 temp_f6;
|
|
s32 temp_t7;
|
|
u16 temp_t9;
|
|
u32 temp_t3;
|
|
void *temp_v0;
|
|
void *temp_v1;
|
|
f32 phi_f6;
|
|
|
|
func_8008B3E4();
|
|
if (arg1 != 0) {
|
|
func_8008B284(arg0);
|
|
} else {
|
|
func_8008B1D4(arg0);
|
|
}
|
|
temp_t7 = arg0 * 0xE0;
|
|
temp_v1 = temp_t7 + &D_80165C18;
|
|
temp_t9 = temp_v1->unk98;
|
|
temp_f6 = temp_t9;
|
|
phi_f6 = temp_f6;
|
|
if (temp_t9 < 0) {
|
|
phi_f6 = temp_f6 + 4294967296.0f;
|
|
}
|
|
sp24 = temp_v1;
|
|
temp_f0 = phi_f6 / D_800EF508;
|
|
sp34 = temp_f0;
|
|
func_8008B17C(arg0, temp_f0);
|
|
if (func_8007223C(arg0, 0x800) != 0) {
|
|
sp24 = temp_v1;
|
|
func_8008AFE0(arg0, sp34);
|
|
}
|
|
temp_v0 = (temp_t7 + &D_80165C18)->unk7C;
|
|
temp_f0_2 = temp_v0->unk6;
|
|
temp_t3 = D_800EF510 / (((temp_v0->unkE - temp_f0_2) * sp34) + temp_f0_2);
|
|
(temp_t7 + &D_80165C18)->unk9A = temp_t3;
|
|
(temp_t7 + &D_80165C18)->unk98 = (temp_t7 + &D_80165C18)->unk98 + temp_t3;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B478.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008B44C(s32); // extern
|
|
? func_8008B478(?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B620(s32 arg0) {
|
|
u16 temp_t0;
|
|
void *temp_v0;
|
|
|
|
func_8008B478(0);
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
if (temp_v0->unk98 >= 0x2710) {
|
|
temp_t0 = temp_v0->unk96 + 1;
|
|
temp_v0->unk96 = temp_t0;
|
|
if (((temp_t0 & 0xFFFF) + 3) == temp_v0->unk94) {
|
|
temp_v0->unkAE = temp_v0->unkAE + 1;
|
|
return;
|
|
}
|
|
func_8008B44C(arg0);
|
|
// Duplicate return node #4. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B620.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800721E8(s32, ?); // extern
|
|
? func_8008B44C(s32); // extern
|
|
? func_8008B478(?); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B6A4(s32 arg0) {
|
|
u16 temp_t0;
|
|
void *temp_v0;
|
|
|
|
func_8008B478(1);
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
if (temp_v0->unk98 >= 0x2710) {
|
|
temp_t0 = temp_v0->unk96 + 1;
|
|
temp_v0->unk96 = temp_t0;
|
|
if ((temp_t0 & 0xFFFF) == temp_v0->unk94) {
|
|
func_800721E8(arg0, 8);
|
|
return;
|
|
}
|
|
func_8008B44C(arg0);
|
|
// Duplicate return node #4. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B6A4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_80086F60(); // extern
|
|
? func_8008B620(); // extern
|
|
extern ? D_80165CC6;
|
|
|
|
void func_8008B724(s32 arg0) {
|
|
s16 temp_v0;
|
|
|
|
temp_v0 = *(&D_80165CC6 + (arg0 * 0xE0));
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 != 1) {
|
|
if (temp_v0 != 2) {
|
|
return;
|
|
}
|
|
func_80086F60();
|
|
// Duplicate return node #6. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
func_8008B620();
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B724.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8008B6A4(); // extern
|
|
extern ? D_80165CC6;
|
|
|
|
void func_8008B78C(s32 arg0) {
|
|
s16 temp_v0;
|
|
|
|
temp_v0 = *(&D_80165CC6 + (arg0 * 0xE0));
|
|
if ((temp_v0 != 0) && (temp_v0 == 1)) {
|
|
func_8008B6A4();
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B78C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B7D4(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk10 = arg1;
|
|
temp_v0->unk14 = arg2;
|
|
temp_v0->unk18 = arg3;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B7D4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B80C(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk28 = arg1;
|
|
temp_v0->unk2C = arg2;
|
|
temp_v0->unk30 = arg3;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B80C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B844(s32 arg0) {
|
|
f32 temp_f0;
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_f0 = temp_v0->unk10;
|
|
temp_v0->unk4 = temp_v0->unk28 + temp_f0;
|
|
temp_v0->unk8 = temp_v0->unk2C + temp_f0;
|
|
temp_v0->unkC = temp_v0->unk30 + temp_f0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B844.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B888(s32 arg0, s16 arg1, s16 arg2, s16 arg3) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkBE = arg1;
|
|
temp_v0->unkC0 = arg2;
|
|
temp_v0->unkC2 = arg3;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B888.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B8BC(s32 arg0, s16 arg1, s16 arg2, s16 arg3) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unkB2 = arg1;
|
|
temp_v0->unkB4 = arg2;
|
|
temp_v0->unkB6 = arg3;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B8BC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008B8F0(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk38 = arg1;
|
|
temp_v0->unk3C = arg2;
|
|
temp_v0->unk40 = arg3;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B8F0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C2C;
|
|
|
|
void func_8008BAB4(s32 arg0, s16 arg1, u16 arg2) {
|
|
*(&D_80165C2C + (arg0 * 0xE0)) = arg1 + (random_int(arg2) - (arg2 / 2));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BAB4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008BD14(s32 arg0, s16 arg1, s16 arg2, s16 arg3, u16 arg4, u16 arg5, u16 arg6) {
|
|
s16 sp1E;
|
|
s16 sp1C;
|
|
s32 temp_v0;
|
|
void *temp_v1;
|
|
|
|
sp1E = random_int(arg4) - (arg4 / 2);
|
|
sp1C = random_int(arg5) - (arg5 / 2);
|
|
temp_v0 = random_int(arg6);
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v1->unk10 = arg1 + sp1E;
|
|
temp_v1->unk14 = arg2 + sp1C;
|
|
temp_v1->unk18 = arg3 + (temp_v0 - (arg6 / 2));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BD14.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 sins(u16); // extern
|
|
f32 coss(u16); // extern
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008BE0C(s32 arg0, s16 arg1, u16 arg2) {
|
|
void *sp1C;
|
|
f32 sp18;
|
|
f32 temp_f2;
|
|
f32 temp_f6;
|
|
void *temp_v0;
|
|
|
|
temp_f2 = arg1;
|
|
temp_f6 = sins(arg2) * temp_f2;
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
sp1C = temp_v0;
|
|
sp18 = temp_f2;
|
|
temp_v0->unk10 = temp_f6 + D_800DC4FC->posX;
|
|
temp_v0->unk18 = (coss(arg2) * temp_f2) + D_800DC4FC->posZ;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BE0C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008BF18(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk4 = temp_v0->unk28 + temp_v0->unk10;
|
|
temp_v0->unk8 = temp_v0->unk2C + temp_v0->unk14;
|
|
temp_v0->unkC = temp_v0->unk30 + temp_v0->unk18;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BF18.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008BFC0(s32 arg0) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_v0->unk9C = temp_v0->unk4;
|
|
temp_v0->unk9E = temp_v0->unk8;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BFC0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? func_80086F60(); /* extern */
|
|
? func_80088228(); /* extern */
|
|
? func_80088364(); /* extern */
|
|
? func_8008B620(); /* extern */
|
|
? func_8008B6A4(); /* extern */
|
|
extern ? D_80165C18;
|
|
|
|
void func_8008BFFC(s32 arg0) {
|
|
s16 temp_v0;
|
|
s16 temp_v0_2;
|
|
s16 temp_v0_3;
|
|
s16 temp_v0_4;
|
|
s16 temp_v0_5;
|
|
s16 temp_v0_6;
|
|
u8 temp_t8;
|
|
void *temp_v1;
|
|
|
|
temp_v1 = (arg0 * 0xE0) + &D_80165C18;
|
|
temp_t8 = temp_v1->unkDE;
|
|
switch (temp_t8) {
|
|
case 1:
|
|
if (temp_v1->unkAE == 1) {
|
|
func_8008B620();
|
|
return;
|
|
}
|
|
default:
|
|
return;
|
|
case 2:
|
|
temp_v0 = temp_v1->unkAE;
|
|
if ((temp_v0 != 0) && (temp_v0 == 1)) {
|
|
func_8008B6A4();
|
|
return;
|
|
}
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
case 3:
|
|
temp_v0_2 = temp_v1->unkAE;
|
|
if ((temp_v0_2 != 0) && (temp_v0_2 == 1)) {
|
|
func_8008B620();
|
|
return;
|
|
}
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
case 4:
|
|
temp_v0_3 = temp_v1->unkAE;
|
|
if (temp_v0_3 != 0) {
|
|
if (temp_v0_3 != 1) {
|
|
if (temp_v0_3 != 2) {
|
|
return;
|
|
}
|
|
func_80086F60();
|
|
return;
|
|
}
|
|
func_8008B620();
|
|
return;
|
|
}
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
case 5:
|
|
temp_v0_4 = temp_v1->unkAE;
|
|
if (temp_v0_4 != 0) {
|
|
if (temp_v0_4 != 1) {
|
|
if (temp_v0_4 != 2) {
|
|
return;
|
|
}
|
|
func_80086F60();
|
|
return;
|
|
}
|
|
func_8008B620();
|
|
return;
|
|
}
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
case 6:
|
|
temp_v0_5 = temp_v1->unkAE;
|
|
if ((temp_v0_5 != 0) && (temp_v0_5 == 1)) {
|
|
func_8008B620();
|
|
return;
|
|
}
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
case 7:
|
|
temp_v0_6 = temp_v1->unkAE;
|
|
if (temp_v0_6 != 0) {
|
|
if (temp_v0_6 != 1) {
|
|
if (temp_v0_6 != 2) {
|
|
return;
|
|
}
|
|
func_80088364();
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
}
|
|
func_80088228();
|
|
return;
|
|
}
|
|
/* Duplicate return node #31. Try simplifying control flow for better match */
|
|
return;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BFFC.s")
|
|
#endif
|