marioparty4/src/REL/option/record.c
2024-03-16 13:04:23 -07:00

794 lines
27 KiB
C
Executable file

#include "REL/option.h"
#include "game/audio.h"
#include "game/data.h"
#include "game/esprite.h"
#include "game/gamework_data.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/memory.h"
#include "game/window.h"
#include "dolphin.h"
#include "math.h"
typedef struct {
/* 0x00 */ s32 unk00;
/* 0x04 */ s32 unk04[8];
/* 0x24 */ s32 unk24;
/* 0x28 */ s32 unk28;
} UnkRecordDataStruct00; // Size 0x2C
typedef struct {
/* 0x000 */ omObjData *unk00;
/* 0x004 */ omObjData *unk04;
/* 0x008 */ UnkWindowDataStruct *unk08[10];
/* 0x030 */ s32 unk30;
/* 0x034 */ s16 unk34[153];
/* 0x166 */ char unk166[6];
/* 0x16C */ s32 unk16C;
/* 0x170 */ s32 unk170;
/* 0x174 */ s32 unk174;
/* 0x178 */ UnkRecordDataStruct00 unk178[6];
/* 0x280 */ s32 unk280[6];
/* 0x298 */ s32 unk298;
/* 0x29C */ s32 unk29C;
} UnkRecordDataStruct01; // Size 0x2A0
static void fn_1_8310(omObjData *arg0);
static omObjData *fn_1_8A88(void);
static void fn_1_8B58(omObjData *arg0);
static void fn_1_8BAC(omObjData *arg0, s32 arg1);
static omObjData *fn_1_8C84(void);
static void fn_1_8D80(omObjData *arg0);
static void fn_1_8DD4(omObjData *arg0);
static void fn_1_8E98(omObjData *arg0);
static s32 fn_1_8EF8(s32 arg0, s32 arg1);
static void fn_1_8F38(omObjData *arg0, s32 arg1);
static void fn_1_96B4(omObjData *arg0);
static void fn_1_9750(omObjData *arg0);
static void fn_1_9A94(omObjData *arg0);
static void fn_1_9B10(omObjData *arg0, s32 arg1);
static void fn_1_A3B0(omObjData *arg0);
omObjData *lbl_1_bss_40;
static const s32 lbl_1_rodata_13C0[] = { 0, 1, 2, 3, 5, 10 };
static omObjFunc lbl_1_data_210[] = {
NULL,
fn_1_8310
};
omObjData *fn_1_80E4(void) {
omObjData *temp_r29;
UnkRecordDataStruct01 *temp_r3;
s32 i;
s32 j;
temp_r29 = omAddObjEx(lbl_1_bss_8, 1003, 0, 0, 1, NULL);
temp_r3 = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkRecordDataStruct01), MEMORY_DEFAULT_NUM);
temp_r29->data = temp_r3;
for (i = 0; i < 6; i++) {
temp_r3->unk178[i].unk00 = GWBoardPlayCountGet(i);
temp_r3->unk178[i].unk28 = GWBoardMaxStarsGet(i);
temp_r3->unk178[i].unk24 = GWBoardMaxCoinsGet(i);
for (j = 0; j < 8; j++) {
temp_r3->unk178[i].unk04[j] = GWBoardWinCountGet(j, i);
}
}
for (i = 0; i < 6; i++) {
temp_r3->unk280[i] = GWMGRecordGet(lbl_1_rodata_13C0[i]);
}
temp_r3->unk170 = 0;
temp_r3->unk174 = 0;
temp_r3->unk16C = 0;
temp_r3->unk00 = fn_1_8A88();
temp_r3->unk04 = fn_1_8C84();
fn_1_8DD4(temp_r29);
fn_1_82B0(temp_r29, 0);
return temp_r29;
}
void fn_1_825C(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
fn_1_8B58(temp_r31->unk00);
fn_1_8D80(temp_r31->unk04);
fn_1_8E98(arg0);
HuMemDirectFree(temp_r31);
}
void fn_1_82B0(omObjData *arg0, s32 arg1) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
temp_r31->unk30 = arg1;
arg0->func = lbl_1_data_210[arg1];
arg0->unk10 = 0;
arg0->unk10 = 0;
}
s32 fn_1_82F4(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
return temp_r31->unk30;
}
static void fn_1_8310(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
Vec sp8;
s32 i;
switch (arg0->unk10) {
case 0:
temp_r31->unk08[0] = fn_1_A44C(0);
temp_r31->unk08[1] = fn_1_A44C(1);
for (i = 0; i < 8; i++) {
temp_r31->unk08[i + 2] = fn_1_A44C(3);
}
fn_1_AF0(lbl_1_bss_10, 519.0f, 125.0f, 300.0f, 0x28);
fn_1_A6C(lbl_1_bss_10, 308.98f, 125.0f, 178.74f, 0x28);
temp_r31->unk170 = 0;
temp_r31->unk174 = 0;
temp_r31->unk298 = 0;
arg0->unk10 = 1;
/* fallthrough */
case 1:
if (fn_1_CB8(lbl_1_bss_10) != 0) {
break;
}
fn_1_3D54(lbl_1_bss_30);
espBankSet(temp_r31->unk34[47], 0);
espBankSet(temp_r31->unk34[48], 2);
espPosSet(temp_r31->unk34[47], 46.0f, 240.0f);
espPosSet(temp_r31->unk34[48], 494.0f, 240.0f);
if (temp_r31->unk16C == 0) {
fn_1_160(temp_r31->unk34[47], 1, 10);
fn_1_160(temp_r31->unk34[48], 1, 10);
temp_r31->unk29C = 0;
}
arg0->unk10 = 2;
/* fallthrough */
case 2:
fn_1_96B4(arg0);
fn_1_A3B0(arg0);
fn_1_9A94(arg0);
switch (temp_r31->unk16C) {
case 0:
if (temp_r31->unk170 < 6) {
fn_1_8F38(arg0, temp_r31->unk170);
} else {
fn_1_9750(arg0);
}
fn_1_A6EC(temp_r31->unk08[0]);
fn_1_A71C(temp_r31->unk08[0], MAKE_MESSID(47, 5));
break;
case 1:
fn_1_9B10(arg0, temp_r31->unk174);
fn_1_A6EC(temp_r31->unk08[0]);
fn_1_A71C(temp_r31->unk08[0], MAKE_MESSID(47, 6));
break;
}
fn_1_A6EC(temp_r31->unk08[1]);
fn_1_A71C(temp_r31->unk08[1], MAKE_MESSID(47, 169));
if (temp_r31->unk298 == 0) {
Hu3DModelAttrReset(temp_r31->unk04->model[0], 1);
temp_r31->unk298 = 1;
}
sp8.x = 505.0 * -sin(305 * M_PI / 180.0);
sp8.z = 505.0 * cos(305 * M_PI / 180.0);
sp8.y = 144.0f - 14.0f * temp_r31->unk16C;
omSetTra(temp_r31->unk04, sp8.x, sp8.y, sp8.z);
arg0->unk10 = 3;
/* fallthrough */
case 3:
if (temp_r31->unk29C > 0) {
temp_r31->unk29C--;
break;
}
espBankSet(temp_r31->unk34[47], 0);
espBankSet(temp_r31->unk34[48], 2);
arg0->unk10 = 4;
/* fallthrough */
case 4:
if (temp_r31->unk08[1]->unk20 != 0) {
break;
}
if (fn_1_550(0x200) != 0) {
HuAudFXPlay(3);
arg0->unk10 = 5;
} else if (fn_1_584(8) != 0 && temp_r31->unk16C == 1) {
temp_r31->unk16C = 0;
temp_r31->unk170 = 0;
fn_1_8BAC(temp_r31->unk00, temp_r31->unk16C);
fn_1_160(temp_r31->unk34[47], 1, 5);
fn_1_160(temp_r31->unk34[48], 1, 5);
temp_r31->unk29C = 5;
HuAudFXPlay(0x83F);
arg0->unk10 = 2;
} else if (fn_1_584(4) != 0 && temp_r31->unk16C == 0) {
temp_r31->unk16C = 1;
temp_r31->unk174 = 0;
fn_1_8BAC(temp_r31->unk00, temp_r31->unk16C);
fn_1_160(temp_r31->unk34[47], 0, 5);
fn_1_160(temp_r31->unk34[48], 0, 5);
temp_r31->unk29C = 5;
HuAudFXPlay(0x83F);
arg0->unk10 = 2;
} else {
switch (temp_r31->unk16C) {
case 0:
if (fn_1_550(0x40) != 0) {
if (--temp_r31->unk170 < 0) {
temp_r31->unk170 = 6;
}
if (GWGameStat.open_w06 == 0 && temp_r31->unk170 == 5) {
temp_r31->unk170--;
}
HuAudFXPlay(0x840);
espBankSet(temp_r31->unk34[47], 1);
temp_r31->unk29C = 0xA;
arg0->unk10 = 2;
return;
}
if (fn_1_550(0x20) != 0) {
if (++temp_r31->unk170 >= 7) {
temp_r31->unk170 = 0;
}
if (GWGameStat.open_w06 == 0 && temp_r31->unk170 == 5) {
temp_r31->unk170++;
}
HuAudFXPlay(0x840);
espBankSet(temp_r31->unk34[48], 3);
temp_r31->unk29C = 0xA;
arg0->unk10 = 2;
}
break;
case 1:
break;
}
}
break;
case 5:
fn_1_3E1C(lbl_1_bss_30);
if (temp_r31->unk16C == 0) {
fn_1_160(temp_r31->unk34[47], 0, 10);
fn_1_160(temp_r31->unk34[48], 0, 10);
}
fn_1_A704(temp_r31->unk08[0]);
fn_1_A704(temp_r31->unk08[1]);
Hu3DModelAttrSet(temp_r31->unk04->model[0], 1);
arg0->unk10 = 6;
/* fallthrough */
case 6:
if (temp_r31->unk08[1]->unk20 == 0 && fn_1_3ED0(lbl_1_bss_30) == 0) {
for (i = 0; i < 10; i++) {
fn_1_A6AC(temp_r31->unk08[i]);
}
fn_1_96B4(arg0);
fn_1_A3B0(arg0);
fn_1_9A94(arg0);
fn_1_AF0(lbl_1_bss_10, 519.62f, 120.0f, 300.0f, 0x28);
fn_1_A6C(lbl_1_bss_10, 0.0f, 120.0f, 0.0f, 0x28);
fn_1_82B0(arg0, 0);
}
break;
}
}
static omObjData *fn_1_8A88(void) {
omObjData *temp_r31;
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 1));
Hu3DModelAttrSet(temp_r31->model[0], 0x40000002);
Hu3DModelLayerSet(temp_r31->model[0], 0);
Hu3DMotionStartEndSet(temp_r31->model[0], 0.0f, 6.0f);
Hu3DMotionTimeSet(temp_r31->model[0], 6.0f);
return temp_r31;
}
static void fn_1_8B58(omObjData *arg0) {
s32 i;
for (i = 0; i < 1; i++) {
Hu3DModelKill(arg0->model[i]);
}
}
static void fn_1_8BAC(omObjData *arg0, s32 arg1) {
s16 temp_r31 = arg0->model[0];
switch (arg1) {
case 0:
Hu3DMotionStartEndSet(temp_r31, 0.0f, 6.0f);
Hu3DMotionTimeSet(temp_r31, 0.0f);
break;
case 1:
Hu3DMotionStartEndSet(temp_r31, 6.0f, 12.0f);
Hu3DMotionTimeSet(temp_r31, 6.0f);
break;
}
Hu3DModelAttrReset(arg0->model[0], 0x40000002);
}
static omObjData *fn_1_8C84(void) {
omObjData *temp_r31;
temp_r31 = omAddObjEx(lbl_1_bss_8, 1003, 1, 0, 1, NULL);
temp_r31->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_OPTION, 14));
Hu3DModelLayerSet(temp_r31->model[0], 2);
Hu3DModelAttrSet(temp_r31->model[0], 0x40000001);
omSetRot(temp_r31, 30.0f, 190.0f, 0.0f);
omSetSca(temp_r31, 0.6f, 0.6f, 0.6f);
Hu3DModelAttrSet(temp_r31->model[0], 1);
return temp_r31;
}
static void fn_1_8D80(omObjData *arg0) {
s32 i;
for (i = 0; i < 1; i++) {
Hu3DModelKill(arg0->model[i]);
}
}
static const s32 lbl_1_rodata_143C[153] = {
DATA_MAKE_NUM(DATADIR_OPTION, 55),
DATA_MAKE_NUM(DATADIR_OPTION, 56),
DATA_MAKE_NUM(DATADIR_OPTION, 57),
DATA_MAKE_NUM(DATADIR_OPTION, 58),
DATA_MAKE_NUM(DATADIR_OPTION, 59),
DATA_MAKE_NUM(DATADIR_OPTION, 60),
DATA_MAKE_NUM(DATADIR_OPTION, 61),
DATA_MAKE_NUM(DATADIR_OPTION, 62),
DATA_MAKE_NUM(DATADIR_OPTION, 50),
DATA_MAKE_NUM(DATADIR_OPTION, 51),
DATA_MAKE_NUM(DATADIR_OPTION, 66),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 52),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 53),
DATA_MAKE_NUM(DATADIR_OPTION, 49),
DATA_MAKE_NUM(DATADIR_OPTION, 49),
DATA_MAKE_NUM(DATADIR_OPTION, 19),
DATA_MAKE_NUM(DATADIR_OPTION, 20),
DATA_MAKE_NUM(DATADIR_OPTION, 21),
DATA_MAKE_NUM(DATADIR_OPTION, 22),
DATA_MAKE_NUM(DATADIR_OPTION, 23),
DATA_MAKE_NUM(DATADIR_OPTION, 24),
DATA_MAKE_NUM(DATADIR_OPTION, 25),
DATA_MAKE_NUM(DATADIR_OPTION, 26),
DATA_MAKE_NUM(DATADIR_OPTION, 27),
DATA_MAKE_NUM(DATADIR_OPTION, 28),
DATA_MAKE_NUM(DATADIR_OPTION, 29),
DATA_MAKE_NUM(DATADIR_OPTION, 30),
DATA_MAKE_NUM(DATADIR_OPTION, 31),
DATA_MAKE_NUM(DATADIR_OPTION, 32),
DATA_MAKE_NUM(DATADIR_OPTION, 33),
DATA_MAKE_NUM(DATADIR_OPTION, 34),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54),
DATA_MAKE_NUM(DATADIR_OPTION, 54)
};
static void fn_1_8DD4(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 i;
for (i = 0; i < 153; i++) {
temp_r31->unk34[i] = espEntry(lbl_1_rodata_143C[i], 0, 0);
espDrawNoSet(temp_r31->unk34[i], 0x40);
espDispOff(temp_r31->unk34[i]);
}
espBankSet(temp_r31->unk34[47], 0);
espBankSet(temp_r31->unk34[48], 2);
HuSprExecLayerSet(0x40, 1);
}
static void fn_1_8E98(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 i;
for (i = 0; i < 153; i++) {
espKill(temp_r31->unk34[i]);
}
}
static s32 fn_1_8EF8(s32 arg0, s32 arg1) {
s32 var_r31;
var_r31 = 1;
while (arg1-- != 0) {
var_r31 *= 10;
}
return (arg0 % (var_r31 * 10)) / var_r31;
}
static void fn_1_8F38(omObjData *arg0, s32 arg1) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 temp_r28;
s32 i;
s32 j;
espPosSet(temp_r31->unk34[arg1], 275.0f, 72.0f);
temp_r28 = temp_r31->unk178[temp_r31->unk170].unk00;
for (i = 0; i < 4; i++) {
espPosSet(temp_r31->unk34[i + 11], 323.0f + 20.0f * i, 116.0f);
if (temp_r28 > 999) {
espBankSet(temp_r31->unk34[i + 11], i + 10);
} else {
espBankSet(temp_r31->unk34[i + 11], fn_1_8EF8(temp_r28, 3 - i));
}
}
espPosSet(temp_r31->unk34[8], 416.0f, 120.0f);
temp_r28 = temp_r31->unk178[temp_r31->unk170].unk24;
for (i = 0; i < 4; i++) {
espPosSet(temp_r31->unk34[i + 15], 364.0f + 20.0f * i, 268.0f);
if (temp_r28 > 999) {
espBankSet(temp_r31->unk34[i + 15], i + 10);
} else {
espBankSet(temp_r31->unk34[i + 15], fn_1_8EF8(temp_r28, 3 - i));
}
}
espPosSet(temp_r31->unk34[9], 456.0f, 268.0f);
temp_r28 = temp_r31->unk178[temp_r31->unk170].unk28;
for (i = 0; i < 4; i++) {
espPosSet(temp_r31->unk34[i + 19], 364.0f + 20.0f * i, 312.0f);
if (temp_r28 > 999) {
espBankSet(temp_r31->unk34[i + 19], i + 10);
} else {
espBankSet(temp_r31->unk34[i + 19], fn_1_8EF8(temp_r28, 3 - i));
}
}
espPosSet(temp_r31->unk34[10], 456.0f, 312.0f);
for (i = 0; i < 8; i++) {
espPosSet(temp_r31->unk34[i + 49], 92.0f + 50.0f * i, 200.0f);
for (j = 0; j < 3; j++) {
espPosSet(temp_r31->unk34[i * 3 + 23 + j], 80.0f + 50.0f * i + 12.0f * j, 230.0f);
espBankSet(temp_r31->unk34[i * 3 + 23 + j], fn_1_8EF8(temp_r31->unk178[temp_r31->unk170].unk04[i], 2 - j));
}
}
espPosSet(temp_r31->unk34[47], 48.0f, 240.0f);
espPosSet(temp_r31->unk34[48], 492.0f, 240.0f);
espDispOn(temp_r31->unk34[arg1]);
for (i = 0; i < 4; i++) {
espDispOn(temp_r31->unk34[i + 11]);
}
espDispOn(temp_r31->unk34[8]);
for (i = 0; i < 4; i++) {
espDispOn(temp_r31->unk34[i + 15]);
}
espDispOn(temp_r31->unk34[9]);
for (i = 0; i < 4; i++) {
espDispOn(temp_r31->unk34[i + 19]);
}
espDispOn(temp_r31->unk34[10]);
for (i = 0; i < 8; i++) {
espDispOn(temp_r31->unk34[i + 49]);
for (j = 0; j < 3; j++) {
espDispOn(temp_r31->unk34[i * 3 + 23 + j]);
}
}
for (i = 0; i < 4; i++) {
fn_1_A7F0(temp_r31->unk08[i + 2]);
}
fn_1_A7B0(temp_r31->unk08[2], 64.0f, 96.0f);
fn_1_A71C(temp_r31->unk08[2], MAKE_MESSID(47, 19));
fn_1_A7B0(temp_r31->unk08[3], 64.0f, 140.0f);
fn_1_A71C(temp_r31->unk08[3], MAKE_MESSID(47, 20));
fn_1_A7B0(temp_r31->unk08[4], 64.0f, 248.0f);
fn_1_A71C(temp_r31->unk08[4], MAKE_MESSID(47, 21));
fn_1_A7B0(temp_r31->unk08[5], 64.0f, 292.0f);
fn_1_A71C(temp_r31->unk08[5], MAKE_MESSID(47, 22));
}
static const s32 lbl_1_rodata_16F8[53] = {
0, 1, 2, 3, 4, 5, 49, 50, 51, 52,
53, 54, 55, 56, 8, 9, 10, 11, 12, 13,
14, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 38, 39, 40, 35, 36, 37, 41,
42, 43, 44, 45, 46, 15, 16, 17, 18, 19,
20, 21, 22
};
static void fn_1_96B4(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 i;
for (i = 0; i < 53; i++) {
espDispOff(temp_r31->unk34[lbl_1_rodata_16F8[i]]);
}
for (i = 0; i < 4; i++) {
fn_1_A828(temp_r31->unk08[i + 2]);
}
}
static void fn_1_9750(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 var_r27;
s32 i;
s32 j;
espPosSet(temp_r31->unk34[6], 275.0f, 72.0f);
for (i = 0; i < 8; i++) {
espPosSet(temp_r31->unk34[i + 57], 148.0f + 80.0f * (i % 4), 172.0f + 104.0f * (i / 4));
for (j = 0, var_r27 = 0; j < 6; j++) {
var_r27 += temp_r31->unk178[j].unk04[i];
}
for (j = 0; j < 3; j++) {
espPosSet(temp_r31->unk34[i * 3 + 65 + j], 132.0f + 80.0f * (i % 4) + 16.0f * j, 218.0f + 104.0f * (i / 4));
espBankSet(temp_r31->unk34[i * 3 + 65 + j], fn_1_8EF8(var_r27, 2 - j));
}
}
espDispOn(temp_r31->unk34[6]);
for (i = 0; i < 8; i++) {
espDispOn(temp_r31->unk34[i + 57]);
for (j = 0; j < 3; j++) {
espDispOn(temp_r31->unk34[i * 3 + 65 + j]);
}
}
fn_1_A7B0(temp_r31->unk08[2], 136.0f, 96.0f);
fn_1_A71C(temp_r31->unk08[2], MAKE_MESSID(47, 23));
fn_1_A7F0(temp_r31->unk08[2]);
}
static const s32 lbl_1_rodata_17E8[33] = {
6, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88
};
static void fn_1_9A94(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 i;
for (i = 0; i < 33; i++) {
espDispOff(temp_r31->unk34[lbl_1_rodata_17E8[i]]);
}
fn_1_A828(temp_r31->unk08[2]);
}
static const s32 lbl_1_rodata_186C[6][3] = {
{ 0x00000195, MAKE_MESSID(23, 5), 0 },
{ 0x00000197, MAKE_MESSID(23, 7), 1 },
{ 0x000001AB, MAKE_MESSID(23, 27), 0 },
{ 0x000001B0, MAKE_MESSID(23, 32), 0 },
{ 0x000001BB, MAKE_MESSID(23, 43), 0 },
{ 0x000001C8, MAKE_MESSID(23, 54), 0 }
};
static void fn_1_9B10(omObjData *arg0, s32 arg1) {
UnkRecordDataStruct01 *temp_r31 = arg0->data;
s32 temp_r25;
s32 temp_r27;
s32 var_r28;
s32 var_r26;
s32 var_r17;
s32 sp5C;
s32 sp58;
s32 sp54;
s32 sp50;
s32 sp4C;
s32 i;
s32 j;
espPosSet(temp_r31->unk34[7], 275.0f, 72.0f);
espPosSet(temp_r31->unk34[47], 48.0f, 240.0f);
espPosSet(temp_r31->unk34[48], 492.0f, 240.0f);
espDispOn(temp_r31->unk34[7]);
for (i = 0; i < 8; i++) {
sp50 = 0;
temp_r27 = i + arg1 * 8;
if (temp_r27 >= 6) {
break;
}
sp54 = GWMGAvailGet(lbl_1_rodata_186C[temp_r27][0]);
temp_r25 = temp_r31->unk280[temp_r27];
if (sp54 != 0) {
switch (lbl_1_rodata_186C[temp_r27][2]) {
case 1:
for (j = 0; j < 8; j++) {
var_r17 = fn_1_8EF8(temp_r25, 7 - j);
if (var_r17 != 0 || sp50 != 0 || j >= 7) {
espPosSet(temp_r31->unk34[i * 8 + 89 + j], 336.0f + 16.0f * j, 116.0f + 40.0f * i);
espBankSet(temp_r31->unk34[i * 8 + 89 + j], var_r17);
espDispOn(temp_r31->unk34[i * 8 + 89 + j]);
sp50 = 1;
}
}
break;
case 0:
sp5C = temp_r25 / 3600;
sp58 = (temp_r25 % 3600) / 60;
var_r26 = (temp_r25 % 3600) % 60;
if (lbl_1_rodata_186C[temp_r27][0] == 0x195 || lbl_1_rodata_186C[temp_r27][0] == 0x1B0) {
var_r26 *= 1.6916667f;
} else {
var_r26 *= 1.6666666f;
}
for (j = 1; j < 8; j++) {
espPosSet(temp_r31->unk34[i * 8 + 89 + j], 336.0f + 16.0f * j, 116.0f + 40.0f * i);
switch (j) {
case 0:
var_r28 = fn_1_8EF8(sp5C, 1);
break;
case 1:
var_r28 = fn_1_8EF8(sp5C, 0);
break;
case 3:
var_r28 = fn_1_8EF8(sp58, 1);
break;
case 4:
var_r28 = fn_1_8EF8(sp58, 0);
break;
case 6:
var_r28 = fn_1_8EF8(var_r26, 1);
break;
case 7:
var_r28 = fn_1_8EF8(var_r26, 0);
break;
case 2:
var_r28 = 11;
break;
case 5:
var_r28 = 12;
break;
}
espBankSet(temp_r31->unk34[i * 8 + 89 + j], var_r28);
espDispOn(temp_r31->unk34[i * 8 + 89 + j]);
}
break;
}
} else {
for (j = 0; j < 8; j++) {
espPosSet(temp_r31->unk34[i * 8 + 89 + j], 336.0f + 16.0f * j, 116.0f + 40.0f * i);
espBankSet(temp_r31->unk34[i * 8 + 89 + j], 0);
espDispOn(temp_r31->unk34[i * 8 + 89 + j]);
}
}
fn_1_A7B0(temp_r31->unk08[i + 2], 60.0f, 96.0f + 40.0f * i);
sp4C = (sp54 != 0) ? lbl_1_rodata_186C[temp_r27][1] : MAKE_MESSID(35, 0);
fn_1_A71C(temp_r31->unk08[i + 2], sp4C);
fn_1_A7F0(temp_r31->unk08[i + 2]);
}
}
static const s32 lbl_1_rodata_18C8[65] = {
7, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152
};
static void fn_1_A3B0(omObjData *arg0) {
UnkRecordDataStruct01 *temp_r30 = arg0->data;
s32 i;
for (i = 0; i < 65; i++) {
espDispOff(temp_r30->unk34[lbl_1_rodata_18C8[i]]);
}
for (i = 0; i < 8; i++) {
fn_1_A828(temp_r30->unk08[i + 2]);
}
}