mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-17 07:27:39 -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
6376 lines
194 KiB
C
6376 lines
194 KiB
C
#include <ultra64.h>
|
|
#include <macros.h>
|
|
#include <defines.h>
|
|
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C13F0.s")
|
|
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern OSMesgQueue *D_800EA3B0;
|
|
extern OSMesgQueue *D_800EA3B4;
|
|
|
|
void func_800C13FC(void *arg0) {
|
|
void *sp34;
|
|
|
|
osRecvMesg(D_800EA3B4, &sp34, 0);
|
|
osSendMesg(D_800EA3B0, arg0, 0);
|
|
osRecvMesg(D_800EA3B4, &sp34, 1);
|
|
if (sp34 != arg0) {
|
|
osRecvMesg(D_800EA3B4, &sp34, 1);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C13FC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80191420;
|
|
|
|
f32 func_800C1480(s32 arg0, s32 arg1) {
|
|
? sp-10;
|
|
f32 temp_f0;
|
|
f32 temp_f12;
|
|
s32 temp_v0_2;
|
|
s32 temp_v1;
|
|
void *temp_v0;
|
|
s32 phi_v0;
|
|
f32 phi_f2;
|
|
f32 phi_f2_2;
|
|
|
|
sp-10.unk10 = arg0;
|
|
sp-10.unk14 = arg1;
|
|
temp_v0 = ((arg0 & 0xFF) * 0x3C0) + ((arg1 & 0xFF) * 0x30) + &D_80191420;
|
|
temp_v1 = temp_v0->unk24;
|
|
if (temp_v1 & 0x400000) {
|
|
return 1.0f;
|
|
}
|
|
temp_f0 = temp_v0->unk1C;
|
|
temp_v0_2 = temp_v1 & 0x30000;
|
|
if (temp_f0 > 2000.0f) {
|
|
phi_f2 = 0.0f;
|
|
} else {
|
|
if (temp_v0_2 != 0x10000) {
|
|
if (temp_v0_2 != 0x20000) {
|
|
if (temp_v0_2 != 0x30000) {
|
|
phi_v0 = 0x190;
|
|
} else {
|
|
phi_v0 = 0x3E8;
|
|
}
|
|
} else {
|
|
phi_v0 = 0x29A;
|
|
}
|
|
} else {
|
|
phi_v0 = 0x1F4;
|
|
}
|
|
temp_f12 = phi_v0;
|
|
if (temp_f0 < temp_f12) {
|
|
phi_f2_2 = (((temp_f12 - temp_f0) / temp_f12) * 0.5) + 0.5;
|
|
} else {
|
|
phi_f2_2 = (1.0 - ((temp_f0 - temp_f12) / (2000.0f - temp_f12))) * 0.5;
|
|
}
|
|
phi_f2 = phi_f2_2 * phi_f2_2;
|
|
}
|
|
return phi_f2;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1480.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s8 D_8018EF10;
|
|
extern ? D_80191420;
|
|
extern ? D_803B17D0;
|
|
extern ? D_803B5EF0;
|
|
|
|
s8 func_800C15D0(s32 arg0, s32 arg1, s32 arg2) {
|
|
? sp-10;
|
|
f32 temp_f0;
|
|
s32 temp_a0_2;
|
|
void *temp_a0;
|
|
void *temp_a3;
|
|
s8 phi_v1;
|
|
s8 phi_v0;
|
|
s8 phi_v1_2;
|
|
s8 phi_a0;
|
|
|
|
sp-10.unk10 = arg0;
|
|
sp-10.unk14 = arg1;
|
|
sp-10.unk18 = arg2;
|
|
temp_a3 = ((arg0 & 0xFF) * 0x3C0) + ((arg1 & 0xFF) * 0x30) + &D_80191420;
|
|
phi_v1 = 0;
|
|
phi_v0 = 0;
|
|
phi_v1_2 = 0;
|
|
if ((temp_a3->unk24 << 0xA) >= 0) {
|
|
temp_f0 = temp_a3->unk1C;
|
|
phi_v0 = 0xA;
|
|
if (temp_f0 < 500.0f) {
|
|
phi_v0 = (temp_f0 / 500.0f) * 10.0f;
|
|
}
|
|
}
|
|
temp_a0 = *(&D_803B17D0 + ((arg2 & 0xFF) * 4));
|
|
if (&D_803B5EF0 != temp_a0) {
|
|
phi_v1 = temp_a0->unk5E;
|
|
}
|
|
phi_v1_2 = phi_v1;
|
|
if (phi_v1 == -1) {
|
|
|
|
}
|
|
temp_a0_2 = *temp_a3->unk18 + phi_v0 + phi_v1_2 + D_8018EF10;
|
|
phi_a0 = temp_a0_2;
|
|
if (temp_a0_2 >= 0x80) {
|
|
phi_a0 = 0x7F;
|
|
}
|
|
return phi_a0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C15D0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern u8 D_800EA0F4;
|
|
extern u8 D_800EA1C0;
|
|
extern f32 D_800F35C0;
|
|
|
|
s8 func_800C16E8(f32 arg0, f32 arg1, s32 arg2) {
|
|
? sp-18;
|
|
f32 temp_f6;
|
|
f32 phi_f2;
|
|
f32 phi_f20;
|
|
f32 phi_f0;
|
|
f32 phi_f0_2;
|
|
f32 phi_f20_2;
|
|
f32 phi_f2_2;
|
|
f32 phi_f2_3;
|
|
f32 phi_f2_4;
|
|
f32 phi_f14;
|
|
f32 phi_f16;
|
|
f32 phi_f18;
|
|
|
|
sp-18.unk10 = saved_reg_f20;
|
|
sp-18.unk1C = arg1;
|
|
sp-18.unk20 = arg2;
|
|
if (D_800EA1C0 == 0) {
|
|
if (D_800EA0F4 != 0) {
|
|
phi_f2 = 10.0f;
|
|
phi_f14 = 20.0f;
|
|
phi_f16 = 10.0f;
|
|
phi_f18 = 2.5f;
|
|
} else {
|
|
phi_f2 = 100.0f;
|
|
phi_f14 = 200.0f;
|
|
phi_f16 = 5.0f;
|
|
phi_f18 = D_800F35C0;
|
|
}
|
|
if (arg0 < 0.0f) {
|
|
phi_f20 = -arg0;
|
|
} else {
|
|
phi_f20 = arg0;
|
|
}
|
|
phi_f20_2 = phi_f20;
|
|
if (phi_f2 < phi_f20) {
|
|
phi_f20_2 = phi_f2;
|
|
}
|
|
temp_f6 = sp-18.unk1C;
|
|
if (temp_f6 < 0.0f) {
|
|
phi_f0 = -temp_f6;
|
|
} else {
|
|
phi_f0 = sp-18.unk1C;
|
|
}
|
|
phi_f0_2 = phi_f0;
|
|
if (phi_f2 < phi_f0) {
|
|
phi_f0_2 = phi_f2;
|
|
}
|
|
if ((arg0 == 0.0f) && (sp-18.unk1C == 0.0f)) {
|
|
phi_f2_2 = 0.5f;
|
|
} else if ((arg0 >= 0.0f) && (phi_f0_2 <= phi_f20_2)) {
|
|
phi_f2_2 = 1.0f - ((phi_f14 - phi_f20_2) / (phi_f16 * (phi_f14 - phi_f0_2)));
|
|
} else if ((arg0 < 0.0f) && (phi_f0_2 <= phi_f20_2)) {
|
|
phi_f2_2 = (phi_f14 - phi_f20_2) / (phi_f16 * (phi_f14 - phi_f0_2));
|
|
} else {
|
|
phi_f2_2 = (arg0 / (phi_f18 * phi_f0_2)) + 0.5f;
|
|
}
|
|
phi_f2_3 = phi_f2_2;
|
|
if (phi_f2_2 > 1.0f) {
|
|
phi_f2_3 = 1.0f;
|
|
}
|
|
phi_f2_4 = phi_f2_3;
|
|
if (phi_f2_3 < 0.0f) {
|
|
phi_f2_4 = 0.0f;
|
|
}
|
|
return (phi_f2_4 * 127.0f) + 0.5f;
|
|
}
|
|
return (arg2 & 0xFF & 1) * 0x7F;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C16E8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80191444;
|
|
extern s32 D_803B7194;
|
|
|
|
f32 func_800C1934(s32 arg0, s32 arg1) {
|
|
? sp-10;
|
|
f32 temp_f6;
|
|
s32 temp_t4;
|
|
f32 phi_f2;
|
|
f32 phi_f6;
|
|
|
|
sp-10.unk10 = arg0;
|
|
sp-10.unk14 = arg1;
|
|
phi_f2 = 1.0f;
|
|
if (*(&D_80191444 + (((arg0 & 0xFF) * 0x3C0) + ((arg1 & 0xFF) * 0x30))) & 0x800000) {
|
|
temp_t4 = D_803B7194 & 0xF;
|
|
temp_f6 = temp_t4;
|
|
phi_f6 = temp_f6;
|
|
if (temp_t4 < 0) {
|
|
phi_f6 = temp_f6 + 4294967296.0f;
|
|
}
|
|
phi_f2 = 1.0f - (phi_f6 / 192.0f);
|
|
}
|
|
return phi_f2;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1934.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? func_800CBB88(s32, f32); /* extern */
|
|
? func_800CBBE8(s32, s8); /* extern */
|
|
extern ? D_8018EF18;
|
|
extern ? D_80191420;
|
|
extern ? D_80192C48;
|
|
|
|
void func_800C19D0(u8 arg0, u8 arg1, u8 arg2) {
|
|
f32 sp3C;
|
|
s8 sp3B;
|
|
f32 sp34;
|
|
s8 sp33;
|
|
u32 temp_t6;
|
|
void *temp_s0;
|
|
void *temp_s0_2;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
sp3B = 0;
|
|
sp33 = 0x40;
|
|
sp3C = 1.0f;
|
|
sp34 = 1.0f;
|
|
switch (temp_t6) {
|
|
case 0:
|
|
case 1:
|
|
case 2:
|
|
case 3:
|
|
case 5:
|
|
temp_s0 = (temp_t6 * 0x3C0) + (arg1 * 0x30) + &D_80191420;
|
|
arg0 = temp_t6;
|
|
temp_s0->unk1C = sqrtf(temp_s0->unk1C, arg1);
|
|
sp3C = *(&D_80192C48 + (arg0 * 0x10)) * (func_800C1480(arg0, arg1) * *temp_s0->unk14);
|
|
sp3B = func_800C15D0(arg0, arg1, arg2);
|
|
sp34 = *temp_s0->unk10 * func_800C1934(arg0, arg1);
|
|
sp33 = func_800C16E8(*temp_s0->unk0, *temp_s0->unk8, temp_s0->unkC);
|
|
break;
|
|
}
|
|
temp_s0_2 = (arg2 * 0xC) + &D_8018EF18;
|
|
if (sp3C != temp_s0_2->unk0) {
|
|
func_800CBBE8(((arg2 & 0xFF) << 8) | 0x6020000 | 3, sp3C * 127.0f);
|
|
temp_s0_2->unk0 = sp3C;
|
|
}
|
|
if (sp3B != temp_s0_2->unk8) {
|
|
func_800CBBE8((arg2 << 8) | 0x5020000, sp3B);
|
|
temp_s0_2->unk8 = sp3B;
|
|
}
|
|
if (sp34 != temp_s0_2->unk4) {
|
|
func_800CBB88((arg2 << 8) | 0x4020000, sp34);
|
|
temp_s0_2->unk4 = sp34;
|
|
}
|
|
if (sp33 != temp_s0_2->unk9) {
|
|
func_800CBBE8((arg2 << 8) | 0x3020000, sp33);
|
|
temp_s0_2->unk9 = sp33;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C19D0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_8018EFD8;
|
|
extern u8 D_8018FB90;
|
|
extern u8 D_8018FB91;
|
|
|
|
void *func_800C1C88(u8 arg0, s32 arg1, s32 arg2, s32 arg3, u8 arg4, s32 arg5) {
|
|
u8 temp_a2;
|
|
u8 temp_t7;
|
|
u8 temp_v0;
|
|
void *temp_a1;
|
|
void *temp_v1;
|
|
|
|
temp_v0 = D_8018FB90;
|
|
temp_v1 = &D_8018EFD8 + (temp_v0 * 0x3C);
|
|
if (temp_v1->unk2A != 0xFF) {
|
|
temp_a2 = D_8018FB91;
|
|
temp_a1 = &D_8018EFD8 + ((temp_v0 & 0xFF) * 0x3C);
|
|
temp_a1->unk29 = temp_a2;
|
|
(&D_8018EFD8 + (temp_a2 * 0x3C))->unk2A = temp_v0;
|
|
temp_t7 = temp_v1->unk2A;
|
|
D_8018FB91 = temp_v0;
|
|
D_8018FB90 = temp_t7;
|
|
(&D_8018EFD8 + ((temp_t7 & 0xFF) * 0x3C))->unk29 = 0xFF;
|
|
temp_a1->unk4 = arg1 + 4;
|
|
temp_a1->unk0 = arg1;
|
|
temp_a1->unk8 = arg1 + 8;
|
|
temp_a1->unkC = arg2;
|
|
temp_a1->unk10 = arg2 + 4;
|
|
temp_a1->unk2A = 0xFF;
|
|
temp_a1->unk14 = arg2 + 8;
|
|
temp_a1->unk24 = arg3;
|
|
temp_a1->unk1C = 0.0f;
|
|
temp_a1->unk28 = arg4;
|
|
temp_a1->unk30 = arg0;
|
|
temp_a1->unk38 = arg5;
|
|
return temp_a1;
|
|
}
|
|
return NULL;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1C88.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
f32 func_800416D8(f32, f32, u16, void *); // extern
|
|
f32 func_80041724(f32, f32, u16); // extern
|
|
|
|
void func_800C1DA4(void *arg0, void *arg1, void *arg2) {
|
|
f32 sp34;
|
|
f32 sp30;
|
|
f32 temp_f12;
|
|
f32 temp_f14;
|
|
void *temp_a3;
|
|
|
|
temp_a3 = arg2;
|
|
temp_f12 = arg0->unk0 - *arg2->unk0;
|
|
temp_f14 = arg0->unk8 - *arg2->unk8;
|
|
sp34 = temp_f12;
|
|
arg2 = temp_a3;
|
|
sp30 = temp_f14;
|
|
arg2->unk18 = func_800416D8(temp_f12, temp_f14, arg1->unk2, temp_a3);
|
|
arg2->unk20 = func_80041724(temp_f12, temp_f14, arg1->unk2);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1DA4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9F34;
|
|
extern ? D_800EA06C;
|
|
extern f32 D_800F35DC;
|
|
|
|
void func_800C1E2C(void *arg0, void *arg1, void *arg2) {
|
|
f32 sp44;
|
|
f32 sp40;
|
|
f32 sp3C;
|
|
f32 sp38;
|
|
f32 sp34;
|
|
f32 temp_f0;
|
|
f32 temp_f14;
|
|
f32 temp_f14_2;
|
|
f32 temp_f16;
|
|
f32 temp_f18;
|
|
f32 temp_f2;
|
|
f32 temp_f2_2;
|
|
f32 temp_f6;
|
|
u8 temp_v0;
|
|
void *temp_v1;
|
|
|
|
temp_f16 = *arg2->unk0 - arg0->unk0;
|
|
temp_f18 = *arg2->unk8 - arg0->unk8;
|
|
sp44 = *arg2->unkC - arg1->unk0;
|
|
sp38 = temp_f18;
|
|
sp3C = temp_f16;
|
|
temp_f6 = *arg2->unk14 - arg1->unk8;
|
|
sp40 = temp_f6;
|
|
temp_f2 = temp_f16 + sp44;
|
|
sp34 = sqrtf((temp_f16 * temp_f16) + (temp_f18 * temp_f18));
|
|
temp_f14 = temp_f18 + temp_f6;
|
|
temp_f14_2 = D_800F35DC;
|
|
temp_f2_2 = 1.0f / (1.0f - ((sp34 - sqrtf((temp_f2 * temp_f2) + (temp_f14 * temp_f14))) / arg2->unk34));
|
|
if (temp_f14_2 < temp_f2_2) {
|
|
arg2->unk2C = temp_f2_2;
|
|
} else {
|
|
arg2->unk2C = temp_f14_2;
|
|
}
|
|
temp_f0 = *arg2->unk24;
|
|
if (temp_f0 != 0.0f) {
|
|
temp_v0 = arg2->unk30;
|
|
temp_v1 = (temp_v0 * 0x10) + &D_800EA06C;
|
|
arg2->unk2C = arg2->unk2C * ((temp_f0 / temp_v1->unk4) + temp_v1->unk0 + *(&D_800E9F34 + (temp_v0 * 4)));
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1E2C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C1DA4(s32, s32, void *); // extern
|
|
? func_800C1E2C(s32, ? *, void *); // extern
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern u8 D_800EA244;
|
|
extern f32 D_800F35E0;
|
|
extern ? D_8018EFD8;
|
|
extern u8 D_8018FB90;
|
|
extern u8 D_8018FB91;
|
|
extern ? D_8018FB98;
|
|
extern ? D_8018FBA8;
|
|
extern ? D_8018FBD8;
|
|
|
|
void func_800C1F8C(void) {
|
|
s32 *temp_s2;
|
|
s32 temp_a0;
|
|
s32 temp_a1_2;
|
|
s32 temp_lo;
|
|
s32 temp_t0;
|
|
s32 temp_t9;
|
|
u8 temp_s1;
|
|
u8 temp_s1_2;
|
|
u8 temp_v0_2;
|
|
void *temp_a1;
|
|
void *temp_s0;
|
|
void *temp_v0;
|
|
void *temp_v1;
|
|
s32 phi_s1;
|
|
u8 phi_s1_2;
|
|
u8 phi_v0;
|
|
void *phi_a0;
|
|
s32 phi_a1;
|
|
|
|
temp_t0 = (D_800EA1C0 + 1) & 0xFF;
|
|
phi_s1 = 0;
|
|
if (temp_t0 > 0) {
|
|
do {
|
|
temp_lo = phi_s1 * 0xC;
|
|
temp_v0 = *(&D_8018FB98 + (phi_s1 * 4));
|
|
temp_t9 = (phi_s1 + 1) & 0xFF;
|
|
temp_v1 = &D_8018FBD8 + temp_lo;
|
|
temp_a1 = &D_8018FBA8 + temp_lo;
|
|
temp_a1->unk0 = temp_v0->unk0 - temp_v1->unk0;
|
|
temp_a1->unk8 = temp_v0->unk8 - temp_v1->unk8;
|
|
temp_v1->unk0 = temp_v0->unk0;
|
|
temp_v1->unk8 = temp_v0->unk8;
|
|
phi_s1 = temp_t9;
|
|
} while (temp_t9 < temp_t0);
|
|
}
|
|
temp_s1 = D_8018EFD8.unk2A;
|
|
phi_s1_2 = temp_s1;
|
|
phi_v0 = temp_s1;
|
|
phi_a1 = 0;
|
|
if (temp_s1 != 0xFF) {
|
|
do {
|
|
temp_s0 = &D_8018EFD8 + (phi_s1_2 * 0x3C);
|
|
if (D_800F35E0 == temp_s0->unk1C) {
|
|
phi_a0 = &D_8018EFD8 + (phi_a1 * 0x3C);
|
|
if (phi_v0 == D_8018FB91) {
|
|
D_8018FB91 = temp_s0->unk29;
|
|
} else {
|
|
(&D_8018EFD8 + (temp_s0->unk2A * 0x3C))->unk29 = temp_s0->unk29;
|
|
}
|
|
(&D_8018EFD8 + (temp_s0->unk29 * 0x3C))->unk2A = temp_s0->unk2A;
|
|
temp_v0_2 = D_8018FB90;
|
|
temp_s0->unk29 = 0xFF;
|
|
temp_s0->unk2A = temp_v0_2;
|
|
(&D_8018EFD8 + (temp_v0_2 * 0x3C))->unk29 = phi_s1_2;
|
|
D_8018FB90 = phi_s1_2;
|
|
} else {
|
|
temp_s2 = (temp_s0->unk28 * 4) + &D_8018FB98;
|
|
temp_a0 = *temp_s2;
|
|
func_800C1DA4(temp_a0, temp_a0 + 0x24, temp_s0);
|
|
if (&D_800EA1C8 != temp_s0->unkC) {
|
|
func_800C1E2C(*temp_s2, &D_8018FBA8, temp_s0);
|
|
}
|
|
temp_a1_2 = phi_s1_2 & 0xFF;
|
|
phi_a0 = &D_8018EFD8 + (temp_a1_2 * 0x3C);
|
|
phi_a1 = temp_a1_2;
|
|
}
|
|
temp_s1_2 = phi_a0->unk2A;
|
|
phi_s1_2 = temp_s1_2;
|
|
phi_v0 = temp_s1_2;
|
|
if ((temp_s1_2 != 0xFF) && (D_800EA244 < temp_s1_2)) {
|
|
D_800EA244 = temp_s1_2;
|
|
}
|
|
} while (temp_s1_2 != 0xFF);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C1F8C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern f32 D_800F35E4;
|
|
extern ? D_8018EFD8;
|
|
|
|
void *func_800C21E8(s32 arg0, s32 arg1) {
|
|
? sp-10;
|
|
u8 temp_v0;
|
|
void *temp_a1;
|
|
u8 phi_v0;
|
|
u8 phi_v0_2;
|
|
void *phi_v1;
|
|
void *phi_v1_2;
|
|
|
|
temp_v0 = D_8018EFD8.unk2A;
|
|
phi_v0 = temp_v0;
|
|
phi_v1 = NULL;
|
|
phi_v1_2 = NULL;
|
|
if (temp_v0 != 0xFF) {
|
|
do {
|
|
temp_a1 = &D_8018EFD8 + (phi_v0 * 0x3C);
|
|
if ((arg0 == temp_a1->unk0) && (arg1 == temp_a1->unk38) && (phi_v0_2 = 0xFF, (D_800F35E4 != temp_a1->unk1C))) {
|
|
phi_v1_2 = temp_a1 + 0x18;
|
|
} else {
|
|
phi_v0_2 = temp_a1->unk2A;
|
|
}
|
|
phi_v0 = phi_v0_2;
|
|
phi_v1 = phi_v1_2;
|
|
} while (phi_v0_2 != 0xFF);
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C21E8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_8001AAAC(s16, s16, s16); // extern
|
|
? func_800CBBE8(s32, ?, s32, s32); // extern
|
|
extern ? D_8018FC10;
|
|
extern ? D_803B1510;
|
|
|
|
void func_800C2274(s32 arg0) {
|
|
s16 sp46;
|
|
s16 sp44;
|
|
s16 sp42;
|
|
s16 temp_a1;
|
|
s16 temp_t7;
|
|
s32 temp_a3;
|
|
s32 temp_t2;
|
|
s32 temp_v0;
|
|
u8 temp_s0;
|
|
void *temp_s1;
|
|
void *temp_v0_2;
|
|
void *temp_v0_3;
|
|
void *temp_v0_4;
|
|
s32 phi_a2;
|
|
s16 phi_s1;
|
|
s16 phi_s0;
|
|
|
|
temp_a3 = arg0 & 0xFF;
|
|
phi_a2 = 0xF;
|
|
if ((*(&D_803B1510 + (temp_a3 * 0x148)) >> 0x1F) != 0) {
|
|
temp_v0 = D_800DC530;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 != 1) {
|
|
if (temp_v0 != 3) {
|
|
|
|
} else {
|
|
phi_a2 = 0xC;
|
|
if (gPlayerCountSelection1 == 3) {
|
|
phi_a2 = 0xD;
|
|
}
|
|
}
|
|
} else {
|
|
phi_a2 = 0xE;
|
|
}
|
|
}
|
|
temp_v0_2 = (&D_803B1510 + (temp_a3 * 0x148) + (phi_a2 * 4))->unk30;
|
|
temp_s0 = temp_v0_2->unk58;
|
|
if (temp_s0 != 0xFF) {
|
|
sp46 = temp_v0_2->unk59 & 3;
|
|
temp_t7 = temp_v0_2->unk5A & 0xF;
|
|
phi_s1 = temp_t7;
|
|
if (temp_t7 >= 0xA) {
|
|
phi_s1 = 9;
|
|
}
|
|
sp42 = temp_v0_2->unk5B & 7;
|
|
func_800CBBE8(((temp_a3 & 0xFF) << 0x10) | 0x6000000 | ((phi_a2 & 0xFF) << 8), -1, phi_a2, temp_a3);
|
|
sp44 = phi_s1;
|
|
}
|
|
if (temp_s0 != 1) {
|
|
if (temp_s0 != 2) {
|
|
return;
|
|
}
|
|
temp_v0_3 = &D_8018FC10 + (sp46 * 4);
|
|
temp_v0_3->unk0 = sp44;
|
|
temp_v0_3->unk2 = sp42;
|
|
// Duplicate return node #21. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
temp_v0_4 = &D_8018FC10 + (sp46 * 4);
|
|
temp_v0_4->unk0 = sp44;
|
|
temp_v0_4->unk2 = sp42;
|
|
phi_s0 = 0;
|
|
do {
|
|
temp_s1 = &D_8018FC10 + (phi_s0 * 4);
|
|
temp_a1 = temp_s1->unk0;
|
|
if (temp_a1 != 0xFF) {
|
|
func_8001AAAC(phi_s0, temp_a1, temp_s1->unk2);
|
|
temp_s1->unk0 = 0xFF;
|
|
}
|
|
temp_t2 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t2;
|
|
} while (temp_t2 < 4);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2274.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CBBB8(?, ?); // extern
|
|
extern ? D_800E9DB4;
|
|
extern ? D_800E9DF4;
|
|
extern ? D_800E9E74;
|
|
extern ? D_800E9E84;
|
|
extern ? D_800E9E94;
|
|
extern ? D_800E9EA4;
|
|
extern ? D_800E9F24;
|
|
extern ? D_800E9F2C;
|
|
extern ? D_800E9F34;
|
|
extern ? D_800E9F54;
|
|
extern ? D_800E9F74;
|
|
extern ? D_800E9F78;
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA06C;
|
|
extern ? D_800EA0EC;
|
|
extern s8 D_800EA0F0;
|
|
extern s8 D_800EA0F4;
|
|
extern s8 D_800EA104;
|
|
extern s8 D_800EA108;
|
|
extern ? D_800EA10C;
|
|
extern ? D_800EA130;
|
|
extern s16 D_800EA15C;
|
|
extern s16 D_800EA160;
|
|
extern s8 D_800EA164;
|
|
extern s8 D_800EA16C;
|
|
extern f32 D_800EA178;
|
|
extern f32 D_800EA17C;
|
|
extern s16 D_800EA180;
|
|
extern s16 D_800EA184;
|
|
extern f32 D_800F35E8;
|
|
extern s8 D_8018EF10;
|
|
extern ? D_8018EF18;
|
|
extern ? D_8018EFD8;
|
|
extern s8 D_8018FB90;
|
|
extern s8 D_8018FB91;
|
|
extern ? D_8018FB98;
|
|
extern ? D_8018FBA8;
|
|
extern ? D_8018FBD8;
|
|
extern s8 D_8018FC08;
|
|
extern ? D_8018FC10;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C2474(void) {
|
|
s32 temp_lo;
|
|
s32 temp_t6;
|
|
s32 temp_t6_2;
|
|
s32 temp_t6_3;
|
|
s32 temp_t8;
|
|
s32 temp_v1;
|
|
s32 temp_v1_2;
|
|
void *temp_a0;
|
|
void *temp_a0_2;
|
|
void *temp_a0_3;
|
|
void *temp_a0_4;
|
|
void *temp_a1;
|
|
void *temp_a2;
|
|
void *temp_v1_3;
|
|
s32 phi_v0;
|
|
s32 phi_v0_2;
|
|
s32 phi_v0_3;
|
|
s32 phi_v1;
|
|
s32 phi_v0_4;
|
|
|
|
D_8018EF10 = 0;
|
|
D_8018FB98.unk0 = camera1;
|
|
D_8018FB98.unk4 = camera2;
|
|
D_8018FB98.unk8 = camera3;
|
|
D_8018FB98.unkC = camera4;
|
|
D_8018FB91 = 0;
|
|
D_8018FB90 = 1;
|
|
D_800EA0F4 = 0;
|
|
D_8018FC08 = 0;
|
|
D_800EA104 = 0;
|
|
D_800EA108 = 0;
|
|
D_800EA0F0 = 0;
|
|
D_800EA16C = 0;
|
|
func_800CBBB8(0xF2000000, 0);
|
|
D_800EA16C = 0;
|
|
D_800EA15C = 0;
|
|
D_800EA160 = 0;
|
|
D_800EA164 = 0;
|
|
D_800EA178 = 1.0f;
|
|
D_800EA17C = D_800F35E8;
|
|
D_800EA180 = 0;
|
|
D_800EA184 = 0;
|
|
phi_v0 = 0;
|
|
phi_v0_2 = 0;
|
|
phi_v0_3 = 0;
|
|
do {
|
|
temp_lo = phi_v0 * 0xC;
|
|
temp_v1 = phi_v0 * 4;
|
|
*(&D_800E9DB4 + temp_v1) = 0;
|
|
*(&D_800E9DF4 + temp_v1) = 0.0f;
|
|
*(&D_800EA0EC + phi_v0) = 0;
|
|
*(&D_800E9EA4 + temp_v1) = 0;
|
|
temp_a0 = &D_8018FBA8 + temp_lo;
|
|
temp_a1 = &D_8018FBD8 + temp_lo;
|
|
temp_a0->unk0 = 0.0f;
|
|
temp_a0->unk4 = 0.0f;
|
|
temp_a0->unk8 = 0.0f;
|
|
temp_a1->unk0 = 0.0f;
|
|
temp_a1->unk4 = 0.0f;
|
|
temp_a1->unk8 = 0.0f;
|
|
temp_a0_2 = &D_8018FC10 + temp_v1;
|
|
(&D_800E9F7C + (phi_v0 * 0x3C))->unk14 = 0;
|
|
*(&D_800E9E74 + temp_v1) = 0;
|
|
*(&D_800E9E84 + temp_v1) = 0;
|
|
*(&D_800E9E94 + temp_v1) = 0;
|
|
temp_a2 = &gPlayers + (phi_v0 * 0xDD8);
|
|
temp_a2->unk1D4 = 0;
|
|
temp_a2->unk1EC = 0;
|
|
temp_a2->unkBC = 0;
|
|
temp_a2->unk20C = 0.0f;
|
|
temp_a2->unkC0 = 0;
|
|
temp_a2->unk98 = 0.0f;
|
|
temp_a2->unkDE = 0;
|
|
temp_a0_2->unk0 = 0xFF;
|
|
temp_a0_2->unk2 = 0;
|
|
*(&D_800EA10C + phi_v0) = 0;
|
|
*(&D_800E9F74 + phi_v0) = 0;
|
|
temp_t6 = (phi_v0 + 1) & 0xFF;
|
|
*(&D_800E9F78 + phi_v0) = 0;
|
|
phi_v0 = temp_t6;
|
|
} while (temp_t6 < 4);
|
|
do {
|
|
*(&D_800E9F24 + phi_v0_2) = 0;
|
|
temp_v1_2 = phi_v0_2 * 4;
|
|
*(&D_800E9F2C + phi_v0_2) = 0;
|
|
*(&D_800E9F34 + temp_v1_2) = 0.0f;
|
|
*(&D_800E9F54 + temp_v1_2) = 0.0f;
|
|
*(&D_800EA130 + temp_v1_2) = 0.0f;
|
|
temp_t8 = (phi_v0_2 + 1) & 0xFF;
|
|
(&D_800EA06C + (phi_v0_2 * 0x10))->unkC = 0;
|
|
(&gPlayers + (phi_v0_2 * 0xDD8))->unkBC = 0;
|
|
phi_v0_2 = temp_t8;
|
|
} while (temp_t8 < 8);
|
|
do {
|
|
temp_t6_2 = (phi_v0_3 + 1) & 0xFF;
|
|
temp_v1_3 = &D_8018EF18 + (phi_v0_3 * 0xC);
|
|
temp_v1_3->unk0 = 1.0f;
|
|
temp_v1_3->unk4 = 1.0f;
|
|
temp_v1_3->unk8 = 0;
|
|
temp_v1_3->unk9 = 0x40;
|
|
phi_v0_3 = temp_t6_2;
|
|
} while (temp_t6_2 < 0x10);
|
|
D_8018EFD8.unk29 = 0xFF;
|
|
D_8018EFD8.unk2A = 0xFF;
|
|
phi_v1 = 1;
|
|
phi_v0_4 = 1;
|
|
do {
|
|
temp_t6_3 = (phi_v0_4 + 1) & 0xFF;
|
|
temp_a0_3 = &D_8018EFD8 + (phi_v0_4 * 0x3C);
|
|
temp_a0_3->unk29 = phi_v1 - 1;
|
|
temp_a0_3->unk2A = phi_v1 + 1;
|
|
phi_v1 = temp_t6_3;
|
|
phi_v0_4 = temp_t6_3;
|
|
} while (temp_t6_3 < 0x31);
|
|
temp_a0_4 = &D_8018EFD8 + (temp_t6_3 * 0x3C);
|
|
temp_a0_4->unk29 = temp_t6_3 - 1;
|
|
temp_a0_4->unk2A = 0xFF;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2474.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CBB88(s32, f32, void *); // extern
|
|
? func_800CBBB8(s32, s32, s32); // extern
|
|
extern u8 D_800EA1EC;
|
|
extern ? D_801930D0;
|
|
|
|
void func_800C284C(u8 arg0, u8 arg1, u8 arg2, s32 arg3) {
|
|
s32 sp34;
|
|
void *sp30;
|
|
f32 temp_f2;
|
|
s32 temp_t6;
|
|
s32 temp_t6_2;
|
|
s32 temp_t6_3;
|
|
s32 temp_v0;
|
|
void *temp_a2;
|
|
void *temp_v0_2;
|
|
s32 phi_v1;
|
|
|
|
temp_t6 = arg3 & 0xFFFF;
|
|
if ((D_800EA1EC == 0) || (arg0 == 2)) {
|
|
temp_v0 = arg0 << 0x10;
|
|
sp34 = temp_v0;
|
|
func_800CBBB8(temp_v0 | 0x82000000 | (arg1 << 8), temp_t6, temp_t6);
|
|
temp_t6_2 = arg0 * 0x24C;
|
|
temp_a2 = temp_t6_2 + &D_801930D0;
|
|
temp_f2 = temp_a2->unk0;
|
|
temp_a2->unk248 = arg1 | (arg2 << 8);
|
|
if (temp_f2 != 1.0f) {
|
|
sp30 = temp_a2;
|
|
func_800CBB88(temp_v0 | 0x41000000, temp_f2, temp_a2);
|
|
}
|
|
(temp_t6_2 + &D_801930D0)->unk28 = 0;
|
|
(temp_t6_2 + &D_801930D0)->unk18 = 0;
|
|
(temp_t6_2 + &D_801930D0)->unk14 = 0;
|
|
phi_v1 = 0;
|
|
do {
|
|
temp_v0_2 = (arg0 * 0x24C) + &D_801930D0 + (phi_v1 << 5);
|
|
temp_t6_3 = (phi_v1 + 1) & 0xFF;
|
|
temp_v0_2->unk44 = 1.0f;
|
|
temp_v0_2->unk50 = 0;
|
|
temp_v0_2->unk54 = 1.0f;
|
|
temp_v0_2->unk60 = 0;
|
|
phi_v1 = temp_t6_3;
|
|
} while (temp_t6_3 < 0x10);
|
|
(temp_t6_2 + &D_801930D0)->unk244 = 0;
|
|
(temp_t6_2 + &D_801930D0)->unk246 = 0;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C284C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CBBB8(s32, s32); // extern
|
|
extern ? D_80193318;
|
|
|
|
void func_800C29B4(u8 arg0, s32 arg1) {
|
|
func_800CBBB8((arg0 << 0x10) | 0x83000000, arg1 & 0xFFFF);
|
|
*(&D_80193318 + (arg0 * 0x24C)) = 0xFFFF;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C29B4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? func_800C13FC(s32, s32); /* extern */
|
|
? func_800C284C(u8, u8, u8, u32); /* extern */
|
|
? func_800C29B4(u8, s32); /* extern */
|
|
? func_800C5C40(); /* extern */
|
|
? func_800CBBB8(?, u8); /* extern */
|
|
? func_800CBBE8(s32, s8, s8, s32); /* extern */
|
|
extern ? D_80192CA8;
|
|
extern ? D_80192CC6;
|
|
extern ? D_801930D0;
|
|
static ? D_800EA1F0; /* unable to generate initializer; const */
|
|
|
|
void func_800C2A2C(u32 arg0, void *arg2) {
|
|
u8 sp5B;
|
|
u32 sp4C;
|
|
s32 sp48;
|
|
s32 sp44;
|
|
s32 sp3C;
|
|
u8 *sp34;
|
|
f32 temp_f0;
|
|
f32 temp_f0_2;
|
|
f32 temp_f0_3;
|
|
f32 temp_f16;
|
|
f32 temp_f2;
|
|
f32 temp_f8;
|
|
s32 temp_a0;
|
|
s32 temp_a0_4;
|
|
s32 temp_a0_5;
|
|
s32 temp_a1;
|
|
s32 temp_a2_3;
|
|
s32 temp_a2_4;
|
|
s32 temp_a3;
|
|
s32 temp_a3_3;
|
|
s32 temp_t0;
|
|
s32 temp_t6_2;
|
|
s32 temp_t7_2;
|
|
s32 temp_t8_2;
|
|
s32 temp_t8_3;
|
|
s32 temp_t8_4;
|
|
s32 temp_t8_5;
|
|
s32 temp_t8_6;
|
|
s32 temp_t8_8;
|
|
s32 temp_v0;
|
|
s32 temp_v0_10;
|
|
s32 temp_v0_2;
|
|
s32 temp_v0_4;
|
|
s32 temp_v1;
|
|
s32 temp_v1_2;
|
|
s32 temp_v1_3;
|
|
s32 temp_v1_4;
|
|
s8 temp_a2_5;
|
|
u32 temp_a3_2;
|
|
u32 temp_t6;
|
|
u32 temp_t6_3;
|
|
u32 temp_t7;
|
|
u32 temp_t8;
|
|
u32 temp_t8_7;
|
|
u32 temp_t9_2;
|
|
u8 *temp_t4;
|
|
u8 *temp_t4_2;
|
|
u8 temp_t0_2;
|
|
u8 temp_t1;
|
|
u8 temp_t1_2;
|
|
u8 temp_t9;
|
|
void *temp_a0_2;
|
|
void *temp_a0_3;
|
|
void *temp_a1_2;
|
|
void *temp_a1_3;
|
|
void *temp_a2;
|
|
void *temp_a2_2;
|
|
void *temp_v0_11;
|
|
void *temp_v0_3;
|
|
void *temp_v0_5;
|
|
void *temp_v0_6;
|
|
void *temp_v0_7;
|
|
void *temp_v0_8;
|
|
void *temp_v0_9;
|
|
void *temp_v1_5;
|
|
s32 phi_v1;
|
|
s32 phi_v1_2;
|
|
s32 phi_v1_3;
|
|
s32 phi_t0;
|
|
u8 phi_t3;
|
|
s32 phi_v0;
|
|
s32 phi_v1_4;
|
|
s32 phi_v1_5;
|
|
s32 phi_v1_6;
|
|
s32 phi_t0_2;
|
|
s32 phi_v0_2;
|
|
s32 phi_v1_7;
|
|
s32 phi_a1;
|
|
f32 phi_f8;
|
|
s32 phi_v1_8;
|
|
u32 phi_a1_2;
|
|
s32 phi_a1_3;
|
|
f32 phi_f16;
|
|
s32 phi_a3;
|
|
u32 phi_a0;
|
|
u8 phi_v1_9;
|
|
s8 phi_a2;
|
|
s32 phi_t0_3;
|
|
s32 phi_t0_4;
|
|
|
|
temp_t8 = (arg0 >> 0x1C) & 0xFF;
|
|
temp_t6 = (arg0 & 0xF000000) >> 0x18;
|
|
temp_a1 = temp_t6 & 0xFF;
|
|
switch (temp_t8) {
|
|
case 0:
|
|
func_800C284C(temp_t6 & 0xFF, arg0 & 0xFF, ((arg0 & 0xFF00) >> 8) & 0xFF, ((arg0 & 0xFF0000) >> 0xD) & 0xFFFF);
|
|
return;
|
|
case 1:
|
|
func_800C29B4(temp_t6 & 0xFF, ((arg0 & 0xFF0000) >> 0xD) & 0xFFFF);
|
|
return;
|
|
case 2:
|
|
temp_t8_2 = temp_t6 & 0xFF;
|
|
temp_t4 = &D_80192CC6 + temp_t8_2;
|
|
sp3C = temp_t8_2;
|
|
temp_t1 = *temp_t4;
|
|
phi_v1 = 0;
|
|
phi_t3 = temp_t1;
|
|
if (temp_t1 > 0) {
|
|
temp_a0 = arg0 & 0xFF;
|
|
sp48 = temp_a0;
|
|
loop_6:
|
|
if (temp_a0 == *((temp_t8_2 * 0xA) + &D_80192CA8 + (phi_v1 * 2))) {
|
|
if (phi_v1 == 0) {
|
|
func_800C284C(unksp3F, unksp4B, ((arg0 & 0xFF00) >> 8) & 0xFF, ((arg0 & 0xFF0000) >> 0xD) & 0xFFFF);
|
|
return;
|
|
}
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
}
|
|
temp_t6_2 = (phi_v1 + 1) & 0xFF;
|
|
phi_v1 = temp_t6_2;
|
|
if (temp_t6_2 >= *(&D_80192CC6 + temp_a1)) {
|
|
goto block_11;
|
|
}
|
|
goto loop_6;
|
|
}
|
|
block_11:
|
|
temp_t0 = temp_t1 & 0xFF;
|
|
phi_v1_2 = 0;
|
|
phi_t0 = temp_t0;
|
|
phi_t0_3 = temp_t0;
|
|
if (temp_t1 > 0) {
|
|
do {
|
|
phi_v1_3 = phi_v1_2;
|
|
if ((((arg0 & 0xFF00) >> 8) & 0xFF) >= ((sp3C * 0xA) + &D_80192CA8 + (phi_v1_2 * 2))->unk1) {
|
|
phi_v1_3 = temp_t1 & 0xFF;
|
|
phi_t0_3 = phi_v1_2 & 0xFF;
|
|
}
|
|
temp_t8_3 = (phi_v1_3 + 1) & 0xFF;
|
|
phi_v1_2 = temp_t8_3;
|
|
phi_t0 = phi_t0_3;
|
|
} while (temp_t8_3 < *(&D_80192CC6 + temp_a1));
|
|
}
|
|
if ((phi_t0 != temp_t1) || (phi_t0 == 0)) {
|
|
temp_a2 = (sp3C * 0xA) + &D_80192CA8;
|
|
if (temp_t1 < 5) {
|
|
temp_t9 = temp_t1 + 1;
|
|
*temp_t4 = temp_t9;
|
|
phi_t3 = temp_t9 & 0xFF;
|
|
}
|
|
temp_v0 = (phi_t3 - 1) & 0xFF;
|
|
phi_v0 = temp_v0;
|
|
phi_v1_4 = temp_v0;
|
|
if (phi_t0 != temp_v0) {
|
|
do {
|
|
temp_a1_2 = temp_a2 + (phi_v0 * 2);
|
|
temp_a0_2 = temp_a2 + (phi_v1_4 * 2);
|
|
temp_a0_2->unk1 = temp_a1_2->unk-1;
|
|
temp_v0_2 = (phi_v1_4 - 1) & 0xFF;
|
|
temp_a0_2->unk0 = temp_a1_2->unk-2;
|
|
phi_v0 = temp_v0_2;
|
|
phi_v1_4 = temp_v0_2;
|
|
} while (phi_t0 != temp_v0_2);
|
|
}
|
|
temp_v0_3 = temp_a2 + (phi_t0 * 2);
|
|
temp_v0_3->unk1 = ((arg0 & 0xFF00) >> 8) & 0xFF;
|
|
temp_v0_3->unk0 = arg0 & 0xFF;
|
|
}
|
|
if (phi_t0 == 0) {
|
|
func_800C284C(unksp3F, arg0 & 0xFF, ((arg0 & 0xFF00) >> 8) & 0xFF, ((arg0 & 0xFF0000) >> 0xD) & 0xFFFF);
|
|
return;
|
|
}
|
|
default:
|
|
return;
|
|
case 3:
|
|
temp_t8_4 = temp_t6 & 0xFF;
|
|
temp_t4_2 = &D_80192CC6 + temp_t8_4;
|
|
sp3C = temp_t8_4;
|
|
temp_t1_2 = *temp_t4_2;
|
|
phi_v1_5 = 0;
|
|
phi_t0_2 = temp_t1_2;
|
|
phi_t0_4 = temp_t1_2;
|
|
if (temp_t1_2 > 0) {
|
|
do {
|
|
phi_v1_6 = phi_v1_5;
|
|
if ((arg0 & 0xFF) == *((temp_t8_4 * 0xA) + &D_80192CA8 + (phi_v1_5 * 2))) {
|
|
phi_v1_6 = temp_t1_2 & 0xFF;
|
|
phi_t0_4 = phi_v1_5 & 0xFF;
|
|
}
|
|
temp_t8_5 = (phi_v1_6 + 1) & 0xFF;
|
|
phi_v1_5 = temp_t8_5;
|
|
phi_t0_2 = phi_t0_4;
|
|
} while (temp_t8_5 < *(&D_80192CC6 + temp_a1));
|
|
}
|
|
if (phi_t0_2 != temp_t1_2) {
|
|
temp_a3 = temp_t1_2 - 1;
|
|
temp_v1 = phi_t0_2 & 0xFF;
|
|
phi_v1_7 = temp_v1;
|
|
if (phi_t0_2 < temp_a3) {
|
|
temp_a2_2 = (sp3C * 0xA) + &D_80192CA8;
|
|
phi_v0_2 = temp_v1;
|
|
do {
|
|
temp_a1_3 = temp_a2_2 + (phi_v0_2 * 2);
|
|
temp_a0_3 = temp_a2_2 + (phi_v1_7 * 2);
|
|
temp_a0_3->unk1 = temp_a1_3->unk3;
|
|
temp_v0_4 = (phi_v1_7 + 1) & 0xFF;
|
|
temp_a0_3->unk0 = temp_a1_3->unk2;
|
|
phi_v0_2 = temp_v0_4;
|
|
phi_v1_7 = temp_v0_4;
|
|
} while (temp_v0_4 < temp_a3);
|
|
}
|
|
*temp_t4_2 = temp_t1_2 - 1;
|
|
}
|
|
if ((phi_t0_2 == 0) && (temp_a3_2 = ((arg0 & 0xFF0000) >> 0xD) & 0xFFFF, sp4C = temp_a3_2, sp34 = temp_t4_2, func_800C29B4(unksp3F, temp_a3_2 & 0xFFFF), (*temp_t4_2 != 0))) {
|
|
temp_v0_5 = (sp3C * 0xA) + &D_80192CA8;
|
|
func_800C284C(sp3C, temp_v0_5->unk0, temp_v0_5->unk1, temp_a3_2);
|
|
return;
|
|
}
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
case 4:
|
|
temp_t9_2 = (arg0 & 0xFF0000) >> 0xF;
|
|
temp_v1_2 = temp_t9_2 & 0xFF;
|
|
phi_a1 = temp_t9_2 & 0xFF;
|
|
if (temp_v1_2 == 0) {
|
|
phi_a1 = (temp_v1_2 + 1) & 0xFF;
|
|
}
|
|
temp_v0_6 = &D_801930D0 + ((temp_t6 & 0xFF) * 0x24C);
|
|
temp_f2 = temp_v0_6->unk0;
|
|
temp_f0 = (arg0 & 0xFF) / 127.0f;
|
|
temp_v0_6->unk4 = temp_f0;
|
|
if (temp_f2 != temp_f0) {
|
|
temp_f8 = phi_a1;
|
|
phi_f8 = temp_f8;
|
|
if (phi_a1 < 0) {
|
|
phi_f8 = temp_f8 + 4294967296.0f;
|
|
}
|
|
temp_v0_6->unkC = phi_a1;
|
|
temp_v0_6->unk8 = (temp_f2 - temp_v0_6->unk4) / phi_f8;
|
|
return;
|
|
}
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
case 5:
|
|
temp_t7 = (arg0 & 0xFF0000) >> 0xF;
|
|
temp_v1_3 = temp_t7 & 0xFF;
|
|
phi_a1_2 = temp_t7 & 0xFF;
|
|
if (temp_v1_3 == 0) {
|
|
phi_a1_2 = (temp_v1_3 + 1) & 0xFF;
|
|
}
|
|
temp_a2_3 = temp_t6 & 0xFF;
|
|
temp_f0_2 = (arg0 & 0xFFFF) / 1000.0f;
|
|
phi_v1_8 = 0;
|
|
do {
|
|
temp_v0_7 = (temp_a2_3 * 0x24C) + &D_801930D0 + (phi_v1_8 << 5);
|
|
temp_t8_6 = (phi_v1_8 + 1) & 0xFF;
|
|
temp_v0_7->unk58 = temp_f0_2;
|
|
temp_v0_7->unk60 = phi_a1_2;
|
|
temp_v0_7->unk5C = (temp_v0_7->unk54 - temp_f0_2) / phi_a1_2;
|
|
phi_v1_8 = temp_t8_6;
|
|
} while (temp_t8_6 < 0x10);
|
|
(&D_801930D0 + (temp_a2_3 * 0x24C))->unk244 = 0xFFFF;
|
|
return;
|
|
case 6:
|
|
temp_t8_7 = (arg0 & 0xFF0000) >> 0xF;
|
|
temp_v1_4 = temp_t8_7 & 0xFF;
|
|
phi_a1_3 = temp_t8_7 & 0xFF;
|
|
if (temp_v1_4 == 0) {
|
|
phi_a1_3 = (temp_v1_4 + 1) & 0xFF;
|
|
}
|
|
temp_a3_3 = temp_t6 & 0xFF;
|
|
temp_a2_4 = ((arg0 & 0xF00) >> 8) & 0xFF;
|
|
temp_a0_4 = temp_a2_4 << 5;
|
|
temp_v0_8 = &D_801930D0 + (temp_a3_3 * 0x24C) + temp_a0_4;
|
|
temp_f0_3 = (arg0 & 0xFF) / 127.0f;
|
|
temp_v0_8->unk48 = temp_f0_3;
|
|
if (temp_v0_8->unk44 != temp_f0_3) {
|
|
temp_v0_9 = &D_801930D0 + (temp_a3_3 * 0x24C);
|
|
temp_v1_5 = temp_v0_9 + temp_a0_4;
|
|
temp_f16 = phi_a1_3;
|
|
phi_f16 = temp_f16;
|
|
if (phi_a1_3 < 0) {
|
|
phi_f16 = temp_f16 + 4294967296.0f;
|
|
}
|
|
temp_v1_5->unk50 = phi_a1_3;
|
|
temp_v1_5->unk4C = (temp_v1_5->unk44 - temp_v1_5->unk48) / phi_f16;
|
|
temp_v0_9->unk244 = temp_v0_9->unk244 | (1 << temp_a2_4);
|
|
return;
|
|
}
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
case 7:
|
|
func_800CBBE8(((temp_t6 & 0xFF) << 0x10) | 0x46000000 | ((((arg0 & 0xFF0000) >> 0x10) & 0xFF) << 8), arg0);
|
|
return;
|
|
case 8:
|
|
temp_v0_10 = temp_t6 & 0xFF;
|
|
temp_a2_5 = ((arg0 & 0xF00) >> 8) & 0xFF;
|
|
if (((&D_801930D0 + (temp_v0_10 * 0x24C))->unk24A & (1 << temp_a2_5)) == 0) {
|
|
func_800CBBE8(((temp_v0_10 & 0xFF) << 0x10) | 0x6000000 | ((temp_a2_5 & 0xFF) << 8) | (((arg0 & 0xFF0000) >> 0x10) & 0xFF), arg0, temp_a2_5);
|
|
return;
|
|
}
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
case 9:
|
|
(&D_801930D0 + ((temp_t6 & 0xFF) * 0x24C))->unk24A = arg0;
|
|
return;
|
|
case 10:
|
|
sp48 = ((temp_t6 & 0xFF) << 0x10) | 0x8000000;
|
|
phi_a3 = arg0 & 0xFFFF;
|
|
phi_a0 = 1;
|
|
phi_v1_9 = 0;
|
|
do {
|
|
if ((phi_a3 & phi_a0) != 0) {
|
|
phi_a2 = 1;
|
|
} else {
|
|
phi_a2 = 0;
|
|
}
|
|
sp4C = phi_a0;
|
|
sp5B = phi_v1_9;
|
|
sp44 = phi_a3;
|
|
func_800CBBE8(sp48 | ((phi_v1_9 & 0xFF) << 8), phi_a2, phi_a2, phi_a3);
|
|
temp_t8_8 = (phi_v1_9 + 1) & 0xFF;
|
|
phi_a0 = (phi_a0 * 2) & 0xFFFF;
|
|
phi_v1_9 = temp_t8_8;
|
|
} while (temp_t8_8 < 0x10);
|
|
return;
|
|
case 11:
|
|
(&D_801930D0 + ((temp_t6 & 0xFF) * 0x24C))->unk14 = arg0;
|
|
return;
|
|
case 12:
|
|
if ((((arg0 & 0xF00000) >> 0x14) & 0xFF) != 0xF) {
|
|
temp_v0_11 = &D_801930D0 + ((temp_t6 & 0xFF) * 0x24C);
|
|
temp_t0_2 = temp_v0_11->unk41;
|
|
temp_v0_11->unk41 = temp_t0_2 + 1;
|
|
if (temp_t0_2 < 5) {
|
|
(temp_v0_11 + (temp_t0_2 * 4))->unk2C = arg0;
|
|
temp_v0_11->unk40 = 2;
|
|
return;
|
|
}
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
}
|
|
(&D_801930D0 + ((temp_t6 & 0xFF) * 0x24C))->unk41 = 0;
|
|
return;
|
|
case 14:
|
|
temp_t7_2 = ((arg0 & 0xF00) >> 8) & 0xFF;
|
|
if (temp_t7_2 != 0) {
|
|
if (temp_t7_2 != 1) {
|
|
return;
|
|
}
|
|
D_800EA1EC = arg0 & 1;
|
|
return;
|
|
}
|
|
func_800CBBB8(0xF0000000, *(&D_800EA1F0 + (arg0 & 0xFF)));
|
|
return;
|
|
case 15:
|
|
temp_t6_3 = (arg0 & 0xFF00) >> 8;
|
|
D_800EA1C0 = temp_t6_3;
|
|
temp_a0_5 = arg0 & 0xFF;
|
|
sp48 = temp_a0_5;
|
|
sp4C = temp_t6_3;
|
|
func_800C13FC(temp_a0_5, temp_a1);
|
|
*D_800EA1F4 = sp48;
|
|
func_800CBBE8(0x46020000, sp4C);
|
|
func_800C5C40();
|
|
/* Duplicate return node #76. Try simplifying control flow for better match */
|
|
return;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C2A2C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern u8 D_800EA1E4;
|
|
extern ? D_80192CD0;
|
|
|
|
void func_800C3448(s32 arg0) {
|
|
u8 temp_v0;
|
|
|
|
temp_v0 = D_800EA1E4;
|
|
*(&D_80192CD0 + (temp_v0 * 4)) = arg0;
|
|
D_800EA1E4 = temp_v0 + 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3448.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C2A2C(s32); // extern
|
|
extern u8 D_800EA1E4;
|
|
extern u8 D_800EA1E8;
|
|
extern ? D_80192CD0;
|
|
|
|
void func_800C3478(void) {
|
|
if (D_800EA1E8 != D_800EA1E4) {
|
|
do {
|
|
D_800EA1E8 = D_800EA1E8 + 1;
|
|
func_800C2A2C(*(&D_80192CD0 + (D_800EA1E8 * 4)));
|
|
} while (D_800EA1E8 != D_800EA1E4);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3478.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80193318;
|
|
extern ? D_803B1510;
|
|
|
|
u16 func_800C3508(s32 arg0) {
|
|
? sp-10;
|
|
s32 temp_t6;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
sp-10.unk10 = arg0;
|
|
if ((*(&D_803B1510 + (temp_t6 * 0x148)) >> 0x1F) == 0) {
|
|
return 0xFFFF;
|
|
}
|
|
return *(&D_80193318 + (temp_t6 * 0x24C));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3508.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern u8 D_800EA1E4;
|
|
extern u8 D_800EA1E8;
|
|
extern ? D_80192CD0;
|
|
|
|
? func_800C357C(s32 arg0) {
|
|
? sp-10;
|
|
s32 temp_t9;
|
|
u8 temp_a1;
|
|
u8 temp_v0;
|
|
u8 phi_v0;
|
|
u8 phi_v0_2;
|
|
? phi_v1;
|
|
? phi_v1_2;
|
|
|
|
temp_a1 = D_800EA1E4;
|
|
temp_v0 = D_800EA1E8;
|
|
phi_v0 = temp_v0;
|
|
phi_v1 = 1;
|
|
phi_v1_2 = 1;
|
|
if (temp_v0 < temp_a1) {
|
|
do {
|
|
phi_v0_2 = phi_v0;
|
|
if (arg0 == *(&D_80192CD0 + (phi_v0 * 4))) {
|
|
phi_v0_2 = temp_a1 & 0xFF;
|
|
phi_v1_2 = 0;
|
|
}
|
|
temp_t9 = (phi_v0_2 + 1) & 0xFF;
|
|
phi_v0 = temp_t9;
|
|
phi_v1 = phi_v1_2;
|
|
} while (temp_t9 < temp_a1);
|
|
}
|
|
return phi_v1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C357C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80192CC6;
|
|
|
|
void func_800C35E8(s32 arg0) {
|
|
*(&D_80192CC6 + (arg0 & 0xFF)) = 0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C35E8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_801930D0;
|
|
|
|
void func_800C3608(s32 arg0, s32 arg1) {
|
|
? sp-10;
|
|
s32 temp_t6;
|
|
s32 temp_t9;
|
|
u8 temp_a2;
|
|
void *temp_a3;
|
|
void *temp_v1;
|
|
s32 phi_v0;
|
|
s32 phi_a2;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
sp-10.unk10 = arg0;
|
|
sp-10.unk14 = arg1;
|
|
temp_v1 = (temp_t6 * 0x24C) + &D_801930D0;
|
|
temp_a2 = temp_v1->unk41;
|
|
phi_v0 = 0;
|
|
phi_a2 = temp_a2;
|
|
if (temp_a2 > 0) {
|
|
do {
|
|
temp_a3 = (temp_t6 * 0x24C) + &D_801930D0 + (phi_v0 * 4);
|
|
temp_t9 = (phi_v0 + 1) & 0xFF;
|
|
if ((arg1 & 0xFF) == (((temp_a3->unk2C & 0xF00000) >> 0x14) & 0xFF)) {
|
|
temp_a3->unk2C = 0xFF000000;
|
|
phi_a2 = temp_v1->unk41;
|
|
}
|
|
phi_v0 = temp_t9;
|
|
} while (temp_t9 < phi_a2);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3608.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_801930D0;
|
|
|
|
void func_800C36C4(s32 arg0, s32 arg1, s8 arg2, s8 arg3) {
|
|
void *temp_v0;
|
|
|
|
temp_v0 = ((arg0 & 0xFF) * 0x24C) + &D_801930D0;
|
|
(temp_v0 + (arg1 & 0xFF))->unkE = arg2;
|
|
temp_v0->unk11 = arg3;
|
|
temp_v0->unk12 = 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C36C4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? func_800C3448(s32, s8, s32); /* extern */
|
|
? func_800C36C4(s32, ?, ?, ?); /* extern */
|
|
? func_800CBB88(s32, f32, s32); /* extern */
|
|
? func_800CBBB8(s32, s32); /* extern */
|
|
extern ? D_801930D0;
|
|
extern ? D_803B1510;
|
|
|
|
void func_800C3724(void) {
|
|
f32 temp_f0;
|
|
f32 temp_f0_2;
|
|
f32 temp_f16;
|
|
f32 temp_f2;
|
|
f32 temp_f6;
|
|
f32 temp_f8;
|
|
s32 temp_a0;
|
|
s32 temp_a0_2;
|
|
s32 temp_a0_3;
|
|
s32 temp_a1;
|
|
s32 temp_a2;
|
|
s32 temp_a2_2;
|
|
s32 temp_a2_3;
|
|
s32 temp_a3;
|
|
s32 temp_a3_2;
|
|
s32 temp_lo;
|
|
s32 temp_s1;
|
|
s32 temp_t2_3;
|
|
s32 temp_t3;
|
|
s32 temp_t4_2;
|
|
s32 temp_t5_3;
|
|
s32 temp_t7_2;
|
|
s32 temp_t7_3;
|
|
s32 temp_t9_2;
|
|
s32 temp_v0_7;
|
|
s32 temp_v1;
|
|
s8 temp_a1_3;
|
|
u16 temp_t2_2;
|
|
u16 temp_t4;
|
|
u16 temp_t5;
|
|
u16 temp_t7;
|
|
u16 temp_v0;
|
|
u16 temp_v0_2;
|
|
u16 temp_v0_3;
|
|
u16 temp_v1_2;
|
|
u16 temp_v1_4;
|
|
u32 temp_t5_2;
|
|
u32 temp_t9;
|
|
u8 temp_t2;
|
|
u8 temp_v0_6;
|
|
u8 temp_v1_6;
|
|
void *temp_a1_2;
|
|
void *temp_s0;
|
|
void *temp_s0_2;
|
|
void *temp_s0_3;
|
|
void *temp_s3;
|
|
void *temp_v0_4;
|
|
void *temp_v0_5;
|
|
void *temp_v1_3;
|
|
void *temp_v1_5;
|
|
s32 phi_s5;
|
|
s32 phi_s2;
|
|
f32 phi_f0;
|
|
f32 phi_f6;
|
|
s32 phi_a2;
|
|
s32 phi_a2_2;
|
|
f32 phi_f0_2;
|
|
s32 phi_t0;
|
|
f32 phi_f8;
|
|
s32 phi_s0;
|
|
s32 phi_s0_2;
|
|
s32 phi_s2_2;
|
|
s32 phi_v1;
|
|
f32 phi_f16;
|
|
|
|
phi_s5 = 0;
|
|
do {
|
|
temp_s3 = &D_801930D0 + (phi_s5 * 0x24C);
|
|
if (temp_s3->unk12 != 0) {
|
|
phi_s2 = 0;
|
|
phi_f0 = 1.0f;
|
|
do {
|
|
temp_t2 = (&D_801930D0 + (phi_s5 * 0x24C) + phi_s2)->unkE;
|
|
temp_f6 = temp_t2;
|
|
phi_f6 = temp_f6;
|
|
if (temp_t2 < 0) {
|
|
phi_f6 = temp_f6 + 4294967296.0f;
|
|
}
|
|
temp_t3 = (phi_s2 + 1) & 0xFF;
|
|
temp_f0 = phi_f0 * (phi_f6 / 127.0f);
|
|
phi_s2 = temp_t3;
|
|
phi_f0 = temp_f0;
|
|
} while (temp_t3 < 3);
|
|
func_800C3448((temp_s3->unk11 << 0x10) | 0x40000000 | (phi_s5 << 0x18) | ((temp_f0 * 127.0f) & 0xFF));
|
|
temp_s3->unk12 = 0;
|
|
}
|
|
temp_v0 = temp_s3->unkC;
|
|
temp_t4 = temp_v0 - 1;
|
|
if (temp_v0 != 0) {
|
|
temp_s3->unkC = temp_t4;
|
|
if ((temp_t4 & 0xFFFF) != 0) {
|
|
temp_s3->unk0 = temp_s3->unk0 - temp_s3->unk8;
|
|
} else {
|
|
temp_s3->unk0 = temp_s3->unk4;
|
|
}
|
|
func_800CBB88(((phi_s5 & 0xFF) << 0x10) | 0x41000000, temp_s3->unk0);
|
|
}
|
|
temp_a1 = temp_s3->unk14;
|
|
if (temp_a1 != 0) {
|
|
temp_t9 = (temp_a1 & 0xFF0000) >> 0xF;
|
|
temp_a0 = temp_a1 & 0xFFF;
|
|
temp_a3 = temp_t9 & 0xFF;
|
|
temp_a2 = temp_a0 & 0xFFFF;
|
|
phi_a2 = temp_a2;
|
|
phi_t0 = temp_t9 & 0xFF;
|
|
phi_a2 = temp_a2;
|
|
if (temp_a3 == 0) {
|
|
phi_t0 = (temp_a3 + 1) & 0xFF;
|
|
}
|
|
temp_a1_2 = (phi_s5 * 0x148) + &D_803B1510;
|
|
if ((temp_a1_2->unk0 >> 0x1F) != 0) {
|
|
temp_t9_2 = ((temp_a1 & 0xF000) >> 0xC) & 0xFF;
|
|
temp_lo = temp_a1_2->unk8 / 48;
|
|
temp_a3_2 = temp_lo & 0xFFFF;
|
|
if (temp_t9_2 != 1) {
|
|
temp_v1 = temp_a0 & 0xFFFF;
|
|
if (temp_t9_2 != 2) {
|
|
if (temp_t9_2 != 3) {
|
|
if (temp_t9_2 != 4) {
|
|
|
|
} else {
|
|
temp_v0_2 = temp_s3->unk18;
|
|
phi_a2 = temp_a3_2 & 0xFFFF;
|
|
if (temp_v0_2 != 0) {
|
|
phi_a2 = temp_v0_2 & 0xFFFF;
|
|
}
|
|
}
|
|
} else {
|
|
temp_f16 = temp_a3_2;
|
|
phi_f16 = temp_f16;
|
|
if (temp_a3_2 < 0) {
|
|
phi_f16 = temp_f16 + 4294967296.0f;
|
|
}
|
|
phi_a2 = (phi_f16 * ((temp_a0 & 0xFFFF) / 100.0f)) & 0xFFFF;
|
|
}
|
|
} else if (temp_v1 < temp_a3_2) {
|
|
phi_a2 = (temp_a3_2 - temp_v1) & 0xFFFF;
|
|
}
|
|
} else {
|
|
phi_a2 = (temp_a0 + temp_a3_2) & 0xFFFF;
|
|
}
|
|
temp_f2 = temp_lo;
|
|
phi_a2_2 = phi_a2;
|
|
if (phi_a2 >= 0x12D) {
|
|
phi_a2_2 = 0x12C;
|
|
}
|
|
if (temp_s3->unk18 == 0) {
|
|
temp_s3->unk18 = temp_a3_2;
|
|
}
|
|
temp_f0_2 = phi_a2_2;
|
|
phi_f0_2 = temp_f0_2;
|
|
if (phi_a2_2 < 0) {
|
|
phi_f0_2 = temp_f0_2 + 4294967296.0f;
|
|
}
|
|
temp_s3->unk20 = phi_f0_2;
|
|
temp_s3->unk1C = temp_f2;
|
|
temp_f8 = phi_t0;
|
|
phi_f8 = temp_f8;
|
|
if (phi_t0 < 0) {
|
|
phi_f8 = temp_f8 + 4294967296.0f;
|
|
}
|
|
temp_s3->unk28 = phi_t0;
|
|
temp_s3->unk24 = (temp_f2 - phi_f0_2) / phi_f8;
|
|
}
|
|
temp_s3->unk14 = 0;
|
|
}
|
|
temp_v0_3 = temp_s3->unk28;
|
|
temp_t7 = temp_v0_3 - 1;
|
|
if (temp_v0_3 != 0) {
|
|
temp_s3->unk28 = temp_t7;
|
|
if ((temp_t7 & 0xFFFF) != 0) {
|
|
temp_s3->unk1C = temp_s3->unk1C - temp_s3->unk24;
|
|
} else {
|
|
temp_s3->unk1C = temp_s3->unk20;
|
|
}
|
|
func_800CBBB8(((phi_s5 & 0xFF) << 0x10) | 0x47000000, temp_s3->unk1C);
|
|
}
|
|
if (temp_s3->unk246 != 0) {
|
|
phi_s0 = 0;
|
|
do {
|
|
temp_a0_2 = phi_s0 << 5;
|
|
temp_v0_4 = &D_801930D0 + (phi_s5 * 0x24C) + temp_a0_2;
|
|
temp_v1_2 = temp_v0_4->unk50;
|
|
temp_t5 = temp_v1_2 - 1;
|
|
if (temp_v1_2 != 0) {
|
|
temp_v0_4->unk50 = temp_t5;
|
|
temp_a2_2 = ((phi_s5 & 0xFF) << 0x10) | 0x1000000;
|
|
if ((temp_t5 & 0xFFFF) != 0) {
|
|
temp_v0_4->unk44 = temp_v0_4->unk44 - temp_v0_4->unk4C;
|
|
} else {
|
|
temp_v1_3 = temp_s3 + temp_a0_2;
|
|
temp_v1_3->unk44 = temp_v1_3->unk48;
|
|
temp_s3->unk246 = temp_s3->unk246 ^ (1 << phi_s0);
|
|
}
|
|
func_800CBB88(temp_a2_2 | ((phi_s0 & 0xFF) << 8), temp_v0_4->unk44, temp_a2_2);
|
|
}
|
|
temp_t7_2 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t7_2;
|
|
} while (temp_t7_2 < 0x10);
|
|
}
|
|
if (temp_s3->unk244 != 0) {
|
|
phi_s0_2 = 0;
|
|
do {
|
|
temp_a0_3 = phi_s0_2 << 5;
|
|
temp_v0_5 = &D_801930D0 + (phi_s5 * 0x24C) + temp_a0_3;
|
|
temp_v1_4 = temp_v0_5->unk60;
|
|
temp_t2_2 = temp_v1_4 - 1;
|
|
if (temp_v1_4 != 0) {
|
|
temp_v0_5->unk60 = temp_t2_2;
|
|
temp_a2_3 = ((phi_s5 & 0xFF) << 0x10) | 0x4000000;
|
|
if ((temp_t2_2 & 0xFFFF) != 0) {
|
|
temp_v0_5->unk54 = temp_v0_5->unk54 - temp_v0_5->unk5C;
|
|
} else {
|
|
temp_v1_5 = temp_s3 + temp_a0_3;
|
|
temp_v1_5->unk54 = temp_v1_5->unk58;
|
|
temp_s3->unk244 = temp_s3->unk244 ^ (1 << phi_s0_2);
|
|
}
|
|
func_800CBB88(temp_a2_3 | ((phi_s0_2 & 0xFF) << 8), temp_v0_5->unk54, temp_a2_3);
|
|
}
|
|
temp_t4_2 = (phi_s0_2 + 1) & 0xFF;
|
|
phi_s0_2 = temp_t4_2;
|
|
} while (temp_t4_2 < 0x10);
|
|
}
|
|
temp_v0_6 = temp_s3->unk41;
|
|
if (temp_v0_6 != 0) {
|
|
temp_v1_6 = temp_s3->unk40;
|
|
if (temp_v1_6 != 0) {
|
|
temp_s3->unk40 = temp_v1_6 - 1;
|
|
} else {
|
|
phi_s2_2 = 0;
|
|
if ((*(&D_803B1510 + (phi_s5 * 0x148)) >> 0x1F) == 0) {
|
|
phi_v1 = temp_v0_6;
|
|
if (temp_v0_6 > 0) {
|
|
do {
|
|
temp_v0_7 = (&D_801930D0 + (phi_s5 * 0x24C) + (phi_s2_2 * 4))->unk2C;
|
|
temp_t5_2 = ((temp_v0_7 & 0xF00000) >> 0x14) & 0xFF;
|
|
temp_t2_3 = temp_v0_7 & 0xFF;
|
|
temp_s1 = ((temp_v0_7 & 0xF0000) >> 0x10) & 0xFF;
|
|
temp_a1_3 = ((temp_v0_7 & 0xFF00) >> 8) & 0xFF;
|
|
switch (temp_t5_2) {
|
|
case 0:
|
|
temp_s0 = &D_801930D0 + (temp_s1 * 0x24C);
|
|
temp_s0->unk12 = 1;
|
|
temp_s0->unkF = 0x7F;
|
|
block_76:
|
|
phi_v1 = temp_s3->unk41;
|
|
break;
|
|
case 1:
|
|
func_800C3448(temp_s3->unk248 | 0x30000000 | (phi_s5 << 0x18), temp_a1_3, temp_t2_3);
|
|
goto block_76;
|
|
case 2:
|
|
temp_s0_2 = &D_801930D0 + (temp_s1 * 0x24C);
|
|
func_800C3448(temp_s0_2->unk248 | (temp_s1 << 0x18) | 0x10000, temp_a1_3, temp_t2_3);
|
|
temp_s0_2->unk12 = 1;
|
|
temp_s0_2->unkF = 0x7F;
|
|
goto block_76;
|
|
case 3:
|
|
func_800C3448((temp_s1 << 0x18) | 0xB0003000 | (temp_a1_3 << 0x10) | temp_t2_3, temp_a1_3, temp_t2_3);
|
|
goto block_76;
|
|
case 4:
|
|
func_800C3448((temp_s1 << 0x18) | 0xB0004000 | (temp_t2_3 << 0x10), temp_a1_3, temp_t2_3);
|
|
goto block_76;
|
|
case 5:
|
|
temp_s0_3 = &D_801930D0 + (temp_s1 * 0x24C);
|
|
func_800C3448((temp_s0_3->unk42 << 0x10) | (temp_s1 << 0x18) | (temp_v0_7 & 0xFFFF), temp_a1_3, temp_t2_3);
|
|
func_800C36C4(temp_s1 & 0xFF, 1, 0x7F, 0);
|
|
temp_s0_3->unk42 = 0;
|
|
goto block_76;
|
|
case 6:
|
|
temp_s3->unk42 = temp_a1_3;
|
|
goto block_76;
|
|
}
|
|
temp_t5_3 = (phi_s2_2 + 1) & 0xFF;
|
|
phi_s2_2 = temp_t5_3;
|
|
} while (temp_t5_3 < phi_v1);
|
|
}
|
|
temp_s3->unk41 = 0;
|
|
}
|
|
}
|
|
}
|
|
temp_t7_3 = (phi_s5 + 1) & 0xFF;
|
|
phi_s5 = temp_t7_3;
|
|
} while (temp_t7_3 < 3);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3724.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80192CC6;
|
|
extern ? D_801930D0;
|
|
|
|
void func_800C3F70(void) {
|
|
? sp-10;
|
|
s32 temp_t8;
|
|
void *temp_v1;
|
|
s32 phi_v0;
|
|
|
|
phi_v0 = 0;
|
|
do {
|
|
*(&D_80192CC6 + phi_v0) = 0;
|
|
temp_t8 = (phi_v0 + 1) & 0xFF;
|
|
temp_v1 = &D_801930D0 + (phi_v0 * 0x24C);
|
|
temp_v1->unk248 = 0xFFFF;
|
|
temp_v1->unk0 = 1.0f;
|
|
temp_v1->unkC = 0;
|
|
temp_v1->unk28 = 0;
|
|
temp_v1->unk18 = 0;
|
|
temp_v1->unk14 = 0;
|
|
temp_v1->unk24A = 0;
|
|
temp_v1->unk41 = 0;
|
|
temp_v1->unk42 = 0;
|
|
temp_v1->unk12 = 0;
|
|
temp_v1->unkE = 0x7F;
|
|
temp_v1->unkF = 0x7F;
|
|
temp_v1->unk10 = 0x7F;
|
|
temp_v1->unk244 = 0;
|
|
temp_v1->unk246 = 0;
|
|
phi_v0 = temp_t8;
|
|
} while (temp_t8 < 3);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C3F70.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80192CC6;
|
|
extern ? D_801930D0;
|
|
|
|
void func_800C400C(void) {
|
|
? sp-10;
|
|
s32 temp_t8;
|
|
void *temp_v1;
|
|
s32 phi_v0;
|
|
|
|
phi_v0 = 0;
|
|
do {
|
|
*(&D_80192CC6 + phi_v0) = 0;
|
|
temp_t8 = (phi_v0 + 1) & 0xFF;
|
|
temp_v1 = &D_801930D0 + (phi_v0 * 0x24C);
|
|
temp_v1->unk248 = 0xFFFF;
|
|
temp_v1->unk28 = 0;
|
|
temp_v1->unk18 = 0;
|
|
temp_v1->unk14 = 0;
|
|
temp_v1->unk24A = 0;
|
|
temp_v1->unk41 = 0;
|
|
temp_v1->unk42 = 0;
|
|
temp_v1->unk244 = 0;
|
|
temp_v1->unk246 = 0;
|
|
phi_v0 = temp_t8;
|
|
} while (temp_t8 < 3);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C400C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern u16 D_800EA1C4;
|
|
extern ? D_801930D0;
|
|
|
|
void func_800C40F0(s32 arg0) {
|
|
? sp-10;
|
|
u16 temp_t1;
|
|
|
|
sp-10.unk10 = arg0;
|
|
temp_t1 = D_800EA1C4 & ((1 << (arg0 & 0xFF)) ^ 0xFFFF);
|
|
D_800EA1C4 = temp_t1;
|
|
if ((temp_t1 & 0xFFFF) == 0) {
|
|
D_801930D0.unk12 = 1;
|
|
D_801930D0.unk10 = 0x7F;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C40F0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern u8 D_800EA1B8;
|
|
extern ? D_8018FC20;
|
|
extern ? D_80192C3C;
|
|
|
|
void play_sound(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) {
|
|
void *temp_v0;
|
|
|
|
if (*(&D_80192C3C + ((arg0 >> 0x1C) & 0xFF)) == 0) {
|
|
temp_v0 = (D_800EA1B8 * 0x18) + &D_8018FC20;
|
|
temp_v0->unk0 = arg0;
|
|
temp_v0->unk4 = arg1;
|
|
temp_v0->unk8 = arg2 & 0xFF;
|
|
temp_v0->unkC = arg3;
|
|
temp_v0->unk10 = arg4;
|
|
temp_v0->unk14 = arg5;
|
|
D_800EA1B8 = D_800EA1B8 + 1;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/play_sound.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
extern ? D_8018FC20;
|
|
static u8 D_800EA1B8 = 0; /* const */
|
|
static ? D_800EA1C8; /* unable to generate initializer; const */
|
|
|
|
void func_800C41CC(s32 arg0, void *arg1) {
|
|
u32 temp_t6;
|
|
u8 temp_t8;
|
|
u8 temp_v0;
|
|
void *temp_a0;
|
|
void *temp_a0_2;
|
|
void *temp_a0_3;
|
|
void *temp_a0_4;
|
|
void *temp_v1;
|
|
u8 phi_v0;
|
|
s32 phi_v1;
|
|
|
|
unksp-10.unk10 = arg0;
|
|
temp_v0 = D_800EA1BC;
|
|
temp_t6 = arg0 & 0xFF;
|
|
phi_v0 = temp_v0;
|
|
if (D_800EA1B8 != temp_v0) {
|
|
do {
|
|
phi_v1 = 0;
|
|
switch (temp_t6) {
|
|
case 0:
|
|
if ((arg1->unk24 & 0xF0000000) == (*(&D_8018FC20 + (phi_v0 * 0x18)) & 0xF0000000)) {
|
|
block_18:
|
|
phi_v1 = 1;
|
|
}
|
|
break;
|
|
case 1:
|
|
temp_a0 = &D_8018FC20 + (phi_v0 * 0x18);
|
|
if (((arg1->unk24 & 0xF0000000) == (temp_a0->unk0 & 0xF0000000)) && (arg1->unk0 == temp_a0->unk4)) {
|
|
goto block_18;
|
|
}
|
|
break;
|
|
case 2:
|
|
if (arg1->unk0 == (&D_8018FC20 + (phi_v0 * 0x18))->unk4) {
|
|
goto block_18;
|
|
}
|
|
break;
|
|
case 3:
|
|
temp_a0_2 = &D_8018FC20 + (phi_v0 * 0x18);
|
|
if ((arg1->unk0 == temp_a0_2->unk4) && (arg1->unk24 == temp_a0_2->unk0)) {
|
|
goto block_18;
|
|
}
|
|
break;
|
|
case 4:
|
|
temp_a0_3 = &D_8018FC20 + (phi_v0 * 0x18);
|
|
if ((arg1->unkC == temp_a0_3->unk8) && (arg1->unk24 == temp_a0_3->unk0)) {
|
|
goto block_18;
|
|
}
|
|
break;
|
|
case 5:
|
|
if (arg1->unk24 == *(&D_8018FC20 + (phi_v0 * 0x18))) {
|
|
goto block_18;
|
|
}
|
|
break;
|
|
}
|
|
if (phi_v1 != 0) {
|
|
temp_a0_4 = &D_8018FC20 + (phi_v0 * 0x18);
|
|
temp_v1 = temp_a0_4->unk4;
|
|
temp_a0_4->unk0 = 0;
|
|
if (&D_800EA1C8 != temp_v1) {
|
|
temp_v1->unk4 = 100000.0f;
|
|
}
|
|
}
|
|
temp_t8 = (phi_v0 + 1) & 0xFF;
|
|
phi_v0 = temp_t8;
|
|
} while (D_800EA1B8 != temp_t8);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C41CC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C40F0(u8, s32, s32 *, u8); // extern
|
|
extern ? D_800EA1A0;
|
|
extern u8 D_800EA1BC;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern f32 D_800F3664;
|
|
extern ? D_8018FC20;
|
|
extern ? D_80191420;
|
|
extern ? D_80192AA0;
|
|
extern ? D_80192AA8;
|
|
|
|
void func_800C4398(void) {
|
|
u8 sp4F;
|
|
u8 sp4D;
|
|
s32 *sp48;
|
|
u8 sp43;
|
|
s32 sp3C;
|
|
void *sp30;
|
|
s32 *temp_a2;
|
|
s32 temp_a1;
|
|
s32 temp_a1_2;
|
|
s32 temp_v0;
|
|
u8 *temp_a3_2;
|
|
u8 *temp_v0_3;
|
|
u8 temp_a0;
|
|
u8 temp_a0_2;
|
|
u8 temp_a1_3;
|
|
u8 temp_a3;
|
|
u8 temp_t6;
|
|
u8 temp_t6_2;
|
|
u8 temp_v0_2;
|
|
u8 temp_v1;
|
|
u8 temp_v1_2;
|
|
u8 temp_v1_3;
|
|
void *temp_s0;
|
|
void *temp_s0_2;
|
|
void *temp_s0_3;
|
|
void *temp_t0;
|
|
void *temp_t1;
|
|
void *temp_v0_4;
|
|
s32 *phi_a2;
|
|
void *phi_t1;
|
|
u8 phi_v1;
|
|
s32 phi_t4;
|
|
u8 phi_a3;
|
|
s32 phi_t3;
|
|
u8 phi_t5;
|
|
s32 phi_t3_2;
|
|
u8 phi_v0;
|
|
u8 phi_t2;
|
|
u8 phi_v1_2;
|
|
s32 phi_t3_3;
|
|
u8 phi_a3_2;
|
|
u8 phi_v1_3;
|
|
s32 phi_ra;
|
|
u8 phi_v0_2;
|
|
s32 phi_t3_4;
|
|
u8 phi_t2_2;
|
|
s32 phi_ra_2;
|
|
u8 phi_t5_2;
|
|
u8 phi_v0_3;
|
|
s32 *phi_a2_2;
|
|
s32 *phi_a2_3;
|
|
void *phi_t1_2;
|
|
s32 phi_t4_2;
|
|
u8 phi_t5_3;
|
|
u8 phi_t2_3;
|
|
u8 phi_t2_4;
|
|
s32 phi_ra_3;
|
|
|
|
temp_a2 = (D_800EA1BC * 0x18) + &D_8018FC20;
|
|
temp_a1 = *temp_a2;
|
|
phi_a2 = temp_a2;
|
|
phi_ra_2 = 0xFF;
|
|
phi_a2_2 = temp_a2;
|
|
phi_ra_3 = 0xFF;
|
|
phi_ra = 0xFF;
|
|
if (temp_a1 != 0) {
|
|
temp_t6 = ((temp_a1 & 0xF0000000) >> 0x1C) & 0xFF;
|
|
temp_v1 = ((temp_t6 * 0x3C0) + &D_80191420)->unk2B;
|
|
phi_v1 = temp_v1;
|
|
phi_a3 = 0;
|
|
phi_t5 = temp_t6;
|
|
phi_t5_2 = temp_t6;
|
|
phi_v0_3 = temp_v1;
|
|
if ((temp_v1 != 0xFF) && (temp_v1 != 0)) {
|
|
phi_t1 = (temp_t6 * 0x3C0) + &D_80191420;
|
|
phi_t4 = 0x30;
|
|
phi_t3 = sp3C;
|
|
phi_t2_3 = sp43;
|
|
phi_t4_2 = 0x30;
|
|
loop_4:
|
|
temp_s0 = phi_t1 + (phi_v1 * phi_t4);
|
|
phi_t3_2 = phi_t3;
|
|
phi_t2 = phi_t2_3;
|
|
phi_v1_2 = phi_v1;
|
|
phi_t3_3 = phi_t3;
|
|
phi_v1_3 = phi_v1;
|
|
phi_ra = phi_ra_3;
|
|
phi_t3_4 = phi_t3;
|
|
phi_t2_2 = phi_t2_3;
|
|
phi_a2_3 = phi_a2;
|
|
phi_t1_2 = phi_t1;
|
|
phi_t4_2 = phi_t4;
|
|
phi_t5_3 = phi_t5;
|
|
phi_t2_4 = phi_t2_3;
|
|
phi_ra = phi_ra_3;
|
|
phi_a2_3 = phi_a2;
|
|
phi_t1_2 = phi_t1;
|
|
phi_t4_2 = phi_t4;
|
|
phi_t5_3 = phi_t5;
|
|
phi_ra = phi_ra_3;
|
|
phi_t4_2 = phi_t4;
|
|
if (phi_a2->unk4 == temp_s0->unk0) {
|
|
temp_a1_2 = phi_a2->unk0;
|
|
temp_v0 = temp_s0->unk24;
|
|
temp_a0 = *(&D_800EA1A0 + ((D_800EA1C0 * 6) + phi_t5));
|
|
if (temp_a1_2 == temp_v0) {
|
|
temp_a3 = temp_a0 & 0xFF;
|
|
phi_v0 = temp_a3;
|
|
phi_a3_2 = temp_a3;
|
|
} else {
|
|
if (phi_a3 == 0) {
|
|
phi_t2_4 = phi_v1 & 0xFF;
|
|
goto block_11;
|
|
}
|
|
if ((temp_v0 & 0xFF00) < (phi_t3 & 0xFF00)) {
|
|
phi_t2_4 = phi_v1 & 0xFF;
|
|
block_11:
|
|
phi_t3_2 = temp_v0;
|
|
}
|
|
temp_v0_2 = (phi_a3 + 1) & 0xFF;
|
|
phi_v0 = temp_v0_2;
|
|
phi_t2 = phi_t2_4;
|
|
phi_t3_3 = phi_t3_2;
|
|
phi_a3_2 = temp_v0_2;
|
|
if (temp_v0_2 == temp_a0) {
|
|
phi_v1_2 = 0;
|
|
if ((temp_a1_2 & 0xFF00) >= (phi_t3_2 & 0xFF00)) {
|
|
phi_v1_2 = phi_t2_4 & 0xFF;
|
|
}
|
|
}
|
|
}
|
|
phi_v1_3 = phi_v1_2;
|
|
phi_t3_4 = phi_t3_3;
|
|
phi_t2_2 = phi_t2;
|
|
phi_a3 = phi_a3_2;
|
|
phi_t3_4 = phi_t3_3;
|
|
phi_t2_2 = phi_t2;
|
|
phi_a3 = phi_a3_2;
|
|
if (phi_v0 == temp_a0) {
|
|
if (((temp_a1_2 * 0x10) < 0) || ((temp_a1_2 << 0xD) < 0) || (phi_t2 == phi_v1_2)) {
|
|
temp_s0_2 = phi_t1 + (phi_v1_2 * phi_t4);
|
|
if ((temp_s0_2->unk24 & 0x80000) && (temp_s0_2->unk28 != 1)) {
|
|
sp4F = phi_t5;
|
|
sp3C = phi_t3_3;
|
|
sp43 = phi_t2;
|
|
sp30 = phi_t1;
|
|
sp4D = phi_a3_2;
|
|
sp48 = phi_a2;
|
|
func_800C40F0(temp_s0_2->unk2C, temp_a1_2, phi_a2, phi_a3_2);
|
|
}
|
|
temp_s0_2->unkC = phi_a2->unk8;
|
|
temp_s0_2->unk24 = phi_a2->unk0;
|
|
temp_s0_2->unk29 = 2;
|
|
temp_s0_2->unk28 = (phi_a2->unk0 & 0x1000000) >> 0x18;
|
|
temp_s0_2->unk10 = phi_a2->unkC;
|
|
temp_s0_2->unk14 = phi_a2->unk10;
|
|
temp_s0_2->unk18 = phi_a2->unk14;
|
|
phi_t3_4 = phi_t3_3;
|
|
phi_t2_2 = phi_t2;
|
|
phi_a2_3 = phi_a2;
|
|
phi_t1_2 = phi_t1;
|
|
phi_a3 = phi_a3_2;
|
|
phi_t5_3 = phi_t5;
|
|
}
|
|
phi_v1_3 = 0;
|
|
}
|
|
}
|
|
phi_a2 = phi_a2_3;
|
|
phi_t1 = phi_t1_2;
|
|
phi_t4 = phi_t4_2;
|
|
phi_t3 = phi_t3_4;
|
|
phi_t5 = phi_t5_3;
|
|
phi_v0_2 = phi_v1_3;
|
|
phi_ra_2 = phi_ra;
|
|
phi_t5_2 = phi_t5_3;
|
|
phi_a2_2 = phi_a2_3;
|
|
phi_v1 = phi_v1_3;
|
|
phi_t2_3 = phi_t2_2;
|
|
phi_ra_3 = phi_ra;
|
|
if (phi_v1_3 != 0) {
|
|
temp_v1_2 = (phi_t1_2 + (phi_v1_3 * phi_t4_2))->unk2B;
|
|
phi_v0_2 = temp_v1_2;
|
|
phi_v1 = temp_v1_2;
|
|
}
|
|
phi_v0_3 = phi_v0_2;
|
|
if (phi_ra != phi_v0_2) {
|
|
if (phi_v0_2 == 0) {
|
|
sp3C = phi_t3_4;
|
|
sp43 = phi_t2_2;
|
|
} else {
|
|
goto loop_4;
|
|
}
|
|
}
|
|
}
|
|
temp_a3_2 = phi_t5_2 + &D_80192AA8;
|
|
temp_a1_3 = *temp_a3_2;
|
|
temp_t1 = (phi_t5_2 * 0x3C0) + &D_80191420;
|
|
temp_t0 = temp_t1 + (temp_a1_3 * 0x30);
|
|
temp_v1_3 = temp_t0->unk2B;
|
|
if ((phi_ra_2 != temp_v1_3) && (phi_v0_3 != 0)) {
|
|
temp_s0_3 = temp_t1 + ((temp_a1_3 & 0xFF) * 0x30);
|
|
temp_s0_3->unk0 = phi_a2_2->unk4;
|
|
temp_s0_3->unk4 = phi_a2_2->unk4 + 4;
|
|
temp_s0_3->unk8 = phi_a2_2->unk4 + 8;
|
|
temp_s0_3->unkC = phi_a2_2->unk8;
|
|
temp_s0_3->unk10 = phi_a2_2->unkC;
|
|
temp_s0_3->unk14 = phi_a2_2->unk10;
|
|
temp_s0_3->unk18 = phi_a2_2->unk14;
|
|
temp_s0_3->unk24 = phi_a2_2->unk0;
|
|
temp_s0_3->unk29 = 2;
|
|
temp_v0_3 = phi_t5_2 + &D_80192AA0;
|
|
temp_a0_2 = *temp_v0_3;
|
|
temp_s0_3->unk28 = (phi_a2_2->unk0 & 0x1000000) >> 0x18;
|
|
temp_s0_3->unk2A = temp_a0_2;
|
|
(temp_t1 + (temp_a0_2 * 0x30))->unk2B = temp_a1_3;
|
|
temp_t6_2 = temp_t0->unk2B;
|
|
*temp_v0_3 = temp_a1_3;
|
|
*temp_a3_2 = temp_t6_2;
|
|
(temp_t1 + ((temp_t6_2 & 0xFF) * 0x30))->unk2A = 0xFF;
|
|
temp_s0_3->unk2B = 0xFF;
|
|
return;
|
|
}
|
|
if (phi_ra_2 == temp_v1_3) {
|
|
temp_v0_4 = phi_a2_2->unk4;
|
|
if (&D_800EA1C8 != temp_v0_4) {
|
|
temp_v0_4->unk4 = D_800F3664;
|
|
}
|
|
}
|
|
// Duplicate return node #35. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4398.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C40F0(u8, u8, void *, u8); // extern
|
|
extern ? D_800EA1C8;
|
|
extern f32 D_800F3668;
|
|
extern ? D_80191420;
|
|
extern ? D_80192AA0;
|
|
extern ? D_80192AA8;
|
|
|
|
void func_800C473C(u8 arg0, u8 arg1) {
|
|
void *sp34;
|
|
void *sp30;
|
|
s32 temp_lo;
|
|
s32 temp_t7;
|
|
u8 *temp_v1;
|
|
u8 *temp_v1_2;
|
|
u8 temp_a3;
|
|
u8 temp_t6;
|
|
void *temp_a2;
|
|
void *temp_v0;
|
|
u8 phi_a1;
|
|
u8 phi_a3;
|
|
|
|
temp_t6 = arg1 & 0xFF;
|
|
temp_lo = temp_t6 * 0x30;
|
|
temp_a3 = arg0 & 0xFF;
|
|
temp_t7 = temp_a3 * 0x3C0;
|
|
temp_a2 = temp_t7 + &D_80191420;
|
|
temp_v0 = temp_a2 + temp_lo;
|
|
phi_a1 = temp_t6;
|
|
phi_a3 = temp_a3;
|
|
if (&D_800EA1C8 != temp_v0->unk0) {
|
|
*temp_v0->unk4 = D_800F3668;
|
|
}
|
|
if (temp_v0->unk24 & 0x80000) {
|
|
arg0 = temp_a3;
|
|
sp34 = temp_a2;
|
|
arg1 = temp_t6;
|
|
sp30 = temp_v0;
|
|
func_800C40F0(temp_v0->unk2C, temp_t6, temp_a2, temp_a3);
|
|
phi_a1 = arg1;
|
|
phi_a3 = arg0;
|
|
}
|
|
temp_v1 = phi_a3 + &D_80192AA0;
|
|
if (phi_a1 == *temp_v1) {
|
|
*temp_v1 = (temp_a2 + temp_lo)->unk2A;
|
|
} else {
|
|
(temp_t7 + &D_80191420 + ((temp_a2 + temp_lo)->unk2B * 0x30))->unk2A = (temp_a2 + temp_lo)->unk2A;
|
|
}
|
|
temp_v1_2 = phi_a3 + &D_80192AA8;
|
|
(temp_t7 + &D_80191420 + ((temp_a2 + temp_lo)->unk2A * 0x30))->unk2B = (temp_a2 + temp_lo)->unk2B;
|
|
(temp_a2 + temp_lo)->unk2A = 0xFF;
|
|
(temp_a2 + temp_lo)->unk2B = *temp_v1_2;
|
|
(temp_t7 + &D_80191420 + (*temp_v1_2 * 0x30))->unk2A = phi_a1;
|
|
*temp_v1_2 = phi_a1;
|
|
(temp_a2 + temp_lo)->unk28 = 0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C473C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C473C(s32, u8, void *, u8); // extern
|
|
? func_800CBBE8(s32, ?); // extern
|
|
extern ? D_800EA188;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern f32 D_800F366C;
|
|
extern f32 D_800F3670;
|
|
extern ? D_80191420;
|
|
extern ? D_80192AB8;
|
|
|
|
void func_800C4888(s32 arg0) {
|
|
u8 spCE;
|
|
u8 spCC;
|
|
? sp7C;
|
|
void *sp70;
|
|
void *sp6C;
|
|
void *sp68;
|
|
s32 sp60;
|
|
f32 *temp_v0;
|
|
f32 temp_f0;
|
|
f32 temp_f0_2;
|
|
f32 temp_f2;
|
|
s32 temp_a1;
|
|
s32 temp_s5;
|
|
s32 temp_t6;
|
|
s32 temp_t6_2;
|
|
s32 temp_t7;
|
|
s32 temp_t7_2;
|
|
s32 temp_t7_3;
|
|
s32 temp_t8;
|
|
s32 temp_t8_3;
|
|
s32 temp_t8_4;
|
|
s32 temp_t9;
|
|
s32 temp_v0_2;
|
|
s32 temp_v0_3;
|
|
s32 temp_v0_4;
|
|
s32 temp_v0_5;
|
|
s32 temp_v1;
|
|
u32 temp_t8_2;
|
|
u8 temp_a1_2;
|
|
u8 temp_a3_3;
|
|
u8 temp_a3_4;
|
|
u8 temp_s3;
|
|
u8 temp_s3_2;
|
|
u8 temp_t1;
|
|
u8 temp_t4;
|
|
u8 temp_v1_2;
|
|
void *temp_a0;
|
|
void *temp_a0_2;
|
|
void *temp_a0_3;
|
|
void *temp_a0_4;
|
|
void *temp_a3;
|
|
void *temp_a3_2;
|
|
void *temp_s3_3;
|
|
void *temp_t2;
|
|
void *temp_v0_6;
|
|
void *temp_v0_7;
|
|
s32 phi_t3;
|
|
s32 phi_t5;
|
|
u8 phi_s3;
|
|
s32 phi_v0;
|
|
f32 phi_f0;
|
|
s32 phi_t3_2;
|
|
s32 phi_s2;
|
|
s32 phi_v1;
|
|
s32 phi_a1;
|
|
s32 phi_t3_3;
|
|
s32 phi_s0;
|
|
s32 phi_s2_2;
|
|
? *phi_ra;
|
|
s32 phi_t3_4;
|
|
void *phi_a2;
|
|
u8 phi_t3_5;
|
|
? *phi_ra_2;
|
|
s32 phi_t0;
|
|
u8 phi_t1;
|
|
s32 phi_a1_2;
|
|
s32 phi_a1_3;
|
|
s32 phi_t5_2;
|
|
s32 phi_v1_2;
|
|
s32 phi_a1_4;
|
|
s32 phi_t4;
|
|
? *phi_ra_3;
|
|
s32 phi_s0_2;
|
|
s32 phi_s0_3;
|
|
s32 phi_t2;
|
|
s32 phi_a1_5;
|
|
s32 phi_a1_6;
|
|
s32 phi_s2_3;
|
|
s32 phi_s2_4;
|
|
s32 phi_s0_4;
|
|
s32 phi_s2_5;
|
|
? *phi_ra_4;
|
|
s32 phi_t2_2;
|
|
s32 phi_v1_3;
|
|
u8 phi_s3_2;
|
|
? *phi_ra_5;
|
|
s32 phi_v1_4;
|
|
|
|
temp_s5 = arg0 & 0xFF;
|
|
phi_t3 = 0;
|
|
phi_t3_2 = 0;
|
|
phi_s2_2 = 0;
|
|
phi_t3_4 = 0;
|
|
phi_s2_3 = 0;
|
|
do {
|
|
temp_t7 = (phi_t3 + 1) & 0xFF;
|
|
temp_a3 = &sp7C + (phi_t3 * 8);
|
|
temp_a3->unk0 = 0x7FFFFFFF;
|
|
temp_a3->unk4 = 0xFF;
|
|
phi_t3 = temp_t7;
|
|
} while (temp_t7 < 8);
|
|
temp_s3 = (&D_80191420 + (temp_s5 * 0x3C0))->unk2B;
|
|
phi_s3 = temp_s3;
|
|
phi_ra = &D_80191420;
|
|
phi_s0_2 = 0;
|
|
phi_s0_4 = 0;
|
|
phi_ra_5 = &D_80191420;
|
|
if (temp_s3 != 0xFF) {
|
|
sp6C = &D_80191420 + (temp_s5 * 0x3C0);
|
|
phi_t5 = 1;
|
|
phi_v0 = 0x8000000;
|
|
phi_v0 = 0x8000000;
|
|
phi_t5 = 1;
|
|
phi_t5 = 1;
|
|
do {
|
|
temp_t2 = sp6C + (phi_s3 * 0x30);
|
|
phi_s2 = phi_s2_3;
|
|
phi_s0 = phi_s0_4;
|
|
phi_s0 = phi_s0_4;
|
|
phi_s2_5 = phi_s2_3;
|
|
phi_ra_4 = phi_ra_5;
|
|
phi_s3_2 = phi_s3;
|
|
phi_s2_5 = phi_s2_3;
|
|
phi_s2_5 = phi_s2_3;
|
|
phi_ra_4 = phi_ra_5;
|
|
if ((phi_t5 == temp_t2->unk28) && (phi_v0 == (temp_t2->unk24 & phi_v0))) {
|
|
temp_t2->unk29 = temp_t2->unk29 - 1;
|
|
}
|
|
if (temp_t2->unk29 == 0) {
|
|
func_800C473C(temp_s5 & 0xFF, phi_s3 & 0xFF);
|
|
phi_ra_4 = &D_80191420;
|
|
goto block_35;
|
|
}
|
|
if (temp_t2->unk28 != 0) {
|
|
temp_v0 = temp_t2->unk0;
|
|
if (&D_800EA1C8 == temp_v0) {
|
|
temp_t2->unk1C = 0.0f;
|
|
} else {
|
|
temp_f2 = *temp_v0;
|
|
temp_f0 = *temp_t2->unk8;
|
|
temp_t2->unk1C = (temp_f0 * temp_f0) + (temp_f2 * temp_f2);
|
|
}
|
|
temp_v0_2 = temp_t2->unk24;
|
|
temp_t8 = ((temp_v0_2 & 0xFF00) >> 8) & 0xFF;
|
|
if (temp_v0_2 & 0x100000) {
|
|
temp_v0_3 = 0xFF - temp_t8;
|
|
temp_t2->unk20 = temp_v0_3 * temp_v0_3 * 0x5A4;
|
|
} else {
|
|
temp_v0_4 = 0xFF - temp_t8;
|
|
temp_t8_2 = temp_t2->unk1C + (temp_v0_4 * temp_v0_4 * 0x5A4);
|
|
temp_t2->unk20 = temp_t8_2;
|
|
temp_f0_2 = *temp_t2->unk8;
|
|
if (temp_f0_2 > 0.0f) {
|
|
temp_t2->unk20 = temp_t8_2 + (temp_f0_2 * 6.0f);
|
|
}
|
|
}
|
|
temp_t8_3 = ((temp_t2->unk24 & 0x30000) >> 0x10) & 0xFF;
|
|
if (temp_t8_3 != 0) {
|
|
phi_f0 = D_800F366C / (temp_t8_3 * temp_t8_3);
|
|
} else {
|
|
phi_f0 = D_800F3670;
|
|
}
|
|
if (phi_f0 < temp_t2->unk1C) {
|
|
if (temp_t2->unk28 == 4) {
|
|
sp68 = temp_t2;
|
|
func_800CBBE8((temp_t2->unk2C << 8) | 0x6020000, 0);
|
|
phi_ra_4 = &D_80191420;
|
|
if ((temp_t2->unk24 * 0x10) < 0) {
|
|
func_800C473C(temp_s5 & 0xFF, phi_s3 & 0xFF);
|
|
phi_s3_2 = phi_s0_4 & 0xFF;
|
|
phi_ra_4 = &D_80191420;
|
|
}
|
|
}
|
|
} else {
|
|
temp_t4 = *(&D_800EA188 + ((D_800EA1C0 * 6) + temp_s5));
|
|
if (temp_t4 > 0) {
|
|
do {
|
|
temp_a3_2 = &sp7C + (phi_t3_2 * 8);
|
|
temp_v0_5 = temp_t4 - 1;
|
|
temp_a1 = temp_v0_5 & 0xFF;
|
|
phi_a1 = temp_a1;
|
|
phi_t3_3 = phi_t3_2;
|
|
phi_s2_4 = phi_s2;
|
|
phi_s2_4 = phi_s2;
|
|
if (temp_a3_2->unk0 >= temp_t2->unk20) {
|
|
if (phi_s2 < temp_t4) {
|
|
phi_s2_4 = (phi_s2 + 1) & 0xFF;
|
|
}
|
|
phi_t3_3 = temp_t4 & 0xFF;
|
|
if (phi_t3_2 < (temp_v0_5 & 0xFF)) {
|
|
phi_v1 = temp_a1;
|
|
do {
|
|
temp_v0_6 = &sp7C + (phi_v1 * 8);
|
|
temp_a0 = &sp7C + (phi_a1 * 8);
|
|
temp_a0->unk0 = temp_v0_6->unk-8;
|
|
temp_v1 = (phi_a1 - 1) & 0xFF;
|
|
temp_a0->unk4 = temp_v0_6->unk-4;
|
|
phi_v1 = temp_v1;
|
|
phi_a1 = temp_v1;
|
|
} while (phi_t3_2 < temp_v1);
|
|
}
|
|
temp_a3_2->unk0 = temp_t2->unk20;
|
|
temp_a3_2->unk4 = phi_s3;
|
|
}
|
|
temp_t9 = (phi_t3_3 + 1) & 0xFF;
|
|
phi_t3_2 = temp_t9;
|
|
phi_s2 = phi_s2_4;
|
|
phi_s2_5 = phi_s2_4;
|
|
} while (temp_t9 < temp_t4);
|
|
}
|
|
}
|
|
phi_s0 = phi_s3_2 & 0xFF;
|
|
block_35:
|
|
}
|
|
temp_s3_2 = (sp6C + (phi_s0 * 0x30))->unk2B;
|
|
phi_s3 = temp_s3_2;
|
|
phi_s2_2 = phi_s2_5;
|
|
phi_ra = phi_ra_4;
|
|
phi_s2_3 = phi_s2_5;
|
|
phi_s0_4 = phi_s0;
|
|
phi_ra_5 = phi_ra_4;
|
|
} while (temp_s3_2 != 0xFF);
|
|
}
|
|
temp_t1 = *(&D_800EA188 + ((D_800EA1C0 * 6) + temp_s5));
|
|
phi_ra_2 = phi_ra;
|
|
phi_t1 = temp_t1;
|
|
phi_t5_2 = 1;
|
|
phi_t5_2 = 1;
|
|
if (phi_s2_2 > 0) {
|
|
sp6C = phi_ra + (temp_s5 * 0x3C0);
|
|
do {
|
|
temp_t7_2 = (phi_t3_4 + 1) & 0xFF;
|
|
temp_v0_7 = sp6C + ((&sp7C + (phi_t3_4 * 8))->unk4 * 0x30);
|
|
temp_v1_2 = temp_v0_7->unk28;
|
|
if (temp_v1_2 == 1) {
|
|
temp_v0_7->unk28 = 2;
|
|
} else if (temp_v1_2 == 4) {
|
|
temp_v0_7->unk28 = 3;
|
|
}
|
|
phi_t3_4 = temp_t7_2;
|
|
} while (temp_t7_2 < phi_s2_2);
|
|
}
|
|
phi_t3_5 = 0;
|
|
phi_t0 = temp_t1;
|
|
if (temp_t1 > 0) {
|
|
phi_a2 = (temp_s5 << 6) + &D_80192AB8;
|
|
phi_t4 = 3;
|
|
phi_t4 = 3;
|
|
do {
|
|
temp_s3_3 = phi_a2 + (phi_t3_5 * 8);
|
|
temp_a1_2 = temp_s3_3->unk4;
|
|
phi_v1_2 = 0;
|
|
phi_ra_3 = phi_ra_2;
|
|
phi_v1_3 = 0;
|
|
if (temp_a1_2 == 0xFF) {
|
|
phi_v1_2 = 1;
|
|
} else {
|
|
temp_a0_2 = phi_ra_2 + (temp_s5 * 0x3C0) + (temp_a1_2 * 0x30);
|
|
temp_a3_3 = temp_a0_2->unk28;
|
|
if (temp_a3_3 == 4) {
|
|
if ((temp_a0_2->unk24 * 0x10) < 0) {
|
|
sp70 = phi_a2;
|
|
sp60 = phi_t0;
|
|
spCE = phi_t1;
|
|
spCC = phi_t3_5;
|
|
func_800C473C(temp_s5 & 0xFF, temp_a1_2, phi_a2, temp_a3_3);
|
|
phi_v1_2 = 1;
|
|
phi_ra_3 = &D_80191420;
|
|
} else {
|
|
temp_a0_2->unk28 = 1;
|
|
phi_v1_2 = 1;
|
|
}
|
|
} else if (temp_a3_3 == 0) {
|
|
temp_s3_3->unk4 = 0xFF;
|
|
phi_v1_2 = 1;
|
|
} else {
|
|
phi_a1_2 = 0;
|
|
if (phi_t0 > 0) {
|
|
do {
|
|
temp_a0_3 = &sp7C + (phi_a1_2 * 8);
|
|
phi_a1_3 = phi_a1_2;
|
|
if (temp_a1_2 == temp_a0_3->unk4) {
|
|
temp_a0_3->unk4 = 0xFF;
|
|
phi_a1_3 = phi_t1 & 0xFF;
|
|
}
|
|
temp_t7_3 = (phi_a1_3 + 1) & 0xFF;
|
|
phi_a1_2 = temp_t7_3;
|
|
} while (temp_t7_3 < phi_t0);
|
|
}
|
|
}
|
|
}
|
|
phi_a2 = phi_a2;
|
|
phi_ra_2 = phi_ra_3;
|
|
phi_t0 = phi_t0;
|
|
phi_t1 = phi_t1;
|
|
phi_t2_2 = phi_v1_2;
|
|
phi_v1_4 = phi_v1_2;
|
|
if (phi_t5_2 == phi_v1_2) {
|
|
phi_a1_4 = 0;
|
|
phi_a1_6 = 0;
|
|
if (phi_t0 > 0) {
|
|
do {
|
|
temp_a0_4 = &sp7C + (phi_a1_4 * 8);
|
|
temp_a3_4 = temp_a0_4->unk4;
|
|
phi_t2 = phi_t2_2;
|
|
phi_a1_5 = phi_a1_4;
|
|
phi_v1_3 = phi_v1_4;
|
|
if ((temp_a3_4 != 0xFF) && (phi_t4 != (phi_ra_3 + (temp_s5 * 0x3C0) + (temp_a3_4 * 0x30))->unk28)) {
|
|
if (phi_t0 > 0) {
|
|
do {
|
|
phi_s0_3 = phi_s0_2;
|
|
if (temp_a3_4 == (phi_a2 + (phi_s0_2 * 8))->unk4) {
|
|
phi_s0_3 = phi_t1 & 0xFF;
|
|
}
|
|
temp_t6 = (phi_s0_3 + 1) & 0xFF;
|
|
phi_s0_2 = temp_t6;
|
|
phi_v1_4 = phi_v1_3;
|
|
} while (temp_t6 < phi_t0);
|
|
phi_t2 = phi_v1_3;
|
|
}
|
|
phi_t2_2 = phi_t2;
|
|
if (phi_t5_2 == phi_t2) {
|
|
temp_s3_3->unk4 = temp_a3_4;
|
|
temp_a0_4->unk4 = 0xFF;
|
|
phi_a1_5 = (phi_t0 + 1) & 0xFF;
|
|
}
|
|
}
|
|
temp_t8_4 = (phi_a1_5 + 1) & 0xFF;
|
|
phi_a1_4 = temp_t8_4;
|
|
phi_a1_6 = temp_t8_4;
|
|
} while (temp_t8_4 < phi_t0);
|
|
}
|
|
if (phi_t0 == phi_a1_6) {
|
|
temp_s3_3->unk4 = 0xFF;
|
|
}
|
|
}
|
|
temp_t6_2 = (phi_t3_5 + 1) & 0xFF;
|
|
phi_t3_5 = temp_t6_2;
|
|
} while (temp_t6_2 < phi_t0);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4888.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C19D0(s32, s32, u8); // extern
|
|
? func_800C473C(s32, s32); // extern
|
|
? func_800CBBE8(s32, s8, u8); // extern
|
|
extern ? D_800EA188;
|
|
extern u8 D_800EA1C0;
|
|
extern u16 D_800EA1C4;
|
|
extern ? D_80191420;
|
|
extern ? D_80192AB8;
|
|
extern u8 D_80192C38;
|
|
extern ? D_801930D0;
|
|
extern ? D_803B17D0;
|
|
|
|
void func_800C4FE4(s32 arg0) {
|
|
void *sp50;
|
|
s32 temp_s3;
|
|
s32 temp_t7;
|
|
u8 temp_a2;
|
|
u8 temp_s1;
|
|
u8 temp_v0;
|
|
u8 temp_v1;
|
|
void *temp_s0;
|
|
s32 phi_s4;
|
|
s32 phi_v1;
|
|
u8 *phi_v1_2;
|
|
|
|
temp_s3 = arg0 & 0xFF;
|
|
temp_v1 = *(&D_800EA188 + ((D_800EA1C0 * 6) + temp_s3));
|
|
phi_s4 = 0;
|
|
phi_v1 = temp_v1;
|
|
if (temp_v1 > 0) {
|
|
sp50 = (temp_s3 << 6) + &D_80192AB8;
|
|
do {
|
|
temp_s1 = (sp50 + (phi_s4 * 8))->unk4;
|
|
if (temp_s1 != 0xFF) {
|
|
temp_a2 = D_80192C38;
|
|
temp_s0 = (temp_s3 * 0x3C0) + (temp_s1 * 0x30) + &D_80191420;
|
|
temp_v0 = temp_s0->unk28;
|
|
if (temp_v0 == 2) {
|
|
temp_s0->unk2C = temp_a2;
|
|
if (temp_s0->unk24 & 0x80000) {
|
|
D_800EA1C4 = D_800EA1C4 | (1 << D_80192C38);
|
|
D_801930D0.unk12 = 1;
|
|
D_801930D0.unk10 = 0x28;
|
|
}
|
|
func_800C19D0(temp_s3 & 0xFF, temp_s1 & 0xFF, D_80192C38);
|
|
func_800CBBE8((D_80192C38 << 8) | 0x6020000, 1);
|
|
func_800CBBE8((D_80192C38 << 8) | 0x6020000 | 4, temp_s0->unk24);
|
|
temp_s0->unk28 = 4;
|
|
phi_v1_2 = &D_800EA188 + ((D_800EA1C0 * 6) + temp_s3);
|
|
goto block_11;
|
|
}
|
|
if ((*(&D_803B17D0 + (temp_a2 * 4)))->unk5F == 0x80) {
|
|
func_800CBBE8(((temp_a2 & 0xFF) << 8) | 0x6020000 | 7, 0, temp_a2);
|
|
func_800C473C(temp_s3 & 0xFF, temp_s1 & 0xFF);
|
|
phi_v1_2 = &D_800EA188 + ((D_800EA1C0 * 6) + temp_s3);
|
|
goto block_11;
|
|
}
|
|
if (temp_v0 == 3) {
|
|
func_800C19D0(temp_s3 & 0xFF, temp_s1 & 0xFF, temp_a2);
|
|
temp_s0->unk28 = 4;
|
|
phi_v1_2 = &D_800EA188 + ((D_800EA1C0 * 6) + temp_s3);
|
|
block_11:
|
|
phi_v1 = *phi_v1_2;
|
|
}
|
|
}
|
|
temp_t7 = (phi_s4 + 1) & 0xFF;
|
|
D_80192C38 = D_80192C38 + 1;
|
|
phi_s4 = temp_t7;
|
|
} while (temp_t7 < phi_v1);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C4FE4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C41CC(?, ? *); // extern
|
|
? func_800C473C(s32, s32); // extern
|
|
? func_800CBBE8(s32, ?); // extern
|
|
extern ? D_80191420;
|
|
|
|
void func_800C5278(s32 arg0) {
|
|
s32 sp84;
|
|
? sp60;
|
|
s32 temp_s7;
|
|
void *temp_s0;
|
|
void *temp_s2;
|
|
|
|
temp_s7 = arg0 & 0xFF;
|
|
temp_s2 = (temp_s7 * 0x3C0) + &D_80191420;
|
|
if (temp_s2->unk2B != 0xFF) {
|
|
do {
|
|
temp_s0 = (temp_s7 * 0x3C0) + &D_80191420 + (temp_s2->unk2B * 0x30);
|
|
if (temp_s0->unk28 >= 3) {
|
|
func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0);
|
|
}
|
|
if (temp_s0->unk28 != 0) {
|
|
func_800C473C(temp_s7 & 0xFF, temp_s2->unk2B & 0xFF);
|
|
}
|
|
} while (temp_s2->unk2B != 0xFF);
|
|
}
|
|
sp84 = temp_s7 << 0x1C;
|
|
func_800C41CC(0, &sp60);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5278.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C473C(s32, s32); // extern
|
|
? func_800CBBE8(s32, ?); // extern
|
|
extern ? D_80191420;
|
|
|
|
void func_800C5384(s32 arg0, s32 arg1) {
|
|
s32 temp_s2;
|
|
s32 temp_s5;
|
|
u8 temp_s1;
|
|
void *temp_s0;
|
|
void *temp_s3;
|
|
u8 phi_s1;
|
|
u8 phi_s1_2;
|
|
s32 phi_s2;
|
|
|
|
temp_s5 = arg0 & 0xFF;
|
|
temp_s1 = ((temp_s5 * 0x3C0) + &D_80191420)->unk2B;
|
|
phi_s1 = temp_s1;
|
|
phi_s2 = 0;
|
|
if (temp_s1 != 0xFF) {
|
|
temp_s3 = (temp_s5 * 0x3C0) + &D_80191420;
|
|
do {
|
|
temp_s0 = temp_s3 + (phi_s1 * 0x30);
|
|
if (arg1 == temp_s0->unk0) {
|
|
if (temp_s0->unk28 >= 3) {
|
|
func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0);
|
|
}
|
|
if (temp_s0->unk28 != 0) {
|
|
func_800C473C(temp_s5 & 0xFF, phi_s1 & 0xFF);
|
|
}
|
|
phi_s1_2 = (temp_s3 + (phi_s2 * 0x30))->unk2B;
|
|
} else {
|
|
temp_s2 = phi_s1 & 0xFF;
|
|
phi_s1_2 = (temp_s3 + (temp_s2 * 0x30))->unk2B;
|
|
phi_s2 = temp_s2;
|
|
}
|
|
phi_s1 = phi_s1_2;
|
|
} while (phi_s1_2 != 0xFF);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5384.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C41CC(?, s32 *); // extern
|
|
? func_800C5384(s32, s32); // extern
|
|
|
|
void func_800C550C(s32 arg0) {
|
|
s32 sp3C;
|
|
s32 temp_t6;
|
|
s32 phi_s0;
|
|
|
|
phi_s0 = 0;
|
|
do {
|
|
func_800C5384(phi_s0 & 0xFF, arg0);
|
|
temp_t6 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t6;
|
|
} while (temp_t6 < 6);
|
|
sp3C = arg0;
|
|
func_800C41CC(2, &sp3C);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C550C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C41CC(?, s32 *); // extern
|
|
? func_800C473C(s32, s32); // extern
|
|
? func_800CBBE8(s32, ?); // extern
|
|
extern ? D_80191420;
|
|
|
|
void func_800C5578(s32 arg0, s32 arg1) {
|
|
s32 sp84;
|
|
s32 sp60;
|
|
s32 *temp_a1;
|
|
s32 temp_t8;
|
|
u8 temp_s1;
|
|
u8 temp_s1_2;
|
|
void *temp_s0;
|
|
void *temp_s4;
|
|
u8 phi_s1;
|
|
u8 phi_v0;
|
|
u8 phi_v0_2;
|
|
s32 phi_s3;
|
|
|
|
temp_t8 = ((arg1 & 0xF0000000) >> 0x1C) & 0xFF;
|
|
temp_s1 = ((temp_t8 * 0x3C0) + &D_80191420)->unk2B;
|
|
phi_s1 = temp_s1;
|
|
phi_v0 = temp_s1;
|
|
phi_s3 = 0;
|
|
if (temp_s1 != 0xFF) {
|
|
temp_s4 = (temp_t8 * 0x3C0) + &D_80191420;
|
|
do {
|
|
temp_s0 = temp_s4 + (phi_s1 * 0x30);
|
|
if ((arg0 == temp_s0->unk0) && (arg1 == temp_s0->unk24)) {
|
|
if (temp_s0->unk28 >= 3) {
|
|
func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0);
|
|
}
|
|
if (temp_s0->unk28 != 0) {
|
|
func_800C473C(temp_t8 & 0xFF, phi_s1 & 0xFF);
|
|
}
|
|
phi_v0 = 0xFF;
|
|
phi_s1 = 0xFF;
|
|
} else {
|
|
phi_s3 = phi_s1 & 0xFF;
|
|
}
|
|
phi_v0_2 = phi_v0;
|
|
if (phi_v0 != 0xFF) {
|
|
temp_s1_2 = (temp_s4 + (phi_s3 * 0x30))->unk2B;
|
|
phi_v0_2 = temp_s1_2;
|
|
phi_s1 = temp_s1_2;
|
|
}
|
|
phi_v0 = phi_v0_2;
|
|
} while (phi_v0_2 != 0xFF);
|
|
}
|
|
temp_a1 = &sp60;
|
|
sp60 = arg0;
|
|
sp84 = arg1;
|
|
func_800C41CC(3, temp_a1);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5578.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C41CC(?, ? *); // extern
|
|
? func_800C473C(s32, s32); // extern
|
|
? func_800CBBE8(s32, ?); // extern
|
|
extern ? D_80191420;
|
|
|
|
void func_800C56F0(s32 arg0) {
|
|
s32 sp8C;
|
|
? sp68;
|
|
s32 temp_s2;
|
|
s32 temp_t8;
|
|
u8 temp_s1;
|
|
void *temp_s0;
|
|
void *temp_s3;
|
|
u8 phi_s1;
|
|
u8 phi_s1_2;
|
|
s32 phi_s2;
|
|
|
|
temp_t8 = ((arg0 & 0xF0000000) >> 0x1C) & 0xFF;
|
|
temp_s1 = ((temp_t8 * 0x3C0) + &D_80191420)->unk2B;
|
|
phi_s1 = temp_s1;
|
|
phi_s2 = 0;
|
|
if (temp_s1 != 0xFF) {
|
|
temp_s3 = (temp_t8 * 0x3C0) + &D_80191420;
|
|
do {
|
|
temp_s0 = temp_s3 + (phi_s1 * 0x30);
|
|
if (arg0 == temp_s0->unk24) {
|
|
if (temp_s0->unk28 >= 3) {
|
|
func_800CBBE8((temp_s0->unk2C << 8) | 0x6020000, 0);
|
|
}
|
|
if (temp_s0->unk28 != 0) {
|
|
func_800C473C(temp_t8 & 0xFF, phi_s1 & 0xFF);
|
|
}
|
|
phi_s1_2 = (temp_s3 + (phi_s2 * 0x30))->unk2B;
|
|
} else {
|
|
temp_s2 = phi_s1 & 0xFF;
|
|
phi_s1_2 = (temp_s3 + (temp_s2 * 0x30))->unk2B;
|
|
phi_s2 = temp_s2;
|
|
}
|
|
phi_s1 = phi_s1_2;
|
|
} while (phi_s1_2 != 0xFF);
|
|
}
|
|
sp8C = arg0;
|
|
func_800C41CC(5, &sp68);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C56F0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C4398(); // extern
|
|
extern u8 D_800EA1B8;
|
|
extern u8 D_800EA1BC;
|
|
|
|
void func_800C5848(void) {
|
|
u8 temp_t9;
|
|
|
|
if (D_800EA1BC != D_800EA1B8) {
|
|
do {
|
|
func_800C4398();
|
|
temp_t9 = D_800EA1BC + 1;
|
|
D_800EA1BC = temp_t9;
|
|
} while ((temp_t9 & 0xFF) != D_800EA1B8);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5848.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80192C48;
|
|
|
|
void func_800C58B8(s32 arg0, s32 arg1, s32 arg2) {
|
|
? sp-10;
|
|
f32 temp_f0;
|
|
f32 temp_f8;
|
|
s16 temp_t8;
|
|
void *temp_v0;
|
|
s16 phi_a2;
|
|
f32 phi_f8;
|
|
|
|
sp-10.unk10 = arg0;
|
|
sp-10.unk14 = arg1;
|
|
sp-10.unk18 = arg2;
|
|
temp_t8 = arg2 & 0xFFFF;
|
|
phi_a2 = temp_t8;
|
|
if (temp_t8 == 0) {
|
|
phi_a2 = (temp_t8 + 1) & 0xFFFF;
|
|
}
|
|
temp_v0 = ((arg0 & 0xFF) * 0x10) + &D_80192C48;
|
|
temp_f0 = (arg1 & 0xFF) / 127.0f;
|
|
temp_v0->unkC = phi_a2;
|
|
temp_f8 = phi_a2;
|
|
temp_v0->unk4 = temp_f0;
|
|
phi_f8 = temp_f8;
|
|
if (phi_a2 < 0) {
|
|
phi_f8 = temp_f8 + 4294967296.0f;
|
|
}
|
|
temp_v0->unk8 = (temp_v0->unk0 - temp_f0) / phi_f8;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C58B8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_80192C48;
|
|
|
|
void func_800C5968(s32 arg0) {
|
|
? sp-10;
|
|
u16 temp_t9;
|
|
u16 temp_v1;
|
|
void *temp_v0;
|
|
|
|
sp-10.unk10 = arg0;
|
|
temp_v0 = ((arg0 & 0xFF) * 0x10) + &D_80192C48;
|
|
temp_v1 = temp_v0->unkC;
|
|
temp_t9 = temp_v1 - 1;
|
|
if (temp_v1 != 0) {
|
|
temp_v0->unkC = temp_t9;
|
|
if ((temp_t9 & 0xFFFF) != 0) {
|
|
temp_v0->unk0 = temp_v0->unk0 - temp_v0->unk8;
|
|
return;
|
|
}
|
|
temp_v0->unk0 = temp_v0->unk4;
|
|
// Duplicate return node #4. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5968.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C4888(s32); // extern
|
|
? func_800C4FE4(s32); // extern
|
|
? func_800C5968(s32); // extern
|
|
extern s8 D_80192C38;
|
|
extern s32 D_803B17D0;
|
|
extern ? D_803B5EF0;
|
|
|
|
void func_800C59C4(void) {
|
|
s32 temp_t8;
|
|
s32 phi_s0;
|
|
|
|
if (&D_803B5EF0 != D_803B17D0) {
|
|
D_80192C38 = 0;
|
|
phi_s0 = 0;
|
|
do {
|
|
func_800C4888(phi_s0 & 0xFF);
|
|
func_800C4FE4(phi_s0 & 0xFF);
|
|
func_800C5968(phi_s0 & 0xFF);
|
|
temp_t8 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t8;
|
|
} while (temp_t8 < 6);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C59C4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s8 D_800EA1B8;
|
|
extern s8 D_800EA1BC;
|
|
extern s16 D_800EA1C4;
|
|
extern ? D_80191420;
|
|
extern ? D_80192AA0;
|
|
extern ? D_80192AA8;
|
|
extern ? D_80192AB0;
|
|
extern ? D_80192AB8;
|
|
extern ? D_80192C3C;
|
|
extern ? D_80192C48;
|
|
|
|
void func_800C5A3C(void) {
|
|
? sp-10;
|
|
s32 temp_t3;
|
|
s32 temp_t4;
|
|
s32 temp_t4_2;
|
|
s32 temp_t4_3;
|
|
s32 temp_t8;
|
|
void *temp_a1;
|
|
void *temp_a1_2;
|
|
void *temp_a1_3;
|
|
void *temp_a2;
|
|
void *temp_v1;
|
|
s32 phi_v0;
|
|
s32 phi_v0_2;
|
|
s32 phi_v1;
|
|
s32 phi_v0_3;
|
|
s32 phi_a0;
|
|
s32 phi_v1_2;
|
|
|
|
D_800EA1B8 = 0;
|
|
D_800EA1BC = 0;
|
|
D_800EA1C4 = 0;
|
|
phi_v0 = 0;
|
|
phi_v0_2 = 0;
|
|
phi_v0_3 = 0;
|
|
do {
|
|
*(&D_80192AA0 + phi_v0) = 0;
|
|
*(&D_80192AA8 + phi_v0) = 1;
|
|
temp_t4 = (phi_v0 + 1) & 0xFF;
|
|
*(&D_80192AB0 + phi_v0) = 0;
|
|
*(&D_80192C3C + phi_v0) = 0;
|
|
temp_v1 = &D_80192C48 + (phi_v0 * 0x10);
|
|
temp_v1->unk0 = 1.0f;
|
|
temp_v1->unkC = 0;
|
|
phi_v0 = temp_t4;
|
|
} while (temp_t4 < 6);
|
|
do {
|
|
phi_v1 = 0;
|
|
loop_4:
|
|
temp_t3 = (phi_v1 + 1) & 0xFF;
|
|
((phi_v0_2 << 6) + &D_80192AB8 + (phi_v1 * 8))->unk4 = 0xFF;
|
|
phi_v1 = temp_t3;
|
|
if (temp_t3 < 8) {
|
|
goto loop_4;
|
|
}
|
|
temp_t4_2 = (phi_v0_2 + 1) & 0xFF;
|
|
phi_v0_2 = temp_t4_2;
|
|
} while (temp_t4_2 < 6);
|
|
do {
|
|
temp_a2 = &D_80191420 + (phi_v0_3 * 0x3C0);
|
|
temp_a1 = &D_80191420 + (phi_v0_3 * 0x3C0);
|
|
temp_a1->unk2A = 0xFF;
|
|
temp_a1->unk2B = 0xFF;
|
|
phi_a0 = 1;
|
|
phi_v1_2 = 1;
|
|
loop_8:
|
|
temp_t4_3 = (phi_v1_2 + 1) & 0xFF;
|
|
temp_a1_2 = temp_a2 + (phi_v1_2 * 0x30);
|
|
temp_a1_2->unk2A = phi_a0 - 1;
|
|
temp_a1_2->unk2B = phi_a0 + 1;
|
|
phi_a0 = temp_t4_3;
|
|
phi_v1_2 = temp_t4_3;
|
|
if (temp_t4_3 < 0x13) {
|
|
goto loop_8;
|
|
}
|
|
temp_t8 = (phi_v0_3 + 1) & 0xFF;
|
|
temp_a1_3 = temp_a2 + (temp_t4_3 * 0x30);
|
|
temp_a1_3->unk2A = temp_t4_3 - 1;
|
|
temp_a1_3->unk2B = 0xFF;
|
|
phi_v0_3 = temp_t8;
|
|
} while (temp_t8 < 6);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5A3C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CBBE8(s32, ?); // extern
|
|
extern ? D_800EA154;
|
|
extern u8 D_800EA1C0;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C5BD0(void) {
|
|
if (D_800EA1C0 == 0) {
|
|
func_800CBBE8((*(&D_800EA154 + *(&gPlayers + 0x254)) << 8) | 0xF3000000, 0);
|
|
return;
|
|
}
|
|
func_800CBBE8(0xF3004D00, 0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5BD0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C2474(); // extern
|
|
? func_800C284C(?, ?, ?, ?); // extern
|
|
? func_800C3F70(); // extern
|
|
? func_800C400C(); // extern
|
|
? func_800C5A3C(); // extern
|
|
? func_800C5BD0(); // extern
|
|
extern u8 D_800E9DA0;
|
|
|
|
void func_800C5C40(void) {
|
|
u8 temp_v0;
|
|
|
|
func_800C2474();
|
|
temp_v0 = D_800E9DA0;
|
|
if (temp_v0 != 0) {
|
|
func_800C400C();
|
|
} else {
|
|
D_800E9DA0 = temp_v0 + 1;
|
|
func_800C3F70();
|
|
}
|
|
func_800C5A3C();
|
|
func_800C284C(2, 0, 0xFF, 1);
|
|
func_800C5BD0();
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5C40.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C2474(); // extern
|
|
? func_800C284C(?, ?, ?, ?); // extern
|
|
? func_800C3F70(); // extern
|
|
? func_800C5A3C(); // extern
|
|
|
|
void func_800C5CB8(void) {
|
|
func_800C2474();
|
|
func_800C3F70();
|
|
func_800C5A3C();
|
|
func_800C284C(2, 0, 0xFF, 1);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5CB8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C94A4(u8); // extern
|
|
? func_800C97C4(s32, u8); // extern
|
|
extern ? D_800E9E24;
|
|
extern ? D_800E9E34;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA16C;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C5D04(u8 arg0) {
|
|
s32 *temp_a0;
|
|
s32 *temp_v1_3;
|
|
s32 temp_a0_2;
|
|
s32 temp_t1;
|
|
s32 temp_v0;
|
|
s32 temp_v0_3;
|
|
s32 temp_v1;
|
|
u8 *temp_v1_2;
|
|
u8 temp_a1;
|
|
u8 temp_v0_2;
|
|
s32 phi_v1;
|
|
|
|
temp_a1 = arg0 & 0xFF;
|
|
if ((*(&gPlayers + 0x44 + (temp_a1 * 0xDD8)) & 0x20) == 0x20) {
|
|
temp_v0 = temp_a1 * 4;
|
|
*(&D_800E9E34 + temp_v0) = 0;
|
|
temp_a0 = temp_v0 + &D_800E9E24;
|
|
temp_v1 = *temp_a0;
|
|
phi_v1 = temp_v1;
|
|
if (temp_v1 < 0x4E20) {
|
|
temp_t1 = temp_v1 + 1;
|
|
if (D_800EA16C == 0) {
|
|
*temp_a0 = temp_t1;
|
|
phi_v1 = temp_t1;
|
|
}
|
|
}
|
|
temp_v1_2 = temp_a1 + &D_800EA0EC;
|
|
if (phi_v1 == 1) {
|
|
temp_v0_2 = *temp_v1_2;
|
|
if (temp_v0_2 != 0) {
|
|
if (temp_v0_2 == 2) {
|
|
*temp_v1_2 = 1;
|
|
goto block_8;
|
|
}
|
|
// Duplicate return node #12. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
block_8:
|
|
arg0 = temp_a1;
|
|
func_800C97C4(temp_a1 & 0xFF, temp_a1);
|
|
func_800C94A4(arg0);
|
|
return;
|
|
}
|
|
// Duplicate return node #12. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
temp_v0_3 = temp_a1 * 4;
|
|
*(&D_800E9E24 + temp_v0_3) = 0;
|
|
temp_v1_3 = temp_v0_3 + &D_800E9E34;
|
|
temp_a0_2 = *temp_v1_3;
|
|
if ((temp_a0_2 < 0x4E20) && (D_800EA16C == 0)) {
|
|
*temp_v1_3 = temp_a0_2 + 1;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5D04.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C9018(s32, ?, u8, void *); // extern
|
|
? play_sound(?, void *, u8, void *, void *, void *); // extern
|
|
extern ? D_800E9DC4;
|
|
extern ? D_800E9DD4;
|
|
extern ? D_800E9E14;
|
|
extern ? D_800E9E24;
|
|
extern ? D_800E9E34;
|
|
extern ? D_800E9F04;
|
|
extern ? D_800E9F54;
|
|
extern ? D_800E9F74;
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800E9F8C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA130;
|
|
extern u8 D_800EA16C;
|
|
extern u8 D_800EA1C0;
|
|
extern f32 D_800F3674;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C5E38(u8 arg0) {
|
|
s32 sp3C;
|
|
f32 temp_f0;
|
|
f32 temp_f2;
|
|
s32 temp_v0;
|
|
s32 temp_v0_2;
|
|
u8 *temp_t0;
|
|
u8 temp_a2;
|
|
u8 temp_v1;
|
|
void *temp_a1;
|
|
void *temp_a1_2;
|
|
void *temp_a3;
|
|
s32 phi_v0;
|
|
u8 phi_a2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
phi_a2 = temp_a2;
|
|
if (D_800EA108 == 0) {
|
|
temp_a3 = (temp_a2 * 0xDD8) + &gPlayers;
|
|
temp_v0 = temp_a2 * 4;
|
|
phi_v0 = temp_v0;
|
|
if (((temp_a3->unk44 & 0x20) != 0x20) && (temp_t0 = temp_a2 + &D_800EA0EC, (temp_a3->unk98 > 400.0f))) {
|
|
temp_v0_2 = temp_a2 * 4;
|
|
*(&D_800E9E14 + temp_v0_2) = 1;
|
|
temp_v1 = *temp_t0;
|
|
if (temp_v1 == 0) {
|
|
*(&D_800E9F8C + (temp_a2 * 0x3C)) = D_800F3674 - *(&D_800E9F54 + temp_v0_2);
|
|
}
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
*(&D_800E9DC4 + temp_v0_2) = temp_a1->unk30;
|
|
*(&D_800E9DD4 + temp_v0_2) = temp_a1->unk24;
|
|
if ((*(&D_800E9E34 + temp_v0_2) == 1) && (D_800EA16C == 0)) {
|
|
if (temp_v1 != 0) {
|
|
if (temp_v1 == 2) {
|
|
*temp_t0 = 1;
|
|
goto block_10;
|
|
}
|
|
// Duplicate return node #23. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
block_10:
|
|
if ((*(&D_800E9F74 + temp_a2) == 0) && (temp_a3->unk254 != 3)) {
|
|
if (D_800EA1C0 < 2) {
|
|
play_sound(0x100F926, temp_a1, temp_a2, temp_a1 + 0x38, temp_v0_2 + &D_800E9F04, temp_a1 + 0x14);
|
|
return;
|
|
}
|
|
play_sound(0x1008026, temp_a1, temp_a2, temp_a1 + 0x38, temp_v0_2 + &D_800E9F04, temp_a1 + 0x14);
|
|
return;
|
|
}
|
|
// Duplicate return node #23. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
// Duplicate return node #23. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if (*(&D_800E9E24 + temp_v0) == 0xA) {
|
|
if (D_800EA1C0 < 2) {
|
|
sp3C = temp_v0;
|
|
arg0 = temp_a2;
|
|
func_800C9018(temp_a2 & 0xFF, 0x100F926, temp_a2, temp_a3);
|
|
} else {
|
|
sp3C = temp_v0;
|
|
arg0 = temp_a2;
|
|
func_800C9018(temp_a2 & 0xFF, 0x1008026, temp_a2, temp_a3);
|
|
}
|
|
phi_v0 = temp_a2 * 4;
|
|
phi_a2 = arg0;
|
|
}
|
|
*(&D_800E9E14 + phi_v0) = 0;
|
|
temp_f0 = 1.0f - *(&D_800E9F54 + phi_v0);
|
|
temp_f2 = *(&D_800EA130 + phi_v0);
|
|
temp_a1_2 = (phi_a2 * 0x3C) + &D_800E9F7C;
|
|
temp_a1_2->unk10 = temp_f0 - temp_f2;
|
|
if (temp_f0 < temp_f2) {
|
|
temp_a1_2->unk10 = 0.0f;
|
|
}
|
|
*(&D_800E9DC4 + phi_v0) = temp_a1_2->unk2C;
|
|
*(&D_800E9DD4 + phi_v0) = temp_a1_2->unk20;
|
|
// Duplicate return node #23. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C5E38.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9DC4;
|
|
extern ? D_800E9DD4;
|
|
extern ? D_800E9DE4;
|
|
extern ? D_800E9DF4;
|
|
extern ? D_800E9E54;
|
|
extern ? D_800E9E64;
|
|
extern ? D_800E9EB4;
|
|
extern ? D_800E9EC4;
|
|
extern ? D_800E9ED4;
|
|
extern ? D_800E9EE4;
|
|
extern ? D_800E9F34;
|
|
extern ? D_800E9F74;
|
|
extern ? D_800E9F78;
|
|
extern ? D_800E9F7C;
|
|
extern f32 D_800F3678;
|
|
extern f32 D_800F367C;
|
|
extern f32 D_800F3680;
|
|
extern f32 D_800F3684;
|
|
extern f32 D_800F3688;
|
|
extern f32 D_800F368C;
|
|
extern f32 D_800F3690;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C6108(s32 arg0) {
|
|
? sp-10;
|
|
f32 *temp_a0;
|
|
f32 *temp_a2_2;
|
|
f32 *temp_a3;
|
|
f32 *temp_t0;
|
|
f32 *temp_t0_2;
|
|
f32 *temp_t2;
|
|
f32 *temp_t2_2;
|
|
f32 *temp_v1_3;
|
|
f32 *temp_v1_4;
|
|
f32 *temp_v1_5;
|
|
f32 temp_f0;
|
|
f32 temp_f0_2;
|
|
f32 temp_f0_3;
|
|
f32 temp_f0_4;
|
|
f32 temp_f12;
|
|
f32 temp_f2;
|
|
f32 temp_f2_2;
|
|
s16 temp_t1;
|
|
s32 temp_a2;
|
|
s32 temp_v0;
|
|
u8 *temp_a3_2;
|
|
u8 temp_t0_3;
|
|
u8 temp_v1_2;
|
|
void *temp_a1;
|
|
void *temp_a1_2;
|
|
void *temp_v1;
|
|
f32 *phi_t0;
|
|
f32 *phi_a0;
|
|
f32 *phi_t2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
temp_v0 = temp_a2 * 4;
|
|
sp-10.unk10 = arg0;
|
|
temp_v1 = (temp_a2 * 0xDD8) + &gPlayers;
|
|
temp_f0 = temp_v1->unk98;
|
|
temp_a3 = temp_v0 + &D_800E9E64;
|
|
*temp_a3 = *(&D_800E9DD4 + temp_v0) + (temp_f0 / *(&D_800E9DC4 + temp_v0));
|
|
if ((temp_f0 < 1800.0f) && ((temp_v1->unk44 & 0x20) != 0x20)) {
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
*temp_a3 = temp_a1->unk28 + (temp_f0 / temp_a1->unk34);
|
|
}
|
|
temp_a1_2 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
if (temp_v1->unk94 > 4.75f) {
|
|
temp_a0 = temp_v0 + &D_800E9EB4;
|
|
temp_t0 = temp_v0 + &D_800E9DE4;
|
|
phi_a0 = temp_a0;
|
|
if (*temp_a0 < (temp_a1_2->unk18 + D_800F3678)) {
|
|
*temp_t0 = *temp_t0 + D_800F367C;
|
|
}
|
|
phi_t0 = temp_v0 + &D_800E9DE4;
|
|
} else {
|
|
temp_t0_2 = temp_v0 + &D_800E9DE4;
|
|
*temp_t0_2 = 0.0f;
|
|
phi_t0 = temp_t0_2;
|
|
phi_a0 = temp_v0 + &D_800E9EB4;
|
|
}
|
|
temp_t1 = temp_v1->unkC0;
|
|
if (temp_t1 > 0) {
|
|
temp_t2 = temp_v0 + &D_800E9E54;
|
|
*temp_t2 = temp_t1;
|
|
phi_t2 = temp_t2;
|
|
} else {
|
|
temp_t2_2 = temp_v0 + &D_800E9E54;
|
|
*temp_t2_2 = -temp_t1;
|
|
phi_t2 = temp_t2_2;
|
|
}
|
|
if ((temp_v1->unkBC & 0x10) == 0x10) {
|
|
*phi_a0 = *phi_t0 + *temp_a3;
|
|
} else {
|
|
temp_f2 = D_800F3680;
|
|
temp_f0_2 = (*temp_a3 + *phi_t0) - (*phi_t2 / D_800F3684);
|
|
*phi_a0 = temp_f0_2;
|
|
if (temp_f0_2 < temp_f2) {
|
|
*phi_a0 = temp_f2;
|
|
}
|
|
}
|
|
temp_v1_2 = *(&D_800E9F74 + temp_a2);
|
|
temp_a3_2 = temp_a2 + &D_800E9F78;
|
|
if ((temp_v1_2 != 0) || (*(&D_800E9F78 + temp_a2) != 0)) {
|
|
temp_t0_3 = *temp_a3_2;
|
|
if (temp_v1_2 != 0) {
|
|
if (temp_t0_3 < 0xF) {
|
|
*temp_a3_2 = temp_t0_3 + 1;
|
|
temp_v1_3 = temp_v0 + &D_800E9DF4;
|
|
*temp_v1_3 = *temp_v1_3 + D_800F3688;
|
|
}
|
|
} else if (temp_t0_3 != 0) {
|
|
*temp_a3_2 = temp_t0_3 - 1;
|
|
temp_v1_4 = temp_v0 + &D_800E9DF4;
|
|
*temp_v1_4 = *temp_v1_4 - D_800F368C;
|
|
}
|
|
*phi_a0 = *phi_a0 - *(&D_800E9DF4 + temp_v0);
|
|
}
|
|
temp_a2_2 = temp_v0 + &D_800E9EC4;
|
|
temp_f2_2 = *temp_a2_2;
|
|
temp_f0_3 = *phi_a0;
|
|
temp_f12 = temp_f0_3 - temp_f2_2;
|
|
temp_v1_5 = temp_v0 + &D_800E9EE4;
|
|
*temp_v1_5 = temp_f12;
|
|
if ((temp_f12 > 0.5f) || (*temp_v1_5 < 0.5f)) {
|
|
temp_f0_4 = *temp_v1_5 * 0.25f;
|
|
*(&D_800E9ED4 + temp_v0) = temp_f0_4;
|
|
temp_a1_2->unkC = *(&D_800E9F34 + temp_v0) + (temp_f2_2 + temp_f0_4);
|
|
} else {
|
|
temp_a1_2->unkC = *(&D_800E9F34 + temp_v0) + temp_f0_3;
|
|
}
|
|
if (temp_a1_2->unkC > 4.0f) {
|
|
temp_a1_2->unkC = 4.0f;
|
|
}
|
|
*temp_a2_2 = temp_a1_2->unkC;
|
|
temp_a1_2->unk38 = (temp_a1_2->unkC / 1.5f) + D_800F3690;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C6108.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
static ? D_800E9E24; /* unable to generate initializer; const */
|
|
static ? D_800E9E34; /* unable to generate initializer; const */
|
|
static ? D_800E9E54; /* unable to generate initializer; const */
|
|
static ? D_800E9E74; /* unable to generate initializer; const */
|
|
static ? D_800E9EF4; /* unable to generate initializer; const */
|
|
static ? D_800E9F04; /* unable to generate initializer; const */
|
|
static ? D_800E9F24; /* unable to generate initializer; const */
|
|
|
|
void func_800C64A0(s32 playerId) {
|
|
f32 *temp_v1;
|
|
f32 *temp_v1_2;
|
|
f32 *temp_v1_3;
|
|
f32 *temp_v1_4;
|
|
s32 temp_t6;
|
|
s32 temp_t7;
|
|
s32 temp_v0;
|
|
f32 *phi_v1;
|
|
Player *phi_a1;
|
|
f32 phi_f16;
|
|
f32 *phi_v1_2;
|
|
|
|
temp_t6 = playerId & 0xFF;
|
|
temp_v0 = temp_t6 * 4;
|
|
unksp-10.unk10 = playerId;
|
|
temp_t7 = *(&D_800E9E74 + temp_v0);
|
|
switch (temp_t7) {
|
|
case 3:
|
|
temp_v1 = temp_v0 + &D_800E9EF4;
|
|
*temp_v1 = (gPlayers[temp_t6].unk_094 / 5.0f) + 0.2f;
|
|
phi_v1 = temp_v1;
|
|
phi_a1 = &gPlayers[temp_t6];
|
|
break;
|
|
case 1:
|
|
case 13:
|
|
case 14:
|
|
case 17:
|
|
temp_v1_2 = temp_v0 + &D_800E9EF4;
|
|
*temp_v1_2 = ((*(&D_800E9E54 + temp_v0) - 3500.0f) / 3000.0f) + 0.4f;
|
|
phi_v1 = temp_v1_2;
|
|
phi_a1 = &gPlayers[temp_t6];
|
|
break;
|
|
case 4:
|
|
case 5:
|
|
case 6:
|
|
case 7:
|
|
case 8:
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
case 12:
|
|
case 22:
|
|
case 23:
|
|
case 24:
|
|
case 29:
|
|
case 30:
|
|
case 31:
|
|
temp_v1_3 = temp_v0 + &D_800E9EF4;
|
|
*temp_v1_3 = (gPlayers[temp_t6].unk_094 / 5.0f) + 0.2f;
|
|
phi_v1 = temp_v1_3;
|
|
phi_a1 = &gPlayers[temp_t6];
|
|
break;
|
|
default:
|
|
temp_v1_4 = temp_v0 + &D_800E9EF4;
|
|
*temp_v1_4 = 1.0f;
|
|
phi_v1 = temp_v1_4;
|
|
phi_a1 = &gPlayers[temp_t6];
|
|
break;
|
|
}
|
|
if (*phi_v1 > 1.0f) {
|
|
*phi_v1 = 1.0f;
|
|
}
|
|
if (*phi_v1 < 0.0f) {
|
|
*phi_v1 = 0.0f;
|
|
}
|
|
if ((phi_a1->unk_044 & 0x20) == 0x20) {
|
|
phi_f16 = 0.56f - (*(&D_800E9E24 + temp_v0) * 0.06f);
|
|
phi_v1_2 = temp_v0 + &D_800E9F04;
|
|
} else {
|
|
phi_f16 = (*(&D_800E9E34 + temp_v0) / 50.0f) + 0.25f;
|
|
phi_v1_2 = temp_v0 + &D_800E9F04;
|
|
}
|
|
*phi_v1_2 = phi_f16;
|
|
if (*(&D_800E9F24 + temp_t6) != 0) {
|
|
*phi_v1_2 = 0.0f;
|
|
}
|
|
if (*phi_v1_2 > 0.9f) {
|
|
*phi_v1_2 = 0.9f;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C64A0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9E54;
|
|
extern ? D_800E9E74;
|
|
extern ? D_800E9F14;
|
|
extern f32 D_800F3730;
|
|
extern f32 D_800F3734;
|
|
extern f32 D_800F3738;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C6758(s32 arg0) {
|
|
? sp-10;
|
|
s32 temp_t6;
|
|
s32 temp_v0;
|
|
s32 temp_v1;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
temp_v1 = temp_t6 * 4;
|
|
sp-10.unk10 = arg0;
|
|
temp_v0 = *(&D_800E9E74 + temp_v1);
|
|
if (temp_v0 != 2) {
|
|
if (temp_v0 != 3) {
|
|
if ((temp_v0 != 0xD) && (temp_v0 != 0x11)) {
|
|
*(&D_800E9F14 + temp_v1) = 1.0f;
|
|
return;
|
|
}
|
|
goto block_6;
|
|
}
|
|
*(&D_800E9F14 + temp_v1) = (*(&gPlayers + 0x94 + (temp_t6 * 0xDD8)) / 9.0f) + D_800F3730;
|
|
return;
|
|
}
|
|
block_6:
|
|
*(&D_800E9F14 + temp_v1) = (*(&D_800E9E54 + temp_v1) / D_800F3734) + D_800F3738;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C6758.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? func_800C5578(void *, s32, u8); /* extern */
|
|
? play_sound(?, void *, u8, ? *, ? *, void *); /* extern */
|
|
static ? D_800E9E74; /* unable to generate initializer; const */
|
|
static ? D_800E9E84; /* unable to generate initializer; const */
|
|
static ? D_800E9E94; /* unable to generate initializer; const */
|
|
static ? D_800E9EF4; /* unable to generate initializer; const */
|
|
static ? D_800E9F14; /* unable to generate initializer; const */
|
|
static ? D_800E9F7C; /* unable to generate initializer; const */
|
|
static ? D_800EA0EC; /* unable to generate initializer; const */
|
|
static ? D_800EA1D4; /* unable to generate initializer; const */
|
|
|
|
void func_800C683C(u8 arg0) {
|
|
s32 sp4C;
|
|
s32 *sp40;
|
|
s32 *temp_s1;
|
|
s32 *temp_s2;
|
|
s32 *temp_t0;
|
|
s32 temp_t6;
|
|
s32 temp_v0;
|
|
u8 temp_a2;
|
|
void *temp_s0;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v0 = temp_a2 * 4;
|
|
if (*(&D_800EA0EC + temp_a2) == 0) {
|
|
temp_t0 = temp_v0 + &D_800E9E84;
|
|
sp40 = temp_t0;
|
|
temp_s2 = temp_v0 + &D_800E9E74;
|
|
if (*temp_s2 != *temp_t0) {
|
|
temp_s0 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
temp_s1 = temp_v0 + &D_800E9E94;
|
|
sp4C = temp_v0;
|
|
arg0 = temp_a2;
|
|
func_800C5578(temp_s0, *temp_s1, temp_a2);
|
|
temp_t6 = *temp_s2;
|
|
switch (temp_t6) {
|
|
case 3:
|
|
play_sound(0x100F908, temp_s0, arg0, temp_v0 + &D_800E9F14, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F908;
|
|
break;
|
|
case 18:
|
|
play_sound(0x100F81D, temp_s0, arg0, &D_800EA1D4, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F81D;
|
|
break;
|
|
case 19:
|
|
play_sound(0x100F822, temp_s0, arg0, &D_800EA1D4, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F822;
|
|
break;
|
|
case 1:
|
|
play_sound(0x100F009, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F009;
|
|
break;
|
|
case 2:
|
|
play_sound(0x100F40A, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F40A;
|
|
break;
|
|
case 17:
|
|
play_sound(0x100F01E, temp_s0, arg0, temp_v0 + &D_800E9F14, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F01E;
|
|
break;
|
|
case 15:
|
|
play_sound(0x100F01F, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F01F;
|
|
break;
|
|
case 16:
|
|
play_sound(0x100F021, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F021;
|
|
break;
|
|
case 20:
|
|
play_sound(0x100F027, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F027;
|
|
break;
|
|
case 25:
|
|
play_sound(0x100F020, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F020;
|
|
break;
|
|
case 26:
|
|
play_sound(0x100F023, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F023;
|
|
break;
|
|
case 27:
|
|
play_sound(0x1008046, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x1008046;
|
|
break;
|
|
case 28:
|
|
play_sound(0x100F025, temp_s0, arg0, temp_v0 + &D_800E9F14, &D_800EA1D4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F025;
|
|
break;
|
|
case 4:
|
|
play_sound(0x100F00B, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F00B;
|
|
break;
|
|
case 5:
|
|
play_sound(0x100F00C, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F00C;
|
|
break;
|
|
case 6:
|
|
play_sound(0x100F00D, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F00D;
|
|
break;
|
|
case 7:
|
|
play_sound(0x100F00E, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F00E;
|
|
break;
|
|
case 8:
|
|
play_sound(0x100F00F, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F00F;
|
|
break;
|
|
case 9:
|
|
play_sound(0x100F010, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F010;
|
|
break;
|
|
case 10:
|
|
case 14:
|
|
play_sound(0x100F011, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F011;
|
|
break;
|
|
case 11:
|
|
play_sound(0x100F012, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F012;
|
|
break;
|
|
case 12:
|
|
play_sound(0x100F013, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F013;
|
|
break;
|
|
case 29:
|
|
play_sound(0x100F048, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F048;
|
|
break;
|
|
case 30:
|
|
play_sound(0x100F049, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F049;
|
|
break;
|
|
case 31:
|
|
play_sound(0x100F04A, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F04A;
|
|
break;
|
|
case 13:
|
|
case 22:
|
|
play_sound(0x100F029, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F029;
|
|
break;
|
|
case 23:
|
|
play_sound(0x100F02A, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F02A;
|
|
break;
|
|
case 24:
|
|
play_sound(0x100F02B, temp_s0, arg0, &D_800EA1D4, temp_v0 + &D_800E9EF4, temp_s0 + 0x14);
|
|
*temp_s1 = 0x100F02B;
|
|
break;
|
|
default:
|
|
func_800C5578(temp_s0, *temp_s1, arg0);
|
|
break;
|
|
}
|
|
}
|
|
*sp40 = *temp_s2;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C683C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
static ? D_800E9E54; /* unable to generate initializer; const */
|
|
static ? D_800E9E74; /* unable to generate initializer; const */
|
|
static ? D_800E9F74; /* unable to generate initializer; const */
|
|
static ? D_800EA0EC; /* unable to generate initializer; const */
|
|
|
|
void func_800C70A8(s32 playerId) {
|
|
s32 *temp_v0;
|
|
s32 temp_a0;
|
|
s32 temp_a0_2;
|
|
s32 temp_a1;
|
|
s32 temp_t1;
|
|
s32 temp_v1;
|
|
u8 temp_t2;
|
|
u8 temp_t7;
|
|
u8 temp_t9;
|
|
s32 phi_t1;
|
|
Player *phi_v1;
|
|
s32 phi_a0;
|
|
|
|
temp_a1 = playerId & 0xFF;
|
|
unksp-10.unk10 = playerId;
|
|
temp_v1 = temp_a1 * 4;
|
|
if (*(&D_800EA0EC + temp_a1) == 0) {
|
|
temp_v0 = temp_v1 + &D_800E9E74;
|
|
*temp_v0 = 0;
|
|
if ((*(&D_800E9E54 + temp_v1) > 3500.0f) || (temp_a0 = gPlayers[temp_a1].unk_0BC, temp_t1 = temp_a0 & 0x10, phi_t1 = temp_t1, phi_v1 = &gPlayers[temp_a1], phi_a0 = temp_a0, (temp_t1 == 0x10))) {
|
|
temp_t7 = gPlayers[temp_a1].unk_1D4;
|
|
temp_a0_2 = gPlayers[temp_a1].unk_0BC;
|
|
*temp_v0 = 1;
|
|
phi_t1 = temp_a0_2 & 0x10;
|
|
phi_v1 = &gPlayers[temp_a1];
|
|
phi_a0 = temp_a0_2;
|
|
switch (temp_t7) { /* switch 1 */
|
|
case 2: /* switch 1 */
|
|
*temp_v0 = 0xD;
|
|
break;
|
|
case 3: /* switch 1 */
|
|
*temp_v0 = 0xE;
|
|
break;
|
|
case 6: /* switch 1 */
|
|
*temp_v0 = 0x11;
|
|
break;
|
|
case 4: /* switch 1 */
|
|
*temp_v0 = 0xF;
|
|
break;
|
|
case 5: /* switch 1 */
|
|
*temp_v0 = 0x10;
|
|
break;
|
|
case 9: /* switch 1 */
|
|
*temp_v0 = 0x14;
|
|
break;
|
|
case 16: /* switch 1 */
|
|
*temp_v0 = 0x19;
|
|
break;
|
|
case 17: /* switch 1 */
|
|
*temp_v0 = 0x1A;
|
|
break;
|
|
case 14: /* switch 1 */
|
|
*temp_v0 = 0x1B;
|
|
break;
|
|
}
|
|
}
|
|
temp_t2 = phi_v1->unk_1D4;
|
|
if (phi_t1 == 0x10) {
|
|
*temp_v0 = 2;
|
|
switch (temp_t2) { /* switch 2 */
|
|
case 2: /* switch 2 */
|
|
*temp_v0 = 0xD;
|
|
break;
|
|
case 3: /* switch 2 */
|
|
*temp_v0 = 0xE;
|
|
break;
|
|
case 6: /* switch 2 */
|
|
*temp_v0 = 0x11;
|
|
break;
|
|
case 4: /* switch 2 */
|
|
*temp_v0 = 0xF;
|
|
break;
|
|
case 5: /* switch 2 */
|
|
*temp_v0 = 0x10;
|
|
break;
|
|
case 9: /* switch 2 */
|
|
*temp_v0 = 0x14;
|
|
break;
|
|
case 16: /* switch 2 */
|
|
*temp_v0 = 0x19;
|
|
break;
|
|
case 17: /* switch 2 */
|
|
*temp_v0 = 0x1A;
|
|
break;
|
|
case 14: /* switch 2 */
|
|
*temp_v0 = 0x1B;
|
|
break;
|
|
}
|
|
}
|
|
switch (temp_t2) { /* switch 3 */
|
|
case 8: /* switch 3 */
|
|
if (*temp_v0 == 6) {
|
|
*temp_v0 = 4;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 5;
|
|
} else {
|
|
*temp_v0 = 4;
|
|
}
|
|
break;
|
|
case 7: /* switch 3 */
|
|
if (*temp_v0 == 0xC) {
|
|
*temp_v0 = 0xA;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 0xB;
|
|
} else {
|
|
*temp_v0 = 0xA;
|
|
}
|
|
break;
|
|
case 13: /* switch 3 */
|
|
if (*temp_v0 == 0x18) {
|
|
*temp_v0 = 0x16;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 0x17;
|
|
} else {
|
|
*temp_v0 = 0x16;
|
|
}
|
|
break;
|
|
case 11: /* switch 3 */
|
|
if (*temp_v0 == 0x1F) {
|
|
*temp_v0 = 0x1D;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 0x1E;
|
|
} else {
|
|
*temp_v0 = 0x1D;
|
|
}
|
|
break;
|
|
case 10: /* switch 3 */
|
|
if (*(&D_800E9F74 + temp_a1) == 0) {
|
|
if (*temp_v0 == 9) {
|
|
*temp_v0 = 7;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 8;
|
|
} else {
|
|
*temp_v0 = 7;
|
|
}
|
|
} else {
|
|
*temp_v0 = 0x1C;
|
|
}
|
|
break;
|
|
case 16: /* switch 3 */
|
|
*temp_v0 = 0x19;
|
|
break;
|
|
case 17: /* switch 3 */
|
|
*temp_v0 = 0x1A;
|
|
break;
|
|
case 14: /* switch 3 */
|
|
*temp_v0 = 0x1B;
|
|
break;
|
|
}
|
|
temp_t9 = phi_v1->unk_1EC;
|
|
switch (temp_t9) { /* switch 4 */
|
|
case 8: /* switch 4 */
|
|
if (*temp_v0 == 5) {
|
|
*temp_v0 = 4;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 6;
|
|
} else {
|
|
*temp_v0 = 4;
|
|
}
|
|
break;
|
|
case 7: /* switch 4 */
|
|
if (*temp_v0 == 0xB) {
|
|
*temp_v0 = 0xA;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 0xC;
|
|
} else {
|
|
*temp_v0 = 0xA;
|
|
}
|
|
break;
|
|
case 13: /* switch 4 */
|
|
if (*temp_v0 == 0x17) {
|
|
*temp_v0 = 0x16;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 0x18;
|
|
} else {
|
|
*temp_v0 = 0x16;
|
|
}
|
|
break;
|
|
case 11: /* switch 4 */
|
|
if (*temp_v0 == 0x1E) {
|
|
*temp_v0 = 0x1D;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 0x1F;
|
|
} else {
|
|
*temp_v0 = 0x1D;
|
|
}
|
|
break;
|
|
case 10: /* switch 4 */
|
|
if (*(&D_800E9F74 + temp_a1) == 0) {
|
|
if (*temp_v0 == 8) {
|
|
*temp_v0 = 7;
|
|
} else if (D_800EA1C0 == 0) {
|
|
*temp_v0 = 9;
|
|
} else {
|
|
*temp_v0 = 7;
|
|
}
|
|
} else {
|
|
*temp_v0 = 0x1C;
|
|
}
|
|
break;
|
|
case 16: /* switch 4 */
|
|
*temp_v0 = 0x19;
|
|
break;
|
|
case 17: /* switch 4 */
|
|
*temp_v0 = 0x1A;
|
|
break;
|
|
case 14: /* switch 4 */
|
|
*temp_v0 = 0x1B;
|
|
break;
|
|
}
|
|
if (((phi_v1->unk_094 < 0.5f) || ((phi_a0 & 8) == 8)) && (*temp_v0 != 0x1C)) {
|
|
*temp_v0 = 0;
|
|
}
|
|
if ((((phi_a0 & 0x4000) == 0x4000) && ((phi_v1->unk_000 & 0x2000) != 0x2000)) || ((phi_a0 & 0x800) == 0x800) || ((phi_a0 & 0x80) == 0x80) || ((phi_a0 & 0x40) == 0x40) || ((phi_v1->unk_044 & 0x4000) == 0x4000)) {
|
|
*temp_v0 = 0x12;
|
|
}
|
|
if ((((phi_a0 & 0x20) == 0x20) && ((phi_v1->unk_000 & 0x2000) != 0x2000)) || ((phi_a0 & 0x800) == 0x800)) {
|
|
*temp_v0 = 0x13;
|
|
}
|
|
if (phi_v1->unk_20C != 0.0f) {
|
|
*temp_v0 = 3;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C70A8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(?, ?); // extern
|
|
s32 func_800C3508(?); // extern
|
|
? func_800C5278(?); // extern
|
|
? func_800C5578(void *, s32); // extern
|
|
? func_800C8EF8(?); // extern
|
|
? func_800C9018(u8, ?); // extern
|
|
? func_800C9060(u8, ?); // extern
|
|
? func_800C90F4(u8, s32, s8 *, s32); // extern
|
|
? func_800C97C4(u8); // extern
|
|
? func_800C9A88(u8); // extern
|
|
? func_800C9D0C(u8); // extern
|
|
? func_800CA414(?, ?); // extern
|
|
extern s32 D_800DC5E8;
|
|
extern ? D_800E9E74;
|
|
extern ? D_800E9E94;
|
|
extern ? D_800E9EA4;
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA0ED;
|
|
extern u8 D_800EA0EE;
|
|
extern u8 D_800EA0EF;
|
|
extern s8 D_800EA0F0;
|
|
extern u8 D_800EA104;
|
|
extern ? D_800EA130;
|
|
extern u8 D_800EA1C0;
|
|
extern s8 D_801657E5;
|
|
extern u8 D_8018ED90;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C76C0(u8 arg0) {
|
|
s32 sp38;
|
|
s32 *sp34;
|
|
u8 *sp30;
|
|
s16 temp_v0_12;
|
|
s16 temp_v0_13;
|
|
s16 temp_v0_8;
|
|
s16 temp_v0_9;
|
|
s32 *temp_t0;
|
|
s32 temp_t1;
|
|
s32 temp_t7;
|
|
s32 temp_v0;
|
|
s32 temp_v0_11;
|
|
s32 temp_v1;
|
|
s32 temp_v1_4;
|
|
s32 temp_v1_5;
|
|
s32 temp_v1_6;
|
|
s32 temp_v1_7;
|
|
s8 *temp_a2;
|
|
u8 *temp_v0_3;
|
|
u8 *temp_v0_7;
|
|
u8 temp_a0;
|
|
u8 temp_t6;
|
|
u8 temp_v0_10;
|
|
u8 temp_v0_2;
|
|
u8 temp_v0_4;
|
|
u8 temp_v0_5;
|
|
u8 temp_v0_6;
|
|
void *temp_v1_2;
|
|
void *temp_v1_3;
|
|
s32 phi_v1;
|
|
u8 phi_v0;
|
|
s32 phi_v1_2;
|
|
s32 phi_v0_2;
|
|
s32 phi_a3;
|
|
u8 phi_a0;
|
|
f32 phi_f10;
|
|
f32 *phi_at;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
temp_t7 = temp_t6 * 4;
|
|
temp_t0 = temp_t7 + &D_800E9EA4;
|
|
sp34 = temp_t0;
|
|
sp38 = temp_t7;
|
|
temp_v1 = *temp_t0;
|
|
phi_v1 = temp_v1;
|
|
if (temp_v1 != 0) {
|
|
temp_t1 = temp_v1 + 1;
|
|
if (temp_v1 < 0x2BC) {
|
|
*temp_t0 = temp_t1;
|
|
phi_v1 = temp_t1;
|
|
}
|
|
arg0 = temp_t6;
|
|
phi_v1_2 = phi_v1;
|
|
if (phi_v1 == 2) {
|
|
arg0 = temp_t6;
|
|
func_800C9018(temp_t6, 0x100FA28);
|
|
func_800C9018(arg0, 0x100FF2C);
|
|
func_800C9018(arg0, 0x100FA4C);
|
|
func_800C5578((arg0 * 0x3C) + &D_800E9F7C, *(&D_800E9E94 + sp38));
|
|
temp_v0 = gModeSelection;
|
|
*(&D_800E9E74 + sp38) = 0;
|
|
if (temp_v0 != GRAND_PRIX) {
|
|
if (temp_v0 != TIME_TRIALS) {
|
|
if (temp_v0 != VERSUS) {
|
|
if (temp_v0 != BATTLE) {
|
|
|
|
} else {
|
|
temp_v0_2 = D_800EA1C0;
|
|
if (temp_v0_2 != 1) {
|
|
if (temp_v0_2 != 2) {
|
|
if (temp_v0_2 != 3) {
|
|
|
|
} else if ((D_800EA0EC.unk0 == 1) && (D_800EA0ED == 1) && (D_800EA0EE == 1) && (D_800EA0EF == 1)) {
|
|
func_800C5278(5);
|
|
func_800C9018(arg0, 0x1008026);
|
|
func_800C8EF8(0x17);
|
|
*(&D_800EA0EC + arg0) = 2;
|
|
func_800C90F4(arg0, (*(&gPlayers + 0x254 + (D_800DC5E8 * 0xDD8)) * 0x10) + 0x2900800D);
|
|
}
|
|
} else if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1)) {
|
|
func_800C5278(5);
|
|
func_800C9018(arg0, 0x1008026);
|
|
func_800C8EF8(0x17);
|
|
*(&D_800EA0EC + arg0) = 2;
|
|
func_800C90F4(arg0, (*(&gPlayers + 0x254 + (D_800DC5E8 * 0xDD8)) * 0x10) + 0x2900800D);
|
|
}
|
|
} else {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C5278(5);
|
|
func_800C9018(arg0, 0x100F926);
|
|
func_800C8EF8(0x17);
|
|
*(&D_800EA0EC + arg0) = 2;
|
|
func_800C90F4(arg0, (*(&gPlayers + 0x254 + (D_800DC5E8 * 0xDD8)) * 0x10) + 0x2900800D);
|
|
}
|
|
}
|
|
} else {
|
|
temp_v0_3 = arg0 + &D_800EA0EC;
|
|
*temp_v0_3 = 2;
|
|
sp30 = temp_v0_3;
|
|
func_800C9060(arg0, 0x1900F103);
|
|
temp_v0_4 = D_800EA1C0;
|
|
if (temp_v0_4 != 1) {
|
|
if (temp_v0_4 != 2) {
|
|
if (temp_v0_4 != 3) {
|
|
|
|
} else {
|
|
temp_v0_5 = D_800EA104;
|
|
if ((temp_v0_5 == 0) && (*sp30 == 1)) {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C8EF8(0xD);
|
|
D_800EA104 = 1;
|
|
} else if ((temp_v0_5 == 1) && (*sp30 == 1)) {
|
|
if (func_800C3508(1) != 0xD) {
|
|
D_800EA104 = 0;
|
|
func_800C8EF8(0xE);
|
|
}
|
|
D_800EA104 = 2;
|
|
} else if ((temp_v0_5 == 2) && (*sp30 == 1)) {
|
|
func_800C5278(5);
|
|
if (func_800C3508(1) != 0xE) {
|
|
D_800EA104 = 0;
|
|
func_800CA414(0xE, 0x17);
|
|
}
|
|
D_800EA104 = 3;
|
|
}
|
|
}
|
|
} else {
|
|
temp_v0_6 = D_800EA104;
|
|
if ((temp_v0_6 == 0) && (*sp30 == 1)) {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800CA414(0xD, 0x17);
|
|
D_800EA104 = 1;
|
|
} else if ((temp_v0_6 == 1) && (*sp30 == 1)) {
|
|
func_800C5278(5);
|
|
if (func_800C3508(1) != 0xD) {
|
|
D_800EA104 = 0;
|
|
func_800CA414(0xE, 0x17);
|
|
}
|
|
D_800EA104 = 2;
|
|
}
|
|
}
|
|
} else {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C97C4(arg0);
|
|
D_800EA0F0 = 2;
|
|
func_800C9A88(arg0);
|
|
func_800CA414(0xD, 0x17);
|
|
}
|
|
}
|
|
phi_v1_2 = *sp34;
|
|
} else {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C97C4(arg0);
|
|
D_800EA0F0 = 2;
|
|
func_800C9A88(0);
|
|
*(&D_800EA0EC + arg0) = 2;
|
|
func_800C9060(arg0, 0x1900F103);
|
|
if (D_801657E5 == 1) {
|
|
func_800CA414(0xD, 0x10);
|
|
} else if (D_8018ED90 == 1) {
|
|
func_800CA414(0xE, 0x10);
|
|
} else {
|
|
func_800C3448(0x1640010, 0x10);
|
|
}
|
|
phi_v1_2 = *sp34;
|
|
}
|
|
} else {
|
|
temp_v0_7 = arg0 + &D_800EA0EC;
|
|
*temp_v0_7 = 2;
|
|
sp30 = temp_v0_7;
|
|
func_800C9060(arg0, 0x1900F103);
|
|
if (D_800EA1C0 == 0) {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C5278(5);
|
|
temp_v0_8 = *(&gPlayers + 4 + (arg0 * 0xDD8));
|
|
if (temp_v0_8 == 0) {
|
|
func_800C97C4(arg0);
|
|
D_800EA0F0 = 2;
|
|
func_800C9A88(arg0);
|
|
func_800CA414(0xD, 0x10);
|
|
} else if (temp_v0_8 < 4) {
|
|
func_800C97C4(arg0);
|
|
D_800EA0F0 = 2;
|
|
func_800C9A88(arg0);
|
|
func_800CA414(0xE, 0x10);
|
|
} else {
|
|
func_800C3448(0xC1606400);
|
|
func_800CA414(0xF, 0x18);
|
|
}
|
|
} else {
|
|
*sp30 = 2;
|
|
func_800C9060(arg0, 0x1900F103);
|
|
temp_v0_9 = *(&gPlayers + 4 + (arg0 * 0xDD8));
|
|
if (temp_v0_9 == 0) {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C97C4(arg0);
|
|
D_800EA0F0 = 2;
|
|
func_800C9A88(arg0);
|
|
func_800CA414(0xD, 0x10);
|
|
goto block_23;
|
|
}
|
|
if (temp_v0_9 < 4) {
|
|
if (D_800EA104 == 0) {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
}
|
|
func_800C97C4(arg0);
|
|
D_800EA0F0 = 2;
|
|
func_800C9A88(arg0);
|
|
func_800CA414(0xE, 0x10);
|
|
goto block_23;
|
|
}
|
|
temp_v0_10 = D_800EA104;
|
|
phi_v0 = temp_v0_10;
|
|
if (temp_v0_10 == 0) {
|
|
func_800C3448(0x100100FF);
|
|
func_800C3448(0x110100FF);
|
|
func_800C3448(0xC1606400);
|
|
func_800CA414(0xF, 0x18);
|
|
block_23:
|
|
phi_v0 = D_800EA104;
|
|
}
|
|
if ((phi_v0 != 0) || (*sp30 != 1)) {
|
|
func_800C5278(5);
|
|
}
|
|
}
|
|
phi_v1_2 = *sp34;
|
|
}
|
|
}
|
|
temp_a0 = arg0;
|
|
temp_v0_11 = gModeSelection;
|
|
phi_v0_2 = temp_v0_11;
|
|
phi_a3 = 1;
|
|
phi_a0 = temp_a0;
|
|
phi_v0_2 = temp_v0_11;
|
|
phi_a3 = 1;
|
|
phi_v0_2 = temp_v0_11;
|
|
if (phi_v1_2 == 0x1E) {
|
|
if (temp_v0_11 != GRAND_PRIX) {
|
|
if (temp_v0_11 != TIME_TRIALS) {
|
|
if (temp_v0_11 != VERSUS) {
|
|
if (temp_v0_11 != BATTLE) {
|
|
|
|
}
|
|
} else {
|
|
temp_v1_2 = (temp_a0 * 0xDD8) + &gPlayers;
|
|
arg0 = temp_a0;
|
|
if (temp_v1_2->unk4 == 0) {
|
|
*(&D_800EA0EC + temp_a0) = 2;
|
|
arg0 = temp_a0;
|
|
func_800C90F4(temp_a0, (temp_v1_2->unk254 * 0x10) + 0x2900800D);
|
|
phi_v0_2 = gModeSelection;
|
|
}
|
|
phi_a3 = 1;
|
|
goto block_97;
|
|
}
|
|
} else {
|
|
if (D_801657E5 == 1) {
|
|
*(&D_800EA0EC + temp_a0) = 2;
|
|
arg0 = temp_a0;
|
|
func_800C90F4(temp_a0, (*(&gPlayers + 0x254 + (temp_a0 * 0xDD8)) * 0x10) + 0x29008007);
|
|
phi_v0_2 = gModeSelection;
|
|
goto block_96;
|
|
}
|
|
arg0 = temp_a0;
|
|
if (D_8018ED90 == 1) {
|
|
*(&D_800EA0EC + temp_a0) = 2;
|
|
arg0 = temp_a0;
|
|
func_800C90F4(temp_a0, (*(&gPlayers + 0x254 + (temp_a0 * 0xDD8)) * 0x10) + 0x2900800D);
|
|
phi_v0_2 = gModeSelection;
|
|
block_96:
|
|
}
|
|
goto block_97;
|
|
}
|
|
} else {
|
|
temp_v1_3 = (temp_a0 * 0xDD8) + &gPlayers;
|
|
temp_v0_12 = temp_v1_3->unk4;
|
|
temp_a2 = temp_a0 + &D_800EA0EC;
|
|
if (temp_v0_12 == 0) {
|
|
*temp_a2 = 2;
|
|
arg0 = temp_a0;
|
|
func_800C90F4(temp_a0, (temp_v1_3->unk254 * 0x10) + 0x29008007, temp_a2, 1);
|
|
} else if (temp_v0_12 < 4) {
|
|
*temp_a2 = 2;
|
|
arg0 = temp_a0;
|
|
func_800C90F4(temp_a0, (temp_v1_3->unk254 * 0x10) + 0x2900800D, temp_a2, 1);
|
|
} else {
|
|
*temp_a2 = 2;
|
|
arg0 = temp_a0;
|
|
func_800C90F4(temp_a0, (temp_v1_3->unk254 * 0x10) + 0x29008003, temp_a2, 1);
|
|
}
|
|
phi_v0_2 = gModeSelection;
|
|
block_97:
|
|
phi_a0 = arg0;
|
|
}
|
|
}
|
|
if (phi_v0_2 != 0) {
|
|
if (phi_v0_2 != phi_a3) {
|
|
if (phi_v0_2 != 2) {
|
|
if (phi_v0_2 != 3) {
|
|
return;
|
|
}
|
|
temp_v1_4 = *sp34;
|
|
if (temp_v1_4 >= 0x65) {
|
|
if (temp_v1_4 == 0x65) {
|
|
func_800C97C4(phi_a0);
|
|
return;
|
|
}
|
|
// Duplicate return node #135. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
phi_f10 = temp_v1_4 / 120.0f;
|
|
phi_at = &D_800EA130 + sp38;
|
|
goto block_134;
|
|
}
|
|
temp_v1_5 = *sp34;
|
|
if (phi_a3 == D_800EA1C0) {
|
|
if (temp_v1_5 >= 0x65) {
|
|
if (temp_v1_5 == 0x65) {
|
|
func_800C9D0C(phi_a0);
|
|
}
|
|
} else {
|
|
*(&D_800EA130 + sp38) = temp_v1_5 / 120.0f;
|
|
}
|
|
} else if (temp_v1_5 >= 0x65) {
|
|
if (temp_v1_5 == 0x65) {
|
|
func_800C97C4(phi_a0);
|
|
}
|
|
} else {
|
|
*(&D_800EA130 + sp38) = temp_v1_5 / 120.0f;
|
|
}
|
|
goto block_126;
|
|
}
|
|
block_126:
|
|
temp_v1_6 = *sp34;
|
|
if (temp_v1_6 >= 0x12D) {
|
|
if (temp_v1_6 == 0x12D) {
|
|
func_800C9D0C(0);
|
|
return;
|
|
}
|
|
// Duplicate return node #135. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
*(&D_800EA130 + sp38) = temp_v1_6 / 350.0f;
|
|
return;
|
|
}
|
|
temp_v0_13 = *(&gPlayers + 4 + (phi_a0 * 0xDD8));
|
|
temp_v1_7 = *sp34;
|
|
if (temp_v0_13 == 0) {
|
|
if (temp_v1_7 >= 0x15F) {
|
|
if (temp_v1_7 == 0x15F) {
|
|
func_800C9D0C(phi_a0);
|
|
return;
|
|
}
|
|
// Duplicate return node #135. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
phi_f10 = temp_v1_7 / 400.0f;
|
|
phi_at = &D_800EA130 + sp38;
|
|
block_134:
|
|
*phi_at = phi_f10;
|
|
// Duplicate return node #135. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if (temp_v0_13 < 4) {
|
|
if (temp_v1_7 >= 0x15F) {
|
|
if (temp_v1_7 == 0x15F) {
|
|
func_800C9D0C(phi_a0);
|
|
return;
|
|
}
|
|
// Duplicate return node #135. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
*(&D_800EA130 + sp38) = temp_v1_7 / 400.0f;
|
|
return;
|
|
}
|
|
if (temp_v1_7 >= 0x12D) {
|
|
if (temp_v1_7 == 0x12D) {
|
|
func_800C97C4(phi_a0);
|
|
return;
|
|
}
|
|
// Duplicate return node #135. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
*(&D_800EA130 + sp38) = temp_v1_7 / 330.0f;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C76C0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C9018(s32, ?); // extern
|
|
? func_800C94A4(s32); // extern
|
|
? func_800C97C4(s32); // extern
|
|
? play_sound(s32, void *, s32, ? *, ? *, void *); // extern
|
|
extern ? D_800E9F74;
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1D4;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C847C(s32 arg0) {
|
|
void *sp3C;
|
|
u8 *sp38;
|
|
s16 temp_v0_2;
|
|
s32 temp_s0;
|
|
u8 *temp_v0;
|
|
u8 *temp_v0_3;
|
|
void *temp_a1;
|
|
void *temp_a1_2;
|
|
void *temp_t8;
|
|
|
|
temp_s0 = arg0 & 0xFF;
|
|
temp_t8 = (temp_s0 * 0xDD8) + &gPlayers;
|
|
sp3C = temp_t8;
|
|
if ((temp_t8->unkDE & 1) == 1) {
|
|
temp_v0 = temp_s0 + &D_800E9F74;
|
|
if (*temp_v0 == 0) {
|
|
if (D_800EA1C0 < 2) {
|
|
sp38 = temp_v0;
|
|
func_800C9018(temp_s0 & 0xFF, 0x100F926);
|
|
} else {
|
|
sp38 = temp_v0;
|
|
func_800C9018(temp_s0 & 0xFF, 0x1008026);
|
|
}
|
|
sp38 = sp38;
|
|
func_800C97C4(temp_s0 & 0xFF);
|
|
*sp38 = 1;
|
|
func_800C94A4(temp_s0 & 0xFF);
|
|
temp_v0_2 = gCurrentCourseId;
|
|
if (((temp_v0_2 == 1) || (temp_v0_2 == 2) || (temp_v0_2 == 3) || (temp_v0_2 == 4) || (temp_v0_2 == 5) || (temp_v0_2 == 6) || (temp_v0_2 == 7) || (temp_v0_2 == 0xC) || (temp_v0_2 == 0x12) || (temp_v0_2 == 0x13)) && (*(&D_800EA0EC + temp_s0) == 0)) {
|
|
temp_a1 = (temp_s0 * 0x3C) + &D_800E9F7C;
|
|
play_sound((sp3C->unk254 * 0x10) + 0x29008005, temp_a1, temp_s0 & 0xFF, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14);
|
|
return;
|
|
}
|
|
// Duplicate return node #21. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
// Duplicate return node #21. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
temp_v0_3 = temp_s0 + &D_800E9F74;
|
|
if (*temp_v0_3 == 1) {
|
|
sp38 = temp_v0_3;
|
|
func_800C97C4(temp_s0 & 0xFF);
|
|
*temp_v0_3 = 2;
|
|
func_800C94A4(temp_s0 & 0xFF);
|
|
*temp_v0_3 = 0;
|
|
if ((gCurrentCourseId == 6) && (*(&D_800EA0EC + temp_s0) == 0)) {
|
|
temp_a1_2 = (temp_s0 * 0x3C) + &D_800E9F7C;
|
|
play_sound((sp3C->unk254 * 0x10) + 0x29008008, temp_a1_2, temp_s0 & 0xFF, &D_800EA1D4, &D_800EA1D4, temp_a1_2 + 0x14);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C847C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C90F4(s32, s32); // extern
|
|
extern ? D_800E9F24;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C86D8(s32 arg0) {
|
|
s32 temp_t6;
|
|
void *temp_v0;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
temp_v0 = (temp_t6 * 0xDD8) + &gPlayers;
|
|
if (((temp_v0->unkBC & 0x40000000) != 0x40000000) && (*(&D_800E9F24 + temp_t6) == 1)) {
|
|
func_800C90F4(temp_t6, (temp_v0->unk254 * 0x10) + 0x29008008);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C86D8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9F24;
|
|
extern ? D_800E9F2C;
|
|
extern ? D_800E9F34;
|
|
extern ? D_800E9F54;
|
|
extern f32 D_800F3894;
|
|
extern f32 D_800F3898;
|
|
extern f32 D_800F389C;
|
|
extern f32 D_800F38A0;
|
|
extern f32 D_800F38A4;
|
|
extern f32 D_800F38A8;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C8770(s32 arg0) {
|
|
? sp-10;
|
|
f32 *temp_a1_2;
|
|
f32 *temp_a1_3;
|
|
f32 *temp_v0_3;
|
|
f32 *temp_v0_4;
|
|
f32 temp_f0;
|
|
f32 temp_f0_2;
|
|
s32 temp_t6;
|
|
s32 temp_v1_3;
|
|
s32 temp_v1_4;
|
|
u8 *temp_v0;
|
|
u8 *temp_v0_2;
|
|
u8 *temp_v1;
|
|
u8 temp_a1;
|
|
u8 temp_v1_2;
|
|
u8 phi_v1;
|
|
u8 *phi_v0;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
sp-10.unk10 = arg0;
|
|
if ((*(&gPlayers + 0xBC + (temp_t6 * 0xDD8)) & 0x40000000) == 0x40000000) {
|
|
temp_v1 = temp_t6 + &D_800E9F2C;
|
|
temp_a1 = *temp_v1;
|
|
temp_v0 = temp_t6 + &D_800E9F24;
|
|
*temp_v0 = 1;
|
|
phi_v0 = temp_v0;
|
|
if (temp_a1 < 0xFA) {
|
|
*temp_v1 = temp_a1 + 1;
|
|
}
|
|
phi_v1 = *temp_v0;
|
|
} else {
|
|
*(&D_800E9F2C + temp_t6) = 0;
|
|
temp_v0_2 = temp_t6 + &D_800E9F24;
|
|
temp_v1_2 = *temp_v0_2;
|
|
phi_v1 = temp_v1_2;
|
|
phi_v0 = temp_v0_2;
|
|
if (temp_v1_2 == 1) {
|
|
*temp_v0_2 = 2;
|
|
phi_v1 = 2 & 0xFF;
|
|
}
|
|
}
|
|
if (phi_v1 != 1) {
|
|
if (phi_v1 != 2) {
|
|
return;
|
|
}
|
|
temp_v1_3 = temp_t6 * 4;
|
|
temp_a1_2 = temp_v1_3 + &D_800E9F34;
|
|
temp_f0 = *temp_a1_2;
|
|
if (D_800F38A0 < temp_f0) {
|
|
temp_v0_3 = temp_v1_3 + &D_800E9F54;
|
|
*temp_a1_2 = temp_f0 - D_800F38A4;
|
|
*temp_v0_3 = *temp_v0_3 - D_800F38A8;
|
|
return;
|
|
}
|
|
*temp_a1_2 = 0.0f;
|
|
*(&D_800E9F54 + temp_v1_3) = 0.0f;
|
|
*phi_v0 = 0;
|
|
// Duplicate return node #14. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
temp_v1_4 = temp_t6 * 4;
|
|
temp_a1_3 = temp_v1_4 + &D_800E9F34;
|
|
temp_f0_2 = *temp_a1_3;
|
|
if (temp_f0_2 < D_800F3894) {
|
|
temp_v0_4 = temp_v1_4 + &D_800E9F54;
|
|
*temp_a1_3 = temp_f0_2 + D_800F3898;
|
|
*temp_v0_4 = *temp_v0_4 + D_800F389C;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8770.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CAC08(); // extern
|
|
extern u8 D_800EA168;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C8920(void) {
|
|
if ((D_800EA168 != 0) && ((gPlayers.unkBC & 0x40000000) != 0x40000000) && ((gPlayers.unkE94 & 0x40000000) != 0x40000000) && ((gPlayers.unk1C6C & 0x40000000) != 0x40000000) && ((gPlayers.unk2A44 & 0x40000000) != 0x40000000) && ((gPlayers.unk381C & 0x40000000) != 0x40000000) && ((gPlayers.unk45F4 & 0x40000000) != 0x40000000) && ((gPlayers.unk53CC & 0x40000000) != 0x40000000) && ((gPlayers.unk61A4 & 0x40000000) != 0x40000000)) {
|
|
func_800CAC08();
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8920.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern f32 D_800EA178;
|
|
extern f32 D_800EA17C;
|
|
extern u16 D_800EA180;
|
|
extern f32 D_800F38AC;
|
|
extern f32 D_800F38B0;
|
|
|
|
void func_800C89E4(void) {
|
|
? sp-10;
|
|
f32 temp_f6;
|
|
s32 temp_v0_2;
|
|
u16 temp_t6;
|
|
u16 temp_v0;
|
|
f32 phi_f6;
|
|
|
|
temp_v0 = D_800EA180;
|
|
temp_t6 = temp_v0 + 1;
|
|
if (temp_v0 != 0) {
|
|
temp_v0_2 = temp_t6 & 0xFFFF;
|
|
D_800EA180 = temp_t6;
|
|
if (temp_v0_2 == 2) {
|
|
D_800EA17C = 1.0f;
|
|
}
|
|
if (temp_v0_2 < 0xF) {
|
|
temp_f6 = temp_v0_2;
|
|
phi_f6 = temp_f6;
|
|
if (temp_v0_2 < 0) {
|
|
phi_f6 = temp_f6 + 4294967296.0f;
|
|
}
|
|
D_800EA178 = 1.0f - (phi_f6 * D_800F38AC);
|
|
}
|
|
if ((temp_v0_2 >= 0x33) && (temp_v0_2 < 0x96)) {
|
|
D_800EA17C = 1.0f - ((temp_v0_2 - 0x32) / 110.0f);
|
|
}
|
|
if (temp_v0_2 == 0x12D) {
|
|
D_800EA17C = 0.0f;
|
|
}
|
|
if (temp_v0_2 == 0x321) {
|
|
D_800EA178 = 1.0f;
|
|
D_800EA180 = 0;
|
|
D_800EA17C = D_800F38B0;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C89E4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9F7C;
|
|
extern u8 D_800EA16C;
|
|
extern f32 D_800EA17C;
|
|
extern u16 D_800EA184;
|
|
extern u8 D_800EA1C0;
|
|
extern f32 D_800F38B4;
|
|
|
|
void func_800C8AE4(void) {
|
|
? sp-10;
|
|
u16 temp_t8;
|
|
u16 temp_v0;
|
|
u8 temp_v0_2;
|
|
u16 phi_v0;
|
|
|
|
if (gCurrentCourseId == 8) {
|
|
temp_v0 = D_800EA184;
|
|
phi_v0 = temp_v0;
|
|
if (temp_v0 != 0) {
|
|
temp_t8 = temp_v0 + 1;
|
|
if (D_800EA16C == 0) {
|
|
D_800EA184 = temp_t8;
|
|
phi_v0 = temp_t8 & 0xFFFF;
|
|
}
|
|
if (phi_v0 == 0x12C) {
|
|
D_800EA17C = D_800F38B4;
|
|
D_800EA184 = 0;
|
|
return;
|
|
}
|
|
// Duplicate return node #26. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
temp_v0_2 = D_800EA1C0;
|
|
if (temp_v0_2 != 0) {
|
|
if (temp_v0_2 != 1) {
|
|
if (temp_v0_2 != 2) {
|
|
if (temp_v0_2 != 3) {
|
|
return;
|
|
}
|
|
if ((D_800E9F7C.unk14 != 0) || (D_800E9F7C.unk50 != 0) || (D_800E9F7C.unk8C != 0) || (D_800E9F7C.unkC8 != 0)) {
|
|
D_800EA17C = 0.0f;
|
|
goto block_25;
|
|
}
|
|
// Duplicate return node #26. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if ((D_800E9F7C.unk14 != 0) || (D_800E9F7C.unk50 != 0) || (D_800E9F7C.unk8C != 0)) {
|
|
D_800EA17C = 0.0f;
|
|
D_800EA184 = 1;
|
|
return;
|
|
}
|
|
// Duplicate return node #26. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if ((D_800E9F7C.unk14 != 0) || (D_800E9F7C.unk50 != 0)) {
|
|
D_800EA17C = 0.0f;
|
|
block_25:
|
|
D_800EA184 = 1;
|
|
}
|
|
// Duplicate return node #26. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if (D_800E9F7C.unk14 != 0) {
|
|
D_800EA17C = 0.0f;
|
|
D_800EA184 = 1;
|
|
return;
|
|
}
|
|
// Duplicate return node #26. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8AE4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9F54;
|
|
extern ? D_800EA06C;
|
|
extern ? D_800EA130;
|
|
|
|
void func_800C8C7C(s32 arg0) {
|
|
s32 temp_t6;
|
|
s32 temp_v0;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
temp_v0 = temp_t6 * 4;
|
|
*(&D_800EA06C + 8 + (temp_t6 * 0x10)) = (1.0f - *(&D_800E9F54 + temp_v0)) - *(&D_800EA130 + temp_v0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8C7C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C5D04(s32); // extern
|
|
? func_800C5E38(s32); // extern
|
|
? func_800C6108(s32); // extern
|
|
? func_800C64A0(s32); // extern
|
|
? func_800C6758(s32); // extern
|
|
? func_800C683C(s32); // extern
|
|
? func_800C70A8(s32); // extern
|
|
? func_800C76C0(s32); // extern
|
|
? func_800C847C(s32); // extern
|
|
? func_800C86D8(s32); // extern
|
|
? func_800C8770(s32); // extern
|
|
? func_800C8920(); // extern
|
|
? func_800C89E4(); // extern
|
|
? func_800C8AE4(); // extern
|
|
? func_800C8C7C(s32); // extern
|
|
extern u8 D_800EA1C0;
|
|
|
|
void func_800C8CCC(void) {
|
|
s32 temp_t6;
|
|
s32 temp_t8;
|
|
s32 temp_t9;
|
|
s32 temp_v0;
|
|
s32 temp_v0_2;
|
|
s32 phi_s0;
|
|
s32 phi_s0_2;
|
|
s32 phi_v0;
|
|
s32 phi_s0_3;
|
|
|
|
temp_v0 = D_800EA1C0 + 1;
|
|
phi_s0 = 0;
|
|
phi_v0 = temp_v0;
|
|
if (temp_v0 > 0) {
|
|
do {
|
|
func_800C5D04(phi_s0 & 0xFF);
|
|
func_800C5E38(phi_s0 & 0xFF);
|
|
func_800C6108(phi_s0 & 0xFF);
|
|
func_800C64A0(phi_s0 & 0xFF);
|
|
func_800C6758(phi_s0 & 0xFF);
|
|
func_800C683C(phi_s0 & 0xFF);
|
|
func_800C70A8(phi_s0 & 0xFF);
|
|
func_800C76C0(phi_s0 & 0xFF);
|
|
func_800C847C(phi_s0 & 0xFF);
|
|
func_800C86D8(phi_s0 & 0xFF);
|
|
temp_t6 = (phi_s0 + 1) & 0xFF;
|
|
temp_v0_2 = D_800EA1C0 + 1;
|
|
phi_s0 = temp_t6;
|
|
phi_v0 = temp_v0_2;
|
|
} while (temp_t6 < temp_v0_2);
|
|
}
|
|
phi_s0_2 = 0;
|
|
phi_s0_3 = 0;
|
|
if (gModeSelection == GRAND_PRIX) {
|
|
do {
|
|
func_800C8770(phi_s0_2 & 0xFF);
|
|
func_800C8C7C(phi_s0_2 & 0xFF);
|
|
temp_t8 = (phi_s0_2 + 1) & 0xFF;
|
|
phi_s0_2 = temp_t8;
|
|
} while (temp_t8 < 8);
|
|
} else if (phi_v0 > 0) {
|
|
do {
|
|
func_800C8770(phi_s0_3 & 0xFF);
|
|
func_800C8C7C(phi_s0_3 & 0xFF);
|
|
temp_t9 = (phi_s0_3 + 1) & 0xFF;
|
|
phi_s0_3 = temp_t9;
|
|
} while (temp_t9 < (D_800EA1C0 + 1));
|
|
}
|
|
func_800C8920();
|
|
func_800C89E4();
|
|
func_800C8AE4();
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8CCC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? play_sound(s32, ? *, ?, ? *, ? *, ? *); // extern
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
|
|
void play_sound2(s32 arg0) {
|
|
s32 phi_a0;
|
|
s32 phi_a0_2;
|
|
|
|
phi_a0 = arg0;
|
|
if ((arg0 == 0x49008018) && (gCurrentCourseId == 0x12)) {
|
|
phi_a0 = 0x49008027;
|
|
}
|
|
phi_a0_2 = phi_a0;
|
|
if ((phi_a0 == 0x49008019) && (gCurrentCourseId == 0x12)) {
|
|
phi_a0_2 = 0x49008028;
|
|
}
|
|
play_sound(phi_a0_2, &D_800EA1C8, 4, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/play_sound2.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32); // extern
|
|
extern u16 D_800EA15C;
|
|
|
|
void func_800C8EAC(u16 arg0) {
|
|
func_800C3448(arg0 | 0x10000);
|
|
D_800EA15C = arg0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8EAC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32); // extern
|
|
extern u16 D_800EA160;
|
|
|
|
void func_800C8EF8(u16 arg0) {
|
|
func_800C3448(arg0 | 0x1010000);
|
|
D_800EA160 = arg0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8EF8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, s32, ?); // extern
|
|
|
|
void func_800C8F44(s32 arg0) {
|
|
func_800C36C4(0, 0, arg0 & 0xFF, 1);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F44.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? play_sound(s32, void *, s32, ? *, ? *, ? *); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
|
|
void func_800C8F80(s32 arg0, s32 arg1) {
|
|
s32 temp_a2;
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = temp_a2 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
play_sound(arg1, (temp_a2 * 0x3C) + &D_800E9F7C, temp_a2, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C8F80.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C5578(void *, s32); // extern
|
|
extern ? D_800E9F7C;
|
|
|
|
void func_800C9018(s32 arg0) {
|
|
s32 temp_a2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
func_800C5578((temp_a2 * 0x3C) + &D_800E9F7C, temp_a2);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9018.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? play_sound(s32, void *, s32, ? *, ? *, void *); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA1D4;
|
|
|
|
void func_800C9060(s32 arg0, s32 arg1) {
|
|
s32 temp_a2;
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
void *temp_a1;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = temp_a2 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
play_sound(arg1, temp_a1, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9060.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? play_sound(s32, void *, s32, ? *, ? *, void *); // extern
|
|
extern ? D_800E9F2C;
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA150;
|
|
extern s16 D_800EA180;
|
|
extern ? D_800EA1D4;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C90F4(s32 arg0, s32 arg1) {
|
|
s32 temp_a2;
|
|
s32 temp_t9;
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
void *temp_a1;
|
|
void *temp_a1_2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = temp_a2 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
// Duplicate return node #12. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
block_4:
|
|
temp_t9 = arg1 & ~0xF0;
|
|
if ((temp_t9 == 0x29008003) || (temp_t9 == 0x29008004) || (temp_t9 == 0x29008005)) {
|
|
D_800EA180 = 1;
|
|
}
|
|
if (((*(&gPlayers + 0xBC + (temp_a2 * 0xDD8)) & 0x40000000) == 0x40000000) && (*(&D_800E9F2C + temp_a2) >= 0x1F)) {
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
play_sound(arg1, temp_a1, temp_a2, &D_800EA150, &D_800EA1D4, temp_a1 + 0x14);
|
|
return;
|
|
}
|
|
temp_a1_2 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
play_sound(arg1, temp_a1_2, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1_2 + 0x14);
|
|
// Duplicate return node #12. Try simplifying control flow for better match
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C90F4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C90F4(s32, s32); // extern
|
|
extern s32 D_803B7194;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C9250(s32 arg0) {
|
|
s32 temp_t6;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
func_800C90F4(temp_t6, (*(&gPlayers + 0x254 + (temp_t6 * 0xDD8)) * 0x10) + (D_803B7194 & 1) + 0x29008001);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9250.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
void *func_800C1C88(s32, void *, void *, ? *, s32, s32); // extern
|
|
? play_sound(s32, void *, s32, ? *, ? *, void *); // extern
|
|
extern ? D_800E9F2C;
|
|
extern ? D_800EA06C;
|
|
extern u8 D_800EA0F0;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA150;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C92CC(s32 arg0, s32 arg1) {
|
|
void *sp68;
|
|
void *sp64;
|
|
s32 temp_s4;
|
|
s32 temp_t3;
|
|
u8 temp_v0;
|
|
void *temp_s1;
|
|
void *temp_t0;
|
|
void *temp_v0_2;
|
|
s32 phi_s0;
|
|
|
|
temp_s4 = arg0 & 0xFF;
|
|
if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) {
|
|
temp_v0 = D_800EA1C0;
|
|
if (temp_v0 < 2) {
|
|
phi_s0 = 0;
|
|
if (temp_v0 >= 0) {
|
|
temp_s1 = (temp_s4 * 0xDD8) + &gPlayers;
|
|
sp64 = temp_s1 + 0x34;
|
|
sp68 = temp_s1 + 0x14;
|
|
do {
|
|
temp_v0_2 = func_800C1C88(temp_s4 & 0xFF, sp68, sp64, &D_800EA1C8, phi_s0, arg1);
|
|
if (temp_v0_2 != 0) {
|
|
temp_v0_2->unk34 = 170.0f;
|
|
temp_t0 = (temp_s4 * 0x10) + 0xC + &D_800EA06C;
|
|
if (((temp_s1->unkBC & 0x40000000) == 0x40000000) && (*(&D_800E9F2C + temp_s4) >= 0x1F)) {
|
|
play_sound((temp_s1->unk254 * 0x10) + arg1, temp_v0_2 + 0x18, phi_s0 & 0xFF, &D_800EA150, &D_800EA1D4, temp_t0);
|
|
} else {
|
|
play_sound((temp_s1->unk254 * 0x10) + arg1, temp_v0_2 + 0x18, phi_s0 & 0xFF, temp_v0_2 + 0x2C, &D_800EA1D4, temp_t0);
|
|
}
|
|
}
|
|
temp_t3 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t3;
|
|
} while (temp_t3 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C92CC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? play_sound(s32, void *, s32, void *, void *, void *); /* extern */
|
|
static ? D_800E9F74; /* unable to generate initializer; const */
|
|
static ? D_800E9F7C; /* unable to generate initializer; const */
|
|
static ? D_800EA0EC; /* unable to generate initializer; const */
|
|
|
|
void func_800C94A4(s32 playerId) {
|
|
s32 temp_a0;
|
|
s32 temp_a2;
|
|
u16 temp_v1_2;
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
u8 temp_v0_2;
|
|
void *temp_a1;
|
|
f32 phi_f6;
|
|
s32 phi_a0;
|
|
|
|
temp_a2 = playerId & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = temp_a2 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
temp_a1->unkC = 1.0f;
|
|
temp_a1->unk10 = 0.0f;
|
|
temp_v1_2 = *(&gPlayers->characterId + (temp_a2 * 0xDD8));
|
|
switch (temp_v1_2) {
|
|
case 0:
|
|
case 1:
|
|
temp_a1->unk18 = 2.8f;
|
|
temp_a1->unk20 = 0.35f;
|
|
temp_a1->unk1C = 3844.0f;
|
|
temp_a1->unk28 = 0.35f;
|
|
temp_a1->unk24 = -0.8f;
|
|
temp_a1->unk2C = 1568.9796f;
|
|
temp_a1->unk30 = 1067.7778f;
|
|
phi_f6 = 2766.065f;
|
|
block_11:
|
|
temp_a1->unk34 = phi_f6;
|
|
break;
|
|
case 2:
|
|
case 6:
|
|
temp_a1->unk18 = 3.2f;
|
|
temp_a1->unk20 = 0.6f;
|
|
temp_a1->unk1C = 3844.0f;
|
|
temp_a1->unk28 = 0.6f;
|
|
temp_a1->unk24 = -1.7f;
|
|
temp_a1->unk2C = 1478.4615f;
|
|
temp_a1->unk30 = 784.4898f;
|
|
phi_f6 = 12813.335f;
|
|
goto block_11;
|
|
case 3:
|
|
temp_a1->unk18 = 2.8f;
|
|
temp_a1->unk20 = 0.6f;
|
|
temp_a1->unk1C = 3844.0f;
|
|
temp_a1->unk28 = 0.6f;
|
|
temp_a1->unk24 = -0.6f;
|
|
temp_a1->unk2C = 1747.2728f;
|
|
temp_a1->unk30 = 1130.5883f;
|
|
phi_f6 = 3844.001f;
|
|
goto block_11;
|
|
case 4:
|
|
temp_a1->unk18 = 2.0f;
|
|
temp_a1->unk20 = 0.2f;
|
|
temp_a1->unk1C = 3844.0f;
|
|
temp_a1->unk28 = 0.2f;
|
|
temp_a1->unk24 = -0.4f;
|
|
temp_a1->unk2C = 2135.5557f;
|
|
temp_a1->unk30 = 1601.6666f;
|
|
phi_f6 = 3203.333f;
|
|
goto block_11;
|
|
case 5:
|
|
case 7:
|
|
temp_a1->unk18 = 2.4f;
|
|
temp_a1->unk20 = 0.4f;
|
|
temp_a1->unk1C = 3844.0f;
|
|
temp_a1->unk28 = 0.4f;
|
|
temp_a1->unk24 = -0.8f;
|
|
temp_a1->unk2C = 1922.0f;
|
|
temp_a1->unk30 = 1201.25f;
|
|
phi_f6 = 4805.0f;
|
|
goto block_11;
|
|
}
|
|
temp_v0_2 = *(&D_800E9F74 + temp_a2);
|
|
temp_a0 = temp_v1_2 + 0x104FF00;
|
|
phi_a0 = temp_a0;
|
|
if (temp_v0_2 != 0) {
|
|
if (temp_v0_2 != 1) {
|
|
if (temp_v0_2 != 2) {
|
|
|
|
} else if (D_800EA1C0 == 0) {
|
|
phi_a0 = temp_a0 + 0x36;
|
|
} else {
|
|
phi_a0 = temp_a0 + 0x3E;
|
|
}
|
|
} else {
|
|
phi_a0 = temp_a0 + 0x2E;
|
|
}
|
|
} else if (D_800EA1C0 != 0) {
|
|
phi_a0 = temp_a0 + 0x14;
|
|
}
|
|
play_sound(phi_a0, temp_a1, temp_a2, temp_a1 + 0xC, temp_a1 + 0x10, temp_a1 + 0x14);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C94A4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C5578(void *, s32, s32); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? gPlayers;
|
|
|
|
void func_800C97C4(s32 arg0) {
|
|
s32 temp_a2;
|
|
void *temp_s0;
|
|
void *temp_s1;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
temp_s1 = (temp_a2 * 0xDD8) + &gPlayers;
|
|
temp_s0 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF00, temp_a2);
|
|
func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF14);
|
|
func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF2E);
|
|
func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF36);
|
|
func_800C5578(temp_s0, temp_s1->unk254 + 0x104FF3E);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C97C4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
void *func_800C1C88(?, s32, ?, ? *, s32, s32); // extern
|
|
? play_sound(s32, void *, s32, void *, ? *, ? *); // extern
|
|
extern u8 D_800EA0F0;
|
|
extern u8 D_800EA108;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
|
|
void func_800C98B8(s32 arg0, ? arg1, s32 arg2) {
|
|
s32 temp_t0;
|
|
void *temp_v0;
|
|
s32 phi_s0;
|
|
|
|
if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) {
|
|
phi_s0 = 0;
|
|
if ((D_800EA1C0 + 1) > 0) {
|
|
do {
|
|
temp_v0 = func_800C1C88(0, arg0, arg1, &D_800EA1C8, phi_s0, arg2);
|
|
if (temp_v0 != 0) {
|
|
temp_v0->unk34 = 170.0f;
|
|
play_sound(arg2, temp_v0 + 0x18, phi_s0 & 0xFF, temp_v0 + 0x2C, &D_800EA1D4, &D_800EA1DC);
|
|
}
|
|
temp_t0 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t0;
|
|
} while (temp_t0 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C98B8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_800C21E8(s32, ?); // extern
|
|
? func_800C5578(s32, ?); // extern
|
|
extern u8 D_800EA108;
|
|
extern u8 D_800EA1C0;
|
|
|
|
void func_800C99E0(s32 arg0, ? arg1) {
|
|
s32 temp_t9;
|
|
s32 temp_v0;
|
|
s32 phi_s0;
|
|
|
|
if (D_800EA108 == 0) {
|
|
phi_s0 = 0;
|
|
if ((D_800EA1C0 + 1) > 0) {
|
|
do {
|
|
temp_v0 = func_800C21E8(arg0, arg1);
|
|
if (temp_v0 != 0) {
|
|
func_800C5578(temp_v0, arg1);
|
|
}
|
|
temp_t9 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t9;
|
|
} while (temp_t9 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C99E0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
|
|
? play_sound(s32, void *, s32, void *, void *, void *); /* extern */
|
|
static ? D_800EA06C; /* unable to generate initializer; const */
|
|
|
|
void func_800C9A88(s32 playerId) {
|
|
void *sp64;
|
|
f32 *temp_v0_3;
|
|
f32 *temp_v0_6;
|
|
s32 temp_s1;
|
|
s32 temp_s3;
|
|
s32 temp_t6;
|
|
u16 temp_t0;
|
|
u8 temp_v0;
|
|
u8 temp_v0_7;
|
|
void *temp_v0_2;
|
|
void *temp_v0_4;
|
|
void *temp_v0_5;
|
|
void *temp_v0_8;
|
|
void *temp_v0_9;
|
|
f32 phi_f10;
|
|
f32 *phi_v0;
|
|
s32 phi_s0;
|
|
|
|
temp_s3 = playerId & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v0 = D_800EA0F0;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
D_800EA0F0 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
temp_t0 = gPlayers[temp_s3].characterId;
|
|
switch (temp_t0) {
|
|
case 0:
|
|
case 1:
|
|
temp_v0_2 = (temp_s3 * 0x10) + &D_800EA06C;
|
|
temp_v0_2->unk0 = 0.35f;
|
|
temp_v0_2->unk4 = 1568.9796f;
|
|
break;
|
|
case 2:
|
|
case 6:
|
|
temp_v0_3 = (temp_s3 * 0x10) + &D_800EA06C;
|
|
*temp_v0_3 = 0.6f;
|
|
phi_f10 = 1478.4615f;
|
|
phi_v0 = temp_v0_3;
|
|
block_11:
|
|
phi_v0->unk4 = phi_f10;
|
|
break;
|
|
case 3:
|
|
temp_v0_4 = (temp_s3 * 0x10) + &D_800EA06C;
|
|
temp_v0_4->unk0 = 0.6f;
|
|
temp_v0_4->unk4 = 1747.2728f;
|
|
break;
|
|
case 4:
|
|
temp_v0_5 = (temp_s3 * 0x10) + &D_800EA06C;
|
|
temp_v0_5->unk0 = 0.2f;
|
|
temp_v0_5->unk4 = 2135.5557f;
|
|
break;
|
|
case 5:
|
|
case 7:
|
|
temp_v0_6 = (temp_s3 * 0x10) + &D_800EA06C;
|
|
*temp_v0_6 = 0.4f;
|
|
phi_f10 = 1922.0f;
|
|
phi_v0 = temp_v0_6;
|
|
goto block_11;
|
|
}
|
|
temp_v0_7 = D_800EA1C0;
|
|
if (temp_v0_7 < 2) {
|
|
phi_s0 = 0;
|
|
if (temp_v0_7 >= 0) {
|
|
sp64 = &gPlayers[temp_s3];
|
|
do {
|
|
temp_s1 = sp64->unk254 + 0x31028000;
|
|
temp_v0_8 = func_800C1C88(temp_s3 & 0xFF, &gPlayers[temp_s3].posX, &gPlayers[temp_s3].unk_034, &gPlayers[temp_s3].unk_098, phi_s0, temp_s1);
|
|
if (temp_v0_8 != 0) {
|
|
temp_v0_8->unk34 = 40.0f;
|
|
temp_v0_9 = (temp_s3 * 0x10) + &D_800EA06C;
|
|
play_sound(temp_s1, temp_v0_8 + 0x18, phi_s0 & 0xFF, temp_v0_8 + 0x2C, temp_v0_9 + 8, temp_v0_9 + 0xC);
|
|
}
|
|
temp_t6 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t6;
|
|
} while (temp_t6 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9A88.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_800C21E8(void *, s32, s32); // extern
|
|
? func_800C550C(s32); // extern
|
|
extern ? gPlayers;
|
|
|
|
void func_800C9D0C(s32 arg0) {
|
|
s32 temp_a2;
|
|
void *temp_v0;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
temp_v0 = (temp_a2 * 0xDD8) + &gPlayers;
|
|
func_800C550C(func_800C21E8(temp_v0 + 0x14, temp_v0->unk254 + 0x31028000, temp_a2));
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9D0C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
void *func_800C1C88(?, s32, s32, ? *, s32, s32); // extern
|
|
? play_sound(s32, void *, s32, ? *, ? *, ? *); // extern
|
|
extern u8 D_800EA0F0;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA178;
|
|
extern ? D_800EA17C;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
|
|
void func_800C9D80(s32 arg0, s32 arg1, s32 arg2) {
|
|
s32 temp_t8;
|
|
u8 temp_v0;
|
|
void *temp_v0_2;
|
|
s32 phi_s0;
|
|
|
|
if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) {
|
|
temp_v0 = D_800EA1C0;
|
|
if (temp_v0 < 4) {
|
|
phi_s0 = 0;
|
|
if (temp_v0 >= 0) {
|
|
do {
|
|
temp_v0_2 = func_800C1C88(0, arg0, arg1, &D_800EA1C8, phi_s0, arg2);
|
|
if (temp_v0_2 != 0) {
|
|
temp_v0_2->unk34 = 170.0f;
|
|
if (arg2 == 0x5103700B) {
|
|
play_sound(arg2, temp_v0_2 + 0x18, phi_s0 & 0xFF, &D_800EA178, &D_800EA17C, &D_800EA1DC);
|
|
} else {
|
|
play_sound(arg2, temp_v0_2 + 0x18, phi_s0 & 0xFF, temp_v0_2 + 0x2C, &D_800EA1D4, &D_800EA1DC);
|
|
}
|
|
}
|
|
temp_t8 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t8;
|
|
} while (temp_t8 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9D80.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_800C21E8(s32, ?); // extern
|
|
? func_800C5578(s32, ?); // extern
|
|
extern u8 D_800EA1C0;
|
|
|
|
void func_800C9EF4(s32 arg0, ? arg1) {
|
|
s32 temp_t8;
|
|
s32 temp_v0;
|
|
s32 phi_s0;
|
|
|
|
phi_s0 = 0;
|
|
if ((D_800EA1C0 + 1) > 0) {
|
|
do {
|
|
temp_v0 = func_800C21E8(arg0, arg1);
|
|
if (temp_v0 != 0) {
|
|
func_800C5578(temp_v0, arg1);
|
|
}
|
|
temp_t8 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t8;
|
|
} while (temp_t8 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9EF4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CBBB8(?, ?); // extern
|
|
? play_sound2(?); // extern
|
|
extern s8 D_800EA16C;
|
|
|
|
void func_800C9F90(s32 arg0) {
|
|
if ((arg0 & 0xFF) != 0) {
|
|
play_sound2(0x49008005);
|
|
func_800CBBB8(0xF1000000, 0);
|
|
D_800EA16C = 1;
|
|
return;
|
|
}
|
|
play_sound2(0x49008006);
|
|
func_800CBBB8(0xF2000000, 0);
|
|
D_800EA16C = 0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C9F90.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32); // extern
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
|
|
void func_800CA008(u8 arg0, u8 arg1) {
|
|
u8 phi_v0;
|
|
|
|
func_800C36C4(0, 0, 0x7F, 1);
|
|
func_800C36C4(1, 0, 0x7F, 1);
|
|
phi_v0 = arg1;
|
|
if (arg1 >= 4) {
|
|
if ((arg1 == 0xC) || (arg1 == 4)) {
|
|
phi_v0 = 5;
|
|
} else {
|
|
phi_v0 = 4;
|
|
}
|
|
}
|
|
func_800C3448((arg0 << 8) | 0xF0000000 | phi_v0);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA008.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s8 D_800EA108;
|
|
|
|
void func_800CA0A0(void) {
|
|
D_800EA108 = 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0A0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s8 D_800EA108;
|
|
|
|
void func_800CA0B8(void) {
|
|
D_800EA108 = 0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0B8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s8 D_800EA108;
|
|
|
|
void func_800CA0CC(void) {
|
|
D_800EA108 = 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0CC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C5278(?); // extern
|
|
|
|
void func_800CA0E4(void) {
|
|
func_800C5278(3);
|
|
func_800C5278(5);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA0E4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
switch(D_800EA1C0) {
|
|
case 0:
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
break;
|
|
case 1:
|
|
if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1)) {
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
}
|
|
break;
|
|
case 2:
|
|
if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1)) {
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
}
|
|
break;
|
|
case 3:
|
|
if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1) && (D_800EA0EC.unk3 == 1)) {
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800CA0E4(? *, s8); // extern
|
|
extern ? D_800E9EA4;
|
|
extern ? D_800EA0EC;
|
|
extern s8 D_800EA0F0;
|
|
extern u8 D_800EA1C0;
|
|
|
|
void func_800CA118(s32 arg0) {
|
|
s32 temp_t6;
|
|
u8 temp_v0;
|
|
|
|
temp_t6 = arg0 & 0xFF;
|
|
*(&D_800EA0EC + temp_t6) = 1;
|
|
temp_v0 = D_800EA1C0;
|
|
*(&D_800E9EA4 + (temp_t6 * 4)) = 1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 != 1) {
|
|
if (temp_v0 != 2) {
|
|
if (temp_v0 != 3) {
|
|
return;
|
|
}
|
|
if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1) && (D_800EA0EC.unk3 == 1)) {
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
}
|
|
// Duplicate return node #18. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1) && (D_800EA0EC.unk2 == 1)) {
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
return;
|
|
}
|
|
// Duplicate return node #18. Try simplifying control flow for better match
|
|
return;
|
|
}
|
|
if ((D_800EA0EC.unk0 == 1) && (D_800EA0EC.unk1 == 1)) {
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
D_800EA0F0 = 1;
|
|
func_800CA0E4(&D_800EA0EC, 1);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA118.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800EA0EC;
|
|
|
|
void func_800CA24C(s32 arg0) {
|
|
*(&D_800EA0EC + (arg0 & 0xFF)) = 2;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA24C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s8 D_800EA0F4;
|
|
|
|
void func_800CA270(void) {
|
|
D_800EA0F4 = 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA270.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9F90;
|
|
|
|
void func_800CA288(s32 arg0, s8 arg1) {
|
|
*(&D_800E9F90 + ((arg0 & 0xFF) * 0x3C)) = arg1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA288.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800E9F90;
|
|
|
|
void func_800CA2B8(s32 arg0) {
|
|
*(&D_800E9F90 + ((arg0 & 0xFF) * 0x3C)) = 0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA2B8.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800EA06C;
|
|
|
|
void func_800CA2E4(s32 arg0, s8 arg1) {
|
|
*(&D_800EA06C + 0xC + ((arg0 & 0xFF) * 0x10)) = arg1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA2E4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern ? D_800EA06C;
|
|
|
|
void func_800CA30C(s32 arg0) {
|
|
*(&D_800EA06C + 0xC + ((arg0 & 0xFF) * 0x10)) = 0;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA30C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32, s32); // extern
|
|
|
|
void func_800CA330(s32 arg0) {
|
|
s32 sp34;
|
|
s32 temp_a1;
|
|
s32 temp_v0;
|
|
|
|
temp_a1 = arg0 & 0xFF;
|
|
temp_v0 = temp_a1 << 0x10;
|
|
sp34 = temp_v0;
|
|
func_800C3448(temp_v0 | 0x100000FF, temp_a1);
|
|
func_800C3448(temp_v0 | 0x110000FF);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA330.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C58B8(?, ?, s32); // extern
|
|
|
|
void func_800CA388(s32 arg0) {
|
|
s32 temp_s0;
|
|
|
|
temp_s0 = (arg0 * 2) & 0xFF;
|
|
func_800C58B8(0, 0, temp_s0 & 0xFFFF);
|
|
func_800C58B8(1, 0, temp_s0 & 0xFFFF);
|
|
func_800C58B8(2, 0, temp_s0 & 0xFFFF);
|
|
func_800C58B8(3, 0, temp_s0 & 0xFFFF);
|
|
func_800C58B8(5, 0, temp_s0 & 0xFFFF);
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA388.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32); // extern
|
|
s32 func_800C3508(?); // extern
|
|
? func_800C35E8(?); // extern
|
|
extern u8 D_800EA104;
|
|
|
|
void func_800CA414(u16 arg0, u16 arg1) {
|
|
if (D_800EA104 == 0) {
|
|
func_800C3448(func_800C3508(0) | 0x30000000);
|
|
func_800C35E8(0);
|
|
func_800C3448(arg1 | 0xC1510000);
|
|
func_800C3448(arg0 | 0x1000000);
|
|
}
|
|
D_800EA104 = 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA414.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32, ?); // extern
|
|
? func_800C8EF8(?); // extern
|
|
? func_800C9060(s32, ?); // extern
|
|
extern u8 D_800EA108;
|
|
extern u16 D_800EA15C;
|
|
extern u8 D_800EA164;
|
|
extern u8 D_800EA1C0;
|
|
extern u8 D_8018FC08;
|
|
|
|
void func_800CA49C(s32 arg0) {
|
|
if (D_800EA108 == 0) {
|
|
if (D_800EA1C0 >= 2) {
|
|
func_800C9060(arg0 & 0xFF, 0x1900FF3A);
|
|
} else if (D_800EA164 != 0) {
|
|
func_800C3448(0x100100FF, 0x19000000);
|
|
func_800C3448(0x110100FF);
|
|
func_800C8EF8(0xC);
|
|
func_800C3448(0xC1510011);
|
|
} else {
|
|
func_800C3448(0x100100FF, 0x19000000);
|
|
func_800C3448(0x110100FF);
|
|
func_800C8EF8(0xC);
|
|
func_800C3448(D_800EA15C | 0xC1500000);
|
|
func_800C3448(0xC130017D);
|
|
}
|
|
D_8018FC08 = D_8018FC08 + 1;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA49C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(?); // extern
|
|
s32 func_800C3508(?, ?); // extern
|
|
s32 func_800C357C(?); // extern
|
|
? func_800C8EF8(?, ?); // extern
|
|
? func_800C8F80(u8, ?); // extern
|
|
? play_sound(s32, void *, u8, ? *, ? *, void *); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA104;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA10C;
|
|
extern s8 D_800EA164;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1D4;
|
|
extern u8 D_8018FC08;
|
|
extern ? gPlayers;
|
|
|
|
void func_800CA59C(u8 arg0) {
|
|
u8 temp_a2;
|
|
void *temp_a1;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if ((*(&D_800EA0EC + temp_a2) == 0) && (D_800EA108 == 0)) {
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
arg0 = temp_a2;
|
|
play_sound((*(&gPlayers + 0x254 + (temp_a2 * 0xDD8)) * 0x10) + 0x29008001, temp_a1, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14);
|
|
D_800EA164 = 1;
|
|
if (D_800EA1C0 >= 2) {
|
|
func_800C8F80(arg0, 0x100FF2C);
|
|
} else {
|
|
func_800C3448(0x100100FF);
|
|
if (D_800EA104 != 0) {
|
|
func_800C8F80(arg0, 0x100FF2C);
|
|
} else if (D_8018FC08 != 0) {
|
|
if ((func_800C3508(1, 0x100FF2C) == 0xC) || (func_800C357C(0x101000C) == 0)) {
|
|
func_800C3448(0xC1F00000);
|
|
func_800C3448(0xC1510011);
|
|
} else {
|
|
func_800C8EF8(0x11);
|
|
}
|
|
} else {
|
|
func_800C8EF8(0x11, 0x100FF2C);
|
|
}
|
|
}
|
|
*(&D_800EA10C + arg0) = 1;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA59C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(s32, ?, u8); // extern
|
|
s32 func_800C3508(?, ?, u8); // extern
|
|
s32 func_800C357C(?); // extern
|
|
? func_800C3608(?, ?, u8); // extern
|
|
? func_800C8EAC(u16); // extern
|
|
? func_800C9018(s32, ?, u8); // extern
|
|
? play_sound(s32, void *, u8, ? *, ? *, void *); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA104;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA10C;
|
|
extern u16 D_800EA15C;
|
|
extern s8 D_800EA164;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1D4;
|
|
extern u8 D_8018FC08;
|
|
extern u32 D_803B1658;
|
|
extern ? gPlayers;
|
|
|
|
void func_800CA730(u8 arg0) {
|
|
u8 *sp3C;
|
|
u8 *temp_v1;
|
|
u8 temp_a2;
|
|
void *temp_a1;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (*(&D_800EA0EC + temp_a2) == 0) {
|
|
temp_v1 = &D_800EA10C + temp_a2;
|
|
if ((D_800EA108 == 0) && (*temp_v1 != 0)) {
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
sp3C = temp_v1;
|
|
arg0 = temp_a2;
|
|
play_sound((*(&gPlayers + 0x254 + (temp_a2 * 0xDD8)) * 0x10) + 0x29008008, temp_a1, temp_a2, &D_800EA1D4, &D_800EA1D4, temp_a1 + 0x14);
|
|
if (*sp3C != 0) {
|
|
if (D_800EA1C0 >= 2) {
|
|
func_800C9018(arg0 & 0xFF, 0x100FF2C, arg0);
|
|
} else {
|
|
*sp3C = 0;
|
|
if (D_800EA104 != 0) {
|
|
func_800C9018(arg0 & 0xFF, 0x100FF2C, arg0);
|
|
} else if ((D_800EA10C.unk0 == 0) && (D_800EA10C.unk1 == 0)) {
|
|
if (D_8018FC08 != 0) {
|
|
if ((D_803B1658 >> 0x1F) == 0) {
|
|
func_800C3608(1, 5, arg0);
|
|
func_800C8EAC(D_800EA15C);
|
|
func_800C3448(0xB001307D);
|
|
} else if ((func_800C3508(1, 0x1000000, arg0) == 0xC) || (func_800C357C(0x101000C) == 0)) {
|
|
func_800C3448(0xC1F00000);
|
|
func_800C3448(D_800EA15C | 0xC1500000);
|
|
func_800C3448(0xC130017D);
|
|
} else {
|
|
func_800C3448(0x110100FF);
|
|
func_800C8EAC(D_800EA15C);
|
|
func_800C3448(0xB001307D);
|
|
}
|
|
} else {
|
|
func_800C3448(0x110100FF, 0x1000000, arg0);
|
|
func_800C8EAC(D_800EA15C);
|
|
}
|
|
}
|
|
D_800EA164 = 0;
|
|
}
|
|
}
|
|
*sp3C = 0;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA730.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_800C1C88(s32, void *, ? *, void *, s32, s32); // extern
|
|
? play_sound(s32, s32, s32, ? *, ? *, ? *); // extern
|
|
extern u8 D_800EA0F0;
|
|
extern u8 D_800EA108;
|
|
extern u8 D_800EA1C0;
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
extern ? gPlayers;
|
|
|
|
void func_800CA984(s32 arg0) {
|
|
s32 temp_s5;
|
|
s32 temp_t2;
|
|
s32 temp_v0_2;
|
|
void *temp_v0;
|
|
s32 phi_s0;
|
|
|
|
temp_s5 = arg0 & 0xFF;
|
|
if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) {
|
|
phi_s0 = 0;
|
|
if ((D_800EA1C0 + 1) > 0) {
|
|
temp_v0 = (temp_s5 * 0xDD8) + &gPlayers;
|
|
do {
|
|
temp_v0_2 = func_800C1C88(temp_s5 & 0xFF, temp_v0 + 0x14, &D_800EA1C8, temp_v0 + 0x98, phi_s0, 0x31029008);
|
|
if (temp_v0_2 != 0) {
|
|
play_sound(0x31029008, temp_v0_2 + 0x18, phi_s0 & 0xFF, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
|
|
}
|
|
temp_t2 = (phi_s0 + 1) & 0xFF;
|
|
phi_s0 = temp_t2;
|
|
} while (temp_t2 < (D_800EA1C0 + 1));
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CA984.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
s32 func_800C21E8(void *, ?, s32); // extern
|
|
? func_800C5578(s32, ?); // extern
|
|
extern u8 D_800EA108;
|
|
extern ? gPlayers;
|
|
|
|
void func_800CAACC(s32 arg0) {
|
|
s32 temp_a2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
func_800C5578(func_800C21E8((temp_a2 * 0xDD8) + 0x14 + &gPlayers, 0x31029008, temp_a2), 0x31029008);
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAACC.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
? func_800C9060(u8, ?); // extern
|
|
? play_sound(?, ? *, ?, ? *, ? *, ? *); // extern
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern s8 D_800EA168;
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
|
|
void func_800CAB4C(u8 arg0) {
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = arg0 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
func_800C36C4(0, 1, 0x55, 5);
|
|
func_800C9060(arg0, 0x1900F013);
|
|
play_sound(0x5101C00C, &D_800EA1C8, 0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
|
|
}
|
|
D_800EA168 = 1;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAB4C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
? func_800C56F0(?); // extern
|
|
extern u8 D_800EA108;
|
|
extern s8 D_800EA168;
|
|
|
|
void func_800CAC08(void) {
|
|
if (D_800EA108 == 0) {
|
|
func_800C36C4(0, 1, 0x7F, 0x19);
|
|
func_800C56F0(0x5101C00C);
|
|
D_800EA168 = 0;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAC08.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
? play_sound(?, ? *, ?, ? *, ? *, ? *); // extern
|
|
extern u8 D_800EA0F0;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA10C;
|
|
extern s8 D_800EA168;
|
|
extern ? D_800EA1C8;
|
|
extern ? D_800EA1D4;
|
|
extern ? D_800EA1DC;
|
|
|
|
void func_800CAC60(s32 arg0) {
|
|
if ((D_800EA108 == 0) && (D_800EA0F0 == 0)) {
|
|
play_sound(0x1900F00C, &D_800EA1C8, 0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
|
|
if ((D_800EA10C.unk0 != 1) && (D_800EA10C.unk1 != 1)) {
|
|
func_800C36C4(0, 1, 0x37, 5);
|
|
play_sound(0x5101C00C, &D_800EA1C8, 0, &D_800EA1D4, &D_800EA1D4, &D_800EA1DC);
|
|
D_800EA168 = 1;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAC60.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
? func_800C56F0(?); // extern
|
|
extern u8 D_800EA108;
|
|
extern s8 D_800EA168;
|
|
extern ? D_800EA170;
|
|
|
|
void func_800CAD40(s32 arg0) {
|
|
if (D_800EA108 == 0) {
|
|
if ((D_800EA170.unk0 == 0) && (D_800EA170.unk1 == 0) && (D_800EA170.unk2 == 0) && (D_800EA170.unk3 == 0)) {
|
|
func_800C36C4(0, 1, 0x7F, 0x19);
|
|
}
|
|
func_800C56F0(0x5101C00C);
|
|
D_800EA168 = 0;
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAD40.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? play_sound(f32, ?, void *, s32, ? *, f32 *, void *); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA110;
|
|
extern ? D_800EA1D4;
|
|
extern f32 D_800F39A8;
|
|
extern f32 D_800F39AC;
|
|
|
|
void func_800CADD0(s32 arg0, f32 arg1) {
|
|
f32 *temp_v0_2;
|
|
f32 temp_f12;
|
|
s32 temp_a2;
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
void *temp_a1;
|
|
f32 phi_f12;
|
|
f32 phi_f12_2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = temp_a2 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
temp_f12 = (arg1 * D_800F39A8) + D_800F39AC;
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
temp_v0_2 = (temp_a2 * 4) + &D_800EA110;
|
|
phi_f12 = temp_f12;
|
|
if (temp_f12 > 1.0f) {
|
|
phi_f12 = 1.0f;
|
|
}
|
|
phi_f12_2 = phi_f12;
|
|
if (phi_f12 < 0.0f) {
|
|
phi_f12_2 = 0.0f;
|
|
}
|
|
*temp_v0_2 = phi_f12_2;
|
|
play_sound(phi_f12_2, 0x1900A209, temp_a1, temp_a2, &D_800EA1D4, temp_v0_2, temp_a1 + 0x14);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CADD0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? play_sound(f32, s32, void *, s32, ? *, f32 *, void *); // extern
|
|
extern ? D_800E9F7C;
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA120;
|
|
extern ? D_800EA1D4;
|
|
extern f32 D_800F39B0;
|
|
extern f32 D_800F39B4;
|
|
|
|
void func_800CAEC4(s32 arg0, f32 arg1) {
|
|
f32 *temp_v0_2;
|
|
f32 temp_f12;
|
|
s32 temp_a2;
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
void *temp_a1;
|
|
f32 phi_f12;
|
|
f32 phi_f12_2;
|
|
|
|
temp_a2 = arg0 & 0xFF;
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = temp_a2 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
temp_f12 = (arg1 * D_800F39B0) + D_800F39B4;
|
|
temp_v0_2 = (temp_a2 * 4) + &D_800EA120;
|
|
temp_a1 = (temp_a2 * 0x3C) + &D_800E9F7C;
|
|
phi_f12 = temp_f12;
|
|
if (temp_f12 > 1.0f) {
|
|
phi_f12 = 1.0f;
|
|
}
|
|
phi_f12_2 = phi_f12;
|
|
if (phi_f12 < 0.0f) {
|
|
phi_f12_2 = 0.0f;
|
|
}
|
|
*temp_v0_2 = phi_f12_2;
|
|
play_sound(phi_f12_2, gCurrentCourseId + 0x19007020, temp_a1, temp_a2, &D_800EA1D4, temp_v0_2, temp_a1 + 0x14);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAEC4.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
? func_800C8F80(u8, ?); // extern
|
|
? func_800C9060(u8, ?); // extern
|
|
extern ? D_800EA0EC;
|
|
extern u8 D_800EA108;
|
|
extern ? D_800EA170;
|
|
|
|
void func_800CAFC0(u8 arg0) {
|
|
u8 *temp_v1;
|
|
u8 temp_v0;
|
|
|
|
if (D_800EA108 == 0) {
|
|
temp_v1 = arg0 + &D_800EA0EC;
|
|
temp_v0 = *temp_v1;
|
|
if (temp_v0 != 0) {
|
|
if (temp_v0 == 2) {
|
|
*temp_v1 = 1;
|
|
goto block_4;
|
|
}
|
|
} else {
|
|
block_4:
|
|
func_800C36C4(0, 1, 0x55, 5);
|
|
func_800C9060(arg0, 0x19009E59);
|
|
func_800C8F80(arg0, 0x100FA4C);
|
|
*(&D_800EA170 + arg0) = 1;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CAFC0.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C36C4(?, ?, ?, ?); // extern
|
|
? func_800C9018(u8, ?); // extern
|
|
? func_800C90F4(u8, s32); // extern
|
|
extern u8 D_800EA108;
|
|
extern u8 D_800EA168;
|
|
extern ? D_800EA170;
|
|
extern ? gPlayers;
|
|
|
|
void func_800CB064(u8 arg0) {
|
|
u8 *sp34;
|
|
u8 *temp_t9;
|
|
|
|
if (D_800EA108 == 0) {
|
|
temp_t9 = arg0 + &D_800EA170;
|
|
sp34 = temp_t9;
|
|
if (*temp_t9 == 1) {
|
|
if (D_800EA168 == 0) {
|
|
func_800C36C4(0, 1, 0x7F, 0x19);
|
|
}
|
|
func_800C90F4(arg0, (*(&gPlayers + 0x254 + (arg0 * 0xDD8)) * 0x10) + 0x29008008);
|
|
func_800C9018(arg0, 0x100FA4C);
|
|
*sp34 = 0;
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB064.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
extern s16 D_800EA174;
|
|
|
|
void func_800CB134(void) {
|
|
D_800EA174 = 1;
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB134.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C3448(?); // extern
|
|
? func_800C8EAC(?); // extern
|
|
? func_800C8EF8(?); // extern
|
|
extern u16 D_800EA174;
|
|
|
|
void func_800CB14C(void) {
|
|
u16 temp_t6;
|
|
u16 temp_v0;
|
|
u16 temp_v1;
|
|
u16 phi_v0;
|
|
u16 phi_v0_2;
|
|
u16 phi_v0_3;
|
|
u16 phi_v0_4;
|
|
u16 phi_v0_5;
|
|
u16 phi_v0_6;
|
|
u16 phi_v0_7;
|
|
|
|
temp_v1 = D_800EA174;
|
|
if (temp_v1 != 0) {
|
|
temp_t6 = temp_v1 + 1;
|
|
temp_v0 = temp_t6 & 0xFFFF;
|
|
D_800EA174 = temp_t6;
|
|
phi_v0 = temp_v0;
|
|
if (temp_v0 == 3) {
|
|
func_800C8EAC(0x1A);
|
|
func_800C3448(0x4000007F);
|
|
phi_v0 = D_800EA174;
|
|
}
|
|
phi_v0_2 = phi_v0;
|
|
if (phi_v0 == 0x12C) {
|
|
func_800C8EAC(0x1B);
|
|
func_800C3448(0x4000007F);
|
|
func_800C8EF8(0x1D);
|
|
func_800C3448(0x41000000);
|
|
phi_v0_2 = D_800EA174;
|
|
}
|
|
phi_v0_3 = phi_v0_2;
|
|
if (phi_v0_2 == 0x230) {
|
|
func_800C3448(0x40640000);
|
|
func_800C3448(0xB0640073);
|
|
func_800C3448(0x4150007F);
|
|
func_800C3448(0xB1640073);
|
|
phi_v0_3 = D_800EA174;
|
|
}
|
|
phi_v0_4 = phi_v0_3;
|
|
if (phi_v0_3 == 0x2A8) {
|
|
func_800C3448(0x100100FF);
|
|
phi_v0_4 = D_800EA174;
|
|
}
|
|
phi_v0_5 = phi_v0_4;
|
|
if (phi_v0_4 == 0x41A) {
|
|
func_800C3448(0xB1500001);
|
|
func_800C3448(0x51500001);
|
|
phi_v0_5 = D_800EA174;
|
|
}
|
|
phi_v0_6 = phi_v0_5;
|
|
if (phi_v0_5 == 0x46A) {
|
|
func_800C3448(0x41320000);
|
|
phi_v0_6 = D_800EA174;
|
|
}
|
|
phi_v0_7 = phi_v0_6;
|
|
if (phi_v0_6 == 0x4B0) {
|
|
func_800C3448(0x110100FF);
|
|
phi_v0_7 = D_800EA174;
|
|
}
|
|
if (phi_v0_7 == 0x4CE) {
|
|
func_800C8EAC(0x14);
|
|
func_800C3448(0x4000007F);
|
|
}
|
|
}
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB14C.s")
|
|
#endif
|
|
|
|
#ifdef MIPS_TO_C
|
|
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
|
? func_800C1F8C(); // extern
|
|
? func_800C2274(?); // extern
|
|
? func_800C3478(); // extern
|
|
? func_800C3724(); // extern
|
|
? func_800C5848(); // extern
|
|
? func_800C59C4(); // extern
|
|
? func_800C8CCC(); // extern
|
|
? func_800CBC24(); // extern
|
|
|
|
void func_800CB2C4(void) {
|
|
func_800C1F8C();
|
|
func_800C3724();
|
|
func_800C3478();
|
|
func_800C5848();
|
|
func_800C59C4();
|
|
func_800C8CCC();
|
|
func_800C2274(0);
|
|
func_800CBC24();
|
|
}
|
|
#else
|
|
GLOBAL_ASM("asm/non_matchings/audio/external/func_800CB2C4.s")
|
|
#endif
|