papermario/src/code_26840_len_20d0.c

244 lines
6.1 KiB
C

#include "common.h"
#include "audio.h"
void func_8004B440(UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) {
u32 i;
s32 c = 0x6A25E;
arg0->unk_00 = arg3;
arg0->unk_34 = 0x4C4B4;
arg0->unk_38 = arg0->unk_3C = c;
arg0->unk_BC = arg1;
arg0->unk_BE = arg2;
if (arg4 > 0x10) {
arg0->unk_BD = 0x10;
} else {
arg0->unk_BD = arg4;
}
arg0->unk_5C = 0x8000;
arg0->unk_B8 = 0x8000;
arg0->unk_30 = 0;
arg0->unk_60 = 0;
for (i = 0; i < ARRAY_COUNT(arg0->unk_16C); i++) {
UnkAlAC* sub = &arg0->unk_16C[i];
sub->unk_00 = 0;
sub->unk_5C = 0;
sub->unk_8E = 0;
sub->unk_90 = 0;
sub->unk_92 = 0;
sub->unk_94 = 0;
sub->unk_9B = 0;
sub->unk_9C = 0;
sub->unk_9D = 0;
sub->unk_9E = 0;
sub->unk_9F = 0;
sub->unk_99 = 0;
sub->unk_78 = 0;
sub->unk_79 = 0;
sub->unk_7A = 0;
sub->unk_7B = 0x40;
sub->unk_7C = 0;
sub->unk_7D = 0xB0;
sub->unk_7E = 0;
sub->unk_7F = 0;
}
for (i = 0; i < 4; i++) {
arg0->unk_90[i] = 0;
}
for (i = 0; i < 4; i++) {
arg0->unk_A0[i].x = 0;
}
arg0->unk_168 = 0;
func_8004BA54(arg0, 0);
func_8004B698(arg0);
func_80053974(&arg0->unk_40, 0, 0x7FFF, 0x7FFF);
func_80053A98(arg0->unk_BE, arg0->unk_40.unk_00.u16, arg0->unk_5C);
arg0->unk_8C = 0xFF;
arg0->unk_64[0] = &D_80078290;
arg0->unk_64[1] = &D_800782F8;
arg0->unk_64[2] = &D_80078320;
arg0->unk_64[3] = &D_80078348;
arg0->unk_64[4] = &D_80078348;
arg0->unk_64[5] = &D_80078348;
arg0->unk_64[6] = &D_80078348;
arg0->unk_64[7] = &D_80078348;
arg0->unk_84[0] = 0x10;
arg0->unk_84[1] = 0x20;
arg0->unk_84[2] = 0x20;
arg0->unk_84[3] = 0x20;
arg0->unk_84[4] = 0x20;
arg0->unk_84[5] = 0x30;
arg0->unk_84[6] = 0x40;
arg0->unk_84[7] = 0x50;
func_8004B9E4(arg0, 0);
}
INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0);
void func_8004B698(UnkAl6CC* arg0) {
s32 i;
for (i = 0; i < ARRAY_COUNT(arg0->unk_C2); i++) {
arg0->unk_C2[i].unk_00 = 0;
arg0->unk_C2[i].unk_02 = 0;
arg0->unk_C2[i].unk_04 = 0;
arg0->unk_C2[i].unk_06 = 0;
arg0->unk_C2[i].unk_08 = 0;
}
arg0->unk_165 = 0;
arg0->unk_164 = 0;
arg0->unk_163 = 0;
arg0->unk_162 = 0;
}
void func_8004B6D8(UnkAl6CC* arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) {
u8 temp_v1 = arg0->unk_164;
s32 temp_v0 = temp_v1 - (u8) arg0->unk_163;
u32 temp_t0;
if (temp_v0 < 0) {
temp_v0 += 0x10;
}
if (temp_v0 < 0x10) {
temp_t0 = temp_v1;
arg0->unk_C2[temp_v1].unk_00 = arg1 & 0xBFFF;
arg0->unk_C2[temp_v1].unk_02 = (((u32) arg1 >> 0x10) & 0x3FF);
arg0->unk_C2[temp_v1].unk_04 = arg2;
arg0->unk_C2[temp_v1].unk_06 = arg3;
arg0->unk_C2[temp_v1].unk_08 = arg4;
temp_t0++;
if (temp_t0 >= 0x10) {
temp_t0 = 0;
}
arg0->unk_164 = temp_t0;
}
}
INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0);
s32 func_8004B9E4(UnkAl6CC* arg0, s32 arg1) {
s32 a1 = (u8) arg1;
if (a1 != 0xF0) {
if (a1 < 8) {
if (arg0->unk_8C != a1) {
arg0->unk_8C = a1;
arg0->unk_00->unk_40[1].unk_00 = 6;
arg0->unk_00->unk_40[1].unk_01 = 1;
D_8007F1F8 = arg0->unk_64[a1];
}
arg0->unk_8D = arg0->unk_84[a1];
} else {
arg0->unk_8C = 0xFF;
arg0->unk_8D = 0;
}
}
return arg0->unk_8C;
}
void func_8004BA54(UnkAl6CC* arg0, s32 arg1) {
if (arg1 == 0) {
arg0->unk_C0 = 0;
} else if (arg1 == 1) {
arg0->unk_C0 = 1;
}
}
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA74);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C0E4);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C268);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C2A4);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C300);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C358);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C3D4);
INCLUDE_ASM(s16, "code_26840_len_20d0", func_8004C444, UnkAl6CC* arg0);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C578);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C844);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C884);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CD94);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CDF8);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CE70);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CEA4);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CEC4);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CF0C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004CF3C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D00C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D038);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D050);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D07C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D114);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D130);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D15C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D180);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D1B4);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D23C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D2B0);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D2E4);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D310);
void func_8004D31C(void) {
}
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D324);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D33C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D354);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D36C);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D3A0);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D3F8);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D428);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D484);
INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004D4BC);