marioparty4/src/REL/mpexDll/mpex.c
2024-11-04 15:27:04 +01:00

3499 lines
103 KiB
C

#include "ext_math.h"
#include "game/board/main.h"
#include "game/chrman.h"
#include "game/esprite.h"
#include "game/gamework.h"
#include "game/gamework_data.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/object.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/saveload.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
#include "string.h"
#ifndef __MWERKS__
#include "game/hsfex.h"
#include "stdio.h"
#endif
#include "REL/mpexDll.h"
typedef void (*MpexDllUnkFunc2)(omObjData *, ...);
typedef struct MpexDllUnkStruct3 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
} MpexDllUnkStruct3; /* size = 0x14 */
typedef struct MpexDllUnkStruct4 {
/* 0x00 */ omObjData *unk_00;
/* 0x04 */ MpexDllUnkFunc2 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ char unk14[0x14];
/* 0x28 */ s32 unk_28;
/* 0x2C */ char unk2C[0x1C];
} MpexDllUnkStruct4; /* size = 0x48 */
s32 rand8(void);
float fn_1_1B52C(float arg8, float arg9, float argA, float argB);
float fn_1_1B574(float arg0, float arg1, float arg2, float arg3);
float fn_1_1B64C(float arg0, float arg1, float arg2, float arg3);
void fn_1_1015C(void);
void fn_1_10228(void);
void fn_1_10268(s32 arg0);
void fn_1_1045C(void);
void fn_1_107EC(void);
void fn_1_1085C(void);
void fn_1_10ABC(void);
void fn_1_10C30(void);
void fn_1_110F8(void);
void fn_1_114D4(void);
void fn_1_115A0(void);
void fn_1_115E0(s32 arg0);
void fn_1_117D4(void);
void fn_1_11930(void);
void fn_1_11984(void);
void fn_1_119E0(void);
void fn_1_11A3C(s32 arg0);
void fn_1_11E28(void);
void fn_1_11FC0(omObjData *object, MpexDllUnkStruct4 *arg1);
void fn_1_121E8(void);
void fn_1_125DC(float *arg0, s32 arg1);
void fn_1_32D8(void);
void fn_1_5D40(omObjData *arg0, MpexDllUnkStruct4 *arg1);
void fn_1_7D80(void);
void fn_1_7FC4(omObjData *arg0, MpexDllUnkStruct4 *arg1);
void fn_1_8320(void);
void fn_1_8ADC(void);
void fn_1_901C(omObjData *arg0, MpexDllUnkStruct4 *arg1);
void fn_1_9430(omObjData *arg0, MpexDllUnkStruct4 *arg1);
void fn_1_96B4(void);
void fn_1_A608(void);
void fn_1_AD34(void);
void fn_1_B004(void);
void fn_1_B210(void);
s32 fn_1_B248(s32 arg0, s32 arg1);
void fn_1_B2E4(s32 arg0);
void fn_1_B7F4(s32 arg0);
void fn_1_B870(s32 arg0);
void fn_1_B9A8(s32);
void fn_1_BC18(void);
void fn_1_BCD8(void);
u32 fn_1_BD10(s32 arg0, s32 arg1);
void fn_1_BD78(s32 arg0, s32 arg1);
void fn_1_C0DC(s32 arg0, s32);
void fn_1_C4D4(s32);
void fn_1_C544(void);
void fn_1_C860(void);
s32 fn_1_C898(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_CF10(s32 arg0);
void fn_1_D3AC(s32 arg0);
void fn_1_D468(s32 arg0);
void fn_1_D6AC(s32 arg0);
void fn_1_DBD0(s32 arg0);
void fn_1_E174(void);
void fn_1_E384(void);
void fn_1_E568(void);
void fn_1_EB1C(void);
void fn_1_ED78(s32 arg0, s32 arg1);
void fn_1_F0C0(void);
void fn_1_F40C(void);
void fn_1_F47C(void);
void fn_1_F730(void);
void fn_1_F8A4(void);
void fn_1_FDA0(void);
float lbl_1_data_240[21] = {
0.0f,
0.0f,
0.0f,
-250.0f,
0.0f,
0.0f,
250.0f,
0.0f,
0.0f,
0.0f,
500.0f,
0.0f,
-1000.0f,
0.0f,
0.0f,
1000.0f,
0.0f,
0.0f,
0.0f,
1000.0f,
0.0f,
};
MpexDllUnkStruct4 lbl_1_bss_3F8;
MpexDllUnkStruct4 lbl_1_bss_3B0;
MpexDllUnkStruct4 lbl_1_bss_2D8[3];
MpexDllUnkStruct4 lbl_1_bss_1B8[4];
s32 lbl_1_bss_1B4;
s32 lbl_1_bss_1B0;
s32 lbl_1_bss_1AC;
s32 lbl_1_bss_180[0xB];
MpexDllUnkStruct3 lbl_1_bss_130[4];
char lbl_1_bss_120[16];
char lbl_1_bss_118[8];
char lbl_1_bss_110[8];
s32 lbl_1_bss_10C;
s32 lbl_1_bss_108;
s32 lbl_1_bss_104;
char lbl_1_bss_FC[8];
char lbl_1_bss_F4[8];
char lbl_1_bss_EC[8];
char lbl_1_bss_E4[8];
s32 lbl_1_bss_E0;
s32 lbl_1_bss_C8[6];
s32 lbl_1_bss_C4;
s32 lbl_1_bss_C0;
s32 lbl_1_bss_BC;
float lbl_1_bss_B8;
s32 lbl_1_bss_B4;
s32 lbl_1_bss_B0;
u32 lbl_1_bss_AC;
Process *lbl_1_bss_A8;
Process *fn_1_3044(Process *arg0)
{
s32 var_r31;
lbl_1_bss_A8 = arg0;
if (omovlevtno == 0) {
mgGameStatBackup = GWGameStat;
}
fn_1_298();
fn_1_374();
fn_1_1B810();
fn_1_910(fn_1_96B4);
lbl_1_bss_180[0] = 1;
lbl_1_bss_180[1] = 1;
lbl_1_bss_180[2] = GWMGAvailGet(omMgIndexGet(0x40) + 0x191);
lbl_1_bss_180[3] = GWMGAvailGet(omMgIndexGet(0xB) + 0x191);
lbl_1_bss_180[4] = GWMGAvailGet(omMgIndexGet(0x13) + 0x191);
lbl_1_bss_180[5] = 1;
lbl_1_bss_180[6] = 1;
lbl_1_bss_180[7] = 1;
lbl_1_bss_180[8] = 1;
lbl_1_bss_180[9] = GWMGAvailGet(omMgIndexGet(0x1B) + 0x191);
fn_1_121E8();
for (var_r31 = 0; var_r31 < 0xA; var_r31++) {
if (lbl_1_bss_180[var_r31] == 0) {
break;
}
}
if (var_r31 == 0xA) {
lbl_1_bss_180[0xA] = 1;
}
else {
lbl_1_bss_180[0xA] = 0;
}
if (omovlevtno == 1) {
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuPrcChildCreate(fn_1_8320, 0x7D0, 0x2000, 0, HuPrcCurrentGet());
}
}
HuPrcChildCreate(fn_1_7D80, 0x7D0, 0x2000, 0, HuPrcCurrentGet());
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuPrcChildCreate(fn_1_8ADC, 0x7D0, 0x2000, 0, HuPrcCurrentGet());
}
fn_1_1264C(lbl_1_bss_A8);
return HuPrcChildCreate(fn_1_32D8, 0x3E8, 0x2000, 0, HuPrcCurrentGet());
}
void fn_1_32D8(void)
{
omObjData *var_r31;
var_r31 = NULL;
var_r31 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL);
lbl_1_bss_3F8.unk_00 = var_r31;
lbl_1_bss_3F8.unk_04 = (MpexDllUnkFunc2)fn_1_5D40;
while (TRUE) {
fn_1_1B7D0(1);
if (lbl_1_bss_3F8.unk_04 == NULL) {
continue;
}
lbl_1_bss_3F8.unk_04(lbl_1_bss_3F8.unk_00, &lbl_1_bss_3F8);
}
}
void fn_1_3384(void)
{
fn_1_1B7D0(0x1E);
HuAudFadeOut(0x3E8);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_1B7D0(1);
}
HuAudAllStop();
omOvlReturnEx(1, 1);
while (TRUE) {
fn_1_1B7D0(1);
}
}
void fn_1_33F8(void)
{
s16 var_r31;
if (SLSaveFlagGet() != 0) {
Hu3DAllKill();
HuSprClose();
HuSprInit();
espInit();
HuPrcVSleep();
var_r31 = espEntry(0x860020, 0x1388, 0);
espPosSet(var_r31, 288.0f, 240.0f);
espAttrReset(var_r31, HUSPR_ATTR_DISPOFF);
Hu3DBGColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
SLCommonSet();
if (SLSave() == 0) {
GWSystem.save_mode = 1;
}
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 20);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
}
}
void fn_1_3508(void)
{
s16 var_r31;
fn_1_1B7D0(0x1E);
HuAudFadeOut(0x3E8);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_1B7D0(1);
}
HuAudAllStop();
CharModelKill(-1);
MGSeqKillAll();
if (omovlevtno != 0) {
fn_1_1B7D0(0x3C);
fn_1_33F8();
}
mgQuitExtraF = 0;
omOvlReturnEx(1, 1);
while (TRUE) {
fn_1_1B7D0(1);
}
}
void fn_1_36A4(void)
{
omOvlHisData *sp8;
fn_1_1B7D0(0x1E);
HuAudSStreamAllFadeOut(0x3E8);
WipeColorSet(0xFF, 0xFF, 0xFF);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_1B7D0(1);
}
CharModelKill(-1);
MGSeqKillAll();
sp8 = omOvlHisGet(0);
omOvlHisChg(0, OVL_MPEX, 2, 0);
mgQuitExtraF = 0;
omOvlCallEx(OVL_ZTAR, 1, 0, 0);
while (TRUE) {
fn_1_1B7D0(1);
}
}
void fn_1_3758(s32 arg0, s32 arg1)
{
s32 spC[10][3] = {
{ 0x60, 0x01, 0x00 },
{ 0x61, 0x01, 0x01 },
{ 0x45, 0x01, 0x02 },
{ 0x3C, 0x01, 0x03 },
{ 0x3B, 0x01, 0x04 },
{ 0x32, 0x01, 0x05 },
{ 0x41, 0x01, 0x06 },
{ 0x42, 0x01, 0x07 },
{ 0x43, 0x01, 0x08 },
{ 0x44, 0x01, 0x09 },
};
omOvlHisData *sp8;
s32 var_r29;
fn_1_1B7D0(0x1E);
HuAudSeqAllFadeOut(0x3E8);
HuAudSStreamAllFadeOut(0x3E8);
WipeColorSet(0xFF, 0xFF, 0xFF);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_1B7D0(1);
}
if (arg0 == 0 || arg0 == 1) {
var_r29 = (arg1 * 0xA) + 0xA;
BoardPartyConfigSet(0, 0, 0, var_r29, 0, 0, 0, 0);
BoardSaveInit(arg0 + 7);
spC[arg0][2] += (arg1 * 0xA);
}
else if (arg0 == 4) {
GWSystem.mg_type = arg1;
spC[arg0][2] += (arg1 * 0xA);
}
sp8 = omOvlHisGet(0);
omOvlHisChg(0, OVL_MPEX, spC[arg0][1], spC[arg0][2]);
HuDataDirClose(DATA_MAKE_NUM(DATADIR_MPEX, 0x00));
HuDataDirClose(0x150000);
CharModelKill(-1);
CharKill(-1);
CharARAMOpen(GWPlayerCfg[0].character);
CharARAMOpen(GWPlayerCfg[1].character);
CharARAMOpen(GWPlayerCfg[2].character);
CharARAMOpen(GWPlayerCfg[3].character);
HuAudAllStop();
if (arg0 > 1) {
mgPracticeEnableF = 1;
}
mgQuitExtraF = 0;
omOvlCallEx(spC[arg0][0], 1, 0, 0);
while (TRUE) {
fn_1_1B7D0(1);
}
}
s32 lbl_1_data_294 = -1;
s32 lbl_1_data_298 = -1;
void fn_1_397C(void)
{
if (omovlevtno != 2) {
lbl_1_data_298 = HuAudSeqPlay(0x2E);
}
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_1B7D0(1);
}
fn_1_1B7D0(0x3C);
}
void fn_1_39F4(void)
{
fn_1_1B834();
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x330000, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1);
fn_1_1B9F4();
fn_1_1B7D0(0x3C);
fn_1_1B834();
fn_1_1BA78(0x330001, 5, -1);
if (fn_1_1BBA4(1) == 0) {
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x330002, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1);
}
fn_1_1B9F4();
fn_1_1B7D0(0x3C);
}
void fn_1_3AF8(void)
{
s16 var_r29;
s32 var_r30;
s32 var_r31;
var_r31 = -1;
var_r30 = 0;
fn_1_1B834();
while (TRUE) {
fn_1_1B7D0(1);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x330003, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1);
fn_1_1BF1C(0x33004C);
var_r31 = -1;
lbl_1_bss_3B0.unk_08 = 0;
lbl_1_bss_3B0.unk_04 = (MpexDllUnkFunc2)fn_1_11FC0;
while (TRUE) {
fn_1_1B7D0(1);
if (var_r31 != lbl_1_bss_3B0.unk_08) {
HuAudFXPlay(0);
fn_1_11A3C(var_r31);
var_r31 = lbl_1_bss_3B0.unk_08;
switch (lbl_1_bss_3B0.unk_08) {
case 0:
fn_1_1BA78(0x330005, -1, 1);
break;
case 1:
fn_1_1BA78(0x330012, -1, 1);
break;
case 2:
fn_1_1BA78(0x330023, -1, 1);
break;
}
}
if (HuPadBtnDown[0] & PAD_BUTTON_A) {
HuAudFXPlay(2);
var_r30 = 1;
break;
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
HuAudFXPlay(3);
var_r30 = 0;
break;
}
else {
if (lbl_1_bss_180[0xA] == 1) {
if (HuPadStkX[0] <= -0x1E) {
lbl_1_bss_3B0.unk_08 = 0;
}
else if (HuPadStkX[0] >= 0x1E) {
lbl_1_bss_3B0.unk_08 = 1;
}
else if (HuPadStkY[0] >= 0x1E) {
lbl_1_bss_3B0.unk_08 = 2;
}
else if ((HuPadStkY[0] <= -0x1E) && (lbl_1_bss_3B0.unk_08 == 2)) {
if (HuPadStkX[0] >= 5) {
lbl_1_bss_3B0.unk_08 = 1;
}
else {
lbl_1_bss_3B0.unk_08 = 0;
}
}
}
else if (HuPadStkX[0] <= -0x1E) {
lbl_1_bss_3B0.unk_08 = 0;
}
else if (HuPadStkX[0] >= 0x1E) {
lbl_1_bss_3B0.unk_08 = 1;
}
}
}
lbl_1_bss_3B0.unk_04 = NULL;
fn_1_1C120();
if (var_r30 == 0) {
fn_1_11E28();
fn_1_1BA78(0x330004, 5, -1);
if (fn_1_1BBA4(1) == 0) {
fn_1_1B9F4();
fn_1_3508();
}
continue;
}
break;
}
fn_1_11E28();
fn_1_1B9F4();
lbl_1_bss_1B4 = lbl_1_bss_3B0.unk_08;
}
void fn_1_4014(void)
{
s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
lbl_1_bss_2D8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_901C;
}
do {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
if (lbl_1_bss_2D8[var_r31].unk_04 != NULL) {
break;
}
}
} while (var_r31 != 3);
}
void fn_1_40AC(void)
{
s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
lbl_1_bss_2D8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_9430;
}
do {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
if (lbl_1_bss_2D8[var_r31].unk_04 != NULL) {
break;
}
}
} while (var_r31 != 3);
}
s32 fn_1_4144(s32 arg0)
{
s32 var_r31;
var_r31 = 1;
var_r31 = fn_1_140B0(0, arg0);
return var_r31;
}
s32 fn_1_4184(s32 arg0)
{
s32 var_r31 = 0;
s32 var_r30 = -1;
if (arg0 == 0) {
fn_1_148BC(lbl_1_bss_1B4);
}
fn_1_F8A4();
fn_1_1B834();
if (lbl_1_data_294 == -1) {
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x330007, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1);
}
else {
lbl_1_bss_3B0.unk_0C = lbl_1_data_294;
lbl_1_data_294 = -1;
}
fn_1_1B7D0(1);
fn_1_1BF1C(0x33004D);
fn_1_1015C();
while (TRUE) {
fn_1_1B7D0(1);
if (var_r30 != lbl_1_bss_3B0.unk_0C) {
var_r30 = lbl_1_bss_3B0.unk_0C;
HuAudFXPlay(0);
if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C] == 1) {
fn_1_1BA78(lbl_1_bss_3B0.unk_0C + MAKE_MESSID(0x33, 0x08), -1, 1);
}
else {
fn_1_1BA78(0x33002E, -1, 1);
}
fn_1_1B7D0(1);
}
if (HuPadBtnDown[0] & PAD_BUTTON_A) {
if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C] == 1) {
HuAudFXPlay(2);
lbl_1_data_294 = lbl_1_bss_3B0.unk_0C;
var_r31 = 1;
break;
}
else {
HuAudFXPlay(4);
}
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
HuAudFXPlay(3);
var_r31 = 0;
break;
}
else {
if (HuPadStkY[0] >= 0x1E) {
fn_1_10268(-1);
}
else if (HuPadStkY[0] <= -0x1E) {
fn_1_10268(1);
}
}
}
fn_1_10228();
fn_1_1C120();
fn_1_1B9F4();
fn_1_FDA0();
if (var_r31 == 0) {
fn_1_148E4(lbl_1_bss_1B4);
}
lbl_1_bss_1B0 = lbl_1_bss_3B0.unk_0C;
return var_r31;
}
s32 fn_1_444C(s32 arg0)
{
s32 var_r31;
var_r31 = 1;
if (arg0 == 0) {
lbl_1_bss_3B0.unk_10 = 0;
fn_1_D6AC(lbl_1_bss_1B0);
}
while (TRUE) {
fn_1_1B7D0(1);
if (HuPadBtnDown[0] & PAD_BUTTON_START) {
HuAudFXPlay(2);
var_r31 = 1;
break;
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
HuAudFXPlay(3);
var_r31 = 0;
break;
}
}
if (var_r31 == 0) {
fn_1_DBD0(lbl_1_bss_1B0);
}
return var_r31;
}
s32 fn_1_4514(s32 arg0)
{
s32 var_r31;
s32 var_r30;
var_r31 = 1;
var_r30 = lbl_1_bss_3B0.unk_10;
if ((lbl_1_bss_1B0 == 0) || (lbl_1_bss_1B0 == 1) || (lbl_1_bss_1B0 == 4)) {
if (lbl_1_bss_1B0 == 4) {
fn_1_E568();
}
else {
fn_1_E174();
}
while (TRUE) {
fn_1_1B7D0(1);
if (lbl_1_bss_3B0.unk_10 != var_r30) {
HuAudFXPlay(0);
fn_1_ED78(lbl_1_bss_3B0.unk_10, var_r30);
var_r30 = lbl_1_bss_3B0.unk_10;
}
if (HuPadStkY[0] <= -0x1E) {
lbl_1_bss_3B0.unk_10++;
if (lbl_1_bss_3B0.unk_10 > 2) {
lbl_1_bss_3B0.unk_10 = 0;
}
continue;
}
if (HuPadStkY[0] >= 0x1E) {
lbl_1_bss_3B0.unk_10--;
if (lbl_1_bss_3B0.unk_10 < 0) {
lbl_1_bss_3B0.unk_10 = 2;
}
continue;
}
if (HuPadBtnDown[0] & PAD_BUTTON_START) {
HuAudFXPlay(2);
var_r31 = 1;
break;
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
HuAudFXPlay(3);
var_r31 = 0;
break;
}
}
lbl_1_bss_1AC = lbl_1_bss_3B0.unk_10;
}
else {
var_r31 = 1;
}
if (var_r31 == 0) {
if (lbl_1_bss_1B0 == 4) {
fn_1_EB1C();
}
else {
fn_1_E384();
}
}
return var_r31;
}
s32 fn_1_4730(s32 arg0)
{
s32 var_r31;
var_r31 = 1;
var_r31 = fn_1_140B0(1, arg0);
return var_r31;
}
s32 fn_1_4770(s32 arg0)
{
s32 var_r31;
s32 var_r30;
var_r30 = -1;
if (arg0 == 0) {
fn_1_148BC(lbl_1_bss_1B4);
}
fn_1_10C30();
fn_1_1B834();
if (lbl_1_data_294 == -1) {
HuAudFXPlay(0x4A);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x330014, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1);
}
else {
lbl_1_bss_3B0.unk_0C = lbl_1_data_294;
lbl_1_data_294 = -1;
}
fn_1_1B7D0(1);
fn_1_1BF1C(0x33004D);
fn_1_114D4();
while (TRUE) {
fn_1_1B7D0(1);
if (var_r30 != lbl_1_bss_3B0.unk_0C) {
var_r30 = lbl_1_bss_3B0.unk_0C;
HuAudFXPlay(0);
if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C + 4] == 1) {
fn_1_1BA78(lbl_1_bss_3B0.unk_0C + 0x330015, -1, 1);
}
else {
fn_1_1BA78(0x33002E, -1, 1);
}
fn_1_1B7D0(1);
}
if (HuPadBtnDown[0] & PAD_BUTTON_A) {
if (lbl_1_bss_180[lbl_1_bss_3B0.unk_0C + 4] == 1) {
HuAudFXPlay(2);
lbl_1_data_294 = lbl_1_bss_3B0.unk_0C;
var_r31 = 1;
break;
}
else {
HuAudFXPlay(4);
}
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
HuAudFXPlay(3);
var_r31 = 0;
break;
}
else {
if (HuPadStkY[0] >= 0x1E) {
fn_1_115E0(-1);
}
else if (HuPadStkY[0] <= -0x1E) {
fn_1_115E0(1);
}
}
}
fn_1_115A0();
fn_1_1C120();
fn_1_1B9F4();
fn_1_110F8();
if (var_r31 == 0) {
fn_1_148E4(lbl_1_bss_1B4);
}
lbl_1_bss_1B0 = lbl_1_bss_3B0.unk_0C + (lbl_1_bss_1B4 * 4);
return var_r31;
}
s32 fn_1_4A58(s32 arg0)
{
s32 var_r31 = 1;
var_r31 = fn_1_444C(arg0);
return var_r31;
}
s32 fn_1_4B3C(s32 arg0)
{
s32 var_r31 = 1;
var_r31 = fn_1_4514(arg0);
return var_r31;
}
s32 fn_1_4B78(s32 arg0)
{
s32 var_r30;
var_r30 = 1;
lbl_1_bss_1B0 = 0xA;
var_r30 = fn_1_444C(arg0);
return var_r30;
}
void fn_1_4C6C(void)
{
s32 var_r31;
Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], -400.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 1000.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
Hu3DModelPosSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], -225.0f + (150.0f * var_r31), 0.0f, 0.0f);
Hu3DModelAttrReset(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
void fn_1_4DF8(void)
{
s32 var_r31;
Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], 0.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 1000.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
Hu3DModelPosSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], -225.0f + (150.0f * var_r31), 0.0f, 0.0f);
Hu3DModelAttrSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
void fn_1_4F84(void)
{
s32 var_r31;
s32 var_r30;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_130[var_r31].unk_00 = GWPlayerCfg[var_r31].group;
lbl_1_bss_130[var_r31].unk_04 = GWPlayerCfg[var_r31].iscom;
lbl_1_bss_130[var_r31].unk_08 = GWPlayerCfg[var_r31].diff;
lbl_1_bss_130[var_r31].unk_0C = GWPlayerCfg[var_r31].character;
lbl_1_bss_130[var_r31].unk_10 = GWPlayerCfg[var_r31].pad_idx;
}
for (var_r30 = 0; var_r30 < 4; var_r30++) {
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (var_r30 == lbl_1_bss_130[var_r31].unk_10) {
GWPlayer[var_r30].team = GWPlayerCfg[var_r30].group = lbl_1_bss_130[var_r31].unk_00;
GWPlayer[var_r30].com = GWPlayerCfg[var_r30].iscom = lbl_1_bss_130[var_r31].unk_04;
GWPlayer[var_r30].diff = GWPlayerCfg[var_r30].diff = lbl_1_bss_130[var_r31].unk_08;
GWPlayer[var_r30].character = GWPlayerCfg[var_r30].character = lbl_1_bss_130[var_r31].unk_0C;
GWPlayer[var_r30].port = GWPlayerCfg[var_r30].pad_idx = lbl_1_bss_130[var_r31].unk_10;
break;
}
}
}
}
s32 fn_1_5238(void)
{
s32 var_r29 = 0;
if (lbl_1_bss_1B0 != 2) {
fn_1_A608();
}
fn_1_4F84();
fn_1_1B7D0(0x3C);
var_r29 = 0;
return var_r29;
}
void fn_1_5530(void)
{
Vec sp14 = { 0.0f, 0.0f, 0.0f };
s32 var_r31;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_1B8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_7FC4;
}
do {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_1B8[var_r31].unk_04 != NULL) {
break;
}
}
} while (var_r31 != 4);
Hu3DModelAttrReset(lbl_1_bss_3B0.unk_00->model[5], HU3D_MOTATTR_PAUSE);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 2, 0xF, 1);
fn_1_28E0(lbl_1_bss_2D8[0].unk_00, 1, sp14, 0.0f, 9.0f, 0.0f, 1, 0);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1);
fn_1_1B7D0(0x3C);
}
void fn_1_56B8(void)
{
Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], -1000.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], -400.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_1B8[0].unk_00->model[1], 0.0f, 0.0f, 0.0f);
Hu3DModelAttrReset(lbl_1_bss_1B8[0].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
s32 fn_1_57E0(void)
{
s32 var_r31 = 0;
fn_1_AD34();
fn_1_1B7D0(0x3C);
var_r31 = 0;
return var_r31;
}
// similar to fn_1_5530
void fn_1_581C(void)
{
Vec sp14 = { 0.0f, 0.0f, 0.0f };
lbl_1_bss_1B8[0].unk_04 = (MpexDllUnkFunc2)fn_1_7FC4;
do {
fn_1_1B7D0(1);
} while (lbl_1_bss_1B8[0].unk_04 != NULL);
Hu3DModelAttrReset(lbl_1_bss_3B0.unk_00->model[5], HU3D_MOTATTR_PAUSE);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 2, 0xF, 1);
fn_1_28E0(lbl_1_bss_2D8[1].unk_00, 1, sp14, 0.0f, 9.0f, 0.0f, 1, 0);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1);
fn_1_1B7D0(0x3C);
}
void fn_1_595C(void)
{
fn_1_3508();
}
void fn_1_5AF8(void)
{
s32 var_r31;
Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], 0.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 1000.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
Hu3DModelAttrSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
fn_1_C544();
fn_1_D468(lbl_1_bss_1B0);
}
void fn_1_5C1C(void)
{
s32 var_r31;
Hu3DModelPosSet(lbl_1_bss_2D8[0].unk_00->model[1], -1000.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[1].unk_00->model[1], 0.0f, 0.0f, 0.0f);
Hu3DModelPosSet(lbl_1_bss_2D8[2].unk_00->model[1], 0.0f, 1000.0f, 0.0f);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
Hu3DModelAttrSet(lbl_1_bss_1B8[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
fn_1_C544();
fn_1_D468(lbl_1_bss_1B0);
}
void fn_1_5D40(omObjData *object, MpexDllUnkStruct4 *arg1)
{
s32 var_r31 = 0;
s32 var_r29 = 0;
s32 var_r30 = 0;
if (omovlevtno == 1) {
lbl_1_bss_1B0 = omovlstat % 10;
if (lbl_1_bss_1B0 <= 3) {
lbl_1_bss_1B4 = 0;
}
else {
lbl_1_bss_1B4 = 1;
}
lbl_1_bss_1AC = omovlstat / 10;
if (mgQuitExtraF == 1) {
mgQuitExtraF = 0;
Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], Hu3DMotionMotionMaxTimeGet(lbl_1_bss_3B0.unk_00->model[5]) - 5.0f);
if (lbl_1_bss_1B0 <= 3) {
fn_1_4F84();
lbl_1_data_294 = lbl_1_bss_1B0;
fn_1_5AF8();
var_r31 = 0x320;
}
else {
lbl_1_data_294 = lbl_1_bss_1B0 - 4;
fn_1_5C1C();
var_r31 = 0x384;
}
}
else if (lbl_1_bss_1B0 <= 3) {
lbl_1_data_294 = lbl_1_bss_1B0;
if (lbl_1_bss_1B0 == 2) {
Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], Hu3DMotionMotionMaxTimeGet(lbl_1_bss_3B0.unk_00->model[5]) - 5.0f);
fn_1_4DF8();
var_r31 = 0x1FE;
}
else {
Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], 33.0f);
fn_1_4C6C();
var_r31 = 0x1F4;
}
}
else {
lbl_1_data_294 = lbl_1_bss_1B0 - 4;
Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], 33.0f);
fn_1_56B8();
var_r31 = 0x258;
}
}
else if (omovlevtno == 2) {
lbl_1_bss_1B0 = 0;
lbl_1_bss_1B4 = 0;
var_r31 = 1;
}
else {
var_r31 = 0;
}
while (TRUE) {
fn_1_1B7D0(1);
switch (var_r31) {
case 0x0:
fn_1_397C();
fn_1_25C4(lbl_1_bss_3B0.unk_00, 5, 5, 0, 0);
fn_1_1B7D0(0x3C);
fn_1_39F4();
var_r31 = 0x64;
break;
case 0x1:
Hu3DMotionTimeSet(lbl_1_bss_3B0.unk_00->model[5], Hu3DMotionMotionMaxTimeGet(lbl_1_bss_3B0.unk_00->model[5]) - 5.0f);
fn_1_397C();
var_r31 = 0x64;
break;
case 0x64:
fn_1_117D4();
fn_1_3AF8();
fn_1_11930();
var_r30 = 0;
var_r31 = 0x65;
break;
case 0x65:
fn_1_4014();
if (lbl_1_bss_1B4 == 2) {
var_r31 = (lbl_1_bss_1B4 * 0x64) + 0xC9;
}
else {
var_r31 = (lbl_1_bss_1B4 * 0x64) + 0xC8;
}
break;
case 0x66:
fn_1_40AC();
var_r31 = 0x64;
break;
case 0xC8:
var_r29 = fn_1_4144(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0xC9;
}
else {
var_r30 = 1;
var_r31 = 0x66;
}
break;
case 0xC9:
fn_1_F0C0();
var_r29 = fn_1_4184(var_r30);
fn_1_F40C();
if (var_r29 != 0) {
fn_1_C544();
var_r30 = 0;
var_r31 = 0xCA;
}
else {
var_r30 = 1;
var_r31 = 0x66;
}
break;
case 0xCA:
var_r29 = fn_1_444C(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0xCB;
}
else {
fn_1_C860();
var_r30 = 1;
var_r31 = 0xC9;
}
break;
case 0xCB:
var_r29 = fn_1_4514(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0xCC;
}
else {
var_r30 = 1;
var_r31 = 0xCA;
}
break;
case 0xCC:
fn_1_3758(lbl_1_bss_1B0, lbl_1_bss_1AC);
var_r31 = -1;
break;
case 0x12C:
var_r29 = fn_1_4730(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0x12D;
}
else {
var_r30 = 1;
var_r31 = 0x66;
}
break;
case 0x12D:
fn_1_1045C();
var_r29 = fn_1_4770(var_r30);
fn_1_107EC();
if (var_r29 != 0) {
fn_1_C544();
var_r30 = 0;
var_r31 = 0x12E;
}
else {
var_r30 = 1;
var_r31 = 0x66;
}
break;
case 0x12E:
var_r29 = fn_1_4A58(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0x12F;
}
else {
fn_1_C860();
var_r30 = 1;
var_r31 = 0x12D;
}
break;
case 0x12F:
var_r29 = fn_1_4B3C(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0x130;
}
else {
var_r30 = 1;
var_r31 = 0x12E;
}
break;
case 0x130:
fn_1_3758(lbl_1_bss_1B0, lbl_1_bss_1AC);
var_r31 = -1;
continue;
case 0x191:
fn_1_C544();
var_r29 = fn_1_4B78(var_r30);
if (var_r29 != 0) {
var_r30 = 0;
var_r31 = 0x192;
}
else {
fn_1_C860();
var_r30 = 1;
var_r31 = 0x66;
}
break;
case 0x192:
fn_1_36A4();
case 0x1F4:
fn_1_397C();
var_r29 = fn_1_5238();
if (var_r29 == 1) {
var_r31 = 0xCC;
}
else if (var_r29 == 0) {
var_r31 = 0x1F5;
}
else {
var_r31 = 0x2BC;
}
break;
case 0x1F5:
fn_1_5530();
var_r31 = 0xC9;
break;
case 0x1FE:
fn_1_397C();
var_r31 = 0xC9;
break;
case 0x258:
fn_1_397C();
var_r29 = fn_1_57E0();
if (var_r29 == 1) {
var_r31 = 0x130;
}
else if (var_r29 == 0) {
var_r31 = 0x259;
}
else {
var_r31 = 0x2BC;
}
break;
case 0x259:
fn_1_581C();
var_r31 = 0x12D;
break;
case 0x2BC:
fn_1_3508();
case 0x320:
fn_1_397C();
var_r31 = 0xCA;
var_r30 = 1;
break;
case 0x384:
fn_1_397C();
var_r31 = 0x12E;
var_r30 = 1;
break;
default:
break;
}
}
}
void fn_1_7BC8(omObjData *object)
{
s32 var_r30;
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x00));
object->motion[1] = Hu3DMotionIDGet(object->model[1]);
Hu3DModelShadowMapObjSet(object->model[1], "extra_ent_fix0-obj41");
fn_1_25C4(object, 1, 1, 0, 1);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
object->model[var_r30 + 1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x02));
Hu3DModelAttrSet(object->model[var_r30 + 1], HU3D_ATTR_DISPOFF);
}
object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x01));
object->motion[5] = Hu3DMotionIDGet(object->model[5]);
Hu3DModelPosSet(object->model[5], 0.0f, 0.0f, 270.0f);
if (omovlevtno == 2) {
fn_1_25C4(object, 5, 5, 0, 0);
return;
}
if (omovlevtno == 1) {
Hu3DModelAttrSet(object->model[5], HU3D_MOTATTR_PAUSE);
return;
}
fn_1_25C4(object, 5, 5, 0, 2);
}
void fn_1_7D80(void)
{
omObjData *var_r29;
omObjData *var_r31;
s32 var_r30;
var_r29 = NULL;
var_r29 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL);
lbl_1_bss_3B0.unk_00 = var_r29;
lbl_1_bss_3B0.unk_04 = NULL;
var_r31 = lbl_1_bss_3B0.unk_00;
fn_1_7BC8(var_r31);
while (TRUE) {
fn_1_1B7D0(1);
if (lbl_1_bss_3B0.unk_04 == NULL) {
continue;
}
lbl_1_bss_3B0.unk_04(lbl_1_bss_3B0.unk_00, &lbl_1_bss_3B0);
}
}
void fn_1_7FC4(omObjData *object, MpexDllUnkStruct4 *arg1)
{
Vec sp14 = { 700.0f, 0.0f, 0.0f };
fn_1_1B7D0((4 - object->work[0]) * 5);
fn_1_25C4(object, 1, 2, 0xA, 1);
object->work[1] = 0;
while (object->work[1] <= 0xA) {
fn_1_1B7D0(1);
Hu3DData[object->model[1]].rot.y = fn_1_1B52C(0.0f, 90.0f, object->work[1], 10.0f);
object->work[1]++;
}
fn_1_25C4(object, 1, 3, 0xA, 1);
fn_1_28E0(object, 1, sp14, 0.0f, 9.0f, 0.0f, 1, 0);
fn_1_25C4(object, 1, 1, 0xA, 1);
arg1->unk_04 = NULL;
}
void fn_1_816C(omObjData *object, s32 arg1)
{
s32 var_r30 = GWPlayerCfg[arg1].character;
object->model[1] = CharModelCreate(var_r30, 4);
object->motion[1] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
object->motion[2] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x02));
object->motion[3] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x03));
object->motion[4] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x48));
object->motion[5] = CharModelMotionCreate(var_r30, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49));
Hu3DModelPosSet(object->model[1], -150.0f + (100.0f * arg1), 0.0f, 0.0f);
Hu3DModelShadowSet(object->model[1]);
Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF);
CharModelLayerSetAll2(2);
fn_1_25C4(object, 1, 1, 0, 1);
CharKill(var_r30);
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x02));
Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF);
}
void fn_1_8320(void)
{
MpexDllUnkStruct4 *temp_r5;
omObjData *var_r28;
omObjData *var_r31;
s16 var_r29;
u32 var_r30;
var_r30 = lbl_1_bss_AC;
lbl_1_bss_AC = var_r30 + 1;
var_r28 = NULL;
var_r28 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL);
lbl_1_bss_1B8[var_r30].unk_00 = var_r28;
lbl_1_bss_1B8[var_r30].unk_04 = NULL;
lbl_1_bss_1B8[var_r30].unk_00->work[0] = var_r30;
var_r31 = lbl_1_bss_1B8[var_r30].unk_00;
fn_1_816C(var_r31, var_r30);
while (TRUE) {
fn_1_1B7D0(1);
if (lbl_1_bss_1B8[var_r30].unk_04 == NULL) {
continue;
}
lbl_1_bss_1B8[var_r30].unk_04(lbl_1_bss_1B8[var_r30].unk_00, &lbl_1_bss_1B8[var_r30]);
}
}
void fn_1_85C4(omObjData *object)
{
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x03));
object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x04));
object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x06));
object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x06));
object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x07));
object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x08));
Hu3DModelPosSet(object->model[1], -200.0f, 0.0f, 0.0f);
Hu3DModelShadowSet(object->model[1]);
CharModelEffectNpcInit(object->model[1], object->motion[2], 0, 0xF);
fn_1_25C4(object, 1, 1, 0, 1);
}
void fn_1_8758(omObjData *object)
{
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x09));
object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0A));
object->motion[2] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0B));
object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0C));
object->motion[4] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0D));
object->motion[5] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x0E));
Hu3DModelPosSet(object->model[1], 200.0f, 0.0f, 0.0f);
Hu3DModelShadowSet(object->model[1]);
CharModelEffectNpcInit(object->model[1], object->motion[2], 0, 0x10);
fn_1_25C4(object, 1, 1, 0, 1);
}
void fn_1_88EC(omObjData *object)
{
float var_f31;
var_f31 = 0.0f;
var_f31 = fn_1_1B714(0.0f, 1.0f, object->work[3], 180.0f);
Hu3DData[object->model[1]].pos.y += var_f31;
if (object->work[3]++ >= 0xB4) {
object->work[3] -= 0xB4;
}
}
void fn_1_89C4(omObjData *object)
{
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x0F));
object->motion[1] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x10));
object->motion[3] = Hu3DJointMotionFile(object->model[1], DATA_MAKE_NUM(DATADIR_MPEX, 0x11));
Hu3DModelPosSet(object->model[1], 0.0f, 400.0f, 0.0f);
if (lbl_1_bss_180[0xA] == 0) {
Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF);
}
fn_1_25C4(object, 1, 1, 0, 1);
object->func = fn_1_88EC;
}
void fn_1_8ADC(void)
{
omObjData *var_r31;
omObjData *var_r30;
omObjData *var_r29;
s32 var_r28;
omObjData *var_r27;
var_r28 = lbl_1_bss_B0;
lbl_1_bss_B0 = var_r28 + 1;
var_r27 = NULL;
var_r27 = omAddObjEx(lbl_1_bss_A8, 0x2000, 0x10, 0x10, -1, NULL);
lbl_1_bss_2D8[var_r28].unk_00 = var_r27;
lbl_1_bss_2D8[var_r28].unk_04 = 0;
lbl_1_bss_2D8[var_r28].unk_00->work[0] = var_r28;
switch (var_r28) {
case 0:
var_r31 = lbl_1_bss_2D8[var_r28].unk_00;
fn_1_85C4(var_r31);
break;
case 1:
var_r30 = lbl_1_bss_2D8[var_r28].unk_00;
fn_1_8758(var_r30);
break;
case 2:
var_r29 = lbl_1_bss_2D8[var_r28].unk_00;
fn_1_89C4(var_r29);
break;
}
while (TRUE) {
fn_1_1B7D0(1);
if (lbl_1_bss_2D8[var_r28].unk_04 == NULL) {
continue;
}
lbl_1_bss_2D8[var_r28].unk_04(lbl_1_bss_2D8[var_r28].unk_00, &lbl_1_bss_2D8[var_r28]);
}
}
void fn_1_901C(omObjData *object, MpexDllUnkStruct4 *arg1)
{
float var_f31;
s32 var_r30;
s32 *var_r29;
s32 *var_r28;
s32 *var_r27;
s32 *var_r26;
void *var_r25;
Vec sp50 = { 0.0f, 0.0f, 0.0f };
Vec sp44 = { -1000.0f, 0.0f, 0.0f };
Vec sp38 = { 1000.0f, 0.0f, 0.0f };
switch (object->work[0]) {
case 0:
fn_1_25C4(object, 1, 3, 0xF, 1);
if (lbl_1_bss_1B4 == 0) {
fn_1_28E0(object, 1, sp50, 0.0f, 9.0f, 0.0f, 1, 0);
}
else {
fn_1_28E0(object, 1, sp44, 0.0f, 9.0f, 0.0f, 1, 0);
}
fn_1_25C4(object, 1, 1, 0xF, 1);
break;
case 1:
fn_1_25C4(object, 1, 2, 0xF, 1);
if (lbl_1_bss_1B4 == 1) {
fn_1_28E0(object, 1, sp50, 0.0f, 9.0f, 0.0f, 1, 0);
}
else {
fn_1_28E0(object, 1, sp38, 0.0f, 9.0f, 0.0f, 1, 0);
}
fn_1_25C4(object, 1, 1, 0xF, 1);
break;
case 2:
if (lbl_1_bss_1B4 == 2) {
var_f31 = Hu3DData[object->model[1]].pos.y;
for (var_r30 = 0; var_r30 <= 0x78; var_r30++) {
fn_1_1B7D0(1);
Hu3DData[object->model[1]].pos.y = fn_1_1B64C(var_f31, 250.0f, var_r30, 120.0f);
}
}
else {
var_f31 = Hu3DData[object->model[1]].pos.y;
for (var_r30 = 0; var_r30 <= 0x78; var_r30++) {
fn_1_1B7D0(1);
Hu3DData[object->model[1]].pos.y = fn_1_1B64C(var_f31, 1000.0f, var_r30, 120.0f);
}
}
break;
}
arg1->unk_04 = 0;
}
void fn_1_9430(omObjData *object, MpexDllUnkStruct4 *arg1)
{
float var_f31;
s32 var_r30;
s32 *var_r29;
s32 *var_r28;
Vec sp38 = { 0.0f, 0.0f, 0.0f };
Vec sp2C = { -200.0f, 0.0f, 0.0f };
Vec sp20 = { 200.0f, 0.0f, 0.0f };
switch (object->work[0]) {
case 0:
fn_1_25C4(object, 1, 2, 0xF, 1);
fn_1_28E0(object, 1, sp2C, 0.0f, 9.0f, 0.0f, 1, 0);
fn_1_25C4(object, 1, 1, 0xF, 1);
break;
case 1:
fn_1_25C4(object, 1, 2, 0xF, 1);
fn_1_28E0(object, 1, sp20, 0.0f, 9.0f, 0.0f, 1, 0);
fn_1_25C4(object, 1, 1, 0xF, 1);
break;
case 2:
var_f31 = Hu3DData[object->model[1]].pos.y;
for (var_r30 = 0; var_r30 <= 0x78; var_r30++) {
fn_1_1B7D0(1);
Hu3DData[object->model[1]].pos.y = fn_1_1B574(var_f31, 400.0f, var_r30, 120.0f);
}
break;
}
arg1->unk_04 = 0;
}
void fn_1_96B4(void)
{
MpexDllUnkStruct *var_r31 = &lbl_1_bss_64;
var_r31->unk_08.x = 0.0f;
var_r31->unk_08.y = 165.0f;
var_r31->unk_08.z = 0.0f;
var_r31->unk_20.x = 0.0f;
var_r31->unk_20.y = 0.0f;
var_r31->unk_20.z = 0.0f;
var_r31->unk_38 = 1200.0f;
}
s32 lbl_1_data_2B4[4] = { -1, -1, -1, -1 };
s32 lbl_1_data_2C4 = -1;
void fn_1_9740(s32 arg0)
{
s32 spC[4];
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r29 = 0;
var_r30 = 0;
lbl_1_bss_B4 = 0;
lbl_1_data_2B4[0] = lbl_1_data_2B4[1] = lbl_1_data_2B4[2] = lbl_1_data_2B4[3] = -1;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
spC[var_r31] = fn_1_B248(arg0, var_r31);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (spC[var_r31] >= var_r30) {
var_r30 = spC[var_r31];
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (var_r30 == spC[var_r31]) {
lbl_1_bss_B4++;
lbl_1_data_2B4[var_r29++] = var_r31;
}
}
lbl_1_data_2C4 = var_r30;
}
void fn_1_9890(void)
{
fn_1_1B834();
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x33000C, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[0].unk_00, 1, 1, 0xF, 1);
fn_1_1B9F4();
}
void fn_1_9908(void)
{
fn_1_1B834();
HuAudFXPlay(0x4A);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x33001B, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1);
fn_1_1B9F4();
}
void fn_1_9988(s32 arg0)
{
s32 var_r31;
u32 var_r30;
u32 var_r29;
fn_1_1B834();
if (((mgRecordExtra == 0) && (arg0 != 4)) || ((mgRecordExtra >= 0x8CA0) && (arg0 == 4))) {
HuAudFXPlay(0x4A);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(arg0 + 0x330096, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1);
}
else {
if ((arg0 == 4) || (arg0 == 8)) {
var_r31 = mgRecordExtra;
var_r30 = var_r31 / 36000;
var_r31 -= var_r30 * 36000;
var_r29 = var_r31 / 3600;
var_r31 -= var_r29 * 3600;
sprintf(lbl_1_bss_120, "%d", var_r29);
fn_1_1BB4C((u32)&lbl_1_bss_120, 0);
var_r30 = var_r31 / 600;
var_r31 -= var_r30 * 600;
var_r29 = var_r31 / 60;
var_r31 -= var_r29 * 60;
sprintf(lbl_1_bss_118, "%d%d", var_r30, var_r29);
fn_1_1BB4C((u32)lbl_1_bss_118, 1);
if (arg0 == 8) {
var_r31 = 1.6916666666666667 * (float)var_r31;
}
else {
var_r31 = 1.6666666666666667 * (float)var_r31;
}
var_r30 = var_r31 / 10;
var_r31 -= var_r30 * 0xA;
var_r29 = var_r31;
sprintf(lbl_1_bss_110, "%d%d", var_r30, var_r29);
fn_1_1BB4C((u32)lbl_1_bss_110, 2);
}
else {
sprintf(lbl_1_bss_110, "%d", mgRecordExtra);
fn_1_1BB4C((u32)lbl_1_bss_110, 0);
}
HuAudFXPlay(0x4A);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(arg0 + 0x330018, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1);
}
fn_1_1B9F4();
}
void fn_1_9CD4(s32 arg0)
{
fn_1_1B834();
fn_1_1BB4C(fn_1_BD10(arg0, mgRecordExtra), 3);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(0x330090, -1, -1);
fn_1_25C4(lbl_1_bss_2D8[1].unk_00, 1, 1, 0xF, 1);
fn_1_1B9F4();
}
void fn_1_9D6C(void)
{
fn_1_1B834();
switch (lbl_1_bss_B4) {
case 1:
fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[0]].character, 0);
fn_1_1BA78(0x33000D, -1, -1);
break;
case 2:
fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[0]].character, 0);
fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[1]].character, 1);
fn_1_1BA78(0x33000E, -1, -1);
break;
case 3:
fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[0]].character, 0);
fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[1]].character, 1);
fn_1_1BB4C(GWPlayerCfg[lbl_1_data_2B4[2]].character, 2);
fn_1_1BA78(0x33000F, -1, -1);
break;
case 4:
fn_1_1BA78(0x330010, -1, -1);
break;
}
fn_1_1B9F4();
}
void fn_1_9F10(omObjData *object, MpexDllUnkStruct4 *arg1)
{
float var_f31;
s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
var_f31 = 30.0 * sind(8.0f * (lbl_1_bss_B8 + (var_r31 * 0x78)));
Hu3DModelPosSet(object->model[var_r31 + 1], -200.0f + (200.0f * var_r31), 850.0f, 0.0f);
Hu3DModelRotSet(object->model[var_r31 + 1], 0.0f, 0.0f, var_f31);
Hu3DModelScaleSet(object->model[var_r31 + 1], 1.5f, 2.0f, 1.5f);
}
lbl_1_bss_B8 += 0.5f;
}
void fn_1_A0E4(omObjData *object, MpexDllUnkStruct4 *arg_1)
{
float var_f31;
float var_f30;
s32 var_r30;
Hu3DModelAttrReset(object->model[2], HU3D_ATTR_DISPOFF);
Hu3DModelTPLvlSet(object->model[2], 0.0f);
for (var_r30 = 0; var_r30 <= 0xF; var_r30++) {
fn_1_1B7D0(1);
var_f30 = fn_1_1B52C(0.0f, 0.5f, var_r30, 15.0f);
var_f31 = fn_1_1B52C(0.0f, 1.5f, var_r30, 15.0f);
Hu3DModelPosSet(object->model[2], Hu3DData[object->model[1]].pos.x, 850.0f, Hu3DData[object->model[1]].pos.z);
Hu3DModelScaleSet(object->model[2], var_f31, 2.0f, var_f31);
Hu3DModelTPLvlSet(object->model[2], var_f30);
}
arg_1->unk_04 = NULL;
}
void fn_1_A2AC(omObjData *object, MpexDllUnkStruct4 *arg1)
{
float var_f31;
s32 var_r30;
for (var_r30 = 0; var_r30 <= 0xF; var_r30++) {
fn_1_1B7D0(1);
var_f31 = fn_1_1B52C(0.5f, 0.0f, var_r30, 15.0f);
Hu3DModelTPLvlSet(object->model[2], var_f31);
}
Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF);
Hu3DModelTPLvlSet(object->model[2], 0.0f);
arg1->unk_04 = NULL;
}
void fn_1_A3A4(void)
{
float var_f31;
s32 var_r31;
s32 var_r30;
lbl_1_bss_3B0.unk_04 = (MpexDllUnkFunc2)fn_1_9F10;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], HU3D_ATTR_DISPOFF);
Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], 0.0f);
}
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_1B7D0(1);
var_f31 = fn_1_1B52C(0.0f, 0.5f, var_r31, 60.0f);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r30 + 1], var_f31);
}
}
fn_1_1B7D0(0x5A);
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_1B7D0(1);
var_f31 = fn_1_1B52C(0.5f, 0.0f, var_r31, 60.0f);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r30 + 1], var_f31);
}
}
for (var_r31 = 0; var_r31 < 3; var_r31++) {
Hu3DModelAttrSet(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], HU3D_ATTR_DISPOFF);
Hu3DModelTPLvlSet(lbl_1_bss_3B0.unk_00->model[var_r31 + 1], 0.0f);
}
lbl_1_bss_3B0.unk_04 = NULL;
HuPrcEnd();
while (TRUE) {
HuPrcVSleep();
}
}
void fn_1_A608(void)
{
s32 var_r31;
s32 var_r29;
fn_1_9740(lbl_1_bss_1B0);
OSReport("CNT:%d, WIN:%d %d %d %d\n", lbl_1_bss_B4, lbl_1_data_2B4[0], lbl_1_data_2B4[1], lbl_1_data_2B4[2], lbl_1_data_2B4[3]);
fn_1_9890();
if (lbl_1_data_298 != -1) {
HuAudSeqPause(lbl_1_data_298, 1, 0x1F4);
}
HuPrcChildCreate(fn_1_A3A4, 0x3E8, 0x1000, 0, HuPrcCurrentGet());
fn_1_1B7D0(0xF);
HuAudFXPlay(0x9E);
fn_1_1B7D0(0xA5);
HuAudFXPlay(0x9F);
HuAudFXPlay(0xA8);
HuAudFXPlay(0x9A);
if (lbl_1_data_298 != -1) {
HuAudSeqPause(lbl_1_data_298, 0, 0x7D0);
}
if ((lbl_1_bss_B4 >= 1) && (lbl_1_data_2C4 != 0)) {
for (var_r31 = 0; var_r31 < lbl_1_bss_B4; var_r31++) {
lbl_1_bss_1B8[lbl_1_data_2B4[var_r31]].unk_04 = (MpexDllUnkFunc2)fn_1_A0E4;
OSReport("CNT:%d, WIN:%d %d %d %d\n", lbl_1_bss_B4, lbl_1_data_2B4[0], lbl_1_data_2B4[1], lbl_1_data_2B4[2], lbl_1_data_2B4[3]);
}
fn_1_9D6C();
for (var_r31 = 0; var_r31 < 4; var_r31++) {
for (var_r29 = 0; var_r29 < 4; var_r29++) {
if (var_r31 == lbl_1_data_2B4[var_r29]) {
fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 4, 0xF, 0);
break;
}
}
if (var_r29 == 4) {
fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 5, 0xF, 0);
}
}
}
else {
fn_1_1B834();
fn_1_25C4(lbl_1_bss_2D8->unk_00, 1, 3, 0xF, 1);
fn_1_1BA78(lbl_1_bss_1B0 + MAKE_MESSID(0x33, 0x96), -1, -1);
fn_1_25C4(lbl_1_bss_2D8->unk_00, 1, 1, 0xF, 1);
fn_1_1B9F4();
for (var_r31 = 0; var_r31 < 4; var_r31++) {
fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 5, 0xF, 0);
}
}
fn_1_1B7D0(0x3C);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
fn_1_25C4(lbl_1_bss_1B8[var_r31].unk_00, 1, 1, 0xF, 1);
}
fn_1_B004();
fn_1_1B7D0(1);
fn_1_B870(lbl_1_bss_1B0);
fn_1_1B7D0(0x3C);
fn_1_1B7D0(0x3C);
fn_1_1BD00(0x240007, 1);
do {
fn_1_1B7D0(1);
} while ((HuPadBtnDown[0] & 0x100) == 0);
HuAudFXPlay(2);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_1B8[var_r31].unk_04 = (MpexDllUnkFunc2)fn_1_A2AC;
}
fn_1_1C120();
fn_1_B9A8(lbl_1_bss_1B0);
fn_1_1B7D0(1);
fn_1_B210();
}
void fn_1_AD34(void)
{
fn_1_9908();
fn_1_1B7D0(0x3C);
fn_1_9988(lbl_1_bss_1B0);
if (lbl_1_data_298 != -1) {
HuAudSeqPause(lbl_1_data_298, 1, 0x1F4);
}
fn_1_1B7D0(0xF);
HuAudFXPlay(0x9E);
fn_1_1B7D0(0xA5);
lbl_1_bss_1B8[0].unk_04 = (MpexDllUnkFunc2)fn_1_A0E4;
if (((mgRecordExtra == 0) && (lbl_1_bss_1B0 != 4)) || ((mgRecordExtra >= 0x8CA0) && (lbl_1_bss_1B0 == 4))) {
fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 5, 0xF, 0);
}
else {
fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 4, 0xF, 0);
}
fn_1_BC18();
fn_1_1B7D0(1);
HuAudFXPlay(0x9F);
HuAudFXPlay(0xA8);
HuAudFXPlay(0x9A);
if (lbl_1_data_298 != -1) {
HuAudSeqPause(lbl_1_data_298, 0, 0x7D0);
}
fn_1_C0DC(lbl_1_bss_1B0, rand8());
fn_1_1B7D0(0x3C);
fn_1_25C4(lbl_1_bss_1B8[0].unk_00, 1, 1, 0xF, 1);
fn_1_9CD4(lbl_1_bss_1B0);
lbl_1_bss_1B8[0].unk_04 = (MpexDllUnkFunc2)fn_1_A2AC;
fn_1_C4D4(lbl_1_bss_1B0);
fn_1_1B7D0(1);
fn_1_BCD8();
}
void fn_1_B004(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
AnimData *var_r28;
var_r29 = HuSprGrpCreate(0x1B);
lbl_1_bss_10C = var_r29;
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x37)), 0xBB8, 0);
HuSprGrpMemberSet(var_r29, 0, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x38)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 1, var_r30);
for (var_r31 = 0; var_r31 < 8; var_r31++) {
var_r30 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MPEX, 0x3E)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 2, var_r30);
}
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3B));
for (var_r31 = 0; var_r31 < 0xC; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x384, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0xA, var_r30);
}
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3C));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x384, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x16, var_r30);
}
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3D)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 0x1A, var_r30);
fn_1_B2E4(0);
fn_1_B7F4(0);
}
void fn_1_B210(void)
{
s32 var_r31;
var_r31 = lbl_1_bss_10C;
HuSprGrpKill(var_r31);
}
s32 fn_1_B248(s32 arg0, s32 arg1)
{
s32 var_r31 = 0;
if (lbl_1_bss_1B0 <= 1) {
var_r31 = GWPlayer[arg1].coins;
}
else {
var_r31 = GWPlayerCoinWinGet(arg1);
OSReport("########## %d:%d\n", arg1, var_r31);
}
return var_r31;
}
void fn_1_B2E4(s32 arg0)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r24;
var_r30 = lbl_1_bss_10C;
for (var_r31 = 0; var_r31 < 0x1B; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
if (arg0 != -1) {
HuSprAttrReset(var_r30, 0, 4);
HuSprPosSet(var_r30, 0, 288.0f, 148.0f);
HuSprAttrReset(var_r30, 1, 4);
HuSprPosSet(var_r30, 1, 288.0f, 156.0f);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, GWPlayerCfg[var_r31].character + 2, 4);
HuSprPosSet(var_r30, GWPlayerCfg[var_r31].character + 2, 201.0f, (var_r31 * 0x2A) + 0x60);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
for (var_r29 = 0; var_r29 < 3; var_r29++) {
HuSprAttrReset(var_r30, 0xA + var_r29 + (var_r31 * 3), 4);
HuSprPosSet(var_r30, 0xA + var_r29 + (var_r31 * 3), (var_r29 * 0x1C) + 0xF7, (var_r31 * 0x2A) + 0x60);
}
var_r24 = fn_1_B248(0, var_r31);
var_r28 = var_r24 / 100;
if (var_r28 == 0) {
HuSprAttrSet(var_r30, (var_r31 * 3) + 0xA, 4);
}
HuSprBankSet(var_r30, (var_r31 * 3) + 0xA, var_r28);
var_r28 = (var_r24 % 100) / 10;
if ((var_r28 == 0) && ((var_r24 / 100) == 0)) {
HuSprAttrSet(var_r30, (var_r31 * 3) + 0xB, 4);
}
HuSprBankSet(var_r30, (var_r31 * 3) + 0xB, var_r28);
var_r28 = var_r24 % 10;
HuSprBankSet(var_r30, (var_r31 * 3) + 0xC, var_r28);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 0x16, 4);
HuSprPosSet(var_r30, var_r31 + 0x16, 358.0f, (var_r31 * 0x2A) + 0x60);
switch (arg0) {
case 0:
case 1:
HuSprBankSet(var_r30, var_r31 + 0x16, 0);
break;
case 3:
HuSprBankSet(var_r30, var_r31 + 0x16, 1);
break;
case 2:
break;
}
}
HuSprAttrReset(var_r30, 0x1A, 4);
HuSprPosSet(var_r30, 0x1A, 288.0f, 55.0f);
switch (arg0) {
case 2:
break;
case 0:
HuSprBankSet(var_r30, 0x1A, 0);
break;
case 1:
HuSprBankSet(var_r30, 0x1A, 1);
break;
case 3:
HuSprBankSet(var_r30, 0x1A, 2);
break;
}
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
(void)var_r29;
}
void fn_1_B7F4(s32 arg0)
{
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_10C;
for (var_r31 = 0; var_r31 < 0x1B; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
void fn_1_B870(s32 arg0)
{
float var_f31;
s32 var_r31;
s32 var_r30 = lbl_1_bss_10C;
fn_1_B2E4(arg0);
for (var_r31 = 0; var_r31 < 0x3C; var_r31++) {
fn_1_1B7D0(1);
if (var_r31 <= 0x32) {
var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r31, 50.0f);
}
else {
var_f31 = fn_1_1B574(10.0f, 0.0f, var_r31 - 0x32, 10.0f);
}
HuSprGrpPosSet(var_r30, 0.0f, var_f31);
}
}
void fn_1_B9A8(s32 arg0)
{
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r28 = lbl_1_bss_10C;
for (var_r31 = 0; var_r31 < 0x3C; var_r31++) {
fn_1_1B7D0(1);
if (var_r31 <= 0xA) {
var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_1B574(10.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(var_r28, 0.0f, var_f31);
}
var_r29 = lbl_1_bss_10C;
for (var_r30 = 0; var_r30 < 0x1B; var_r30++) {
HuSprAttrSet(var_r29, var_r30, 4);
}
HuSprGrpPosSet(var_r29, 0.0f, -500.0f);
}
void fn_1_BB34(s32 arg0, s32 arg1)
{
float sp10[2];
s32 var_r31;
HuSprGrp *var_r30;
HuSprite *var_r29;
var_r30 = &HuSprGrpData[winData[arg0].group];
HuWinMesMaxSizeGet(1, sp10, arg1);
for (var_r31 = 0; var_r31 < var_r30->capacity; var_r31++) {
var_r29 = &HuSprData[var_r30->members[var_r31]];
var_r29->x -= sp10[0] / 2;
var_r29->y -= 30.0f;
}
}
void fn_1_BC18(void)
{
s32 var_r31;
s32 var_r30 = HuSprGrpCreate(2);
lbl_1_bss_108 = var_r30;
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x39)), 0xBB8, 0);
HuSprGrpMemberSet(var_r30, 0, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x3A)), 0x7D0, 0);
HuSprGrpMemberSet(var_r30, 1, var_r31);
fn_1_BD78(-1, 0);
}
void fn_1_BCD8(void)
{
s32 var_r31 = lbl_1_bss_108;
HuSprGrpKill(var_r31);
}
u32 fn_1_BD10(s32 arg0, s32 arg1)
{
s32 var_r31 = fn_1_C898(arg1, arg0, lbl_1_bss_1AC, 0);
return ((arg0 - 4) * 0xA) + MAKE_MESSID(0x33, 0x00) + var_r31 + 0x51;
}
void fn_1_BD78(s32 arg0, s32 arg1)
{
float sp10[2];
s32 var_r31;
s32 var_r30;
u32 var_r25;
var_r31 = lbl_1_bss_108;
for (var_r30 = 0; var_r30 < 2; var_r30++) {
HuSprAttrSet(var_r31, var_r30, 4);
}
if (arg0 != -1) {
HuSprAttrReset(var_r31, 0, 4);
HuSprAttrReset(var_r31, 1, 4);
HuSprBankSet(var_r31, 1, arg0 - 4);
HuSprGrpPosSet(var_r31, 288.0f, 100.0f);
HuSprGrpScaleSet(var_r31, 0.0f, 0.0f);
OSReport("#################### SCORE(%d-%d) : %d\n", arg0, lbl_1_bss_1AC, mgRecordExtra);
var_r25 = fn_1_BD10(arg0, mgRecordExtra);
HuWinMesMaxSizeGet(1, sp10, var_r25);
lbl_1_bss_104 = HuWinCreate(0.0f, 0.0f, sp10[0], sp10[1], 0);
HuWinBGTPLvlSet(lbl_1_bss_104, 0.0f);
HuWinMesSpeedSet(lbl_1_bss_104, 0);
HuWinDispOn(lbl_1_bss_104);
fn_1_BB34(lbl_1_bss_104, var_r25);
HuWinMesSet(lbl_1_bss_104, var_r25);
HuWinPosSet(lbl_1_bss_104, 296.0f, 100.0f);
}
}
void fn_1_C06C(void)
{
s32 var_r31;
s32 var_r30 = lbl_1_bss_108;
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
HuWinKill(lbl_1_bss_104);
}
void fn_1_C0DC(s32 arg0, s32 arg1)
{
float var_f31;
float var_f30;
s32 var_r30;
s32 var_r24;
s32 var_r22;
var_r30 = 0;
var_r22 = lbl_1_bss_108;
var_f30 = 1.5f;
fn_1_BD78(arg0, arg1);
for (var_r24 = 0; var_r24 < 0xA; var_r24++) {
fn_1_1B7D0(1);
var_f31 = fn_1_1B64C(var_f30, 1.0f, var_r30, 5.0f);
if (++var_r30 == 5) {
if (var_f30 > 1.0f) {
var_f30 -= 0.1f;
}
var_r30 = 0;
}
HuSprGrpScaleSet(var_r22, var_f31, var_f31);
HuWinScaleSet(lbl_1_bss_104, var_f31, var_f31);
}
}
void fn_1_C4D4(s32 arg0)
{
fn_1_C06C();
}
s32 lbl_1_data_324 = 0xFFFFFFFF;
s32 lbl_1_data_328 = -1;
s32 lbl_1_data_32C[3] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
void fn_1_C544(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
AnimData *var_r28;
var_r29 = HuSprGrpCreate(0x25);
lbl_1_data_324 = var_r29;
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1B)), 0x1388, 0);
HuSprGrpMemberSet(var_r29, 0, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1C)), 0x1388, 0);
HuSprGrpMemberSet(var_r29, 0x23, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1D)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 1, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1E)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 2, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1F)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 3, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x20)), 0x76C, 0);
HuSprGrpMemberSet(var_r29, 4, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x21)), 0x834, 0);
HuSprGrpMemberSet(var_r29, 6, var_r31);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
var_r31 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MPEX, 0x2F)), 0xA, 0);
HuSprGrpMemberSet(var_r29, var_r30 + 7, var_r31);
}
for (var_r30 = 0; var_r30 < 3; var_r30++) {
var_r31 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MPEX, 0x32)), 0xA, 0);
HuSprGrpMemberSet(var_r29, var_r30 + 0xA, var_r31);
}
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x35));
for (var_r30 = 0; var_r30 < 0x15; var_r30++) {
var_r31 = HuSprCreate(var_r28, 9, 0);
HuSprGrpMemberSet(var_r29, var_r30 + 0xD, var_r31);
}
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x15)), 8, 0);
HuSprGrpMemberSet(var_r29, 0x22, var_r31);
fn_1_CF10(-1);
fn_1_D3AC(-1);
}
void fn_1_C860(void)
{
s32 var_r31 = lbl_1_data_324;
HuSprGrpKill(var_r31);
}
s32 fn_1_C898(s32 arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 sp88[5][9] = {
{ 0x64, 0xC8, 0x12C, 0x136, 0x140, 0x14A, 0x154, 0x15E, 0x168 },
{ 0x05, 0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x32 },
{ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09 },
{ 0xE10, 0x1C20, 0x2A30, 0x3840, 0x4650, 0x5460, 0x6270, 0x7080, 0x7E90 },
{ 0x0A, 0x14, 0x1E, 0x23, 0x28, 0x2D, 0x32, 0x35, 0x37 },
};
s32 sp1C[3][9] = {
{ 0x4650, 0x3840, 0x2A30, 0x1C20, 0x0E10, 0, 0, 0, 0 },
{ 0x4650, 0x3840, 0x2A30, 0x1C20, 0x1770, 0x12C0, 0x0E10, 0, 0 },
{ 0x4650, 0x3840, 0x2A30, 0x2328, 0x1C20, 0x19C8, 0x1770, 0x1644, 0x1518 },
};
s32 sp10[3];
s32 var_r31;
s32 var_r30;
if (arg1 >= 5) {
for (var_r31 = 0; var_r31 < 9; var_r31++) {
if (arg0 < sp88[arg1 - 5][var_r31]) {
break;
}
}
}
else if (arg3 != 0) {
for (var_r30 = 0; var_r30 < 3; var_r30++) {
OSReport("#################### HI-SCORE(%d-%d) : %d\n", arg1, var_r30, GWGameStat.mg_record[var_r30 + 6]);
arg0 = GWGameStat.mg_record[var_r30 + 6];
for (var_r31 = 0; var_r31 < 9; var_r31++) {
if (arg0 >= sp1C[var_r30][var_r31]) {
break;
}
}
sp10[var_r30] = var_r31;
}
if (sp10[0] <= sp10[1]) {
var_r31 = sp10[1];
}
else {
var_r31 = sp10[0];
}
if (var_r31 <= sp10[2]) {
var_r31 = sp10[2];
}
}
else {
for (var_r31 = 0; var_r31 < 9; var_r31++) {
if (arg0 >= sp1C[arg2][var_r31]) {
break;
}
}
}
return var_r31;
}
void fn_1_CA98(s32 arg0, u32 arg1)
{
s32 sp8[11] = {
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0x00000009,
0xFFFFFFFF,
0x00000004,
0x0000000B,
0x0000000C,
0x0000000D,
0x0000000E,
0xFFFFFFFF,
};
s32 var_r31;
u32 var_r29;
u32 var_r28;
switch (arg1) {
case 0:
case 1:
case 2:
case 10:
break;
case 4:
var_r31 = fn_1_C898(-1, arg1, 0, 1);
HuWinInsertMesSet(arg0, ((arg1 - 4) * 0xA) + 0x330000 + var_r31 + 0x51, 3);
break;
case 5:
case 6:
case 7:
case 9:
var_r31 = fn_1_C898(GWGameStat.mg_record[sp8[arg1]], arg1, 0, 0);
HuWinInsertMesSet(arg0, ((arg1 - 4) * 0xA) + 0x330000 + var_r31 + 0x51, 3);
case 3:
OSReport("#################### HI-SCORE(%d) : %d\n", arg1, GWGameStat.mg_record[sp8[arg1]]);
var_r31 = GWGameStat.mg_record[sp8[arg1]];
if (var_r31 < 0xA) {
sprintf(lbl_1_bss_FC, " %d", var_r31);
}
else if (var_r31 < 0x64) {
sprintf(lbl_1_bss_FC, " %d", var_r31);
}
else {
sprintf(lbl_1_bss_FC, "%d", var_r31);
}
HuWinInsertMesSet(arg0, (u32)lbl_1_bss_FC, 0);
break;
case 8:
OSReport("#################### HI-SCORE(%d) : %d\n", arg1, GWGameStat.mg_record[sp8[arg1]]);
var_r31 = GWGameStat.mg_record[sp8[arg1]];
var_r29 = var_r31 / 36000;
var_r31 -= var_r29 * 36000;
var_r28 = var_r31 / 3600;
var_r31 -= var_r28 * 3600;
sprintf(lbl_1_bss_F4, " %d", var_r28);
HuWinInsertMesSet(arg0, (u32)lbl_1_bss_F4, 0);
var_r29 = var_r31 / 600;
var_r31 -= var_r29 * 600;
var_r28 = var_r31 / 60;
var_r31 -= var_r28 * 60;
sprintf(lbl_1_bss_EC, "%d%d", var_r29, var_r28);
HuWinInsertMesSet(arg0, (u32)lbl_1_bss_EC, 1);
var_r31 = 1.6916666666666667 * (float)var_r31;
var_r29 = var_r31 / 10;
var_r31 -= var_r29 * 0xA;
var_r28 = var_r31;
if (GWGameStat.mg_record[sp8[arg1]] >= 0x8C9F) {
sprintf(lbl_1_bss_E4, "99");
}
else {
sprintf(lbl_1_bss_E4, "%d%d", var_r29, var_r28);
}
HuWinInsertMesSet(arg0, (u32)lbl_1_bss_E4, 2);
var_r31 = fn_1_C898(GWGameStat.mg_record[sp8[arg1]], arg1, 0, 0);
HuWinInsertMesSet(arg0, ((arg1 - 4) * 0xA) + 0x330000 + var_r31 + 0x51, 3);
break;
default:
break;
}
}
void fn_1_CF10(s32 arg0)
{
s32 var_r31;
s32 var_r30;
s32 var_r28;
var_r31 = lbl_1_data_324;
for (var_r30 = 0; var_r30 < 0x25; var_r30++) {
HuSprAttrSet(var_r31, var_r30, 4);
}
if (arg0 != -1) {
s32 sp8[11][4] = {
{ 0x00370000, 0x00370001, 0x00370002, 0x0017003E },
{ 0x00370003, 0x00370004, 0x00370005, 0x0017003F },
{ 0x00370006, 0x00370007, 0x00370008, 0x0017003D },
{ 0x00370009, 0x0037000A, 0x0037000B, 0x00170034 },
{ 0x0037000C, 0x0037000D, 0x0037000E, 0x00170033 },
{ 0x0037000F, 0x00370010, 0x00370011, 0x0017002A },
{ 0x00370012, 0x00370013, 0x00370014, 0x00170039 },
{ 0x00370015, 0x00370016, 0x00370017, 0x0017003A },
{ 0x00370018, 0x00370019, 0x0037001A, 0x0017003B },
{ 0x0037001B, 0x0037001C, 0x0037001D, 0x0017003C },
{ 0x0037001E, 0x0037001F, 0x00370020, 0x00170021 },
};
var_r28 = HuSprCreate(HuSprAnimReadFile(arg0 + DATA_MAKE_NUM(DATADIR_MPEX, 0x22)), 0x7D0, 0);
HuSprGrpMemberSet(var_r31, 5, var_r28);
lbl_1_data_328 = fn_1_1D02C(sp8[arg0][3]);
HuSprGrpPosSet(lbl_1_data_328, 288.0f, -437.0f);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
lbl_1_data_32C[var_r30] = HuWinCreate(0.0f, 0.0f, 0x136, 0x78, 0);
HuWinBGTPLvlSet(lbl_1_data_32C[var_r30], 0.0f);
HuWinMesSpeedSet(lbl_1_data_32C[var_r30], 0);
HuWinDispOn(lbl_1_data_32C[var_r30]);
if (sp8[arg0][var_r30] != -1) {
if (var_r30 == 2) {
fn_1_CA98(lbl_1_data_32C[2], arg0);
}
HuWinMesSet(lbl_1_data_32C[var_r30], sp8[arg0][var_r30]);
}
HuWinPosSet(lbl_1_data_32C[var_r30], -485.0f, (var_r30 << 7) + 0x70);
}
if (arg0 != 0xA) {
HuSprAttrReset(var_r31, 0, 4);
HuSprPosSet(var_r31, 0, 288.0f, 240.0f);
HuSprTPLvlSet(var_r31, 0, 0.0f);
}
else {
HuSprAttrReset(var_r31, 0x23, 4);
HuSprPosSet(var_r31, 0x23, 288.0f, 240.0f);
HuSprTPLvlSet(var_r31, 0x23, 0.0f);
}
HuSprAttrReset(var_r31, 1, 4);
HuSprPosSet(var_r31, 1, -331.0f, 272.0f);
HuSprAttrReset(var_r31, 2, 4);
HuSprPosSet(var_r31, 2, 452.0f, 911.0f);
HuSprAttrReset(var_r31, 3, 4);
HuSprPosSet(var_r31, 3, 288.0f, -437.0f);
HuSprAttrReset(var_r31, 4, 4);
HuSprPosSet(var_r31, 4, 952.0f, 212.0f);
HuSprAttrReset(var_r31, 5, 4);
HuSprPosSet(var_r31, 5, 952.0f, 212.0f);
HuSprScaleSet(var_r31, 5, 0.5f, 0.5f);
HuSprAttrReset(var_r31, 6, 4);
HuSprPosSet(var_r31, 6, 952.0f, 212.0f);
}
}
void fn_1_D3AC(s32 arg0)
{
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_data_324;
for (var_r31 = 0; var_r31 < 0x25; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
if (arg0 != -1) {
HuSprGrpMemberKill(var_r30, 5);
HuSprGrpKill(lbl_1_data_328);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuWinKill(lbl_1_data_32C[var_r31]);
}
}
}
void fn_1_D468(s32 arg0)
{
s32 var_r28;
s32 var_r30;
s32 var_r31;
var_r31 = lbl_1_data_324;
fn_1_CF10(arg0);
if (arg0 != 0xA) {
HuSprTPLvlSet(var_r31, 0, 1.0f);
}
else {
HuSprTPLvlSet(var_r31, 0x23, 1.0f);
}
HuSprPosSet(var_r31, 3, 288.0f, 63.0f);
HuSprGrpPosSet(lbl_1_data_328, 288.0f, 63.0f);
HuSprPosSet(var_r31, 1, 169.0f, 272.0f);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
HuWinPosSet(lbl_1_data_32C[var_r30], 14.0f, (var_r30 << 7) + 0x70);
}
HuSprPosSet(var_r31, 4, 452.0f, 212.0f);
HuSprPosSet(var_r31, 5, 452.0f, 212.0f);
HuSprPosSet(var_r31, 6, 452.0f, 212.0f);
HuSprPosSet(var_r31, 2, 452.0f, 411.0f);
var_r28 = lbl_1_bss_63C[2];
if (arg0 <= 3) {
fn_1_1A5A4(0);
}
else {
fn_1_1A5A4(1);
}
HuSprGrpPosSet(var_r28, 452.0f, 355.0f);
}
void fn_1_D6AC(s32 arg0)
{
float var_f31;
float var_f30;
float var_f29;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r26;
var_r30 = lbl_1_data_324;
fn_1_CF10(arg0);
for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) {
fn_1_1B7D0(1);
var_f31 = fn_1_1B64C(0.0f, 1.0f, var_r31, 30.0f);
if (arg0 != 0xA) {
HuSprTPLvlSet(var_r30, 0, var_f31);
}
else {
HuSprTPLvlSet(var_r30, 0x23, var_f31);
}
}
if (arg0 != 0xA) {
HuSprTPLvlSet(var_r30, 0, 1.0f);
}
else {
HuSprTPLvlSet(var_r30, 0x23, 1.0f);
}
for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) {
fn_1_1B7D0(1);
var_r29 = fn_1_1B64C(-500.0f, 0.0f, var_r31, 30.0f);
HuSprPosSet(var_r30, 3, 288.0f, var_r29 + 0x3F);
HuSprGrpPosSet(lbl_1_data_328, 288.0f, var_r29 + 0x3F);
HuSprPosSet(var_r30, 1, var_r29 + 0xA9, 272.0f);
for (var_r28 = 0; var_r28 < 3; var_r28++) {
HuWinPosSet(lbl_1_data_32C[var_r28], var_r29 + 0xE, (var_r28 << 7) + 0x70);
}
var_r29 = fn_1_1B64C(500.0f, 0.0f, var_r31, 30.0f);
HuSprPosSet(var_r30, 4, var_r29 + 0x1C4, 212.0f);
HuSprPosSet(var_r30, 5, var_r29 + 0x1C4, 212.0f);
HuSprPosSet(var_r30, 6, var_r29 + 0x1C4, 212.0f);
HuSprPosSet(var_r30, 2, 452.0f, var_r29 + 0x19B);
if (arg0 != 0xA) {
var_r26 = lbl_1_bss_63C[2];
var_f30 = fn_1_1B64C(112.0f, 452.0f, var_r31, 30.0f);
var_f29 = fn_1_1B64C(72.0f, 355.0f, var_r31, 30.0f);
HuSprGrpPosSet(var_r26, var_f30, var_f29);
}
}
}
void fn_1_DBD0(s32 arg0)
{
float var_f31;
float var_f30;
float var_f29;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r25;
s32 var_r24;
var_r30 = lbl_1_data_324;
for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) {
fn_1_1B7D0(1);
var_r29 = fn_1_1B574(0.0f, -500.0f, var_r31, 30.0f);
HuSprPosSet(var_r30, 3, 288.0f, var_r29 + 0x3F);
HuSprGrpPosSet(lbl_1_data_328, 288.0f, var_r29 + 0x3F);
HuSprPosSet(var_r30, 1, var_r29 + 0xA9, 272.0f);
for (var_r27 = 0; var_r27 < 3; var_r27++) {
HuWinPosSet(lbl_1_data_32C[var_r27], var_r29 + 0xE, (var_r27 << 7) + 0x70);
}
var_r29 = fn_1_1B574(0.0f, 500.0f, var_r31, 30.0f);
HuSprPosSet(var_r30, 4, var_r29 + 0x1C4, 212.0f);
HuSprPosSet(var_r30, 5, var_r29 + 0x1C4, 212.0f);
HuSprPosSet(var_r30, 6, var_r29 + 0x1C4, 212.0f);
HuSprPosSet(var_r30, 2, 452.0f, var_r29 + 0x19B);
if (arg0 != 0xA) {
var_r24 = lbl_1_bss_63C[2];
var_f30 = fn_1_1B574(452.0f, 112.0f, var_r31, 30.0f);
var_f29 = fn_1_1B574(355.0f, 72.0f, var_r31, 30.0f);
HuSprGrpPosSet(var_r24, var_f30, var_f29);
}
}
for (var_r31 = 0; var_r31 <= 0x1E; var_r31++) {
fn_1_1B7D0(1);
var_f31 = fn_1_1B574(1.0f, 0.0f, var_r31, 30.0f);
if (arg0 != 0xA) {
HuSprTPLvlSet(var_r30, 0, var_f31);
}
else {
HuSprTPLvlSet(var_r30, 0x23, var_f31);
}
}
if (arg0 != 0xA) {
HuSprTPLvlSet(var_r30, 0, 0.0f);
}
else {
HuSprTPLvlSet(var_r30, 0x23, 0.0f);
}
var_r25 = lbl_1_data_324;
for (var_r28 = 0; var_r28 < 0x25; var_r28++) {
HuSprAttrSet(var_r25, var_r28, 4);
}
if (arg0 != -1) {
HuSprGrpMemberKill(var_r25, 5);
HuSprGrpKill(lbl_1_data_328);
for (var_r28 = 0; var_r28 < 3; var_r28++) {
HuWinKill(lbl_1_data_32C[var_r28]);
}
}
}
void fn_1_E174(void)
{
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_data_324;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 7, 4);
HuSprPosSet(var_r30, var_r31 + 7, 788.0f, (var_r31 * 0x38) + 0xB8);
}
for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
var_f31 = fn_1_1B64C(1000.0f, 0.0f, var_r29, 0x3C - ((2 - var_r31) * 5));
HuSprPosSet(var_r30, var_r31 + 7, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8);
}
}
HuSprAttrReset(var_r30, 0x22, 4);
HuSprPosSet(var_r30, 0x22, 185.0f, (lbl_1_bss_3B0.unk_10 * 0x38) + 0xA0);
}
void fn_1_E384(void)
{
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_data_324;
HuSprAttrSet(var_r30, 0x22, 4);
HuSprPosSet(var_r30, 0x22, 125.0f, 190.0f);
for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
var_f31 = fn_1_1B574(0.0f, -1000.0f, var_r29, 0x3C - ((2 - var_r31) * 5));
HuSprPosSet(var_r30, var_r31 + 7, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8);
}
}
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31 + 7, 4);
HuSprPosSet(var_r30, var_r31 + 7, 288.0f, (var_r31 * 0x38) + 0xB8);
}
}
void fn_1_E568(void)
{
s32 sp10;
s32 spC;
s32 sp8;
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
u32 var_r27;
u32 var_r26;
s32 var_r25;
var_r29 = lbl_1_data_324;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
sp10 = rand8() % 10;
spC = rand8() % 60;
sp8 = rand8() % 100;
HuSprAttrReset(var_r29, var_r31 + 0xA, 4);
HuSprPosSet(var_r29, var_r31 + 0xA, 1288.0f, (var_r31 * 0x38) + 0xB8);
for (var_r28 = 0; var_r28 < 7; var_r28++) {
HuSprAttrReset(var_r29, 0xD + var_r28 + (var_r31 * 7), 4);
HuSprPosSet(var_r29, 0x0D + var_r28 + (var_r31 * 7), (var_r28 * 0x14) + 0x512, (var_r31 * 0x38) + 0xBA);
}
var_r30 = GWGameStat.mg_record[var_r31 + 6];
var_r27 = var_r30 / 36000;
var_r30 -= var_r27 * 36000;
var_r26 = var_r30 / 3600;
var_r30 -= var_r26 * 3600;
HuSprBankSet(var_r29, (var_r31 * 7) + 0xD, var_r26);
HuSprBankSet(var_r29, (var_r31 * 7) + 0xE, 0xA);
var_r27 = var_r30 / 600;
var_r30 -= var_r27 * 600;
var_r26 = var_r30 / 60;
var_r30 -= var_r26 * 60;
HuSprBankSet(var_r29, (var_r31 * 7) + 0xF, var_r27);
HuSprBankSet(var_r29, (var_r31 * 7) + 0x10, var_r26);
HuSprBankSet(var_r29, (var_r31 * 7) + 0x11, 0xB);
var_r30 = 1.6666666666666667 * (float)var_r30;
var_r27 = var_r30 / 10;
var_r30 -= var_r27 * 0xA;
var_r26 = var_r30;
if (GWGameStat.mg_record[var_r31 + 6] == 0x8C9F) {
HuSprBankSet(var_r29, (var_r31 * 7) + 0x12, 9);
HuSprBankSet(var_r29, (var_r31 * 7) + 0x13, 9);
}
else {
HuSprBankSet(var_r29, (var_r31 * 7) + 0x12, var_r27);
HuSprBankSet(var_r29, (var_r31 * 7) + 0x13, var_r26);
}
}
for (var_r25 = 0; var_r25 <= 0x3C; var_r25++) {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
var_f31 = fn_1_1B64C(1000.0f, 0.0f, var_r25, 0x3C - ((2 - var_r31) * 5));
HuSprPosSet(var_r29, var_r31 + 0xA, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8);
for (var_r28 = 0; var_r28 < 7; var_r28++) {
HuSprPosSet(var_r29, 0xD + var_r28 + (var_r31 * 7), var_f31 + ((var_r28 * 0x14) + 0x12A), (var_r31 * 0x38) + 0xBA);
}
}
}
HuSprAttrReset(var_r29, 0x22, 4);
HuSprPosSet(var_r29, 0x22, 110.0f, (lbl_1_bss_3B0.unk_10 * 0x38) + 0xA0);
}
void fn_1_EB1C(void)
{
float var_f31;
s32 var_r28;
s32 var_r29;
s32 var_r30;
s32 var_r31;
var_r29 = lbl_1_data_324;
HuSprAttrSet(var_r29, 0x22, 4);
HuSprPosSet(var_r29, 0x22, 125.0f, 184.0f);
for (var_r28 = 0; var_r28 <= 0x3C; var_r28++) {
fn_1_1B7D0(1);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
var_f31 = fn_1_1B574(0.0f, -1000.0f, var_r28, 0x3C - ((2 - var_r31) * 5));
HuSprPosSet(var_r29, var_r31 + 0xA, 288.0f + var_f31, (var_r31 * 0x38) + 0xB8);
for (var_r30 = 0; var_r30 < 7; var_r30++) {
HuSprPosSet(var_r29, 0xD + var_r30 + (var_r31 * 7), var_f31 + ((var_r30 * 0x14) + 0x12A), (var_r31 * 0x38) + 0xBA);
}
}
}
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r29, var_r31 + 0xA, 4);
for (var_r30 = 0; var_r30 < 7; var_r30++) {
HuSprAttrSet(var_r29, 0xD + var_r30 + (var_r31 * 7), 4);
}
}
}
void fn_1_ED78(s32 arg0, s32 arg1)
{
float var_f31;
float var_f30;
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_data_324;
{
s32 spC[3] = { 4, 11, 12 };
for (var_r31 = 0; var_r31 <= 0xA; var_r31++) {
fn_1_1B7D0(1);
if (var_r31 <= 5) {
var_f30 = fn_1_1B64C(1.0f, 0.0f, var_r31, 5.0f);
}
else {
var_f30 = fn_1_1B64C(0.0f, 1.0f, var_r31, var_r31 - 5);
}
if (lbl_1_bss_1B0 == 4) {
HuSprTPLvlSet(var_r30, 5, var_f30);
}
var_f31 = fn_1_1B64C((arg1 * 0x38) + 0xA0, (arg0 * 0x38) + 0xA0, var_r31, 10.0f);
if (lbl_1_bss_1B0 == 4) {
HuSprPosSet(var_r30, 0x22, 110.0f, var_f31);
}
else {
HuSprPosSet(var_r30, 0x22, 185.0f, var_f31);
}
if ((lbl_1_bss_1B0 == 4) && (var_r31 == 5)) {
HuSprGrpMemberKill(var_r30, 5);
var_r29 = HuSprCreate(HuSprAnimReadFile(spC[arg0] + DATA_MAKE_NUM(DATADIR_MPEX, 0x22)), 0x7D0, 0);
HuSprGrpMemberSet(var_r30, 5, var_r29);
HuSprPosSet(var_r30, 5, 452.0f, 212.0f);
HuSprScaleSet(var_r30, 5, 0.5f, 0.5f);
HuSprTPLvlSet(var_r30, 5, 0.0f);
}
}
}
}
void fn_1_F0C0(void)
{
float sp8[2];
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = HuSprGrpCreate(3);
lbl_1_bss_E0 = var_r30;
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x16)), 0xBB8, 0);
HuSprGrpMemberSet(var_r30, 0, var_r29);
HuSprPosSet(var_r30, 0, 0.0f, 88.0f);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x18)), 0x7D0, 0);
HuSprGrpMemberSet(var_r30, 1, var_r29);
HuSprPosSet(var_r30, 1, 0.0f, 25.0f);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1A)), 0x3E8, 0);
HuSprGrpMemberSet(var_r30, 2, var_r29);
HuSprPosSet(var_r30, 2, 0.0f, 0.0f);
HuSprScaleSet(var_r30, 2, 0.9f, 0.65f);
HuSprTPLvlSet(var_r30, 2, 0.8f);
for (var_r31 = 0; var_r31 < 6; var_r31++) {
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x2F));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x30));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x31));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x32));
lbl_1_bss_C8[var_r31] = HuWinCreate(0.0f, 0.0f, sp8[0], sp8[1], 0);
HuWinBGTPLvlSet(lbl_1_bss_C8[var_r31], 0.0f);
HuWinMesSpeedSet(lbl_1_bss_C8[var_r31], 0);
HuWinDispOff(lbl_1_bss_C8[var_r31]);
HuWinPosSet(lbl_1_bss_C8[var_r31], 304.0f, 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f));
}
fn_1_F47C();
fn_1_F730();
}
void fn_1_F40C(void)
{
s32 var_r31;
s32 var_r30 = lbl_1_bss_E0;
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuWinKill(lbl_1_bss_C8[var_r31]);
}
HuSprGrpKill(var_r30);
}
void fn_1_F47C(void)
{
float sp8[2];
s32 var_r31;
s32 var_r30 = lbl_1_bss_E0;
lbl_1_bss_3B0.unk_0C = 0;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
HuSprAttrReset(var_r30, 0, 4);
HuSprPosSet(var_r30, 0, 0.0f, 92.0f);
HuSprAttrReset(var_r30, 1, 4);
HuSprPosSet(var_r30, 1, 0.0f, 25.0f);
lbl_1_bss_3B0.unk_0C = 0;
HuSprPosSet(var_r30, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuWinDispOn(lbl_1_bss_C8[var_r31]);
if (lbl_1_bss_180[var_r31] == 1) {
HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x2F));
}
else {
HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E));
}
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x30));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f));
}
HuSprGrpPosSet(var_r30, 288.0f, -460.0f);
}
void fn_1_F730(void)
{
float sp8[2];
s32 var_r31;
s32 var_r30 = lbl_1_bss_E0;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuWinDispOff(lbl_1_bss_C8[var_r31]);
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x30));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f));
}
HuSprGrpPosSet(var_r30, 288.0f, -460.0f);
}
void fn_1_F8A4(void)
{
float sp10[2];
float sp8[2];
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27 = lbl_1_bss_E0;
sp10[0] = sp10[1] = 0.0f;
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2F));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x30));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x31));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x32));
var_r30 = lbl_1_bss_E0;
lbl_1_bss_3B0.unk_0C = 0;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
HuSprAttrReset(var_r30, 0, 4);
HuSprPosSet(var_r30, 0, 0.0f, 92.0f);
HuSprAttrReset(var_r30, 1, 4);
HuSprPosSet(var_r30, 1, 0.0f, 25.0f);
lbl_1_bss_3B0.unk_0C = 0;
HuSprPosSet(var_r30, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuWinDispOn(lbl_1_bss_C8[var_r31]);
if (lbl_1_bss_180[var_r31] == 1) {
HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x2F));
}
else {
HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E));
}
HuWinMesMaxSizeGet(1, sp8, 0x330030);
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f));
}
HuSprGrpPosSet(var_r30, 288.0f, -460.0f);
for (var_r29 = 0; var_r29 < 0x3C; var_r29++) {
fn_1_1B7D0(1);
if (var_r29 <= 0x32) {
var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r29, 50.0f);
}
else {
var_f31 = fn_1_1B574(10.0f, 0.0f, var_r29 - 0x32, 10.0f);
}
HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31));
for (var_r28 = 0; var_r28 < 4; var_r28++) {
HuWinPosSet(lbl_1_bss_C8[var_r28], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r28 * 0x1F)))));
}
}
}
void fn_1_FDA0(void)
{
float sp10[2];
float sp8[2];
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27 = lbl_1_bss_E0;
sp10[0] = sp10[1] = 0.0f;
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2F));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x30));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x31));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x32));
for (var_r30 = 0; var_r30 < 0x3C; var_r30++) {
fn_1_1B7D0(1);
if (var_r30 <= 0xA) {
var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r30, 10.0f);
}
else {
var_f31 = fn_1_1B574(10.0f, -500.0f, var_r30 - 0xA, 50.0f);
}
HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31));
for (var_r29 = 0; var_r29 < 4; var_r29++) {
HuWinPosSet(lbl_1_bss_C8[var_r29], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r29 * 0x1F)))));
}
}
var_r28 = lbl_1_bss_E0;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r28, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuWinDispOff(lbl_1_bss_C8[var_r31]);
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x30));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1F)) - 500.0f));
}
HuSprGrpPosSet(var_r28, 288.0f, -460.0f);
}
void fn_1_1015C(void)
{
float sp8[2];
s32 var_r31 = lbl_1_bss_E0;
HuWinMesMaxSizeGet(1, sp8, 0x330030);
HuSprAttrReset(var_r31, 2, 4);
HuSprPosSet(var_r31, 2, 0.0f, 40.0f + ((60.0f - sp8[1]) + (lbl_1_bss_3B0.unk_0C * 0x1F)));
}
void fn_1_10228(void)
{
s32 var_r31 = lbl_1_bss_E0;
HuSprAttrSet(var_r31, 2, 4);
}
void fn_1_10268(s32 arg0)
{
float spC[2];
float var_f31;
float var_f30;
float var_f29;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28 = lbl_1_bss_E0;
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x33, 0x30));
var_r29 = lbl_1_bss_3B0.unk_0C;
var_r31 = lbl_1_bss_3B0.unk_0C + arg0;
if (var_r31 > 3) {
var_r31 = 0;
}
else if (var_r31 < 0) {
var_r31 = 3;
}
for (var_r30 = 0; var_r30 <= 5; var_r30++) {
fn_1_1B7D0(1);
var_f31 = 40.0f + ((60.0f - spC[1]) + (var_r29 * 0x1F));
var_f30 = 40.0f + ((60.0f - spC[1]) + (var_r31 * 0x1F));
var_f29 = fn_1_1B64C(var_f31, var_f30, var_r30, 5.0f);
HuSprPosSet(var_r28, 2, -4.0f, var_f29);
}
lbl_1_bss_3B0.unk_0C = var_r31;
}
void fn_1_1045C(void)
{
float sp8[2];
s32 var_r31;
s32 var_r29;
s32 var_r30 = HuSprGrpCreate(3);
lbl_1_bss_C4 = var_r30;
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x17)), 0xBB8, 0);
HuSprGrpMemberSet(var_r30, 0, var_r29);
HuSprPosSet(var_r30, 0, 0.0f, 118.0f);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x19)), 0x7D0, 0);
HuSprGrpMemberSet(var_r30, 1, var_r29);
HuSprPosSet(var_r30, 1, 0.0f, 25.0f);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x1A)), 0x3E8, 0);
HuSprGrpMemberSet(var_r30, 2, var_r29);
HuSprPosSet(var_r30, 2, 0.0f, 0.0f);
HuSprPosSet(var_r30, 2, 0.0f, 0.0f);
HuSprScaleSet(var_r30, 2, 0.9f, 0.65f);
HuSprTPLvlSet(var_r30, 2, 0.8f);
for (var_r31 = 0; var_r31 < 6; var_r31++) {
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x33));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x34));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x35));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x36));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x37));
fn_1_125DC(sp8, MAKE_MESSID(0x33, 0x38));
lbl_1_bss_C8[var_r31] = HuWinCreate(0.0f, 0.0f, sp8[0], sp8[1], 0);
HuWinBGTPLvlSet(lbl_1_bss_C8[var_r31], 0.0f);
HuWinMesSpeedSet(lbl_1_bss_C8[var_r31], 0);
HuWinDispOff(lbl_1_bss_C8[var_r31]);
HuWinPosSet(lbl_1_bss_C8[var_r31], 304.0f, 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f));
}
fn_1_1085C();
fn_1_10ABC();
(void)var_r31;
}
void fn_1_107EC(void)
{
s32 var_r30;
s32 var_r31;
var_r30 = lbl_1_bss_C4;
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuWinKill(lbl_1_bss_C8[var_r31]);
}
HuSprGrpKill(var_r30);
}
void fn_1_1085C(void)
{
float sp8[2];
s32 var_r31;
s32 var_r30 = lbl_1_bss_C4;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
HuSprAttrReset(var_r30, 0, 4);
HuSprAttrReset(var_r30, 1, 4);
lbl_1_bss_3B0.unk_0C = 0;
HuSprPosSet(var_r30, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C);
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuWinDispOn(lbl_1_bss_C8[var_r31]);
if (lbl_1_bss_180[var_r31 + 4] == 1) {
HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x33));
}
else {
HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E));
}
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f));
}
HuSprGrpPosSet(var_r30, 288.0f, -460.0f);
}
void fn_1_10ABC(void)
{
float sp8[2];
s32 var_r31;
s32 var_r30 = lbl_1_bss_C4;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuWinDispOff(lbl_1_bss_C8[var_r31]);
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f));
}
HuSprGrpPosSet(var_r30, 288.0f, -460.0f);
}
void fn_1_10C30(void)
{
float sp10[2];
float sp8[2];
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
var_r27 = lbl_1_bss_C4;
sp10[0] = sp10[1] = 0.0f;
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x33));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x34));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x35));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x36));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x37));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x38));
var_r28 = lbl_1_bss_C4;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r28, var_r31, 4);
}
HuSprAttrReset(var_r28, 0, 4);
HuSprAttrReset(var_r28, 1, 4);
lbl_1_bss_3B0.unk_0C = 0;
HuSprPosSet(var_r28, 2, -3.0f, (lbl_1_bss_3B0.unk_0C * 0x19) + 0x3C);
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuWinDispOn(lbl_1_bss_C8[var_r31]);
if (lbl_1_bss_180[var_r31 + 4] == 1) {
HuWinMesSet(lbl_1_bss_C8[var_r31], var_r31 + MAKE_MESSID(0x33, 0x33));
}
else {
HuWinMesSet(lbl_1_bss_C8[var_r31], MAKE_MESSID(0x33, 0x2E));
}
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f));
}
HuSprGrpPosSet(var_r28, 288.0f, -460.0f);
for (var_r30 = 0; var_r30 < 0x3C; var_r30++) {
fn_1_1B7D0(1);
if (var_r30 <= 0x32) {
var_f31 = fn_1_1B64C(-500.0f, 10.0f, var_r30, 50.0f);
}
else {
var_f31 = fn_1_1B574(10.0f, 0.0f, var_r30 - 0x32, 10.0f);
}
HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31));
for (var_r29 = 0; var_r29 < 6; var_r29++) {
HuWinPosSet(lbl_1_bss_C8[var_r29], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r29 * 0x1D)))));
}
}
}
void fn_1_110F8(void)
{
float sp10[2];
float sp8[2];
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
var_r27 = lbl_1_bss_C4;
sp10[0] = sp10[1] = 0.0f;
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x2E));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x33));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x34));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x35));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x36));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x37));
fn_1_125DC(sp10, MAKE_MESSID(0x33, 0x38));
for (var_r30 = 0; var_r30 < 0x3C; var_r30++) {
fn_1_1B7D0(1);
if (var_r30 <= 0xA) {
var_f31 = fn_1_1B64C(0.0f, 10.0f, var_r30, 10.0f);
}
else {
var_f31 = fn_1_1B574(10.0f, -500.0f, var_r30 - 0xA, 50.0f);
}
HuSprGrpPosSet(var_r27, 288.0f, 64.0f + (40.0f + var_f31));
for (var_r29 = 0; var_r29 < 6; var_r29++) {
HuWinPosSet(lbl_1_bss_C8[var_r29], 288.0f - (sp10[0] / 2), 64.0f + (40.0f + (var_f31 + ((60.0f - (sp10[1] / 2)) + (var_r29 * 0x1D)))));
}
}
var_r28 = lbl_1_bss_C4;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r28, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuWinDispOff(lbl_1_bss_C8[var_r31]);
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x33, 0x33));
HuWinPosSet(lbl_1_bss_C8[var_r31], 288.0f - (sp8[0] / 2), 40.0f + (((60.0f - (sp8[1] / 2)) + (var_r31 * 0x1D)) - 500.0f));
}
HuSprGrpPosSet(var_r28, 288.0f, -460.0f);
}
void fn_1_114D4(void)
{
float sp8[2];
s32 var_r31 = lbl_1_bss_C4;
HuWinMesMaxSizeGet(1, sp8, 0x330033);
HuSprAttrReset(var_r31, 2, 4);
HuSprPosSet(var_r31, 2, 0.0f, 40.0f + ((60.0f - sp8[1]) + (lbl_1_bss_3B0.unk_0C * 0x1D)));
}
void fn_1_115A0(void)
{
s32 var_r31 = lbl_1_bss_C4;
HuSprAttrSet(var_r31, 2, 4);
}
void fn_1_115E0(s32 arg0)
{
float spC[2];
float var_f31;
float var_f30;
float var_f29;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r28 = lbl_1_bss_C4;
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x33, 0x33));
var_r29 = lbl_1_bss_3B0.unk_0C;
var_r31 = lbl_1_bss_3B0.unk_0C + arg0;
if (var_r31 > 5) {
var_r31 = 0;
}
else if (var_r31 < 0) {
var_r31 = 5;
}
for (var_r30 = 0; var_r30 <= 5; var_r30++) {
fn_1_1B7D0(1);
var_f31 = 40.0f + ((60.0f - spC[1]) + (var_r29 * 0x1D));
var_f30 = 40.0f + ((60.0f - spC[1]) + (var_r31 * 0x1D));
var_f29 = fn_1_1B64C(var_f31, var_f30, var_r30, 5.0f);
HuSprPosSet(var_r28, 2, -4.0f, var_f29);
}
lbl_1_bss_3B0.unk_0C = var_r31;
}
void fn_1_117D4(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = HuSprGrpCreate(3);
lbl_1_bss_C0 = var_r30;
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x12)), 0xBB8, 0);
HuSprGrpMemberSet(var_r30, 0, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x13)), 0xBB8, 0);
HuSprGrpMemberSet(var_r30, 1, var_r31);
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x14)), 0xBB8, 0);
HuSprGrpMemberSet(var_r30, 2, var_r31);
var_r29 = HuSprGrpCreate(1);
lbl_1_bss_BC = var_r29;
var_r31 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MPEX, 0x15)), 0xBB8, 0);
HuSprGrpMemberSet(var_r29, 0, var_r31);
HuSprAttrSet(var_r29, 0, 4);
fn_1_11984();
fn_1_119E0();
}
void fn_1_11930(void)
{
s32 var_r31 = lbl_1_bss_C0;
s32 var_r30 = lbl_1_bss_BC;
HuSprGrpKill(var_r31);
HuSprGrpKill(var_r30);
}
void fn_1_11984(void)
{
s32 var_r31;
s32 var_r30 = lbl_1_bss_C0;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
}
void fn_1_119E0(void)
{
s32 var_r31;
s32 var_r30 = lbl_1_bss_C0;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
}
void fn_1_11A3C(s32 arg0)
{
float var_f31;
float var_f30;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r26;
var_r29 = lbl_1_bss_C0;
var_r28 = lbl_1_bss_BC;
{
s32 sp8[3][2] = {
{ 0x72, 0xFA },
{ 0x144, 0xE1 },
{ 0xEF, 0x5A },
};
var_r26 = lbl_1_bss_C0;
for (var_r30 = 0; var_r30 < 3; var_r30++) {
HuSprAttrSet(var_r26, var_r30, 4);
}
if (lbl_1_bss_3B0.unk_08 != 2) {
HuSprAttrReset(var_r29, lbl_1_bss_3B0.unk_08, 4);
}
HuSprGrpScaleSet(var_r29, 0.0f, 0.0f);
for (var_r31 = 0; var_r31 <= 0xF; var_r31++) {
fn_1_1B7D0(1);
if (var_r31 <= 0xA) {
var_f31 = fn_1_1B64C(0.0f, 1.0f, var_r31, 10.0f);
var_f30 = 0.01f;
}
else {
var_f31 = 1.0f;
var_f30 = fn_1_1B64C(0.01f, 1.0f, var_r31 - 0xA, 5.0f);
}
HuSprGrpScaleSet(var_r29, var_f31, var_f30);
if (arg0 != -1) {
var_f31 = fn_1_1B64C(sp8[arg0][0], sp8[lbl_1_bss_3B0.unk_08][0], var_r31, 15.0f);
var_f30 = fn_1_1B64C(sp8[arg0][1], sp8[lbl_1_bss_3B0.unk_08][1], var_r31, 15.0f);
HuSprGrpPosSet(var_r28, var_f31, var_f30);
}
}
HuSprAttrReset(var_r28, 0, 4);
if (arg0 == -1) {
HuSprGrpPosSet(var_r28, sp8[0][0], sp8[0][1]);
}
}
}
void fn_1_11E28(void)
{
float var_f31;
float var_f30;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
var_r29 = lbl_1_bss_C0;
var_r28 = lbl_1_bss_BC;
HuSprAttrSet(var_r28, 0, 4);
for (var_r31 = 0; var_r31 <= 0xF; var_r31++) {
fn_1_1B7D0(1);
if (var_r31 <= 0xA) {
var_f30 = fn_1_1B64C(1.0f, 0.01f, var_r31, 10.0f);
var_f31 = 1.0f;
}
else {
var_f30 = 0.01f;
var_f31 = fn_1_1B64C(1.0f, 0.01f, var_r31 - 0xA, 5.0f);
}
HuSprGrpScaleSet(var_r29, var_f31, var_f30);
}
var_r27 = lbl_1_bss_C0;
for (var_r30 = 0; var_r30 < 3; var_r30++) {
HuSprAttrSet(var_r27, var_r30, 4);
}
}
void fn_1_11FC0(omObjData *object, MpexDllUnkStruct4 *arg1)
{
Vec sp20;
Vec sp14;
s32 var_r31 = lbl_1_bss_C0;
s32 sp8[3] = { 0x64, 0x64, 0xE1 };
sp20.x = Hu3DData[lbl_1_bss_2D8[lbl_1_bss_3B0.unk_08].unk_00->model[1]].pos.x;
sp20.y = 0.0f;
sp20.z = Hu3DData[lbl_1_bss_2D8[lbl_1_bss_3B0.unk_08].unk_00->model[1]].pos.z;
Hu3D3Dto2D(&sp20, 1, &sp14);
sp14.y = fn_1_1B714(sp8[lbl_1_bss_3B0.unk_08], 10.0f + sp8[lbl_1_bss_3B0.unk_08], lbl_1_bss_3B0.unk_28++, 360.0f);
if (lbl_1_bss_3B0.unk_28 >= 0x168) {
lbl_1_bss_3B0.unk_28 = 0;
}
HuSprGrpPosSet(var_r31, sp14.x, (s32)sp14.y);
}
void fn_1_121E8(void)
{
OSReport("\n\n####################### HI SCORE #######################\n");
OSReport("HIScore 453(0-99):%d\n", GWGameStat.mg_record[9]);
if (GWGameStat.mg_record[9] == 0) {
GWGameStat.mg_record[9] = 0;
}
else if (GWGameStat.mg_record[9] >= 0x63) {
GWGameStat.mg_record[9] = 0x63;
}
OSReport("HIScore 451A(0-35999):%d\n", GWGameStat.mg_record[6]);
if (GWGameStat.mg_record[6] == 0) {
GWGameStat.mg_record[6] = 0;
}
else if (GWGameStat.mg_record[6] >= 0x8C9F) {
GWGameStat.mg_record[6] = 0x8C9F;
}
OSReport("HIScore 451B(0-35999):%d\n", GWGameStat.mg_record[7]);
if (GWGameStat.mg_record[7] == 0) {
GWGameStat.mg_record[7] = 0;
}
else if (GWGameStat.mg_record[7] >= 0x8C9F) {
GWGameStat.mg_record[7] = 0x8C9F;
}
OSReport("HIScore 451C(0-35999):%d\n", GWGameStat.mg_record[8]);
if (GWGameStat.mg_record[8] == 0) {
GWGameStat.mg_record[8] = 0;
}
else if (GWGameStat.mg_record[8] >= 0x8C9F) {
GWGameStat.mg_record[8] = 0x8C9F;
}
OSReport("HIScore 442(0-999):%d\n", GWGameStat.mg_record[4]);
if (GWGameStat.mg_record[4] == 0) {
GWGameStat.mg_record[4] = 0;
}
else if (GWGameStat.mg_record[4] >= 0x3E7) {
GWGameStat.mg_record[4] = 0x3E7;
}
OSReport("HIScore 459(0-99):%d\n", GWGameStat.mg_record[0xB]);
if (GWGameStat.mg_record[0xB] == 0) {
GWGameStat.mg_record[0xB] = 0;
}
else if (GWGameStat.mg_record[0xB] >= 0x63) {
GWGameStat.mg_record[0xB] = 0x63;
}
OSReport("HIScore 460(0-99):%d\n", GWGameStat.mg_record[0xC]);
if (GWGameStat.mg_record[0xC] == 0) {
GWGameStat.mg_record[0xC] = 0;
}
else if (GWGameStat.mg_record[0xC] >= 0x63) {
GWGameStat.mg_record[0xC] = 0x63;
}
OSReport("HIScore 461(0-35999):%d\n", GWGameStat.mg_record[0xD]);
if (GWGameStat.mg_record[0xD] == 0) {
GWGameStat.mg_record[0xD] = 0;
}
else if (GWGameStat.mg_record[0xD] >= 0x8C9F) {
GWGameStat.mg_record[0xD] = 0x8C9F;
}
OSReport("HIScore 462(0-99):%d\n", GWGameStat.mg_record[0xE]);
if (GWGameStat.mg_record[0xE] == 0) {
GWGameStat.mg_record[0xE] = 0;
}
else if (GWGameStat.mg_record[0xE] >= 0x63) {
GWGameStat.mg_record[0xE] = 0x63;
}
OSReport("########################################################\n\n");
}
void fn_1_125DC(float *arg0, s32 arg1)
{
float spC[2];
HuWinMesMaxSizeGet(1, spC, arg1);
if (spC[0] > arg0[0]) {
arg0[0] = spC[0];
}
if (spC[1] > arg0[1]) {
arg0[1] = spC[1];
}
}