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

6552 lines
226 KiB
C

#include "game/board/main.h"
#include "REL/mentDll.h"
#include "ext_math.h"
#include "game/armem.h"
#include "game/chrman.h"
#include "game/hsfdraw.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/printfunc.h"
#include "game/saveload.h"
#include "game/sprite.h"
#include "game/window.h"
#include "game/wipe.h"
typedef struct MentDllUnkBssE4Struct {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ float unk_0C;
/* 0x10 */ float unk_10;
/* 0x14 */ float unk_14;
/* 0x18 */ float unk_18;
} MentDllUnkBssE4Struct; /* size = 0x1C */
typedef struct MentDllUnkBss16C4Struct {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ float unk_0C;
/* 0x10 */ float unk_10;
/* 0x14 */ float unk_14;
/* 0x18 */ float unk_18;
/* 0x1C */ float unk_1C;
/* 0x20 */ float unk_20;
/* 0x24 */ float unk_24;
/* 0x28 */ float unk_28;
/* 0x2C */ float unk_2C;
} MentDllUnkBss16C4Struct; /* size = 0x30 */
typedef void (*MentDllUnkFunc)(omObjData *, ...);
typedef struct MentDllUnkBss3114Struct {
/* 0x00 */ omObjData *unk_00;
/* 0x04 */ MentDllUnkFunc unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ char pad_10[0x48]; /* maybe part of unk_0C[0x13]? */
/* 0x58 */ s32 unk_58;
/* 0x5C */ s32 unk_5C;
/* 0x60 */ s32 unk_60;
/* 0x64 */ s32 unk_64;
/* 0x68 */ s32 unk_68;
/* 0x6C */ s32 unk_6C;
/* 0x70 */ s32 unk_70[4];
/* 0x80 */ s32 unk_80[4];
} MentDllUnkBss3114Struct; /* size = 0x90 */
typedef struct MentDllUnkBss33ACStruct { // maybe the same as the other one?
/* 0x00 */ omObjData *unk_00;
/* 0x04 */ MentDllUnkFunc unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ s32 unk_0C;
/* 0x10 */ char pad_10[0x20];
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ char pad_38[0x20];
} MentDllUnkBss33ACStruct; /* size = 0x58 */
typedef struct MentDllUnkBss35BCStruct {
/* 0x00 */ omObjData *unk_00;
/* 0x04 */ MentDllUnkFunc unk_04;
/* 0x08 */ s32 unk_08[5];
/* 0x1C */ s32 unk_1C[5];
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44[5];
} MentDllUnkBss35BCStruct; /* size = 0x58 */
void fn_1_116F4(void);
void fn_1_1184C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1);
void fn_1_11908(omObjData *arg0, s32 arg1);
void fn_1_121D8(void);
void fn_1_127FC(omObjData *arg0, MentDllUnkBss33ACStruct *arg1);
void fn_1_12E40(void);
void fn_1_134A8(void);
void fn_1_13970(void);
void fn_1_13D60(void);
void fn_1_13DEC(void);
void fn_1_13EDC(void);
void fn_1_13F68(void);
void fn_1_14058(void);
void fn_1_14148(void);
void fn_1_14238(void);
void fn_1_14328(void);
void fn_1_14418(void);
void fn_1_146D0(void);
void fn_1_147C0(void);
void fn_1_148B0(void);
void fn_1_149A0(void);
void fn_1_14A2C(void);
void fn_1_14AB8(void);
void fn_1_14BA8(void);
void fn_1_14CE0(void);
void fn_1_15098(void);
void fn_1_151B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_15950(void);
void fn_1_15CB4(omObjData *arg0, MentDllUnkBss3114Struct *arg1);
s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0);
void fn_1_16B68(omObjData *arg0, MentDllUnkBss3114Struct *arg1);
void fn_1_173FC(MentDllUnkBss3114Struct *arg0);
void fn_1_17914(MentDllUnkBss3114Struct *arg0);
void fn_1_179DC(void);
void fn_1_17CC8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_1811C(void);
void fn_1_1850C(void);
void fn_1_1872C(void);
void fn_1_18788(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_18A54(s32 arg0);
void fn_1_18DCC(void);
void fn_1_18F74(omObjData *arg0, MentDllUnkBss35BCStruct *arg1);
void fn_1_190E8(void);
void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1);
void fn_1_1BB2C(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_1C554(void);
void fn_1_1C674(void);
void fn_1_1C754(void);
void fn_1_1C990(void);
void fn_1_1CF68(void);
void fn_1_1D4FC(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_1DED8(void);
void fn_1_1DF48(void);
void fn_1_1DFB8(void);
void fn_1_1E1B4(void);
void fn_1_1E404(omObjData *arg0, MentDllUnkBss3114Struct *arg1);
void fn_1_1E8A4(omObjData *arg0, MentDllUnkBss35BCStruct *arg1);
void fn_1_1F6B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_1F868(void);
void fn_1_1FA34(void);
void fn_1_1FC54(void);
void fn_1_1FF4C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1);
void fn_1_2055C(s32 arg0);
void fn_1_207BC(void);
void fn_1_208F4(void);
void fn_1_20A24(void);
void fn_1_20B54(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_21724(omObjData *object);
void fn_1_2342C(omObjData *object);
void fn_1_C174(s32 arg0);
void fn_1_E654(s32 arg0);
void fn_1_E71C(s32 arg0);
Vec lbl_1_data_D8[6] = {
{ 0.0f, 0.0f, 460.0f },
{ -240.0f, 0.0f, 460.0f },
{ -120.0f, 0.0f, 460.0f },
{ 120.0f, 50.0f, 460.0f },
{ 240.0f, 0.0f, 460.0f },
{ 1200.0f, 0.0f, 460.0f },
};
float lbl_1_data_120[6] = { 0.0f, 20.0f, 10.0f, -10.0f, -20.0f, 0.0f };
MentDllUnkBss35BCStruct lbl_1_bss_366C;
MentDllUnkBss35BCStruct lbl_1_bss_35BC[2];
MentDllUnkBss33ACStruct lbl_1_bss_33AC[6];
MentDllUnkBss33ACStruct lbl_1_bss_3354;
MentDllUnkBss3114Struct lbl_1_bss_3114[4];
omObjData *lbl_1_bss_3108[3];
omObjData *lbl_1_bss_3104;
MentDllUnkBss16C4Struct lbl_1_bss_16C4[0x8C];
MentDllUnkBssE4Struct lbl_1_bss_E4[0xC8];
s32 lbl_1_bss_E0;
s32 lbl_1_bss_DC;
s32 lbl_1_bss_D8;
s32 lbl_1_bss_D4;
s32 lbl_1_bss_D0;
s32 lbl_1_bss_CC;
Process *lbl_1_bss_C8;
s32 lbl_1_bss_A8[8];
MentDllUnkBss64Struct lbl_1_bss_64;
s32 lbl_1_bss_24[16];
s32 lbl_1_bss_14[4];
s32 lbl_1_bss_8[3];
void fn_1_658C(Process *arg0)
{
s32 var_r31;
lbl_1_bss_C8 = arg0;
fn_1_6D0();
fn_1_50C();
fn_1_5E8(lbl_1_bss_A8[0]);
if (lbl_1_bss_A8[0] != 0xB) {
CharKill(-1);
}
lbl_1_bss_A8[4] = GWGameStat.open_w06;
lbl_1_bss_A8[5] = GWGameStat.field10E_bit4;
lbl_1_bss_A8[6] = GWGameStat.field10E_bit5;
switch (lbl_1_bss_A8[0]) {
case 0:
HuAudSndGrpSetSet(7);
if (lbl_1_bss_A8[1] == 0) {
fn_1_2844(lbl_1_bss_C8, fn_1_13D60);
}
else {
fn_1_2844(lbl_1_bss_C8, fn_1_13EDC);
}
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
}
for (var_r31 = 0; var_r31 < 6; var_r31++) {
HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet());
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet());
}
if (lbl_1_bss_A8[1] == 0) {
lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724);
}
break;
case 1:
HuAudSndGrpSetSet(7);
if (lbl_1_bss_A8[1] == 0) {
fn_1_2844(lbl_1_bss_C8, fn_1_13D60);
}
else {
fn_1_2844(lbl_1_bss_C8, fn_1_13EDC);
}
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
for (var_r31 = 0; var_r31 < 5; var_r31++) {
HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet());
}
HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet());
if (lbl_1_bss_A8[1] == 0) {
lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724);
}
lbl_1_bss_3104 = omAddObjEx(lbl_1_bss_C8, 0x1000, 0xC9, 0x10, -1, fn_1_2342C);
break;
case 3:
HuAudSndCommonGrpSet(0x56, 1);
HuAudSndCommonGrpSet(0x6B, 0);
fn_1_2844(lbl_1_bss_C8, fn_1_13D60);
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
lbl_1_bss_D0 = 4;
HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet());
lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724);
break;
case 4:
HuAudSndGrpSetSet(3);
fn_1_2844(lbl_1_bss_C8, fn_1_13D60);
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
lbl_1_bss_D0 = 2;
HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet());
lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724);
break;
case 5:
fn_1_2844(lbl_1_bss_C8, fn_1_13D60);
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
lbl_1_bss_D0 = 3;
HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet());
lbl_1_bss_3108[0] = omAddObjEx(lbl_1_bss_C8, 0x1000, 0x8D, 0x10, -1, fn_1_21724);
break;
case 10:
HuAudSndGrpSetSet(7);
fn_1_2844(lbl_1_bss_C8, fn_1_149A0);
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
for (var_r31 = 0; var_r31 < 5; var_r31++) {
HuPrcChildCreate(fn_1_12E40, 0x64, 0x3000, 0, HuPrcCurrentGet());
}
HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet());
break;
case 11:
lbl_1_bss_CC = 1;
HuAudSndGrpSetSet(7);
fn_1_2844(lbl_1_bss_C8, fn_1_14A2C);
HuPrcChildCreate(fn_1_121D8, 0x64, 0x3000, 0, HuPrcCurrentGet());
HuPrcChildCreate(fn_1_134A8, 0x64, 0x3000, 0, HuPrcCurrentGet());
fn_1_4B0(2);
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_13970, 0x64, 0x3000, 0, HuPrcCurrentGet());
break;
}
HuPrcChildCreate(fn_1_116F4, 0xC8, 0x3000, 0, HuPrcCurrentGet());
}
void fn_1_6C4C(void)
{
s32 var_r31;
s32 var_r30 = 0x10;
s32 var_r29 = 0x28;
s32 var_r28 = 0;
{
GXColor sp10 = { 0x00, 0x00, 0x80, 0x80 };
while (1) {
fn_1_4D8();
if (HuPadBtnDown[0] & PAD_TRIGGER_R) {
var_r28++;
var_r28 = var_r28 % 2;
}
if (var_r28 == 0) {
continue;
}
printWin(var_r30, var_r29, 0xDC, 0x122, &sp10);
if (lbl_1_bss_366C.unk_04 == NULL) {
print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> FALSE");
}
else {
print8(var_r30, var_r29, 1.0f, "PROC_MAIN -> TRUE");
}
for (var_r31 = 0; var_r31 < 2; var_r31++) {
if (lbl_1_bss_35BC[var_r31].unk_04 == NULL) {
print8(var_r30, var_r29 + 0x14 + (var_r31 * 0xA), 1.0f, "PROC_MAP%d -> FALSE", var_r31);
}
else {
print8(var_r30, var_r29 + 0x14 + (var_r31 * 0xA), 1.0f, "PROC_MAP%d -> TRUE", var_r31);
}
}
for (var_r31 = 0; var_r31 < 6; var_r31++) {
if (lbl_1_bss_33AC[var_r31].unk_04 == NULL) {
print8(var_r30, var_r29 + 0x32 + (var_r31 * 0xA), 1.0f, "PROC_SUB%d -> FALSE", var_r31);
}
else {
print8(var_r30, var_r29 + 0x32 + (var_r31 * 0xA), 1.0f, "PROC_SUB%d -> TRUE", var_r31);
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_04 == NULL) {
print8(var_r30, var_r29 + 0x78 + (var_r31 * 0xA), 1.0f, "PROC_PLAYER%d -> FALSE", var_r31);
}
else {
print8(var_r30, var_r29 + 0x78 + (var_r31 * 0xA), 1.0f, "PROC_PLAYER%d -> TRUE", var_r31);
}
}
print8(var_r30, var_r29 + 0xAA, 1.0f, "MODE:%d MAP:%d", lbl_1_bss_A8[0], lbl_1_bss_A8[2]);
print8(var_r30, var_r29 + 0xBE, 1.0f, "NO) IDX:GRP:COM:DIF:PAD:CHR");
for (var_r31 = 0; var_r31 < 4; var_r31++) {
s32 spC;
s32 sp8 = lbl_1_bss_3114[var_r31].unk_6C;
spC = lbl_1_bss_3114[var_r31].unk_68;
print8(var_r30, var_r29 + 0xC8 + (var_r31 * 0xA), 1.0f, "%2d) %3d:%3d:%3d:%3d:%3d:%3d", var_r31, lbl_1_bss_3114[var_r31].unk_58,
lbl_1_bss_3114[var_r31].unk_5C, lbl_1_bss_3114[var_r31].unk_60, lbl_1_bss_3114[var_r31].unk_64);
}
print8(var_r30, var_r29 + 0xF0, 1.0f, "NO) FG0:FG1:FG2:FG3");
for (var_r31 = 0; var_r31 < 4; var_r31++) {
print8(var_r30, var_r29 + 0xFA + (var_r31 * 0xA), 1.0f, "%2d) %3d:%3d:%3d:%3d", var_r31, lbl_1_bss_3114[var_r31].unk_70[0],
lbl_1_bss_3114[var_r31].unk_70[1], lbl_1_bss_3114[var_r31].unk_70[2], lbl_1_bss_3114[var_r31].unk_70[3]);
}
}
}
}
s32 fn_1_7124(void)
{
s32 var_r31 = 0;
if (_CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) {
var_r31++;
}
if (_CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) {
var_r31++;
}
if (_CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) {
var_r31++;
}
if (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0) {
var_r31++;
}
if (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0) {
var_r31++;
}
if (_CheckFlag(FLAG_ID_MAKE(0, 7)) != 0) {
var_r31++;
}
OSReport("DIF OMAKASE MAP %d\n", var_r31);
var_r31 = var_r31 / 2;
if (var_r31 < 0) {
var_r31 = 0;
}
else if (var_r31 > 3) {
var_r31 = 3;
}
OSReport("DIF OMAKASE DIF %d\n", var_r31);
return var_r31;
}
s32 lbl_1_data_2B4[0xF] = {
DATADIR_W01,
DATADIR_W02,
DATADIR_W03,
DATADIR_W04,
DATADIR_W05,
DATADIR_W06,
DATADIR_W10,
DATADIR_MARIOMDL1,
DATADIR_LUIGIMDL1,
DATADIR_PEACHMDL1,
DATADIR_YOSHIMDL1,
DATADIR_WARIOMDL1,
DATADIR_DONKEYMDL1,
DATADIR_DAISYMDL1,
DATADIR_WALUIGIMDL1,
};
void fn_1_7218(void)
{
s32 var_r31 = HuDataDirReadAsync(DATADIR_BOARD);
if (var_r31 != -1) {
while (HuDataGetAsyncStat(var_r31) == 0) {
HuPrcVSleep();
}
}
HuAR_MRAMtoARAM(DATADIR_BOARD);
while (HuARDMACheck() != 0) {
HuPrcVSleep();
}
HuDataDirClose(DATADIR_BOARD);
if (_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) {
var_r31 = HuDataDirReadAsync(DATADIR_W10);
}
else {
var_r31 = HuDataDirReadAsync(lbl_1_data_2B4[GWSystem.board]);
}
if (var_r31 != -1) {
while (HuDataGetAsyncStat(var_r31) == 0) {
HuPrcVSleep();
}
}
lbl_1_bss_D8 = 1;
HuPrcEnd();
while (1) {
HuPrcVSleep();
}
}
void fn_1_7304(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
for (var_r31 = 1; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_68 = -1;
lbl_1_bss_3114[var_r31].unk_6C = var_r31;
lbl_1_bss_3114[var_r31].unk_60 = 1;
}
for (var_r31 = 1; var_r31 < 4; var_r31++) {
do {
lbl_1_bss_3114[var_r31].unk_68 = rand8() % 8;
for (var_r29 = 0; var_r29 < 4; var_r29++) {
if ((var_r31 != var_r29) && (lbl_1_bss_3114[var_r29].unk_68 != -1)
&& (lbl_1_bss_3114[var_r31].unk_68 == lbl_1_bss_3114[var_r29].unk_68)) {
break;
}
}
} while (var_r29 != 4);
}
GWSystem.diff_story = lbl_1_bss_35BC[0].unk_1C[0];
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_64 = GWSystem.diff_story;
if (GWSystem.diff_story == 4) {
lbl_1_bss_3114[var_r31].unk_64 = fn_1_7124();
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
GWPlayerCfg[var_r31].character = lbl_1_bss_3114[var_r31].unk_68;
GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_3114[var_r31].unk_6C;
GWPlayerCfg[var_r31].diff = lbl_1_bss_3114[var_r31].unk_64;
GWPlayerCfg[var_r31].group = 0;
GWPlayerCfg[var_r31].iscom = lbl_1_bss_3114[var_r31].unk_60;
}
BoardSaveInit(lbl_1_bss_A8[2]);
CharKill(-1);
}
void fn_1_7684(void)
{
s32 spC[7] = { 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F };
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
{
omOvlHisData *sp8 = omOvlHisGet(0);
}
omOvlHisChg(0, OVL_MSTORY3, 0, 0);
do {
fn_1_4D8();
} while (lbl_1_bss_D8 != 1);
HuAudSeqAllFadeOut(0x3E8);
HuAudSStreamAllFadeOut(0x3E8);
CharARAMOpen(GWPlayerCfg[0].character);
CharARAMOpen(GWPlayerCfg[1].character);
CharARAMOpen(GWPlayerCfg[2].character);
CharARAMOpen(GWPlayerCfg[3].character);
omOvlCallEx(spC[GWSystem.board], 1, 0, 0);
while (1) {
fn_1_4D8();
}
}
void fn_1_77C0(void)
{
s32 var_r31;
fn_1_2808(fn_1_13DEC);
fn_1_4B0(0xF0);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
lbl_1_bss_3108[0]->work[0] = 1;
fn_1_2808(fn_1_13F68);
fn_1_4B0(0x8C);
}
void fn_1_7858(void)
{
s32 var_r31;
fn_1_4B0(0x3C);
lbl_1_bss_14[0] = HuAudSeqPlay(0x30);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
fn_1_4B0(0x3C);
}
void fn_1_7900(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = lbl_1_bss_DC;
sp8.center.y = 60.0f;
sp8.center.z = 0.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 850.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
}
s32 lbl_1_data_2F0 = -1;
void fn_1_7A14(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
_ClearFlag(2);
_ClearFlag(3);
_ClearFlag(4);
_ClearFlag(5);
_ClearFlag(6);
_ClearFlag(7);
_ClearFlag(1);
_ClearFlag(9);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
fn_1_59A0(lbl_1_bss_33AC[var_r31].unk_00, 1, 6, 5, 1);
}
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
lbl_1_bss_3104->work[0] = 1;
var_r29 = -1;
var_r29 = HuAudFXPlay(0x43);
HuAudFXPanning(var_r29, 0x20);
var_r29 = HuAudFXPlay(0x40);
HuAudFXPanning(var_r29, 0x30);
var_r29 = HuAudFXPlay(0x37);
HuAudFXPanning(var_r29, 0x40);
var_r29 = HuAudFXPlay(0x4B);
HuAudFXPanning(var_r29, 0x4C);
var_r29 = HuAudFXPlay(0x46);
HuAudFXPanning(var_r29, 0x60);
HuAudFXPlay(0x9A);
HuAudFXPlay(0x306);
fn_1_4B0(0x96);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
lbl_1_bss_33AC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_127FC;
}
lbl_1_bss_33AC->unk_08 = 1;
fn_1_4B0(0x3C);
for (var_r31 = 1; var_r31 < 5; var_r31++) {
fn_1_59A0(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0x1E, 1);
}
var_r30 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
HuWinInsertMesSet(var_r30, lbl_1_bss_3114->unk_68, 0);
fn_1_1968(var_r30, 0x1E005F, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r30);
fn_1_4B0(0x1E);
for (var_r31 = 1; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
}
lbl_1_bss_33AC[3].unk_08 = 1;
lbl_1_bss_64.unk_40 = 0;
lbl_1_bss_DC = lbl_1_data_D8[3].x;
fn_1_2808(fn_1_7900);
fn_1_4B0(0x1E);
var_r30 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 6, 0xF, 1);
fn_1_1968(var_r30, 0x1E0060, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r30);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
}
lbl_1_bss_33AC[1].unk_08 = 1;
lbl_1_bss_64.unk_40 = 0;
lbl_1_bss_DC = lbl_1_data_D8[1].x;
fn_1_4B0(0x1E);
var_r30 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[1].unk_00, 1, 6, 0xF, 1);
fn_1_1968(var_r30, 0x1E0061, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[1].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r30);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
}
lbl_1_bss_33AC[4].unk_08 = 1;
lbl_1_bss_64.unk_40 = 0;
lbl_1_bss_DC = lbl_1_data_D8[4].x;
fn_1_4B0(0x1E);
var_r30 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 6, 0xF, 1);
fn_1_1968(var_r30, 0x1E0062, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r30);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
}
lbl_1_bss_33AC[2].unk_08 = 1;
lbl_1_bss_64.unk_40 = 0;
lbl_1_bss_DC = lbl_1_data_D8[2].x;
fn_1_4B0(0x1E);
var_r30 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1);
fn_1_1968(var_r30, 0x1E0063, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r30);
lbl_1_bss_3104->work[0] = 3;
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
}
lbl_1_bss_33AC->unk_08 = 1;
fn_1_2808(fn_1_13F68);
fn_1_4B0(0x3C);
var_r30 = fn_1_1434(0, 0, 0);
lbl_1_data_2F0 = var_r30;
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r30, 0x1E0064, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_04 = NULL;
}
}
void fn_1_81A8(omObjData *arg0, void *arg1, void *arg2)
{
fn_1_1F868();
lbl_1_bss_3114->unk_04 = NULL;
}
void fn_1_81D8(void)
{
lbl_1_bss_3114[0].unk_04 = (MentDllUnkFunc)fn_1_81A8;
}
void fn_1_81F0(void)
{
fn_1_4B0(0x3C);
HuAudSStreamPlay(0xC);
OSReport("########### ME_MainProcFunc000\n");
WipeColorSet(0xFF, 0xFF, 0xFF);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
}
void fn_1_824C(void)
{
s32 var_r31;
fn_1_4B0(0x3C);
lbl_1_bss_14[0] = HuAudSeqPlay(0x30);
if (lbl_1_bss_A8[0] == 0) {
for (var_r31 = 0; var_r31 < 6; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
else {
for (var_r31 = 0; var_r31 < 5; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
Hu3DModelPosSet(lbl_1_bss_33AC[0].unk_00->model[1], 0.0f, 0.0f, 560.0f);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 2, 0, 2);
Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
OSReport("########### ME_MainProcFunc400\n");
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
HuPrcVSleep();
}
fn_1_4B0(0x3C);
}
void fn_1_83CC(void)
{
s32 var_r31;
Vec sp14 = { 0.0f, 0.0f, 560.0f };
fn_1_2808(fn_1_13DEC);
fn_1_4B0(0x5A);
if (lbl_1_bss_A8[0] == 0) {
for (var_r31 = 0; var_r31 < 6; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
else {
for (var_r31 = 0; var_r31 < 5; var_r31++) {
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
fn_1_4B0(0x96);
lbl_1_bss_3108[0]->work[0] = 1;
fn_1_2808(fn_1_13F68);
fn_1_4B0(0x5A);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 2, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[0].unk_00, 1, sp14, 0.0f, 3.0f, 0.0f, 1, 0);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
fn_1_4B0(0x1E);
}
void fn_1_85C8(void)
{
s32 var_r31;
s32 var_r30;
lbl_1_bss_14[0] = HuAudSeqPlay(0x30);
var_r31 = fn_1_1434(0, 0, 0);
HuAudFXPlay(lbl_1_data_0[0][0]);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1A0000, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
saveExecF = 0;
if (GWGameStat.party_continue == 1) {
var_r31 = fn_1_1434(0, 0, 0);
while (1) {
fn_1_4D8();
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1A0001, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r30 = fn_1_1A5C(0x1E0035, 3, 0);
if (var_r30 == -1) {
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1A0003, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r30 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r30 == 0) {
fn_1_16AC(var_r31);
fn_1_C174(0);
}
continue;
}
if (var_r30 == 0) {
HuAudFXPlay(lbl_1_data_0[0][3]);
saveExecF = 1;
SLLoadBoard();
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
fn_1_16AC(var_r31);
fn_1_C174(1);
continue;
}
if (var_r30 == 1) {
break;
}
}
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1A0002, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
}
}
void fn_1_88A4(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = fn_1_1434(0, 0, 0);
HuAudFXPlay(lbl_1_data_0[0][3]);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r30, 0x1A0004, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r29 = fn_1_1DD8(0x1E0035, 3, 0);
fn_1_16AC(var_r30);
if (var_r29 == 0) {
s32 spC[4] = { 3, 0, 2, 4 };
_SetFlag(0x1000B);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
GWPlayerCfg[var_r31].character = spC[var_r31];
GWPlayerCfg[var_r31].pad_idx = var_r31;
GWPlayerCfg[var_r31].diff = 0;
GWPlayerCfg[var_r31].group = 0;
GWPlayerCfg[var_r31].iscom = 1;
OSReport("ID-%d CHR-%d PAD-%d DIF-%d GRP-%d COM-%d\n", var_r31, GWPlayerCfg[var_r31].character, GWPlayerCfg[var_r31].pad_idx,
GWPlayerCfg[var_r31].diff, GWPlayerCfg[var_r31].group, GWPlayerCfg[var_r31].iscom);
}
BoardSaveInit(6);
GWSystem.max_turn = 0x14;
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
{
omOvlHisData *sp8 = omOvlHisGet(0);
}
omOvlHisChg(0, OVL_MENT, 0, 1);
fn_1_C174(2);
}
else {
_ClearFlag(0x1000B);
}
fn_1_14BA8();
}
void fn_1_8B40(s32 arg0)
{
fn_1_2055C(arg0);
}
s32 fn_1_8B68(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r26;
s32 var_r27;
s32 var_r25;
s32 var_r24;
s32 var_r23;
var_r30 = 0;
var_r23 = 0;
var_r28 = 0;
if (lbl_1_bss_A8[0] == 5) {
var_r28 = 3;
}
var_r27 = fn_1_1434(0, 0, 0);
HuAudFXPlay(lbl_1_data_0[var_r28][2]);
while (1) {
fn_1_4D8();
fn_1_4D8();
fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r27, 0x1A0005, -1, -1);
fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0021);
fn_1_208F4();
lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_1FF4C;
var_r25 = 0x63;
var_r23 = 0;
while (1) {
fn_1_4D8();
var_r30 = 0;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_70[3] == 0) {
var_r30++;
}
}
if (var_r25 != var_r30) {
var_r25 = var_r30;
fn_1_1968(var_r27, var_r30 + 0x1A001B, -1, -0x3E7);
}
if (lbl_1_bss_35BC[0].unk_1C[0] != 0) {
continue;
}
if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) {
var_r29 = 1;
HuAudFXPlay(2);
lbl_1_bss_35BC[0].unk_04 = NULL;
fn_1_4B0(2);
var_r26 = 0;
var_r30 = var_r26;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 == 0) {
var_r26++;
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (var_r30 < var_r26) {
if (HuPadStatGet(var_r31) != -1) {
var_r30++;
lbl_1_bss_3114[var_r31].unk_60 = 0;
}
else {
lbl_1_bss_3114[var_r31].unk_60 = 1;
}
}
}
break;
}
else if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) {
var_r29 = 0;
HuAudFXPlay(3);
break;
}
}
fn_1_20A24();
lbl_1_bss_35BC[0].unk_04 = NULL;
fn_1_2318(0);
if (var_r29 == 0) {
fn_1_59A0(lbl_1_bss_33AC[var_r28].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r27, 0x1A0003, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[var_r28].unk_00, 1, 1, 0xF, 1);
var_r24 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r24 == 0) {
fn_1_16AC(var_r27);
fn_1_C174(0);
}
}
else if (var_r29 == 1) {
break;
}
}
fn_1_16AC(var_r27);
var_r30 = 0;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 == 0) {
var_r30++;
}
}
if (var_r30 == 0) {
var_r29 = 2;
}
else {
var_r29 = 1;
}
return var_r29;
}
void fn_1_8F44(void)
{
s32 var_r31;
fn_1_207BC();
fn_1_15950();
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_68 = var_r31;
}
}
void fn_1_8F98(void)
{
fn_1_14CE0();
}
s32 fn_1_8FB8(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
var_r26 = 0;
var_r29 = 0;
if (lbl_1_bss_A8[0] == 5) {
var_r29 = 3;
}
fn_1_15950();
var_r27 = fn_1_1434(0, 0, 0);
HuWinPushKeySet(var_r27, 0x300);
HuAudFXPlay(lbl_1_data_0[var_r29][2]);
fn_1_4D8();
fn_1_5818(lbl_1_bss_33AC[var_r29].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r27, 0x1A0009, -1, -1);
fn_1_5818(lbl_1_bss_33AC[var_r29].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0020);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 == 0) {
lbl_1_bss_3114[var_r31].unk_04 = (MentDllUnkFunc)fn_1_15CB4;
}
}
while (1) {
fn_1_4D8();
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if ((lbl_1_bss_3114[var_r31].unk_60 == 0) && (HuPadBtnDown[lbl_1_bss_3114[var_r31].unk_6C] & PAD_BUTTON_A)) {
var_r26 = 1;
}
}
if ((lbl_1_bss_3114[0].unk_70[0] == 0) && (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B)) {
HuAudFXPlay(3);
var_r30 = 0;
break;
}
else {
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if ((lbl_1_bss_3114[var_r31].unk_60 == 0) && (lbl_1_bss_3114[var_r31].unk_70[0] != 1)) {
break;
}
}
if (var_r31 == 4) {
var_r30 = 2;
break;
}
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_04 = NULL;
}
fn_1_2318(0);
fn_1_16AC(var_r27);
if (var_r30 == 2) {
var_r28 = 0;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 != 0) {
lbl_1_bss_3114[var_r31].unk_68 = 0;
var_r28++;
}
}
if (var_r28 == 0) {
var_r30 = 3;
}
else {
var_r30 = 2;
}
}
else {
var_r30 = 0;
}
return var_r30;
}
s32 fn_1_92CC(void)
{
s32 sp8;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 var_r25;
s32 var_r24;
var_r30 = -1;
var_r26 = -1;
var_r24 = -1;
sp8 = 0;
var_r25 = 0;
if (lbl_1_bss_A8[0] == 5) {
var_r25 = 3;
}
var_r27 = fn_1_1434(0, 0, 0);
HuAudFXPlay(lbl_1_data_0[var_r25][3]);
var_r28 = 0;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 != 0) {
var_r28++;
}
}
HuWinInsertMesSet(var_r27, var_r28 + 0x1A0023, 1);
fn_1_59A0(lbl_1_bss_33AC[var_r25].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r27, 0x1A0007, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[var_r25].unk_00, 1, 1, 0xF, 1);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 != 0) {
lbl_1_bss_3114[var_r31].unk_68 = lbl_1_bss_3114[var_r31].unk_64 = 0;
}
}
while (1) {
fn_1_4D8();
fn_1_2154(0x1A0020);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if ((lbl_1_bss_3114[var_r31].unk_60 != 0) && (lbl_1_bss_3114[var_r31].unk_70[0] == 0)) {
var_r30 = var_r31;
lbl_1_bss_3114[var_r31].unk_70[1] = var_r26;
fn_1_173FC(&lbl_1_bss_3114[var_r31]);
lbl_1_bss_3114[var_r31].unk_04 = (MentDllUnkFunc)fn_1_16B68;
break;
}
}
while (1) {
fn_1_4D8();
if ((var_r24 != lbl_1_bss_3114[var_r30].unk_68) && (lbl_1_bss_3114[var_r30].unk_70[0] == 0)) {
var_r24 = lbl_1_bss_3114[var_r30].unk_68;
fn_1_1968(var_r27, lbl_1_bss_3114[var_r30].unk_68 + 0x1B0008, -1, -0x3E7);
}
if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) && (lbl_1_bss_3114[var_r30].unk_70[0] == 0)) {
HuAudFXPlay(3);
if (var_r26 == -1) {
var_r29 = 0;
}
else {
var_r29 = 1;
}
break;
}
else if (lbl_1_bss_3114[var_r30].unk_70[0] == 1) {
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_70[0] == 0) {
lbl_1_bss_3114[var_r31].unk_68 = 0;
}
}
lbl_1_bss_3114[var_r30].unk_04 = NULL;
fn_1_1968(var_r27, 0x1A0022, -1, -0x3E7);
fn_1_2154(0x1A0023);
var_r29 = fn_1_1648C(&lbl_1_bss_3114[var_r30]);
if (var_r29 == 1) {
lbl_1_bss_3114[var_r30].unk_70[2] = 1;
var_r29 = 4;
var_r26 = var_r30;
}
else {
lbl_1_bss_3114[var_r30].unk_70[2] = 0;
var_r29 = 4;
lbl_1_bss_3114[var_r30].unk_70[0] = 0;
fn_1_17914(&lbl_1_bss_3114[var_r30]);
fn_1_173FC(&lbl_1_bss_3114[var_r30]);
}
break;
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_04 = NULL;
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_70[0] == 0) {
break;
}
}
if (var_r31 == 4) {
var_r29 = 3;
break;
}
else {
if (var_r29 == 1) {
fn_1_173FC(&lbl_1_bss_3114[var_r30]);
fn_1_17914(&lbl_1_bss_3114[var_r30]);
fn_1_173FC(&lbl_1_bss_3114[lbl_1_bss_3114[var_r30].unk_70[1]]);
var_r26 = lbl_1_bss_3114[lbl_1_bss_3114[var_r30].unk_70[1]].unk_70[1];
lbl_1_bss_3114[lbl_1_bss_3114[var_r30].unk_70[1]].unk_70[0] = 0;
}
else if (var_r29 == 4) {
}
else if (var_r29 == 0) {
fn_1_17914(&lbl_1_bss_3114[var_r30]);
break;
}
else {
break;
}
}
var_r24 = -1;
}
fn_1_2318(0);
fn_1_16AC(var_r27);
if (var_r29 == 0) {
var_r28 = 0;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 == 0) {
var_r28++;
}
}
if (var_r28 != 0) {
var_r29 = 1;
}
else {
var_r29 = 0;
}
}
return var_r29;
}
void fn_1_98E4(void)
{
s32 var_r31;
s32 var_r30;
fn_1_15098();
for (var_r31 = 0; var_r31 < 4; var_r31++) {
for (var_r30 = 0; var_r30 < 4; var_r30++) {
if (lbl_1_bss_3114[var_r31].unk_60 == 1) {
lbl_1_bss_3114[var_r31].unk_70[var_r30] = 0;
lbl_1_bss_3114[var_r31].unk_80[var_r30] = 0;
fn_1_17914(&lbl_1_bss_3114[var_r31]);
}
}
}
}
void fn_1_99AC(void)
{
fn_1_1811C();
}
s32 fn_1_99CC(void)
{
s32 var_r26;
s32 temp_r27;
s32 var_r28;
s32 var_r29;
s32 var_r30;
s32 i;
s32 sp8[6] = {
0x00000001,
0x00000002,
0x00000000,
0x00000003,
0x00000004,
0x00000005,
};
var_r30 = 2;
temp_r27 = fn_1_1434(0, 0, 0);
while (1) {
fn_1_4D8();
var_r28 = 0;
lbl_1_bss_33AC->unk_34 = 1;
HuAudFXPlay(lbl_1_data_0[0][3]);
fn_1_59A0(lbl_1_bss_33AC[sp8[var_r30]].unk_00, 1, 4, 0xF, 1);
fn_1_1968(temp_r27, 0x1A0008U, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[sp8[var_r30]].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0020U);
for (i = 0; i < 6; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
lbl_1_bss_33AC[i].unk_04 = (void (*)(omObjData *, ...))fn_1_127FC;
}
lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1;
lbl_1_bss_35BC->unk_04 = (void (*)(omObjData *, ...))fn_1_18F74;
while (1) {
fn_1_4D8();
for (i = 0; i < 6; i++) {
if (lbl_1_bss_33AC[i].unk_08 != 2) {
break;
}
}
if (i == 6 && var_r28 >= 0x15) {
if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & 0x200)) {
HuAudFXPlay(3);
var_r29 = 0;
break;
}
else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & 0x100)) {
HuAudFXPlay(2);
var_r29 = 2;
break;
}
else {
if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 50) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 2))) {
if (lbl_1_bss_A8[4] == 1) {
if (++var_r30 > 5) {
var_r30 = 5;
}
else {
var_r28 = 0;
}
}
else {
if (++var_r30 > 4) {
var_r30 = 4;
}
else {
var_r28 = 0;
}
}
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -50) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1))) {
if (--var_r30 < 0) {
var_r30 = 0;
}
else {
var_r28 = 0;
}
}
}
}
if (var_r28 == 0) {
if (var_r30 != 5) {
fn_1_2808(fn_1_14058);
}
else {
fn_1_2808(fn_1_14148);
}
for (i = 0; i < 6; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
}
lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1;
}
if (var_r28++ == 0x14) {
var_r28 = 0x15;
fn_1_18A54(sp8[var_r30]);
fn_1_1968(temp_r27, sp8[var_r30] + 0x1B0001, -1, -999);
if ((s32)sp8[var_r30] != 0) {
HuAudFXPlay(lbl_1_data_0[sp8[var_r30]][0]);
}
else {
HuAudFXPlay(lbl_1_data_0[sp8[var_r30]][2]);
}
}
}
fn_1_2318(0);
if (var_r29 == 0) {
fn_1_2808(fn_1_14058);
if (var_r30 != 2) {
var_r30 = 2;
for (i = 0; i < 6; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
}
lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1;
}
fn_1_18DCC();
fn_1_4B0(0x1E);
}
else if (var_r29 == 1) {
fn_1_2808(fn_1_14058);
if (var_r30 != 2) {
var_r30 = 2;
for (i = 0; i < 6; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
}
lbl_1_bss_33AC[sp8[var_r30]].unk_08 = 1;
}
fn_1_18DCC();
fn_1_4B0(0x1E);
fn_1_59A0(lbl_1_bss_33AC->unk_00, 1, 4, 0xF, 1);
fn_1_1968(temp_r27, 0x1A0003U, -1, 5);
fn_1_59A0(lbl_1_bss_33AC->unk_00, 1, 1, 0xF, 1);
var_r26 = fn_1_1DD8(0x1E0035U, 3, 0);
if (var_r26 == 0) {
fn_1_16AC(temp_r27);
fn_1_C174(0);
}
continue;
}
else if (var_r29 == 2) {
for (i = 0; i < 6; i++) {
lbl_1_bss_33AC[i].unk_04 = NULL;
}
lbl_1_bss_A8[2] = sp8[var_r30];
}
else {
continue;
}
break;
}
fn_1_16AC(temp_r27);
if (var_r29 == 0) {
for (i = 0; i < 4; i++) {
if (lbl_1_bss_3114[i].unk_60 != 0) {
break;
}
}
if (i != 4) {
var_r29 = 2;
}
else {
var_r29 = 1;
}
}
else {
var_r29 = 3;
}
return var_r29;
}
void fn_1_A0A4(void)
{
fn_1_1850C();
}
void fn_1_A0C4(void)
{
s32 var_r31;
var_r31 = lbl_1_bss_A8[2];
fn_1_1850C();
HuAudFXPlay(lbl_1_data_0[var_r31][3]);
if (var_r31 != 5) {
Vec sp2C = { -350.0f, 0.0f, 800.0f };
fn_1_2808(fn_1_14238);
fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[var_r31].unk_00, 1, sp2C, 30.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0xF, 1);
Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 2, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0);
}
else {
Vec sp20 = { 850.0f, 0.0f, 800.0f };
fn_1_2808(fn_1_14328);
fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[var_r31].unk_00, 1, sp20, 30.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0xF, 1);
Hu3DModelAttrReset(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[1].unk_00, 2, 2, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[1].unk_00, 2, 0);
}
}
void fn_1_A39C(void)
{
fn_1_1C754();
}
s32 fn_1_A3BC(void)
{
char sp8[10];
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
var_r27 = -1;
var_r26 = -1;
var_r30 = lbl_1_bss_A8[2];
var_r31 = fn_1_1434(0, 0, 0);
if (var_r30 == 0) {
HuAudFXPlay(lbl_1_data_0[var_r30][2]);
}
else {
HuAudFXPlay(lbl_1_data_0[var_r30][0]);
}
loop_3:
fn_1_4D8();
var_r27 = var_r26 = -1;
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, var_r30 + 0x1A000A, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0021);
lbl_1_bss_35BC[0].unk_08[1] = 0;
fn_1_1C554();
lbl_1_bss_35BC[1].unk_04 = (MentDllUnkFunc)fn_1_19C98;
loop_4:
fn_1_4D8();
if ((var_r27 != lbl_1_bss_35BC[1].unk_08[0]) || var_r26 != lbl_1_bss_35BC[1].unk_1C[lbl_1_bss_35BC[1].unk_08[0]]) {
var_r27 = lbl_1_bss_35BC[1].unk_08[0];
var_r26 = lbl_1_bss_35BC[1].unk_1C[lbl_1_bss_35BC[1].unk_08[0]];
switch (lbl_1_bss_35BC[1].unk_08[0]) {
case 0:
switch (lbl_1_bss_35BC[1].unk_1C[0]) {
case 0:
fn_1_1968(var_r31, 0x1B0015, -1, -0x3E7);
break;
case 1:
HuWinInsertMesSet(var_r31, 0x1B001E, 0);
HuWinInsertMesSet(var_r31, 0x1B001F, 1);
HuWinInsertMesSet(var_r31, 0x1B0020, 2);
fn_1_1968(var_r31, 0x1B0016, -1, -0x3E7);
break;
case 2:
HuWinInsertMesSet(var_r31, 0x1B001F, 0);
HuWinInsertMesSet(var_r31, 0x1B001E, 1);
HuWinInsertMesSet(var_r31, 0x1B0020, 2);
fn_1_1968(var_r31, 0x1B0016, -1, -0x3E7);
break;
case 3:
HuWinInsertMesSet(var_r31, 0x1B0020, 0);
HuWinInsertMesSet(var_r31, 0x1B001E, 1);
HuWinInsertMesSet(var_r31, 0x1B001F, 2);
fn_1_1968(var_r31, 0x1B0016, -1, -0x3E7);
break;
}
break;
case 1:
sprintf(sp8, "%d", lbl_1_bss_35BC[1].unk_1C[1]);
HuWinInsertMesSet(var_r31, MAKE_MESSID_PTR(sp8), 0);
fn_1_1968(var_r31, 0x1B0017, -1, -0x3E7);
break;
case 2:
fn_1_1968(var_r31, lbl_1_bss_35BC[1].unk_1C[2] + 0x1B0018, -1, -0x3E7);
break;
case 3:
fn_1_1968(var_r31, lbl_1_bss_35BC[1].unk_1C[3] + 0x1B001B, -1, -0x3E7);
break;
case 4:
HuWinInsertMesSet(var_r31, lbl_1_bss_3114[lbl_1_bss_35BC[1].unk_1C[4]].unk_68, 0);
fn_1_1968(var_r31, 0x1B001D, -1, -0x3E7);
break;
}
}
if (lbl_1_bss_35BC[0].unk_08[3] != 0) {
goto loop_4;
}
if (lbl_1_bss_35BC[0].unk_08[1] == -1) {
fn_1_1C674();
var_r29 = 0;
}
else if (lbl_1_bss_35BC[0].unk_08[1] == 1) {
fn_1_1C674();
var_r29 = 2;
}
else {
goto loop_4;
}
fn_1_2318(0);
lbl_1_bss_35BC[1].unk_04 = NULL;
fn_1_1C674();
if (var_r29 == 0) {
var_r29 = 1;
}
else if (var_r29 == 1) {
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1A0003, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1);
var_r28 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r28 == 0) {
fn_1_16AC(var_r31);
fn_1_C174(0);
}
goto loop_3;
}
else if (var_r29 == 2) {
HuAudFXPlay(lbl_1_data_0[var_r30][2]);
fn_1_1968(var_r31, 0x1B0000, -1, 5);
var_r28 = fn_1_1A5C(0x1E0035, 3, 0);
if (var_r28 == 0) {
var_r29 = 0x63;
}
else {
fn_1_1968(var_r31, 0x1B0007, -1, 5);
var_r28 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r28 == 0) {
var_r29 = 0;
}
else {
goto loop_3;
}
}
}
else {
goto loop_3;
}
fn_1_16AC(var_r31);
return var_r29;
}
void fn_1_A990(void)
{
fn_1_1C990();
}
void fn_1_A9B0(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r30 = lbl_1_bss_A8[2];
{
Vec sp14 = { -120.0f, 0.0f, 670.0f };
if (lbl_1_bss_A8[2] == 5) {
var_r31 = 1;
}
else {
var_r31 = 0;
}
for (var_r29 = 0; var_r29 < 6; var_r29++) {
Hu3DModelAttrSet(lbl_1_bss_33AC[var_r29].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r30].unk_00->model[1], HU3D_ATTR_DISPOFF);
fn_1_11908(lbl_1_bss_35BC[var_r31].unk_00, lbl_1_bss_A8[2]);
Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[5], HU3D_ATTR_DISPOFF);
lbl_1_bss_35BC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_1184C;
if (var_r30 == 5) {
sp14.x += 1200.0f;
}
fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[var_r30].unk_00, 1, sp14, 5.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1);
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
fn_1_4B0(0x1E);
fn_1_5818(lbl_1_bss_35BC[var_r31].unk_00, 2, 3, 0, 0);
var_r28 = fn_1_1434(0, 0, 0);
HuAudFXPlay(lbl_1_data_0[var_r30][0]);
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 5, 0xF, 1);
fn_1_1968(var_r28, var_r30 + 0x1A0010, -1, -1);
fn_1_16AC(var_r28);
HuAudSeqFadeOut(lbl_1_bss_14[0], 0xBB8);
fn_1_5CDC(lbl_1_bss_35BC[var_r31].unk_00, 2, 0);
Hu3DModelAttrSet(lbl_1_bss_35BC[var_r31].unk_00->model[2], HU3D_ATTR_DISPOFF);
fn_1_2808(fn_1_14418);
fn_1_4B0(0xA);
HuAudFXPlay(GWPlayerCfg->character + 0x75);
HuAudFXPlay(GWPlayerCfg[1].character + 0x75);
HuAudFXPlay(GWPlayerCfg[2].character + 0x75);
HuAudFXPlay(GWPlayerCfg[3].character + 0x75);
fn_1_4B0(0x8C);
}
}
void fn_1_AD78(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 sp20[6] = { 1, 2, 0, 3, 4, 5 };
var_r30 = lbl_1_bss_A8[2];
var_r29 = lbl_1_bss_A8[2];
if (var_r30 != 5) {
var_r28 = 0;
}
else {
var_r28 = 1;
}
fn_1_5818(lbl_1_bss_35BC[var_r28].unk_00, 2, 3, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[var_r28].unk_00, 2, 0);
Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF);
if (var_r30 != 5) {
fn_1_2808(fn_1_146D0);
}
else {
fn_1_2808(fn_1_147C0);
}
{
Vec sp14 = { 0.0f, 0.0f, 560.0f };
sp14.x = lbl_1_data_D8[var_r30].x;
fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[var_r30].unk_00, 1, sp14, lbl_1_data_120[var_r30], 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1);
for (var_r31 = 0; var_r31 < 6; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
lbl_1_bss_33AC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_127FC;
}
lbl_1_bss_33AC[sp20[var_r29]].unk_08 = 1;
fn_1_2808(fn_1_14058);
if (var_r29 != 2) {
var_r29 = 2;
for (var_r31 = 0; var_r31 < 6; var_r31++) {
lbl_1_bss_33AC[var_r31].unk_08 = 0;
}
lbl_1_bss_33AC[sp20[var_r29]].unk_08 = 1;
}
fn_1_18DCC();
fn_1_4B0(0x1E);
}
}
void fn_1_B084(void)
{
s32 sp28;
s32 sp24;
s32 sp20;
s32 sp1C;
s32 sp18;
float sp14;
s32 sp10;
s32 spC;
s32 sp8;
s32 var_r31;
MentDllUnkBss3114Struct *var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
MentDllUnkBss3114Struct *var_r26;
MentDllUnkBss33ACStruct *var_r25;
MentDllUnkBss35BCStruct *var_r24;
var_r28 = lbl_1_bss_A8[2];
if (var_r28 != 5) {
var_r27 = 0;
}
else {
var_r27 = 1;
}
for (var_r31 = 0; var_r31 < 6; var_r31++) {
if (var_r31 != var_r28) {
Hu3DModelAttrSet(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
}
fn_1_5818(lbl_1_bss_35BC[var_r27].unk_00, 2, 3, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[var_r27].unk_00, 2, 0);
if (var_r28 != 5) {
fn_1_2808(fn_1_146D0);
}
else {
fn_1_2808(fn_1_147C0);
}
{
Vec sp2C = { 0.0f, 0.0f, 460.0f };
if (var_r28 == 5) {
sp2C.x = 1200.0f;
}
fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[var_r28].unk_00, 1, sp2C, 0.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[var_r28].unk_00, 1, 1, 0xF, 1);
fn_1_5818(lbl_1_bss_35BC[var_r27].unk_00, 2, 2, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[var_r27].unk_00, 2, 0);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 2);
Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
if (var_r28 == 5) {
fn_1_2808(fn_1_14058);
}
fn_1_4B0(0x1E);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = &lbl_1_bss_3114[var_r31];
var_r26 = &lbl_1_bss_3114[var_r31];
var_r30->unk_58 = var_r31;
var_r30->unk_5C = 0;
var_r30->unk_60 = var_r30->unk_58;
if (var_r30->unk_60 > 0) {
var_r30->unk_60 = 1;
}
var_r30->unk_64 = 0;
var_r30->unk_68 = var_r30->unk_58;
var_r30->unk_6C = var_r30->unk_58;
for (var_r29 = 0; var_r29 < 4; var_r29++) {
var_r30->unk_70[0] = var_r30->unk_70[1] = 0;
}
for (var_r29 = 0; var_r29 < 5; var_r29++) {
var_r26->unk_08 = var_r26->unk_0C = 0;
}
}
for (var_r31 = 0; var_r31 < 6; var_r31++) {
var_r25 = &lbl_1_bss_33AC[var_r31];
for (var_r29 = 0; var_r29 < 5; var_r29++) {
var_r25->unk_08 = var_r25->unk_0C = 0;
}
Hu3DModelPosSet(lbl_1_bss_33AC[var_r31].unk_00->model[1], lbl_1_data_D8[var_r31].x, lbl_1_data_D8[var_r31].y, lbl_1_data_D8[var_r31].z);
Hu3DModelRotSet(lbl_1_bss_33AC[var_r31].unk_00->model[1], 0.0f, lbl_1_data_120[var_r31], 0.0f);
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r31].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
for (var_r31 = 0; var_r31 < 2; var_r31++) {
var_r24 = &lbl_1_bss_35BC[var_r31];
for (var_r29 = 0; var_r29 < 5; var_r29++) {
var_r24->unk_08[0] = var_r24->unk_08[1] = 0;
}
Hu3DModelAttrSet(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF);
}
fn_1_14BA8();
fn_1_179DC();
fn_1_1872C();
fn_1_190E8();
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0);
Hu3DModelAttrSet(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
{
Vec sp20 = { 0.0f, 0.0f, 560.0f };
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 2, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[0].unk_00, 1, sp20, 0.0f, 3.0f, 0.0f, 1, 0);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
}
}
}
void fn_1_B654(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r22;
s32 var_r21;
s32 var_r20;
var_r30 = 0xA;
var_r29 = 0;
if (lbl_1_bss_A8[1] == 0) {
fn_1_81F0();
fn_1_83CC();
fn_1_85C8();
fn_1_88A4();
}
else {
fn_1_824C();
fn_1_88A4();
}
do {
fn_1_4D8();
switch (var_r30) {
case 10:
var_r30 = 0;
fn_1_2055C(var_r29);
var_r29 = fn_1_8B68();
fn_1_8F44();
break;
case 0:
var_r30 = 1;
fn_1_14CE0();
while (1) {
fn_1_4D8();
switch (var_r29) {
case 1:
var_r29 = fn_1_8FB8();
break;
case 2:
var_r29 = fn_1_92CC();
break;
}
if (var_r29 == 0) {
var_r30 = 0xA;
break;
}
else if (var_r29 == 3) {
break;
}
}
fn_1_98E4();
break;
case 1:
var_r30 = 2;
fn_1_1811C();
var_r29 = fn_1_99CC();
if (var_r29 != 3) {
fn_1_1850C();
var_r30 = 0;
}
else {
fn_1_A0C4();
}
break;
case 2:
fn_1_1C754();
var_r30 = fn_1_A3BC();
fn_1_1C990();
switch (var_r30) {
case 0:
var_r30 = 0xA;
var_r29 = 0;
fn_1_B084();
break;
case 1:
var_r30 = 1;
fn_1_AD78();
break;
}
break;
}
} while (var_r30 != 0x63);
if (lbl_1_bss_35BC[1].unk_1C[0] == 0) {
var_r21 = 0;
}
else {
var_r21 = 1;
}
if (lbl_1_bss_35BC[1].unk_1C[3] == 0) {
var_r20 = 1;
}
else {
var_r20 = 0;
}
switch (lbl_1_bss_35BC[1].unk_1C[2]) {
case 0:
var_r22 = 0;
break;
case 1:
var_r22 = 1;
break;
case 2:
var_r22 = 2;
break;
default:
var_r22 = 0;
break;
}
{
s32 var_r19 = lbl_1_bss_35BC[1].unk_1C[1];
s32 var_r18 = lbl_1_bss_35BC[1].unk_08[1];
s32 var_r17 = lbl_1_bss_35BC[1].unk_08[2];
s32 sp18 = lbl_1_bss_35BC[1].unk_08[3];
s32 sp14 = lbl_1_bss_35BC[1].unk_08[4];
BoardPartyConfigSet(var_r21, var_r20, var_r22, var_r19, var_r18, var_r17, sp18, sp14);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
GWPlayerCfg[var_r31].character = lbl_1_bss_3114[var_r31].unk_68;
GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_3114[var_r31].unk_6C;
GWPlayerCfg[var_r31].diff = lbl_1_bss_3114[var_r31].unk_64;
GWPlayerCfg[var_r31].group = 0;
GWPlayerCfg[var_r31].iscom = lbl_1_bss_3114[var_r31].unk_60;
}
if (var_r21 == 1) {
switch (lbl_1_bss_35BC[1].unk_1C[0]) {
case 1:
GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1;
break;
case 2:
GWPlayerCfg[1].group = GWPlayerCfg[3].group = 1;
break;
case 3:
GWPlayerCfg[1].group = GWPlayerCfg[2].group = 1;
break;
default:
GWPlayerCfg[2].group = GWPlayerCfg[3].group = 1;
break;
}
}
BoardSaveInit(lbl_1_bss_A8[2]);
fn_1_A9B0();
if (lbl_1_bss_A8[2] != 5) {
WipeColorSet(0xFF, 0xFF, 0xFF);
}
else {
WipeColorSet(0, 0, 0);
}
fn_1_C174(3);
}
void fn_1_C174(s32 arg0)
{
s32 spC[7] = { 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F };
if (arg0 == 0 || arg0 == 1 || arg0 == 2) {
fn_1_4B0(0x3C);
HuAudSeqFadeOut(lbl_1_bss_14[0], 0x3E8);
}
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
if (arg0 != 0) {
if (arg0 == 1 || arg0 == 3) {
omOvlHisData *sp8 = omOvlHisGet(0);
omOvlHisChg(0, OVL_MSTORY3, 0, 0);
}
do {
fn_1_4D8();
} while (lbl_1_bss_D8 != 1);
CharARAMOpen(GWPlayerCfg[0].character);
CharARAMOpen(GWPlayerCfg[1].character);
CharARAMOpen(GWPlayerCfg[2].character);
CharARAMOpen(GWPlayerCfg[3].character);
HuAudSeqAllFadeOut(0x3E8);
HuAudSStreamAllFadeOut(0x3E8);
}
switch (arg0) {
case 0:
omOvlReturnEx(1, 1);
break;
case 2:
omOvlCallEx(spC[6], 1, 0, 0);
break;
case 1:
case 3:
omOvlCallEx(spC[GWSystem.board], 1, 0, 0);
break;
}
while (1) {
fn_1_4D8();
}
}
s32 fn_1_C354(s32 arg0)
{
if (arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) {
return 1;
}
if (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) {
return 1;
}
if (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) {
return 1;
}
if (arg0 == 3 && _CheckFlag(FLAG_ID_MAKE(0, 5)) != 0) {
return 1;
}
if (arg0 == 4 && _CheckFlag(FLAG_ID_MAKE(0, 6)) != 0) {
return 1;
}
if (arg0 == 5 && _CheckFlag(FLAG_ID_MAKE(0, 7)) != 0) {
return 1;
}
return 0;
}
s32 fn_1_C440(void)
{
if ((_CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) && (_CheckFlag(FLAG_ID_MAKE(0, 3)) != 0) && (_CheckFlag(FLAG_ID_MAKE(0, 4)) != 0)
&& (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0) && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0)) {
return 1;
}
return 0;
}
void fn_1_C4B8(void)
{
s32 var_r31;
s32 var_r28;
var_r31 = fn_1_1434(0, 0, 0);
lbl_1_bss_14[0] = HuAudSeqPlay(0x30);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E005C, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
saveExecF = 0;
if (GWGameStat.story_continue != 1) {
return;
}
var_r31 = fn_1_1434(0, 0, 0);
while (1) {
fn_1_4D8();
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E0001, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r28 = fn_1_1A5C(0x1E0035, 3, 0);
if (var_r28 == -1) {
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E0003, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r28 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r28 == 0) {
fn_1_16AC(var_r31);
fn_1_C174(0);
}
continue;
}
if (var_r28 == 0) {
fn_1_16AC(var_r31);
SLLoadBoardStory();
if (_CheckFlag(FLAG_ID_MAKE(0, 7)) != 0 && _CheckFlag(FLAG_ID_MAKE(0, 9)) != 0) {
OSReport("########## Next to Ending\n");
fn_1_E654(1);
omOvlGotoEx(OVL_MSTORY2, 1, 4, 0);
}
else {
if (_CheckFlag(0x10000) != 0) {
OSReport("########### Next to Turn\n");
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
fn_1_4D8();
fn_1_E71C(0);
}
else {
if (fn_1_C354(GWSystem.board) != 0) {
if (_CheckFlag(FLAG_ID_MAKE(0, 9)) != 0) {
if (fn_1_C440() != 0) {
OSReport("########## Next to MapSelect KoopaEvent\n");
fn_1_E654(1);
omOvlGotoEx(OVL_MSTORY2, 1, 0, 0);
}
else {
OSReport("########## Next to MapSelect NormalEvent\n");
fn_1_E654(1);
omOvlGotoEx(OVL_MENT, 1, 0xA, 0);
}
}
else if (GWSystem.board == 5) {
OSReport("########## Next to BoardClear KoopaEvent\n");
fn_1_E654(0);
omOvlGotoEx(OVL_MSTORY2, 1, 1, 0);
}
else {
OSReport("########## Next to BoardClear NormalEvent\n");
fn_1_E654(0);
omOvlGotoEx(OVL_MSTORY, 1, 0, 0);
}
}
else {
if (_CheckFlag(FLAG_ID_MAKE(0, 9)) != 0) {
if (GWSystem.board == 5) {
OSReport("########## Next to BoardMiss KoopaEvent\n");
fn_1_E654(0);
omOvlGotoEx(OVL_MSTORY2, 1, 2, 0);
}
else {
OSReport("########### Next to BoardMiss NormalEvent\n");
fn_1_E654(0);
omOvlGotoEx(OVL_MSTORY, 1, 1, 0);
}
}
else {
OSReport("########### Next to Turn\n");
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
fn_1_4D8();
fn_1_E71C(0);
}
}
}
}
while (1) {
fn_1_4D8();
}
}
if (var_r28 == 1) {
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E0002, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
break;
}
}
}
void fn_1_CAE4(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r30, 0x1A0004, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r29 = fn_1_1DD8(0x1E0035, 3, 0);
fn_1_16AC(var_r30);
if (var_r29 == 0) {
s32 spC[4] = { 3, 0, 2, 4 };
_SetFlag(0x1000B);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
GWPlayerCfg[var_r31].character = spC[var_r31];
GWPlayerCfg[var_r31].pad_idx = var_r31;
GWPlayerCfg[var_r31].diff = 0;
GWPlayerCfg[var_r31].group = 0;
GWPlayerCfg[var_r31].iscom = 1;
OSReport("ID-%d CHR-%d PAD-%d DIF-%d GRP-%d COM-%d\n", var_r31, GWPlayerCfg[var_r31].character, GWPlayerCfg[var_r31].pad_idx,
GWPlayerCfg[var_r31].diff, GWPlayerCfg[var_r31].group, GWPlayerCfg[var_r31].iscom);
}
BoardSaveInit(6);
GWSystem.max_turn = 0x14;
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
{
omOvlHisData *sp8 = omOvlHisGet(0);
}
omOvlHisChg(0, OVL_MENT, 1, 1);
fn_1_C174(2);
}
else {
_ClearFlag(0x1000B);
}
}
void fn_1_CD6C(void)
{
fn_1_1DFB8();
}
s32 fn_1_CD8C(void)
{
s32 sp8;
s32 var_r31;
s32 var_r30;
s32 var_r29;
sp8 = 0;
fn_1_1CF68();
var_r31 = fn_1_1434(0, 0, 0);
while (1) {
fn_1_4D8();
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E005E, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0020);
lbl_1_bss_3114->unk_04 = (MentDllUnkFunc)fn_1_1E404;
while (1) {
if (lbl_1_bss_3114->unk_70[0] == 1) {
var_r30 = 1;
break;
}
else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) != 0) {
HuAudFXPlay(3);
lbl_1_bss_3114->unk_04 = NULL;
var_r30 = 0;
break;
}
else {
fn_1_4D8();
}
}
lbl_1_bss_3114->unk_04 = NULL;
fn_1_2318(0);
if (var_r30 != 0) {
break;
}
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E0005, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r29 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r29 == 0) {
fn_1_16AC(var_r31);
fn_1_C174(0);
}
}
fn_1_16AC(var_r31);
fn_1_4B0(0x1E);
return var_r30;
}
s32 fn_1_CF8C(void)
{
s32 sp8;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
sp8 = 0;
var_r28 = -1;
var_r27 = -1;
var_r31 = fn_1_1434(0, 0, 0);
while (1) {
fn_1_4D8();
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E0009, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0021);
lbl_1_bss_35BC[1].unk_08[1] = 0;
fn_1_1DED8();
lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_1E8A4;
while (1) {
fn_1_4D8();
if ((var_r28 != lbl_1_bss_35BC[0].unk_08[0]) || (var_r27 != lbl_1_bss_35BC[0].unk_1C[lbl_1_bss_35BC[0].unk_08[0] - 1])) {
var_r28 = lbl_1_bss_35BC[0].unk_08[0];
var_r27 = lbl_1_bss_35BC[0].unk_1C[lbl_1_bss_35BC[0].unk_08[0] - 1];
switch (lbl_1_bss_35BC[0].unk_08[0]) {
case 1:
HuWinInsertMesSet(var_r31, lbl_1_bss_35BC[0].unk_1C[0] + 0x1B0028, 0);
fn_1_1968(var_r31, 0x1B0027, -1, -0x3E7);
break;
case 2:
fn_1_1968(var_r31, lbl_1_bss_35BC[0].unk_1C[1] + 0x1B0018, -1, -0x3E7);
break;
}
}
if (lbl_1_bss_35BC[0].unk_08[3] != 0) {
continue;
}
if (lbl_1_bss_35BC[1].unk_08[1] == 1) {
var_r30 = 2;
break;
}
else if (lbl_1_bss_35BC[1].unk_08[1] == -1) {
var_r30 = 0;
break;
}
}
fn_1_1DF48();
lbl_1_bss_35BC[0].unk_04 = NULL;
fn_1_2318(0);
if (var_r30 == 1) {
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x1E0005, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
var_r29 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r29 == 0) {
fn_1_16AC(var_r31);
fn_1_C174(0);
}
}
else if (var_r30 == 2) {
fn_1_1968(var_r31, 0x1B0000, -1, 5);
var_r29 = fn_1_1A5C(0x1E0035, 3, 0);
if (var_r29 == 0) {
break;
}
fn_1_1968(var_r31, 0x1B0007, -1, 5);
var_r29 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r29 == 0) {
fn_1_1CF68();
var_r30 = 0;
break;
}
else {
var_r28 = -1;
var_r27 = -1;
}
}
else {
var_r30 = 0;
break;
}
}
lbl_1_bss_E0 = lbl_1_bss_35BC[0].unk_1C[1];
fn_1_16AC(var_r31);
return var_r30;
}
void fn_1_D310(void)
{
fn_1_1E1B4();
}
void fn_1_D330(void)
{
fn_1_1F868();
}
void fn_1_D350(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
fn_1_4B0(0x3C);
var_r29 = fn_1_1434(0, 0, 0);
lbl_1_bss_3104->work[0] = 1;
var_r31 = -1;
var_r31 = HuAudFXPlay(0x43);
HuAudFXPanning(var_r31, 0x20);
var_r31 = HuAudFXPlay(0x40);
HuAudFXPanning(var_r31, 0x30);
var_r31 = HuAudFXPlay(0x37);
HuAudFXPanning(var_r31, 0x40);
var_r31 = HuAudFXPlay(0x4B);
HuAudFXPanning(var_r31, 0x4C);
var_r31 = HuAudFXPlay(0x46);
HuAudFXPanning(var_r31, 0x60);
HuAudFXPlay(0x9A);
for (var_r30 = 0; var_r30 < 5; var_r30++) {
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 6, 5, 1);
}
HuWinInsertMesSet(var_r29, lbl_1_bss_3114->unk_68, 0);
fn_1_1968(var_r29, 0x1E0006, 0, 0xB4);
for (var_r30 = 0; var_r30 < 5; var_r30++) {
fn_1_59A0(lbl_1_bss_33AC[var_r30].unk_00, 1, 1, 0xF, 1);
}
fn_1_4B0(0x1E);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
HuWinInsertMesSet(var_r29, lbl_1_bss_3114->unk_68, 0);
fn_1_1968(var_r29, 0x1E0007, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_2808(fn_1_148B0);
HuAudFXPlay(0x39);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r29, 0x1E0008, 0, 0x78);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
fn_1_2808(fn_1_13F68);
fn_1_16AC(var_r29);
fn_1_4B0(0x78);
lbl_1_bss_3104->func = NULL;
_ClearFlag(2);
_ClearFlag(3);
_ClearFlag(4);
_ClearFlag(5);
_ClearFlag(6);
_ClearFlag(7);
_ClearFlag(1);
_ClearFlag(9);
}
void fn_1_D634(void)
{
s32 var_r31;
s32 i;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 sp8[6] = { 1, 2, 0, 3, 4, 5 };
var_r28 = 0;
var_r31 = 2;
if (lbl_1_data_2F0 == -1) {
var_r29 = fn_1_1434(0, 0, 0);
}
else {
var_r29 = lbl_1_data_2F0;
lbl_1_data_2F0 = -1;
}
while (1) {
fn_1_4D8();
var_r28 = 0;
lbl_1_bss_33AC[0].unk_34 = 1;
HuAudFXPlay(lbl_1_data_0[0][3]);
fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r29, 0x1A0008, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 1, 0xF, 1);
fn_1_2154(0x1A0020);
for (i = 0; i < 5; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
lbl_1_bss_33AC[i].unk_04 = (MentDllUnkFunc)fn_1_127FC;
}
lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1;
lbl_1_bss_35BC[0].unk_04 = (MentDllUnkFunc)fn_1_18F74;
while (1) {
fn_1_4D8();
for (i = 0; i < 5; i++) {
if (lbl_1_bss_33AC[i].unk_08 != 2) {
break;
}
}
if (i == 5 && var_r28 >= 0x15) {
if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & 0x100)) {
HuAudFXPlay(2);
var_r26 = 2;
break;
}
if ((HuPadStkX[lbl_1_bss_3114[0].unk_6C] >= 0x32) || ((HuPadBtn[lbl_1_bss_3114[0].unk_6C] & PAD_BUTTON_RIGHT) != 0)) {
var_r31++;
if (var_r31 > 4) {
var_r31 = 4;
}
else {
var_r28 = 0;
}
}
else if ((HuPadStkX[lbl_1_bss_3114[0].unk_6C] <= -50) || ((HuPadBtn[lbl_1_bss_3114[0].unk_6C] & PAD_BUTTON_LEFT) != 0)) {
var_r31--;
if (var_r31 < 0) {
var_r31 = 0;
}
else {
var_r28 = 0;
}
}
else if ((HuPadBtnDown[0] & 0x200)) {
var_r26 = 1;
break;
}
}
if (var_r28 == 0) {
for (i = 0; i < 5; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
}
lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1;
}
if (var_r28++ == 0x14) {
var_r28 = 0x15;
fn_1_18A54(sp8[var_r31]);
fn_1_1968(var_r29, sp8[var_r31] + 0x1B0001, -1, -0x3E7);
if (sp8[var_r31] != 0) {
HuAudFXPlay(lbl_1_data_0[sp8[var_r31]][0]);
}
else {
HuAudFXPlay(lbl_1_data_0[sp8[var_r31]][2]);
}
}
}
fn_1_2318(0);
if (var_r26 == 1) {
fn_1_2808(fn_1_14058);
if (var_r31 != 2) {
var_r31 = 2;
for (i = 0; i < 5; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
}
lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1;
lbl_1_bss_33AC[sp8[var_r31]].unk_34 = 1;
}
fn_1_18DCC();
fn_1_4B0(0x1E);
fn_1_1968(var_r29, 0x1E0005, -1, 5);
var_r27 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r27 == 0) {
fn_1_16AC(var_r29);
fn_1_C174(0);
}
continue;
}
if (var_r26 != 2) {
continue;
}
if (((sp8[var_r31] == 0) && (_CheckFlag(FLAG_ID_MAKE(0, 2)) != 0)) || ((sp8[var_r31] == 1) && (_CheckFlag(FLAG_ID_MAKE(0, 3)) != 0))
|| ((sp8[var_r31] == 2) && (_CheckFlag(FLAG_ID_MAKE(0, 4)) != 0)) || ((sp8[var_r31] == 3) && (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0))
|| ((sp8[var_r31] == 4) && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0))) {
fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 4, 0xF, 1);
HuWinInsertMesSet(var_r29, sp8[var_r31] + 0x1B0021, 1);
fn_1_1968(var_r29, sp8[var_r31] + 0x1E0052, -1, -1);
fn_1_1968(var_r29, sp8[var_r31] + 0x1E0057, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[sp8[var_r31]].unk_00, 1, 1, 0xF, 1);
var_r27 = fn_1_1DD8(0x1E0035, 3, 0);
if (var_r27 == 0) {
for (i = 0; i < 5; i++) {
lbl_1_bss_33AC[i].unk_04 = NULL;
}
lbl_1_bss_A8[2] = sp8[var_r31];
}
else {
if (var_r31 != 2) {
var_r31 = 2;
for (i = 0; i < 5; i++) {
lbl_1_bss_33AC[i].unk_08 = 0;
}
lbl_1_bss_33AC[sp8[var_r31]].unk_08 = 1;
lbl_1_bss_33AC[sp8[var_r31]].unk_34 = 1;
}
fn_1_18DCC();
fn_1_4B0(0x1E);
continue;
}
}
else {
for (i = 0; i < 5; i++) {
lbl_1_bss_33AC[i].unk_04 = NULL;
}
lbl_1_bss_A8[2] = sp8[var_r31];
}
break;
}
fn_1_16AC(var_r29);
}
void fn_1_DE60(void)
{
s32 var_r31 = lbl_1_bss_A8[2];
{
Vec sp14 = { -120.0f, 0.0f, 670.0f };
fn_1_1FA34();
fn_1_2808(fn_1_14238);
fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[var_r31].unk_00, 1, sp14, 5.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[var_r31].unk_00, 1, 1, 0xF, 1);
Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 2, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0);
fn_1_4B0(0x3C);
}
}
void fn_1_DFDC(void)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r31 = 0;
var_r29 = lbl_1_bss_A8[2];
for (var_r30 = 0; var_r30 < 5; var_r30++) {
Hu3DModelAttrSet(lbl_1_bss_33AC[var_r30].unk_00->model[1], HU3D_ATTR_DISPOFF);
}
Hu3DModelAttrReset(lbl_1_bss_33AC[var_r29].unk_00->model[1], HU3D_ATTR_DISPOFF);
fn_1_11908(lbl_1_bss_35BC[var_r31].unk_00, lbl_1_bss_A8[2]);
Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrReset(lbl_1_bss_35BC[var_r31].unk_00->model[5], HU3D_ATTR_DISPOFF);
lbl_1_bss_35BC[var_r31].unk_04 = (MentDllUnkFunc)fn_1_1184C;
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
fn_1_5818(lbl_1_bss_35BC[var_r31].unk_00, 2, 3, 0, 0);
var_r28 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[var_r29].unk_00, 1, 5, 0xF, 1);
fn_1_1968(var_r28, var_r29 + 0x1E000C, -1, -1);
fn_1_16AC(var_r28);
fn_1_5CDC(lbl_1_bss_35BC[var_r31].unk_00, 2, 0);
Hu3DModelAttrSet(lbl_1_bss_35BC[var_r31].unk_00->model[2], HU3D_ATTR_DISPOFF);
HuAudSeqFadeOut(lbl_1_bss_14[0], 0xBB8);
fn_1_2808(fn_1_14418);
fn_1_4B0(0xA);
HuAudFXPlay(GWPlayerCfg->character + 0x75);
fn_1_4B0(0x8C);
}
void fn_1_E244(void)
{
lbl_1_bss_14[0] = HuAudSeqPlay(0x30);
OSReport("########### ME_MainProcFunc200\n");
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
fn_1_4B0(0x3C);
}
void fn_1_E2B4(void)
{
Vec sp14 = { 0.0f, 0.0f, 560.0f };
Hu3DModelAttrReset(lbl_1_bss_35BC[0].unk_00->model[2], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
fn_1_5CDC(lbl_1_bss_35BC[0].unk_00, 2, 0);
fn_1_D330();
fn_1_2808(fn_1_146D0);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 2, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[0].unk_00, 1, sp14, 0.0f, 3.0f, 0.0f, 1, 0);
fn_1_59A0(lbl_1_bss_33AC[0].unk_00, 1, 1, 0xF, 1);
}
void fn_1_E3FC(void)
{
lbl_1_bss_14[0] = HuAudSeqPlay(6);
OSReport("########### ME_MainProcFunc300\n");
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
fn_1_D330();
lbl_1_bss_35BC[1].unk_04 = (MentDllUnkFunc)fn_1_18F74;
fn_1_18A54(5);
fn_1_4B0(0x3C);
}
void fn_1_E48C(void)
{
s32 var_r31;
lbl_1_bss_A8[2] = 5;
var_r31 = fn_1_1434(0, 0, 0);
HuAudFXPlay(lbl_1_data_0[6][2]);
fn_1_1968(var_r31, 0x1F0008, 0, 0x3C);
fn_1_59A0(lbl_1_bss_3354.unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
fn_1_1FC54();
fn_1_4B0(0x3C);
Hu3DModelAttrReset(lbl_1_bss_35BC[1].unk_00->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrReset(lbl_1_bss_35BC[1].unk_00->model[5], HU3D_ATTR_DISPOFF);
fn_1_7304();
HuDataDirClose(DATADIR_MENT);
HuPrcChildCreate(fn_1_7218, 0x64, 0x3000, 0, lbl_1_bss_C8);
fn_1_59A0(lbl_1_bss_3354.unk_00, 1, 2, 0xF, 1);
fn_1_5818(lbl_1_bss_35BC[1].unk_00, 2, 3, 0, 0);
fn_1_4B0(0x3C);
HuAudFXPlay(lbl_1_data_0[6][0]);
fn_1_5CDC(lbl_1_bss_35BC[1].unk_00, 2, 0);
Hu3DModelAttrSet(lbl_1_bss_35BC[1].unk_00->model[2], HU3D_ATTR_DISPOFF);
HuAudSeqFadeOut(lbl_1_bss_14[0], 0xBB8);
fn_1_2808(fn_1_14418);
fn_1_4B0(0xA);
fn_1_4B0(0x8C);
}
void fn_1_E654(s32 arg0)
{
fn_1_4B0(0x3C);
HuAudSeqFadeOut(lbl_1_bss_14[0], 0x3E8);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
HuAudAllStop();
HuDataDirClose(DATADIR_MENT);
CharARAMOpen(GWPlayerCfg[0].character);
if (arg0 == 0) {
CharARAMOpen(GWPlayerCfg[1].character);
CharARAMOpen(GWPlayerCfg[2].character);
CharARAMOpen(GWPlayerCfg[3].character);
}
}
void fn_1_E71C(s32 arg0)
{
s32 spC[7] = { 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F };
fn_1_4B0(0x3C);
HuAudSeqFadeOut(lbl_1_bss_14[0], 0x3E8);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
{
omOvlHisData *sp8 = omOvlHisGet(0);
}
omOvlHisChg(0, OVL_MSTORY3, 0, 0);
do {
fn_1_4D8();
} while (lbl_1_bss_D8 != 1);
CharARAMOpen(GWPlayerCfg[0].character);
CharARAMOpen(GWPlayerCfg[1].character);
CharARAMOpen(GWPlayerCfg[2].character);
CharARAMOpen(GWPlayerCfg[3].character);
HuAudSeqAllFadeOut(0x3E8);
HuAudSStreamAllFadeOut(0x3E8);
omOvlCallEx(spC[GWSystem.board], 1, 0, 0);
while (1) {
fn_1_4D8();
}
}
inline void fn_1_E874_inline(void)
{
s32 sp18 = lbl_1_bss_3114[0].unk_68;
GWSystem.unk0B[1] = sp18;
}
void fn_1_E874(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
s32 var_r31;
s32 var_r29;
s32 var_r27;
s32 var_r25;
s32 var_r24;
s32 var_r18;
var_r25 = 0;
if (lbl_1_bss_A8[1] == 0) {
fn_1_81F0();
fn_1_77C0();
fn_1_C4B8();
fn_1_CAE4();
}
else {
fn_1_7858();
fn_1_CAE4();
}
fn_1_1DFB8();
do {
fn_1_4D8();
switch (var_r25) {
case 0:
var_r25 = fn_1_CD8C();
break;
case 1:
var_r25 = fn_1_CF8C();
break;
}
} while (var_r25 != 2);
fn_1_D310();
fn_1_81D8();
fn_1_7A14();
fn_1_D634();
fn_1_DE60();
switch (lbl_1_bss_E0) {
case 0:
var_r24 = 0;
break;
case 1:
var_r24 = 1;
break;
case 2:
var_r24 = 2;
break;
default:
var_r24 = 0;
break;
}
if (lbl_1_bss_35BC[0].unk_1C[0] == 4) {
var_r18 = 1;
}
else {
var_r18 = 0;
}
BoardStoryConfigSet(var_r24, var_r18);
fn_1_E874_inline();
// looks a bit similar to fn_1_7304
for (var_r31 = 1; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_68 = -1;
lbl_1_bss_3114[var_r31].unk_6C = var_r31;
lbl_1_bss_3114[var_r31].unk_60 = 1;
}
for (var_r31 = 1; var_r31 < 4; var_r31++) {
do {
lbl_1_bss_3114[var_r31].unk_68 = rand8() % 8;
for (var_r27 = 0; var_r27 < 4; var_r27++) {
if ((var_r31 != var_r27) && (lbl_1_bss_3114[var_r27].unk_68 != -1)
&& (lbl_1_bss_3114[var_r31].unk_68 == lbl_1_bss_3114[var_r27].unk_68)) {
break;
}
}
} while (var_r27 != 4);
}
GWSystem.diff_story = lbl_1_bss_35BC[0].unk_1C[0];
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_64 = GWSystem.diff_story;
if (GWSystem.diff_story == 4) {
lbl_1_bss_3114[var_r31].unk_64 = fn_1_7124();
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
GWPlayer[var_r31].character = GWPlayerCfg[var_r31].character = lbl_1_bss_3114[var_r31].unk_68;
GWPlayer[var_r31].port = GWPlayerCfg[var_r31].pad_idx = lbl_1_bss_3114[var_r31].unk_6C;
GWPlayer[var_r31].diff = GWPlayerCfg[var_r31].diff = lbl_1_bss_3114[var_r31].unk_64;
GWPlayerCfg[var_r31].group = 0;
GWPlayer[var_r31].com = GWPlayerCfg[var_r31].iscom = lbl_1_bss_3114[var_r31].unk_60;
}
BoardSaveInit(lbl_1_bss_A8[2]);
fn_1_DFDC();
fn_1_E71C(0);
}
void fn_1_F83C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
_ClearFlag(FLAG_ID_MAKE(0, 9));
lbl_1_bss_35BC[0].unk_1C[0] = GWSystem.diff_story;
fn_1_E244();
fn_1_E2B4();
fn_1_D634();
fn_1_DE60();
fn_1_7304();
fn_1_DFDC();
WipeColorSet(0xFF, 0xFF, 0xFF);
fn_1_7684();
}
void fn_1_FEAC(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
_ClearFlag(9);
lbl_1_bss_35BC[0].unk_1C[0] = GWSystem.diff_story;
fn_1_E3FC();
fn_1_E48C();
WipeColorSet(0, 0, 0);
fn_1_7684();
}
void fn_1_10234(void)
{
s32 var_r31;
Vec sp2C = { 0.0f, 0.0f, 560.0f };
Vec sp20 = { -120.0f, 0.0f, 670.0f };
fn_1_2808(fn_1_13DEC);
fn_1_4B0(0x5A);
Hu3DModelAttrReset(lbl_1_bss_33AC[4].unk_00->model[1], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
fn_1_4B0(0x96);
lbl_1_bss_3108[0]->work[0] = 1;
fn_1_2808(fn_1_13F68);
fn_1_4B0(0x5A);
fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 2, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[4].unk_00, 1, sp2C, 0.0f, 3.0f, 0.0f, 1, 0);
fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
HuAudSeqPlay(0x2D);
var_r31 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x2F0000, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
fn_1_5818(lbl_1_bss_33AC[4].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[4].unk_00, 1, sp20, 5.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[4].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
fn_1_5818(lbl_1_bss_33AC[4].unk_00, 1, 5, 0xF, 1);
fn_1_2808(fn_1_14AB8);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 1, 0, 0, 0);
}
void fn_1_1053C(void)
{
fn_1_4B0(0x6E);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
HuAudFXAllStop();
HuAudSStreamAllStop();
omOvlGotoEx(OVL_OPTION, 1, 0, 0);
while (1) {
fn_1_4D8();
}
}
void fn_1_105B8(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
fn_1_81F0();
fn_1_10234();
fn_1_1053C();
}
void fn_1_10954(void)
{
s32 var_r31;
Vec sp2C = { 0.0f, 0.0f, 560.0f };
Vec sp20 = { -120.0f, 0.0f, 670.0f };
fn_1_2808(fn_1_13DEC);
fn_1_4B0(0x5A);
Hu3DModelAttrReset(lbl_1_bss_33AC[2].unk_00->model[1], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
fn_1_4B0(0x96);
lbl_1_bss_3108[0]->work[0] = 1;
fn_1_2808(fn_1_13F68);
fn_1_4B0(0x5A);
fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 2, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[2].unk_00, 1, sp2C, 0.0f, 3.0f, 0.0f, 1, 0);
fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
HuAudSeqPlay(0x2F);
var_r31 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x320000, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
fn_1_5818(lbl_1_bss_33AC[2].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[2].unk_00, 1, sp20, 5.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[2].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
fn_1_5818(lbl_1_bss_33AC[2].unk_00, 1, 5, 0xF, 1);
fn_1_2808(fn_1_14AB8);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 1, 0, 0, 0);
}
void fn_1_10C5C(void)
{
fn_1_4B0(0x6E);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
HuAudFXAllStop();
HuAudSStreamAllStop();
omOvlGotoEx(OVL_PRESENT, 1, 0, 0);
while (1) {
fn_1_4D8();
}
}
void fn_1_10CD8(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
fn_1_81F0();
fn_1_10954();
fn_1_10C5C();
}
void fn_1_11074(void)
{
s32 var_r31;
s32 var_r30;
Vec sp14 = { 0.0f, 0.0f, 560.0f };
fn_1_2808(fn_1_13DEC);
fn_1_4B0(0x5A);
Hu3DModelAttrReset(lbl_1_bss_33AC[3].unk_00->model[1], HU3D_ATTR_DISPOFF);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 2, 3, 0, 0);
fn_1_4B0(0x96);
lbl_1_bss_3108[0]->work[0] = 1;
fn_1_2808(fn_1_13F68);
fn_1_4B0(0x5A);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 2, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[3].unk_00, 1, sp14, 0.0f, 3.0f, 0.0f, 1, 0);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
var_r31 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x330000, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
var_r31 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x330001, -1, 5);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1);
var_r30 = fn_1_1A5C(0x1E0035, 3, 0);
fn_1_16AC(var_r31);
if (var_r30 == 0) {
var_r31 = fn_1_1434(0, 0, 0);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 4, 0xF, 1);
fn_1_1968(var_r31, 0x330002, -1, -1);
fn_1_59A0(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1);
fn_1_16AC(var_r31);
}
}
void fn_1_11368(void)
{
Vec sp14 = { -120.0f, 0.0f, 670.0f };
fn_1_5818(lbl_1_bss_33AC[3].unk_00, 1, 3, 0xF, 1);
fn_1_5D38(lbl_1_bss_33AC[3].unk_00, 1, sp14, 5.0f, 6.0f, 10.0f, 1, 1);
fn_1_5818(lbl_1_bss_33AC[3].unk_00, 1, 1, 0xF, 1);
fn_1_4B0(0x1E);
fn_1_5818(lbl_1_bss_33AC[3].unk_00, 1, 5, 0xF, 1);
fn_1_2808(fn_1_14AB8);
fn_1_5818(lbl_1_bss_35BC[0].unk_00, 1, 0, 0, 0);
}
void fn_1_114A0(void)
{
fn_1_4B0(0x6E);
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
while (WipeStatGet() != 0) {
fn_1_4D8();
}
CharModelKill(-1);
MGSeqKillAll();
HuAudFadeOut(1);
omOvlReturnEx(1, 1);
while (1) {
fn_1_4D8();
}
}
void fn_1_11514(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
s32 spC = 0xA;
s32 sp8 = 0;
fn_1_81F0();
fn_1_11074();
fn_1_11368();
fn_1_114A0();
}
void fn_1_116F4(void)
{
omObjData *var_r31;
var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL);
lbl_1_bss_366C.unk_00 = var_r31;
switch (lbl_1_bss_A8[0]) {
case 0:
case 20:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_B654;
break;
case 1:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_E874;
break;
case 3:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_105B8;
break;
case 4:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_10CD8;
break;
case 5:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_11514;
break;
case 10:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_F83C;
break;
case 11:
lbl_1_bss_366C.unk_04 = (MentDllUnkFunc)fn_1_FEAC;
break;
}
while (1) {
fn_1_4D8();
if (lbl_1_bss_366C.unk_04 == NULL) {
continue;
}
lbl_1_bss_366C.unk_04(var_r31, &lbl_1_bss_366C);
}
}
void fn_1_1184C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
Hu3DData[arg0->model[4]].pos.y = fn_1_3F4(80.0f, 90.0f, arg1->unk_1C[0]++, 360.0f);
if (arg1->unk_1C[0] >= 0x168) {
arg1->unk_1C[0] = 0;
}
}
void fn_1_11908(omObjData *arg0, s32 arg1)
{
arg0->model[4] = Hu3DModelCreateFile(arg1 + DATA_MAKE_NUM(DATADIR_MENT, 0xD));
if (arg1 != 5) {
arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x13));
}
else {
arg0->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x14));
}
arg0->motion[4] = Hu3DMotionIDGet(arg0->model[4]);
arg0->motion[5] = Hu3DMotionIDGet(arg0->model[5]);
fn_1_59A0(arg0, 4, 4, 0, 2);
fn_1_59A0(arg0, 5, 5, 0, 2);
if (arg1 != 5) {
Hu3DModelPosSet(arg0->model[4], 0.0f, 80.0f, 460.0f);
Hu3DModelHookSet(arg0->model[4], "partybox_fix2-effect_fook1", arg0->model[5]);
}
else {
Hu3DModelPosSet(arg0->model[4], 1200.0f, 80.0f, 460.0f);
Hu3DModelHookSet(arg0->model[4], "koopabox_fix-effect_fook2", arg0->model[5]);
}
Hu3DModelAttrSet(arg0->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(arg0->model[5], HU3D_ATTR_DISPOFF);
Hu3DModelShadowSet(arg0->model[4]);
}
void fn_1_11AD0(omObjData *object)
{
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x61));
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x69));
if (lbl_1_bss_A8[0] < 0xA) {
object->model[3] = Hu3DModelCreateFile(lbl_1_bss_A8[0] + DATA_MAKE_NUM(DATADIR_MENT, 0x63));
}
else {
object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x64));
}
if ((lbl_1_bss_A8[4] == 1) && ((lbl_1_bss_A8[0] == 0) || (lbl_1_bss_A8[0] == 0x14))) {
object->model[6] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x6C));
Hu3DModelLayerSet(object->model[6], 2);
Hu3DModelPosSet(object->model[6], 50.0f, 0.0f, -100.0f);
object->model[7] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x6D));
Hu3DModelLayerSet(object->model[7], 2);
Hu3DModelPosSet(object->model[7], 1150.0f, 0.0f, -100.0f);
}
object->motion[0] = Hu3DMotionIDGet(object->model[1]);
object->motion[1] = Hu3DMotionIDGet(object->model[3]);
object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6A));
object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6B));
if (lbl_1_bss_A8[0] == 0xA) {
fn_1_59A0(object, 2, 3, 0, 2);
}
else {
fn_1_59A0(object, 2, 3, 0, 2);
}
fn_1_59A0(object, 3, 1, 0, 1);
fn_1_59A0(object, 1, 0, 0, 2);
Hu3DModelShadowMapObjSet(object->model[1], "base_fix9-base");
}
void fn_1_11DA4(omObjData *object, s32 arg1, s32 arg2, s32 arg3)
{
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x62));
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x69));
object->motion[1] = Hu3DMotionIDGet(object->model[1]);
object->motion[2] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6A));
object->motion[3] = Hu3DJointMotionFile(object->model[2], DATA_MAKE_NUM(DATADIR_MENT, 0x6B));
if (lbl_1_bss_A8[0] == 0xB) {
fn_1_59A0(object, 2, 3, 0, 2);
}
else {
fn_1_59A0(object, 2, 2, 0, 2);
Hu3DModelAttrSet(object->model[2], HU3D_ATTR_DISPOFF);
}
fn_1_59A0(object, 1, 1, 0, 1);
Hu3DModelPosSet(object->model[1], 1200.0f, 0.0f, 0.0f);
Hu3DModelPosSet(object->model[2], 1200.0f, 0.0f, 0.0f);
if (lbl_1_bss_A8[0] == 3) {
object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x12));
object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x14));
object->motion[4] = Hu3DMotionIDGet(object->model[4]);
object->motion[5] = Hu3DMotionIDGet(object->model[5]);
fn_1_59A0(object, 4, 4, 0, 2);
fn_1_59A0(object, 5, 5, 0, 2);
Hu3DModelPosSet(object->model[4], 1200.0f, 80.0f, 460.0f);
Hu3DModelHookSet(object->model[4], "koopabox_fix-effect_fook2", object->model[5]);
Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF);
Hu3DModelShadowSet(object->model[4]);
Hu3DModelAttrReset(object->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrReset(object->model[5], HU3D_ATTR_DISPOFF);
lbl_1_bss_35BC[1].unk_04 = (MentDllUnkFunc)fn_1_1184C;
}
Hu3DModelShadowMapObjSet(object->model[1], "base_story-base");
if (lbl_1_bss_A8[0] == 0xB) {
object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x12));
object->model[5] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x14));
object->motion[4] = Hu3DMotionIDGet(object->model[4]);
object->motion[5] = Hu3DMotionIDGet(object->model[5]);
fn_1_59A0(object, 4, 4, 0, 2);
fn_1_59A0(object, 5, 5, 0, 2);
Hu3DModelPosSet(object->model[4], 1200.0f, 80.0f, 460.0f);
Hu3DModelHookSet(object->model[4], "koopabox_fix-effect_fook2", object->model[5]);
Hu3DModelAttrSet(object->model[4], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(object->model[5], HU3D_ATTR_DISPOFF);
Hu3DModelShadowSet(object->model[4]);
}
}
void fn_1_121D8(void)
{
omObjData *var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_bss_CC;
lbl_1_bss_CC = var_r30 + 1;
var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL);
lbl_1_bss_35BC[var_r30].unk_00 = var_r31;
lbl_1_bss_35BC[var_r30].unk_04 = NULL;
if (var_r30 == 0) {
fn_1_11AD0(var_r31);
switch (lbl_1_bss_A8[0]) {
case 0:
fn_1_20B54(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_151B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_17CC8(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_18788(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_1BB2C(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
break;
case 1:
fn_1_1D4FC(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_1F6B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_18788(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
break;
case 10:
if (GWSystem.mg_list == 3) {
GWSystem.mg_list = 0;
}
var_r29 = GWSystem.mg_list;
lbl_1_bss_35BC[0].unk_1C[1] = var_r29;
lbl_1_bss_35BC[0].unk_1C[0] = GWPlayerCfg[0].diff;
fn_1_1F6B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_18788(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
break;
case 5:
fn_1_20B54(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
fn_1_151B8(&lbl_1_bss_35BC[var_r30], 0, 0, 0);
break;
}
}
else {
fn_1_11DA4(var_r31, 0, 0, 0);
if (lbl_1_bss_A8[0] == 0xB) {
fn_1_1F6B8(lbl_1_bss_35BC, 0, 0, 0);
fn_1_18788(lbl_1_bss_35BC, 0, 0, 0);
}
}
while (1) {
fn_1_4D8();
if (lbl_1_bss_35BC[var_r30].unk_04 == NULL) {
continue;
}
lbl_1_bss_35BC[var_r30].unk_04(var_r31, &lbl_1_bss_35BC[var_r30]);
}
}
void fn_1_127FC(omObjData *arg0, MentDllUnkBss33ACStruct *arg1)
{
float var_f31;
float var_f30;
var_f31 = 0.0f;
var_f30 = 0.0f;
var_f31 = Hu3DData[arg0->model[1]].pos.z;
var_f30 = Hu3DData[arg0->model[1]].rot.y;
if (arg1->unk_08 == 1) {
if (var_f31 > 560.0f) {
arg1->unk_08 = 2;
fn_1_59A0(arg0, 1, 1, 0xF, 1);
}
else {
var_f31 += 5.0f;
fn_1_59A0(arg0, 1, 2, 0xF, 1);
var_f30 = fn_1_234(var_f30, 0.0f, 10.0f);
}
}
else if (arg1->unk_08 == 0) {
if (var_f31 <= 460.0f) {
arg1->unk_08 = 2;
fn_1_59A0(arg0, 1, 1, 0xF, 1);
}
else {
var_f31 -= 5.0f;
fn_1_59A0(arg0, 1, 2, 0xF, 1);
var_f30 = fn_1_234(var_f30, lbl_1_data_120[arg1->unk_30], 10.0f);
}
}
Hu3DData[arg0->model[1]].pos.z = var_f31;
Hu3DData[arg0->model[1]].rot.y = var_f30;
}
void fn_1_12A0C(omObjData *object, s32 arg1)
{
s32 sp20[6] = {
DATA_MAKE_NUM(DATADIR_MENT, 0x6E),
DATA_MAKE_NUM(DATADIR_MENT, 0x75),
DATA_MAKE_NUM(DATADIR_MENT, 0x7C),
DATA_MAKE_NUM(DATADIR_MENT, 0x83),
DATA_MAKE_NUM(DATADIR_MENT, 0x89),
DATA_MAKE_NUM(DATADIR_MENT, 0x90),
};
s32 sp38[6][6] = {
DATA_MAKE_NUM(DATADIR_MENT, 0x6F),
DATA_MAKE_NUM(DATADIR_MENT, 0x70),
DATA_MAKE_NUM(DATADIR_MENT, 0x71),
DATA_MAKE_NUM(DATADIR_MENT, 0x72),
DATA_MAKE_NUM(DATADIR_MENT, 0x73),
DATA_MAKE_NUM(DATADIR_MENT, 0x74),
DATA_MAKE_NUM(DATADIR_MENT, 0x76),
DATA_MAKE_NUM(DATADIR_MENT, 0x77),
DATA_MAKE_NUM(DATADIR_MENT, 0x78),
DATA_MAKE_NUM(DATADIR_MENT, 0x79),
DATA_MAKE_NUM(DATADIR_MENT, 0x7A),
DATA_MAKE_NUM(DATADIR_MENT, 0x7B),
DATA_MAKE_NUM(DATADIR_MENT, 0x7D),
DATA_MAKE_NUM(DATADIR_MENT, 0x7E),
DATA_MAKE_NUM(DATADIR_MENT, 0x7F),
DATA_MAKE_NUM(DATADIR_MENT, 0x80),
DATA_MAKE_NUM(DATADIR_MENT, 0x81),
DATA_MAKE_NUM(DATADIR_MENT, 0x82),
DATA_MAKE_NUM(DATADIR_MENT, 0x84),
DATA_MAKE_NUM(DATADIR_MENT, 0x85),
DATA_MAKE_NUM(DATADIR_MENT, 0x85),
DATA_MAKE_NUM(DATADIR_MENT, 0x86),
DATA_MAKE_NUM(DATADIR_MENT, 0x87),
DATA_MAKE_NUM(DATADIR_MENT, 0x88),
DATA_MAKE_NUM(DATADIR_MENT, 0x8A),
DATA_MAKE_NUM(DATADIR_MENT, 0x8B),
DATA_MAKE_NUM(DATADIR_MENT, 0x8C),
DATA_MAKE_NUM(DATADIR_MENT, 0x8D),
DATA_MAKE_NUM(DATADIR_MENT, 0x8E),
DATA_MAKE_NUM(DATADIR_MENT, 0x8F),
DATA_MAKE_NUM(DATADIR_MENT, 0x91),
DATA_MAKE_NUM(DATADIR_MENT, 0x92),
DATA_MAKE_NUM(DATADIR_MENT, 0x93),
DATA_MAKE_NUM(DATADIR_MENT, 0x94),
DATA_MAKE_NUM(DATADIR_MENT, 0x95),
DATA_MAKE_NUM(DATADIR_MENT, 0x91),
};
object->model[1] = Hu3DModelCreateFile(sp20[arg1]);
object->motion[1] = Hu3DJointMotionFile(object->model[1], sp38[arg1][0]);
object->motion[2] = Hu3DJointMotionFile(object->model[1], sp38[arg1][1]);
object->motion[3] = Hu3DJointMotionFile(object->model[1], sp38[arg1][2]);
object->motion[4] = Hu3DJointMotionFile(object->model[1], sp38[arg1][3]);
object->motion[5] = Hu3DJointMotionFile(object->model[1], sp38[arg1][4]);
object->motion[6] = Hu3DJointMotionFile(object->model[1], sp38[arg1][5]);
{
s32 sp8[6] = { 9, 14, 10, 11, 12, 13 };
if (arg1 != 3) {
CharModelEffectNpcInit(object->model[1], object->motion[2], 0, sp8[arg1]);
CharModelEffectNpcInit(object->model[1], object->motion[3], 1, sp8[arg1]);
}
}
fn_1_59A0(object, 1, 1, 0, 1);
Hu3DModelPosSet(object->model[1], lbl_1_data_D8[arg1].x, lbl_1_data_D8[arg1].y, lbl_1_data_D8[arg1].z);
Hu3DModelRotSet(object->model[1], 0.0f, lbl_1_data_120[arg1], 0.0f);
if (lbl_1_bss_A8[0] >= 2 && lbl_1_bss_A8[0] < 0xA) {
Hu3DModelPosSet(object->model[1], lbl_1_data_D8[0].x, lbl_1_data_D8[0].y, lbl_1_data_D8[0].z);
Hu3DModelRotSet(object->model[1], 0.0f, 0.0f, 0.0f);
if (lbl_1_bss_A8[0] == 5) {
Hu3DModelPosSet(object->model[1], lbl_1_data_D8[0].x, 50.0f + lbl_1_data_D8[0].y, lbl_1_data_D8[0].z);
}
}
if (lbl_1_bss_A8[0] < 0xA) {
Hu3DModelAttrSet(object->model[1], HU3D_ATTR_DISPOFF);
}
Hu3DModelShadowSet(object->model[1]);
Hu3DModelLayerSet(object->model[1], 2);
}
void fn_1_12E40(void)
{
omObjData *var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_D0;
lbl_1_bss_D0 = var_r30 + 1;
var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL);
lbl_1_bss_33AC[var_r30].unk_00 = var_r31;
lbl_1_bss_33AC[var_r30].unk_04 = NULL;
lbl_1_bss_33AC[var_r30].unk_30 = var_r30;
fn_1_12A0C(var_r31, var_r30);
while (1) {
fn_1_4D8();
if (lbl_1_bss_33AC[var_r30].unk_04 != NULL) {
lbl_1_bss_33AC[var_r30].unk_04(var_r31, &lbl_1_bss_33AC[var_r30]);
}
if (var_r31->work[0] != 1) {
continue;
}
fn_1_5C08(var_r31);
}
}
void fn_1_13348(omObjData *arg0)
{
arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x96));
arg0->motion[1] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MENT, 0x97));
arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MENT, 0x98));
arg0->motion[3] = Hu3DJointMotionFile(arg0->model[1], DATA_MAKE_NUM(DATADIR_MENT, 0x99));
fn_1_59A0(arg0, 1, 3, 0, 1);
Hu3DModelPosSet(arg0->model[1], 1020.0f, 0.0f, 800.0f);
Hu3DModelRotSet(arg0->model[1], 0.0f, 60.0f, 0.0f);
Hu3DModelShadowSet(arg0->model[1]);
Hu3DModelLayerSet(arg0->model[1], 2);
}
void fn_1_134A8(void)
{
omObjData *var_r31;
var_r31 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL);
lbl_1_bss_3354.unk_00 = var_r31;
lbl_1_bss_3354.unk_04 = NULL;
fn_1_13348(var_r31);
while (1) {
fn_1_4D8();
if (lbl_1_bss_3354.unk_04 != NULL) {
lbl_1_bss_3354.unk_04(var_r31, &lbl_1_bss_3354);
}
if (var_r31->work[0] != 1) {
continue;
}
fn_1_5C08(var_r31);
}
}
void fn_1_1368C(omObjData *arg0, s32 arg1)
{
MentDllUnkBss3114Struct *var_r31;
var_r31 = &lbl_1_bss_3114[arg1];
var_r31->unk_58 = arg1;
var_r31->unk_5C = 0;
var_r31->unk_60 = var_r31->unk_58;
if (var_r31->unk_60 > 0) {
var_r31->unk_60 = 1;
}
var_r31->unk_64 = 0;
var_r31->unk_68 = var_r31->unk_58;
var_r31->unk_6C = var_r31->unk_58;
}
void fn_1_136F0(omObjData *arg0, s32 arg1)
{
MentDllUnkBss3114Struct *var_r31;
var_r31 = &lbl_1_bss_3114[arg1];
var_r31->unk_58 = arg1;
var_r31->unk_5C = GWPlayerCfg[var_r31->unk_58].group;
var_r31->unk_60 = GWPlayerCfg[var_r31->unk_58].iscom;
var_r31->unk_64 = GWPlayerCfg[var_r31->unk_58].diff;
var_r31->unk_68 = GWPlayerCfg[var_r31->unk_58].character;
var_r31->unk_6C = GWPlayerCfg[var_r31->unk_58].pad_idx;
}
void fn_1_137A4(omObjData *arg0, s32 arg1)
{
MentDllUnkBss3114Struct *var_r31;
var_r31 = &lbl_1_bss_3114[arg1];
var_r31->unk_58 = arg1;
var_r31->unk_5C = GWPlayerCfg[var_r31->unk_58].group;
var_r31->unk_60 = GWPlayerCfg[var_r31->unk_58].iscom;
var_r31->unk_64 = GWPlayerCfg[var_r31->unk_58].diff;
var_r31->unk_68 = GWPlayerCfg[var_r31->unk_58].character;
var_r31->unk_6C = GWPlayerCfg[var_r31->unk_58].pad_idx;
arg0->model[1] = CharModelCreate(var_r31->unk_68, 1);
arg0->motion[1] = CharModelMotionCreate(var_r31->unk_68, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0));
arg0->motion[2] = Hu3DJointMotionFile(arg0->model[1], var_r31->unk_68 + DATA_MAKE_NUM(DATADIR_MENT, 0x00));
fn_1_59A0(arg0, 1, 2, 0, 1);
Hu3DModelPosSet(arg0->model[1], 1320.0f, 0.0f, 800.0f);
Hu3DModelRotSet(arg0->model[1], 0.0f, -60.0f, 0.0f);
Hu3DModelShadowSet(arg0->model[1]);
Hu3DModelLayerSet(arg0->model[1], 2);
}
void fn_1_13970(void)
{
MentDllUnkBss3114Struct *var_r28;
omObjData *var_r27;
s32 var_r26;
var_r26 = lbl_1_bss_D4;
lbl_1_bss_D4 = var_r26 + 1;
var_r27 = omAddObjEx(lbl_1_bss_C8, 0x100, 0x10, 0x10, -1, NULL);
lbl_1_bss_3114[var_r26].unk_00 = var_r27;
lbl_1_bss_3114[var_r26].unk_04 = NULL;
if (lbl_1_bss_A8[0] <= 1) {
fn_1_1368C(var_r27, var_r26);
}
else if (lbl_1_bss_A8[0] == 0xA) {
fn_1_136F0(var_r27, 0);
}
else if (lbl_1_bss_A8[0] == 0xB) {
fn_1_137A4(var_r27, 0);
}
else {
fn_1_1368C(var_r27, var_r26);
}
while (1) {
fn_1_4D8();
if (lbl_1_bss_3114[var_r26].unk_04 == NULL) {
continue;
}
lbl_1_bss_3114[var_r26].unk_04(var_r27, &lbl_1_bss_3114[var_r26]);
}
}
void fn_1_13D60(void)
{
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
var_r31->center.x = 0.0f;
var_r31->center.y = 0.0f;
var_r31->center.z = 0.0f;
var_r31->rot.x = -10.0f;
var_r31->rot.y = 0.0f;
var_r31->rot.z = 0.0f;
var_r31->zoom = 2900.0f;
}
void fn_1_13DEC(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 0.0f;
sp8.center.z = 0.0f;
sp8.rot.x = -10.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1150.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 180.0f, 15.0f);
}
void fn_1_13EDC(void)
{
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
var_r31->center.x = 0.0f;
var_r31->center.y = 215.0f;
var_r31->center.z = 0.0f;
var_r31->rot.x = 0.0f;
var_r31->rot.y = 0.0f;
var_r31->rot.z = 0.0f;
var_r31->zoom = 1600.0f;
}
void fn_1_13F68(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 215.0f;
sp8.center.z = 0.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1600.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 60.0f, 10.0f);
}
void fn_1_14058(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 215.0f;
sp8.center.z = 0.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1600.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
}
void fn_1_14148(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 1200.0f;
sp8.center.y = 215.0f;
sp8.center.z = 0.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1600.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
}
void fn_1_14238(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 125.0f;
sp8.center.z = 0.0f;
sp8.rot.x = -5.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1750.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
}
void fn_1_14328(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 1200.0f;
sp8.center.y = 125.0f;
sp8.center.z = 0.0f;
sp8.rot.x = -5.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1750.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
}
void fn_1_14418(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_A8[2] / 5;
var_r31 = &lbl_1_bss_64;
if (var_r31->unk_40 == 0x32) {
fn_1_5818(lbl_1_bss_35BC[var_r30].unk_00, 4, 4, 0, 0);
fn_1_5818(lbl_1_bss_35BC[var_r30].unk_00, 5, 5, 0, 0);
HuAudFXPlay(0x7D);
}
sp8.center.x = 0.0f;
if (var_r30 == 1) {
sp8.center.x = 1200.0f;
}
sp8.center.y = 100.0f;
sp8.center.z = 460.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 125.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40, 180.0f, 10.0f);
if (var_r31->unk_40++ >= 90) {
if (var_r31->unk_40 == 91) {
if (var_r30 == 0) {
lbl_1_bss_24[10] = HuAudFXPlay(0x22);
}
else {
lbl_1_bss_24[10] = HuAudFXPlay(0x23);
}
}
var_r31->rot.x = fn_1_20C(var_r31->rot.x, -45.0f, var_r31->unk_40 - 0x5A, 90.0f);
Hu3DData[lbl_1_bss_35BC[var_r30].unk_00->model[4]].rot.x = fn_1_20C(0.0f, 45.0f, var_r31->unk_40 - 0x5A, 90.0f);
}
}
void fn_1_146D0(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 215.0f;
sp8.center.z = 0.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1600.0f;
fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
}
void fn_1_147C0(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 1200.0f;
sp8.center.y = 215.0f;
sp8.center.z = 0.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1600.0f;
fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 30.0f, 10.0f);
}
void fn_1_148B0(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 30.0f;
sp8.center.z = 0.0f;
sp8.rot.x = -5.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 1100.0f;
fn_1_4138(var_r31, &sp8, var_r31->unk_40++, 10.0f, 5.0f);
}
void fn_1_149A0(void)
{
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
var_r31->center.x = 0.0f;
var_r31->center.y = 125.0f;
var_r31->center.z = 0.0f;
var_r31->rot.x = -5.0f;
var_r31->rot.y = 0.0f;
var_r31->rot.z = 0.0f;
var_r31->zoom = 1750.0f;
}
void fn_1_14A2C(void)
{
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
var_r31->center.x = 1200.0f;
var_r31->center.y = 125.0f;
var_r31->center.z = 0.0f;
var_r31->rot.x = -5.0f;
var_r31->rot.y = 0.0f;
var_r31->rot.z = 0.0f;
var_r31->zoom = 1750.0f;
}
void fn_1_14AB8(void)
{
MentDllUnkBss64Struct sp8;
MentDllUnkBss64Struct *var_r31;
var_r31 = &lbl_1_bss_64;
sp8.center.x = 0.0f;
sp8.center.y = 125.0f;
sp8.center.z = 460.0f;
sp8.rot.x = 0.0f;
sp8.rot.y = 0.0f;
sp8.rot.z = 0.0f;
sp8.zoom = 125.0f;
fn_1_5150(var_r31, &sp8, var_r31->unk_40++, 120.0f, 10.0f);
}
void fn_1_14BA8(void)
{
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_30;
for (var_r31 = 0; var_r31 < 0x35; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 8; var_r31++) {
HuSprBankSet(var_r30, var_r31, 0);
HuSprAttrReset(var_r30, var_r31, 4);
HuSprAttrReset(var_r30, var_r31 + 8, 4);
}
HuSprAttrReset(var_r30, 0x28, 4);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprBankSet(var_r30, var_r31 + 0x10, 0);
HuSprBankSet(var_r30, var_r31 + 0x14, 0);
HuSprAttrReset(var_r30, var_r31 + 0x29, 4);
HuSprAttrReset(var_r30, var_r31 + 0x2D, 4);
}
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
s32 lbl_1_data_57C[4][4] = {
{ 0xA8, 0x5A, 0x78, 0x33 },
{ 0xF8, 0xBE, 0x1CA, 0x33 },
{ 0x148, 0x5A, 0x78, 0xDE },
{ 0x198, 0xBE, 0x1CA, 0xDE },
};
s32 lbl_1_data_5BC[4][2] = {
{ 0x1B, 0x18 },
{ 0x49, 0x18 },
{ 0x77, 0x18 },
{ 0xA5, 0x18 },
};
float lbl_1_data_5DC[5][5] = {
{ 262.0f, 119.0f, 1.3f, 227.0f, 455.0f },
{ 314.0f, 168.0f, 0.75f, 265.0f, 416.0f },
{ 366.0f, 204.0f, 0.75f, 240.0f, 440.0f },
{ 418.0f, 240.0f, 0.75f, 300.0f, 381.0f },
{ -1.0f, 289.0f, 1.3f, 220.0f, 460.0f },
};
s32 lbl_1_data_640[4][5] = {
{ 0xB4, 0x60, 0x87, 0, 0 },
{ 0xFC, 0xB8, 0xF6, 0xD4, 0x1D4 },
{ 0x144, 0x60, 0x11A, 0xE6, 0x1C2 },
{ 0x18C, 0xB8, 0, 0, 0 },
};
s32 lbl_1_data_690[4][4] = {
{ 0xB1, 0x68, 0x78, 0x37 },
{ 0xFB, 0x68, 0x1CA, 0x37 },
{ 0x145, 0x68, 0x78, 0x8E },
{ 0x18F, 0x68, 0x1CA, 0x8E },
};
void fn_1_14CE0(void)
{
float var_f31;
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_30;
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (lbl_1_bss_3114[var_r31].unk_60 != 0) {
HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, 4);
HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, 4);
}
else {
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, 4);
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, 4);
}
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x10, lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 % 4][0],
lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 / 4][1]);
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x14, lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 % 4][0],
lbl_1_data_57C[lbl_1_bss_3114[var_r31].unk_68 / 4][1]);
}
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0x32) {
var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f);
}
else {
var_f31 = fn_1_254(10.0f, 2.06f, var_r31 - 0x32, 10.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31);
}
}
void fn_1_15098(void)
{
float var_f31;
s32 var_r31;
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = fn_1_32C(2.06f, 10.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31);
}
}
void fn_1_151B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
AnimData *var_r26;
AnimData *var_r25;
AnimData *var_r24;
AnimData *var_r23;
AnimData *var_r22;
var_r30 = HuSprGrpCreate(0x35);
arg0->unk_30 = var_r30;
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x22));
for (var_r31 = 0; var_r31 < 8; var_r31++) {
var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x1A)), 0x3E8, 0);
HuSprGrpMemberSet(var_r30, var_r31, var_r29);
HuSprPosSet(var_r30, var_r31, lbl_1_data_57C[var_r31 % 4][0], lbl_1_data_57C[var_r31 / 4][1]);
var_r29 = HuSprCreate(var_r26, 0x3F2, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 8, var_r29);
HuSprTPLvlSet(var_r30, var_r31 + 8, 0.5f);
HuSprPosSet(var_r30, var_r31 + 8, lbl_1_data_57C[var_r31 % 4][0] + 1, lbl_1_data_57C[var_r31 / 4][1] + 2);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x23)), 0, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x10, var_r29);
var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x28)), 0xA, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x14, var_r29);
}
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x27));
var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2C));
var_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2D));
var_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2F));
var_r22 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x2E));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r29 = HuSprCreate(var_r26, 0, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x18, var_r29);
var_r29 = HuSprCreate(var_r25, 0x1E, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x1C, var_r29);
var_r29 = HuSprCreate(var_r24, 0xA, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x20, var_r29);
var_r29 = HuSprCreate(var_r23, 0x14, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x24, var_r29);
HuSprTPLvlSet(var_r30, var_r31 + 0x24, 0.5f);
var_r29 = HuSprCreate(var_r22, 0x14, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x31, var_r29);
}
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x17)), 0x7D0, 0);
HuSprGrpMemberSet(var_r30, 0x28, var_r29);
HuSprTPLvlSet(var_r30, 0x28, 0.8f);
fn_1_6534(var_r30, 0x28, 288.0f, 240.0f);
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18));
var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r29 = HuSprCreate(var_r26, 0x7BC, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x29, var_r29);
HuSprBankSet(var_r30, var_r31 + 0x29, var_r31);
fn_1_6534(var_r30, var_r31 + 0x29, lbl_1_data_57C[var_r31][2], lbl_1_data_57C[var_r31][3]);
var_r29 = HuSprCreate(var_r25, 0x7C6, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x2D, var_r29);
HuSprBankSet(var_r30, var_r31 + 0x2D, var_r31);
HuSprTPLvlSet(var_r30, var_r31 + 0x2D, 0.5f);
fn_1_6534(var_r30, var_r31 + 0x2D, lbl_1_data_57C[var_r31][2] + 1, lbl_1_data_57C[var_r31][3] + 6);
}
var_r27 = lbl_1_bss_35BC[0].unk_30;
for (var_r28 = 0; var_r28 < 0x35; var_r28++) {
HuSprAttrSet(var_r27, var_r28, 4);
}
for (var_r28 = 0; var_r28 < 8; var_r28++) {
HuSprBankSet(var_r27, var_r28, 0);
HuSprAttrReset(var_r27, var_r28, 4);
HuSprAttrReset(var_r27, var_r28 + 8, 4);
}
HuSprAttrReset(var_r27, 0x28, 4);
for (var_r28 = 0; var_r28 < 4; var_r28++) {
HuSprBankSet(var_r27, var_r28 + 0x10, 0);
HuSprBankSet(var_r27, var_r28 + 0x14, 0);
HuSprAttrReset(var_r27, var_r28 + 0x29, 4);
HuSprAttrReset(var_r27, var_r28 + 0x2D, 4);
}
HuSprGrpPosSet(var_r27, 0.0f, -500.0f);
}
void fn_1_15950(void)
{
float var_f31;
float var_f30;
s32 var_r31;
MentDllUnkBss3114Struct *var_r30;
s32 var_r29;
s32 var_r28;
var_r29 = lbl_1_bss_35BC[0].unk_30;
for (var_r31 = 0; var_r31 < 8; var_r31++) {
HuSprBankSet(var_r29, var_r31, 0);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprBankSet(var_r29, var_r31 + 0x10, 0);
HuSprBankSet(var_r29, var_r31 + 0x14, 0);
HuSprBankSet(var_r29, var_r31 + 0x18, 0);
HuSprBankSet(var_r29, var_r31 + 0x1C, 0);
HuSprBankSet(var_r29, var_r31 + 0x20, 0);
}
for (var_r31 = 0; var_r31 <= 0xA; var_r31++) {
fn_1_4D8();
for (var_r28 = 0; var_r28 < 4; var_r28++) {
var_r30 = &lbl_1_bss_3114[var_r28];
var_f31 = fn_1_32C(lbl_1_data_57C[var_r30->unk_68 % 4][0], lbl_1_data_57C[var_r30->unk_58 % 4][0], var_r31, 10.0f);
var_f30 = fn_1_32C(lbl_1_data_57C[var_r30->unk_68 / 4][1], lbl_1_data_57C[var_r30->unk_58 / 4][1], var_r31, 10.0f);
HuSprPosSet(var_r29, var_r30->unk_58 + 0x10, var_f31, var_f30);
HuSprPosSet(var_r29, var_r30->unk_58 + 0x14, var_f31, var_f30);
}
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
lbl_1_bss_3114[var_r31].unk_68 = lbl_1_bss_3114[var_r31].unk_58;
lbl_1_bss_3114[var_r31].unk_70[0] = 0;
}
}
void fn_1_15CB4(omObjData *arg0, MentDllUnkBss3114Struct *arg1)
{
float var_f31;
float var_f30;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 var_r25;
s32 var_r24;
s32 var_r23;
var_r25 = lbl_1_bss_35BC[0].unk_30;
var_r27 = 0;
var_r26 = 0;
var_r30 = arg1->unk_68 % 4;
var_r24 = var_r30;
var_r29 = arg1->unk_68 / 4;
var_r23 = var_r29;
if (arg1->unk_70[0] == 0) {
if ((HuPadBtnDown[arg1->unk_6C] & PAD_BUTTON_A) != 0) {
arg1->unk_70[0] = 1;
HuSprBankSet(var_r25, arg1->unk_68, 1);
HuSprBankSet(var_r25, arg1->unk_58 + 0x10, 1);
HuSprBankSet(var_r25, arg1->unk_58 + 0x14, 1);
HuAudFXPlay(arg1->unk_68 + 0x6D);
}
else {
if ((HuPadStkX[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 2) != 0)) {
var_r30++;
var_r27 = 1;
if (var_r30 > 3) {
var_r30 = 3;
}
}
else if ((HuPadStkX[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 1) != 0)) {
var_r30--;
var_r27 = -1;
if (var_r30 < 0) {
var_r30 = 0;
}
}
if ((HuPadStkY[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 4) != 0)) {
var_r29++;
var_r26 = 1;
if (var_r29 > 1) {
var_r29 = 1;
}
}
else if ((HuPadStkY[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 8) != 0)) {
var_r29--;
var_r26 = -1;
if (var_r29 < 0) {
var_r29 = 0;
}
}
}
}
else if ((HuPadBtnDown[arg1->unk_6C] & PAD_BUTTON_B) != 0) {
arg1->unk_70[0] = 0;
HuSprBankSet(var_r25, arg1->unk_68, 0);
HuSprBankSet(var_r25, arg1->unk_58 + 0x10, 0);
HuSprBankSet(var_r25, arg1->unk_58 + 0x14, 0);
HuAudFXPlay(3);
}
if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) {
do {
for (var_r28 = 0; var_r28 < 4; var_r28++) {
if ((var_r28 != arg1->unk_58) && (lbl_1_bss_3114[var_r28].unk_60 == 0)
&& ((var_r30 + (var_r29 * 4)) == lbl_1_bss_3114[var_r28].unk_68)) {
if ((var_r27 == 0) || (var_r26 == 0)) {
if (((var_r30 + var_r27) > 3) || ((var_r30 + var_r27) < 0)) {
var_r30 = var_r24;
}
else {
var_r30 += var_r27;
}
if (((var_r29 + var_r26) > 1) || ((var_r29 + var_r26) < 0)) {
var_r29 = var_r23;
}
else {
var_r29 += var_r26;
}
}
else if (((var_r30 + var_r27) <= 3) && ((var_r30 + var_r27) >= 0)) {
var_r30 += var_r27;
}
else if (((var_r29 + var_r26) <= 1) && ((var_r29 + var_r26) >= 0)) {
var_r29 += var_r26;
}
else {
var_r30 = var_r24;
var_r29 = var_r23;
}
break;
}
}
} while (var_r28 != 4);
if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) {
arg1->unk_68 = var_r30 + (var_r29 * 4);
HuAudFXPlay(0);
for (var_r28 = 0; var_r28 <= 0xA; var_r28++) {
fn_1_4D8();
var_f31 = fn_1_32C(lbl_1_data_57C[var_r24][0], lbl_1_data_57C[var_r30][0], var_r28, 10.0f);
var_f30 = fn_1_32C(lbl_1_data_57C[var_r23][1], lbl_1_data_57C[var_r29][1], var_r28, 10.0f);
HuSprPosSet(var_r25, arg1->unk_58 + 0x10, var_f31, var_f30);
HuSprPosSet(var_r25, arg1->unk_58 + 0x14, var_f31, var_f30);
}
}
}
}
void fn_1_162A0(MentDllUnkBss3114Struct *arg0)
{
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_30;
arg0->unk_64 = 0;
HuSprBankSet(var_r30, arg0->unk_58 + 0x20, arg0->unk_64);
HuSprPosSet(var_r30, arg0->unk_58 + 0x20, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23);
HuSprPosSet(var_r30, arg0->unk_58 + 0x24, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25);
HuSprAttrReset(var_r30, arg0->unk_58 + 0x20, 4);
HuSprAttrReset(var_r30, arg0->unk_58 + 0x24, 4);
}
s32 fn_1_1648C(MentDllUnkBss3114Struct *arg0)
{
float var_f31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
var_r28 = 0;
var_r29 = lbl_1_bss_35BC[0].unk_30;
while (1) {
fn_1_4D8();
var_r28 = 0;
var_r26 = arg0->unk_64;
if (HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5 || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT)) {
if (lbl_1_bss_A8[5] == 1) {
arg0->unk_64++;
var_r28 = 1;
if (arg0->unk_64 > 3) {
arg0->unk_64 = 0;
}
}
else {
arg0->unk_64++;
var_r28 = 1;
if (arg0->unk_64 > 2) {
arg0->unk_64 = 0;
}
}
}
else if (HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5 || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_LEFT)) {
if (lbl_1_bss_A8[5] == 1) {
arg0->unk_64--;
var_r28 = -1;
if (arg0->unk_64 < 0) {
arg0->unk_64 = 3;
}
}
else {
arg0->unk_64--;
var_r28 = -1;
if (arg0->unk_64 < 0) {
arg0->unk_64 = 2;
}
}
}
else if (HuPadBtnDown[0] & PAD_BUTTON_A) {
var_r27 = 1;
HuAudFXPlay(2);
break;
}
else if (HuPadBtnDown[0] & PAD_BUTTON_B) {
var_r27 = 0;
HuAudFXPlay(3);
break;
}
if (arg0->unk_64 != var_r26) {
HuAudFXPlay(0);
for (var_r30 = 0; var_r30 <= 5; var_r30++) {
fn_1_4D8();
var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 % 4][0] + (var_r28 * 10), var_r30, 5);
HuSprPosSet(var_r29, arg0->unk_58 + 32, var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 35);
HuSprPosSet(var_r29, arg0->unk_58 + 36, 1 + var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 37);
}
HuSprBankSet(var_r29, arg0->unk_58 + 32, arg0->unk_64);
for (var_r30 = 0; var_r30 <= 5; var_r30++) {
fn_1_4D8();
var_f31 = fn_1_32C(lbl_1_data_57C[arg0->unk_68 % 4][0] + (var_r28 * 10), lbl_1_data_57C[arg0->unk_68 % 4][0], var_r30, 5);
HuSprPosSet(var_r29, arg0->unk_58 + 32, var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 35);
HuSprPosSet(var_r29, arg0->unk_58 + 36, 1 + var_f31, lbl_1_data_57C[arg0->unk_68 / 4][1] + 37);
}
}
}
if (var_r27 == 1) {
HuSprPosSet(var_r29, arg0->unk_58 + 49, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 35);
HuSprBankSet(var_r29, arg0->unk_58 + 49, arg0->unk_64);
HuSprAttrReset(var_r29, arg0->unk_58 + 49, 4);
HuSprAttrSet(var_r29, arg0->unk_58 + 32, 4);
}
return var_r27;
}
void fn_1_16B68(omObjData *arg0, MentDllUnkBss3114Struct *arg1)
{
s32 sp8;
float var_f31;
float var_f30;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 var_r25;
s32 var_r23;
s32 var_r22;
var_r27 = lbl_1_bss_35BC[0].unk_30;
var_r26 = 0;
var_r25 = 0;
sp8 = arg1->unk_64;
var_r23 = var_r30 = arg1->unk_68 % 4;
var_r29 = arg1->unk_68 / 4;
var_r22 = var_r29;
if (arg1->unk_70[0] == 0) {
if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) != 0) {
arg1->unk_70[0] = 1;
HuSprBankSet(var_r27, arg1->unk_68, 1);
HuSprBankSet(var_r27, arg1->unk_58 + 0x18, 1);
HuSprBankSet(var_r27, arg1->unk_58 + 0x1C, 1);
HuAudFXPlay(arg1->unk_68 + 0x6D);
fn_1_162A0(arg1);
}
else {
if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 2) != 0)) {
var_r30++;
var_r26 = 1;
if (var_r30 > 3) {
var_r30 = 3;
}
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1) != 0)) {
var_r30--;
var_r26 = -1;
if (var_r30 < 0) {
var_r30 = 0;
}
}
if ((HuPadStkY[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 4) != 0)) {
var_r29++;
var_r25 = 1;
if (var_r29 > 1) {
var_r29 = 1;
}
}
else if ((HuPadStkY[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 8) != 0)) {
var_r29--;
var_r25 = -1;
if (var_r29 < 0) {
var_r29 = 0;
}
}
}
}
else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) != 0) {
arg1->unk_70[0] = arg1->unk_70[2] = 0;
HuSprBankSet(var_r27, arg1->unk_68, 0);
HuSprBankSet(var_r27, arg1->unk_58 + 0x18, 0);
HuSprBankSet(var_r27, arg1->unk_58 + 0x1C, 0);
HuSprAttrSet(var_r27, arg1->unk_58 + 0x20, 4);
HuSprAttrSet(var_r27, arg1->unk_58 + 0x24, 4);
HuAudFXPlay(3);
}
if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) {
do {
for (var_r28 = 0; var_r28 < 4; var_r28++) {
if ((var_r28 != arg1->unk_58) && (lbl_1_bss_3114[var_r28].unk_70[0] == 1)
&& ((var_r30 + (var_r29 * 4)) == lbl_1_bss_3114[var_r28].unk_68)) {
if ((var_r26 == 0) || (var_r25 == 0)) {
if (((var_r30 + var_r26) > 3) || ((var_r30 + var_r26) < 0)) {
var_r30 = var_r23;
}
else {
var_r30 += var_r26;
}
if (((var_r29 + var_r25) > 1) || ((var_r29 + var_r25) < 0)) {
var_r29 = var_r22;
}
else {
var_r29 += var_r25;
}
}
else if (((var_r30 + var_r26) <= 3) && ((var_r30 + var_r26) >= 0)) {
var_r30 += var_r26;
}
else if (((var_r29 + var_r25) <= 1) && ((var_r29 + var_r25) >= 0)) {
var_r29 += var_r25;
}
else {
var_r30 = var_r23;
var_r29 = var_r22;
}
break;
}
}
} while (var_r28 != 4);
if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) {
arg1->unk_68 = var_r30 + (var_r29 * 4);
HuAudFXPlay(0);
for (var_r28 = 0; var_r28 <= 0xA; var_r28++) {
fn_1_4D8();
var_f31 = fn_1_32C(lbl_1_data_57C[var_r23][0], lbl_1_data_57C[var_r30][0], var_r28, 10.0f);
var_f30 = fn_1_32C(lbl_1_data_57C[var_r22][1], lbl_1_data_57C[var_r29][1], var_r28, 10.0f);
HuSprPosSet(var_r27, arg1->unk_58 + 0x18, var_f31, var_f30);
HuSprPosSet(var_r27, arg1->unk_58 + 0x1C, var_f31, var_f30);
HuSprPosSet(var_r27, arg1->unk_58 + 0x20, var_f31, 35.0f + var_f30);
HuSprPosSet(var_r27, arg1->unk_58 + 0x24, 1.0f + var_f31, 37.0f + var_f30);
}
}
}
(void)var_r30;
}
void fn_1_173FC(MentDllUnkBss3114Struct *arg0)
{
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_bss_35BC[0].unk_30;
do {
for (var_r29 = 0; var_r29 < 4; var_r29++) {
if ((var_r29 != arg0->unk_58) && (lbl_1_bss_3114[var_r29].unk_70[0] == 1) && (arg0->unk_68 == lbl_1_bss_3114[var_r29].unk_68)) {
arg0->unk_68++;
break;
}
}
} while (var_r29 != 4);
arg0->unk_64 = 0;
HuSprBankSet(var_r30, arg0->unk_68, 0);
HuSprBankSet(var_r30, arg0->unk_58 + 0x18, 0);
HuSprBankSet(var_r30, arg0->unk_58 + 0x1C, 0);
HuSprBankSet(var_r30, arg0->unk_58 + 0x20, arg0->unk_64);
HuSprBankSet(var_r30, arg0->unk_58 + 0x31, arg0->unk_64);
HuSprPosSet(var_r30, arg0->unk_58 + 0x18, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1]);
HuSprPosSet(var_r30, arg0->unk_58 + 0x1C, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1]);
HuSprPosSet(var_r30, arg0->unk_58 + 0x20, lbl_1_data_57C[arg0->unk_68 % 4][0], lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x23);
HuSprPosSet(var_r30, arg0->unk_58 + 0x24, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25);
HuSprPosSet(var_r30, arg0->unk_58 + 0x31, lbl_1_data_57C[arg0->unk_68 % 4][0] + 1, lbl_1_data_57C[arg0->unk_68 / 4][1] + 0x25);
arg0->unk_70[2] = 0;
HuSprAttrReset(var_r30, arg0->unk_58 + 0x18, 4);
HuSprAttrReset(var_r30, arg0->unk_58 + 0x1C, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x20, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x24, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x31, 4);
}
void fn_1_17914(MentDllUnkBss3114Struct *arg0)
{
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_30;
HuSprBankSet(var_r30, arg0->unk_68, 0);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x18, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x1C, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x20, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x24, 4);
HuSprAttrSet(var_r30, arg0->unk_58 + 0x31, 4);
}
void fn_1_179DC(void)
{
MentDllUnkBss3114Struct *var_r31;
s32 var_r29;
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_34;
for (var_r29 = 0; var_r29 < 0x11; var_r29++) {
HuSprAttrSet(var_r30, var_r29, 4);
}
for (var_r29 = 0; var_r29 < 4; var_r29++) {
var_r31 = &lbl_1_bss_3114[var_r29];
HuSprPosSet(var_r30, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]);
HuSprAttrReset(var_r30, var_r31->unk_68, 4);
if (var_r31->unk_60 == 0) {
HuSprBankSet(var_r30, var_r31->unk_58 + 8, var_r31->unk_58);
HuSprPosSet(var_r30, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19);
HuSprAttrReset(var_r30, var_r31->unk_58 + 8, 4);
}
else {
HuSprBankSet(var_r30, var_r31->unk_58 + 0xC, var_r31->unk_64);
HuSprPosSet(var_r30, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19);
HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, 4);
}
}
HuSprAttrReset(var_r30, 0x10, 4);
HuSprGrpPosSet(var_r30, 16.0f, -500.0f);
}
void fn_1_17CC8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
MentDllUnkBss3114Struct *var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
AnimData *var_r25;
AnimData *var_r24;
var_r26 = HuSprGrpCreate(0x11);
arg0->unk_34 = var_r26;
for (var_r30 = 0; var_r30 < 8; var_r30++) {
var_r27 = HuSprCreate(HuSprAnimReadFile(var_r30 + DATA_MAKE_NUM(DATADIR_MENT, 0x31)), 0x3E8, 0);
HuSprGrpMemberSet(var_r26, var_r30, var_r27);
}
var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3A));
var_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3B));
for (var_r30 = 0; var_r30 < 4; var_r30++) {
var_r27 = HuSprCreate(var_r25, 0x3DE, 0);
HuSprGrpMemberSet(var_r26, var_r30 + 8, var_r27);
var_r27 = HuSprCreate(var_r24, 0x3DE, 0);
HuSprGrpMemberSet(var_r26, var_r30 + 0xC, var_r27);
}
var_r27 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x30)), 0x7D0, 0);
HuSprGrpMemberSet(var_r26, 0x10, var_r27);
HuSprTPLvlSet(var_r26, 0x10, 0.8f);
HuSprPosSet(var_r26, 0x10, 96.0f, 32.0f);
var_r29 = lbl_1_bss_35BC[0].unk_34;
for (var_r28 = 0; var_r28 < 0x11; var_r28++) {
HuSprAttrSet(var_r29, var_r28, 4);
}
for (var_r28 = 0; var_r28 < 4; var_r28++) {
var_r31 = &lbl_1_bss_3114[var_r28];
HuSprPosSet(var_r29, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]);
HuSprAttrReset(var_r29, var_r31->unk_68, 4);
if (var_r31->unk_60 == 0) {
HuSprBankSet(var_r29, var_r31->unk_58 + 8, var_r31->unk_58);
HuSprPosSet(var_r29, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19);
HuSprAttrReset(var_r29, var_r31->unk_58 + 8, 4);
}
else {
HuSprBankSet(var_r29, var_r31->unk_58 + 0xC, var_r31->unk_64);
HuSprPosSet(var_r29, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19);
HuSprAttrReset(var_r29, var_r31->unk_58 + 0xC, 4);
}
}
HuSprAttrReset(var_r29, 0x10, 4);
HuSprGrpPosSet(var_r29, 16.0f, -500.0f);
}
void fn_1_1811C(void)
{
float var_f31;
MentDllUnkBss3114Struct *var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r30 = lbl_1_bss_35BC[0].unk_34;
for (var_r29 = 0; var_r29 < 0x11; var_r29++) {
HuSprAttrSet(var_r30, var_r29, 4);
}
for (var_r29 = 0; var_r29 < 4; var_r29++) {
var_r31 = &lbl_1_bss_3114[var_r29];
HuSprPosSet(var_r30, var_r31->unk_68, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1]);
HuSprAttrReset(var_r30, var_r31->unk_68, 4);
if (var_r31->unk_60 == 0) {
HuSprBankSet(var_r30, var_r31->unk_58 + 8, var_r31->unk_58);
HuSprPosSet(var_r30, var_r31->unk_58 + 8, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19);
HuSprAttrReset(var_r30, var_r31->unk_58 + 8, 4);
}
else {
HuSprBankSet(var_r30, var_r31->unk_58 + 0xC, var_r31->unk_64);
HuSprPosSet(var_r30, var_r31->unk_58 + 0xC, lbl_1_data_5BC[var_r31->unk_58][0], lbl_1_data_5BC[var_r31->unk_58][1] + 0x19);
HuSprAttrReset(var_r30, var_r31->unk_58 + 0xC, 4);
}
}
HuSprAttrReset(var_r30, 0x10, 4);
HuSprGrpPosSet(var_r30, 16.0f, -500.0f);
for (var_r28 = 0; var_r28 <= 0x3C; var_r28++) {
fn_1_4D8();
if (var_r28 <= 0x32) {
var_f31 = fn_1_32C(-500.0f, 50.0f, var_r28, 50.0f);
}
else {
var_f31 = fn_1_254(50.0f, 40.0f, var_r28 - 0x32, 10.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31);
}
}
void fn_1_1850C(void)
{
float var_f31;
s32 var_r31;
lbl_1_bss_35BC[0].unk_08[0] = -1;
lbl_1_bss_35BC[0].unk_04 = NULL;
for (var_r31 = 0; var_r31 <= 0x4B; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = fn_1_32C(40.0f, 50.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_254(50.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31);
if (var_r31 >= 0xF) {
var_f31 = fn_1_254(210.0f, -500.0f, var_r31 - 0xF, 60.0f);
HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y = (s32)fn_1_234(HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y, var_f31, 10.0f);
}
}
}
void fn_1_1872C(void)
{
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_38;
for (var_r31 = 0; var_r31 < 7; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
}
void fn_1_18788(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r31 = HuSprGrpCreate(7);
arg0->unk_38 = var_r31;
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3C)), 0x7DA, 0);
HuSprGrpMemberSet(var_r31, 0, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3D)), 0x7C6, 0);
HuSprGrpMemberSet(var_r31, 1, var_r30);
HuSprPosSet(var_r31, 1, 0.0f, -80.0f);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3E)), 0x7D0, 0);
HuSprGrpMemberSet(var_r31, 2, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3F)), 0x7D0, 0);
HuSprGrpMemberSet(var_r31, 3, var_r30);
HuSprPosSet(var_r31, 3, 0.0f, -80.0f);
if (lbl_1_bss_A8[0] != 0) {
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5A)), 0x7BC, 0);
HuSprGrpMemberSet(var_r31, 4, var_r30);
HuSprPosSet(var_r31, 4, -140.0f, -86.0f);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5B)), 0x7BC, 0);
HuSprGrpMemberSet(var_r31, 5, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5C)), 0x7D0, 0);
HuSprGrpMemberSet(var_r31, 6, var_r30);
HuSprScaleSet(var_r31, 6, 1.0f, 0.875f);
HuSprTPLvlSet(var_r31, 6, 0.5f);
}
HuSprExecLayerSet(0x40, 1);
HuSprGrpDrawNoSet(var_r31, 0x40);
var_r28 = lbl_1_bss_35BC[0].unk_38;
for (var_r29 = 0; var_r29 < 7; var_r29++) {
HuSprAttrSet(var_r28, var_r29, 4);
}
}
void fn_1_18A54(s32 arg0)
{
float var_f31;
float var_f30;
s32 var_r31;
var_r31 = lbl_1_bss_35BC[0].unk_38;
if (arg0 != 5) {
HuSprBankSet(var_r31, 0, arg0);
HuSprBankSet(var_r31, 1, arg0);
HuSprAttrSet(var_r31, 2, 4);
HuSprAttrSet(var_r31, 3, 4);
HuSprAttrReset(var_r31, 0, 4);
HuSprAttrReset(var_r31, 1, 4);
if (lbl_1_bss_A8[0] != 0) {
if ((arg0 == 0 && _CheckFlag(FLAG_ID_MAKE(0, 2)) != 0) || (arg0 == 1 && _CheckFlag(FLAG_ID_MAKE(0, 3)) != 0)
|| (arg0 == 2 && _CheckFlag(FLAG_ID_MAKE(0, 4)) != 0) || (arg0 == 3 && (_CheckFlag(FLAG_ID_MAKE(0, 5)) != 0))
|| (arg0 == 4 && (_CheckFlag(FLAG_ID_MAKE(0, 6)) != 0))) {
HuSprAttrReset(var_r31, 4, 4);
HuSprAttrReset(var_r31, 5, 4);
HuSprTPLvlSet(var_r31, 5, 0.8f);
HuSprAttrReset(var_r31, 6, 4);
HuSprTPLvlSet(var_r31, 6, 0.5f);
}
else {
HuSprAttrSet(var_r31, 4, 4);
HuSprAttrSet(var_r31, 5, 4);
HuSprAttrSet(var_r31, 6, 4);
}
}
}
else {
HuSprAttrSet(var_r31, 0, 4);
HuSprAttrSet(var_r31, 1, 4);
HuSprAttrReset(var_r31, 2, 4);
HuSprAttrReset(var_r31, 3, 4);
}
lbl_1_bss_35BC[0].unk_08[0] = arg0;
lbl_1_bss_35BC[0].unk_1C[1] = (rand8() % 10) * 0x24;
HuSprGrpScaleSet(var_r31, 0.0f, 0.0f);
for (arg0 = 0; arg0 <= 0xF; arg0++) {
fn_1_4D8();
if (arg0 <= 0xA) {
var_f31 = fn_1_32C(0.0f, 1.0f, arg0, 10.0f);
var_f30 = 0.01f;
}
else {
var_f31 = 1.0f;
var_f30 = fn_1_32C(0.01f, 1.0f, arg0 - 0xA, 5.0f);
}
HuSprGrpScaleSet(var_r31, var_f31, var_f30);
}
}
void fn_1_18DCC(void)
{
float var_f31;
float var_f30;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r29 = lbl_1_bss_35BC[0].unk_38;
for (var_r31 = 0; var_r31 <= 0xF; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = 1.0f;
var_f30 = fn_1_32C(1.0f, 0.01f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_32C(1.0f, 0.0f, var_r31 - 0xA, 5.0f);
var_f30 = 0.01f;
}
HuSprGrpScaleSet(var_r29, var_f31, var_f30);
}
var_r28 = lbl_1_bss_35BC[0].unk_38;
for (var_r30 = 0; var_r30 < 7; var_r30++) {
HuSprAttrSet(var_r28, var_r30, 4);
}
lbl_1_bss_35BC[0].unk_08[0] = -1;
lbl_1_bss_35BC[0].unk_04 = NULL;
}
void fn_1_18F74(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
Vec sp14;
Vec sp8;
s32 var_r31;
var_r31 = lbl_1_bss_35BC[0].unk_38;
if (lbl_1_bss_35BC[0].unk_08[0] != -1) {
sp14.x = lbl_1_data_D8[lbl_1_bss_35BC[0].unk_08[0]].x;
sp14.y = 0.0f;
sp14.z = lbl_1_data_D8[lbl_1_bss_35BC[0].unk_08[0]].z;
Hu3D3Dto2D(&sp14, 1, &sp8);
sp8.y = fn_1_3F4(210.0f, 220.0f, lbl_1_bss_35BC[0].unk_1C[1]++, 360.0f);
if (lbl_1_bss_35BC[0].unk_1C[1] >= 0x168) {
lbl_1_bss_35BC[0].unk_1C[1] = 0;
}
HuSprGrpPosSet(var_r31, sp8.x, (s32)sp8.y);
}
}
void fn_1_190E8(void)
{
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_3C;
for (var_r31 = 0; var_r31 < 0x5B; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
if (lbl_1_bss_A8[2] != 5) {
HuSprBankSet(var_r30, 0, lbl_1_bss_A8[2]);
HuSprAttrReset(var_r30, 0, 4);
}
else {
HuSprAttrReset(var_r30, 1, 4);
}
HuSprAttrReset(var_r30, 2, 4);
HuSprPosSet(var_r30, 2, 288.0f, lbl_1_data_5DC[0][1]);
HuSprScaleSet(var_r30, 2, 1.0f, lbl_1_data_5DC[0][2]);
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 3, 4);
HuSprPosSet(var_r30, var_r31 + 3, lbl_1_data_5DC[0][var_r31 + 3], lbl_1_data_5DC[0][1]);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, 4);
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 7, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[0][1]);
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, 4);
HuSprPosSet(
var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0xF, 1.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 2.0f + lbl_1_data_5DC[0][1]);
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, 4);
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x1F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 9.0f);
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, 4);
HuSprPosSet(
var_r30, lbl_1_bss_3114[var_r31].unk_58 + 0x27, 1.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 7.0f);
if (lbl_1_bss_3114[var_r31].unk_60 != 0) {
HuSprAttrReset(var_r30, var_r31 + 0x1B, 4);
HuSprBankSet(var_r30, var_r31 + 0x1B, lbl_1_bss_3114[var_r31].unk_64);
HuSprPosSet(var_r30, var_r31 + 0x1B, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 21.0f + lbl_1_data_5DC[0][1]);
}
else {
HuSprAttrReset(var_r30, var_r31 + 0x17, 4);
HuSprBankSet(var_r30, var_r31 + 0x17, lbl_1_bss_3114[var_r31].unk_58);
HuSprPosSet(var_r30, var_r31 + 0x17, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0] - 8.0f, lbl_1_data_5DC[0][1] - 21.0f);
}
HuSprPosSet(var_r30, var_r31 + 0x2F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 20.0f + lbl_1_data_5DC[4][1]);
HuSprAttrReset(var_r30, var_r31 + 0x2F, 4);
HuSprPosSet(var_r30, var_r31 + 0x33, 10.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 21.0f + lbl_1_data_5DC[4][1]);
HuSprAttrReset(var_r30, var_r31 + 0x33, 4);
HuSprBankSet(var_r30, var_r31 + 0x33, 0);
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r31].unk_68 + 0x37, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], lbl_1_data_5DC[4][1] - 7.0f);
HuSprPosSet(var_r30, var_r31 + 0x3F, lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 23.0f + lbl_1_data_5DC[4][1]);
HuSprPosSet(var_r30, var_r31 + 0x43, 14.0f + lbl_1_data_5DC[lbl_1_bss_3114[var_r31].unk_58][0], 24.0f + lbl_1_data_5DC[4][1]);
HuSprBankSet(var_r30, var_r31 + 0x43, 0);
}
HuSprPosSet(var_r30, 0x47, 340.0f, lbl_1_data_5DC[0][1]);
HuSprScaleSet(var_r30, 0x47, 0.0f, 0.0f);
HuSprAttrReset(var_r30, 0x47, 4);
HuSprAttrReset(var_r30, 0x48, 4);
HuSprPosSet(var_r30, 0x48, 366.0f, lbl_1_data_5DC[1][1]);
HuSprAttrReset(var_r30, 0x49, 4);
HuSprPosSet(var_r30, 0x49, 367.0f, 2.0f + lbl_1_data_5DC[1][1]);
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 0x4A, 4);
HuSprPosSet(var_r30, var_r31 + 0x4A, 0x141 - (var_r31 * 0x1A), lbl_1_data_5DC[1][1]);
HuSprBankSet(var_r30, var_r31 + 0x4A, var_r31);
HuSprAttrReset(var_r30, var_r31 + 0x4C, 4);
HuSprPosSet(var_r30, var_r31 + 0x4C, 0x142 - (var_r31 * 0x1A), 2.0f + lbl_1_data_5DC[1][1]);
HuSprBankSet(var_r30, var_r31 + 0x4C, var_r31);
}
HuSprAttrReset(var_r30, 0x4E, 4);
HuSprPosSet(var_r30, 0x4E, 340.0f, lbl_1_data_5DC[2][1]);
HuSprBankSet(var_r30, 0x4E, 0);
HuSprAttrReset(var_r30, 0x4F, 4);
HuSprPosSet(var_r30, 0x4F, 341.0f, 2.0f + lbl_1_data_5DC[2][1]);
HuSprBankSet(var_r30, 0x4F, 0);
HuSprAttrReset(var_r30, 0x50, 4);
HuSprPosSet(var_r30, 0x50, 340.0f, lbl_1_data_5DC[3][1]);
HuSprBankSet(var_r30, 0x50, 0);
HuSprAttrReset(var_r30, 0x51, 4);
HuSprPosSet(var_r30, 0x51, 341.0f, 2.0f + lbl_1_data_5DC[3][1]);
HuSprBankSet(var_r30, 0x51, 0);
HuSprAttrReset(var_r30, 0x52, 4);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 0x53, 4);
HuSprAttrReset(var_r30, var_r31 + 0x57, 4);
}
for (var_r31 = 0; var_r31 < 5; var_r31++) {
HuWinPosSet(lbl_1_bss_35BC[0].unk_44[var_r31], 100.0f, -500.0f + (lbl_1_data_5DC[var_r31][1] - 21.0f));
}
for (var_r31 = 0; var_r31 < 5; var_r31++) {
lbl_1_bss_35BC[1].unk_08[var_r31] = lbl_1_bss_35BC[1].unk_1C[var_r31] = 0;
}
lbl_1_bss_35BC[1].unk_1C[1] = 0x14;
HuSprBankSet(var_r30, 0x4A, 0);
HuSprBankSet(var_r30, 0x4C, 0);
HuSprBankSet(var_r30, 0x4B, 2);
HuSprBankSet(var_r30, 0x4D, 2);
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
void fn_1_19C98(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
float sp8[2];
float var_f31;
float var_f30;
float var_f29;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
var_r26 = 0;
var_r30 = lbl_1_bss_35BC[0].unk_3C;
{
s32 sp10[4][4] = {
{ 0x106, 0x106, 0x106, 0x106 },
{ 0x13A, 0x133, 0x175, 0x175 },
{ 0x16E, 0x175, 0x133, 0x1A2 },
{ 0x1A2, 0x1A2, 0x1A2, 0x133 },
};
lbl_1_bss_35BC[0].unk_08[3] = 0;
var_r27 = arg1->unk_08[0];
sp8[0] = HuSprData[HuSprGrpData[var_r30].members[3]].x;
sp8[1] = HuSprData[HuSprGrpData[var_r30].members[4]].x;
if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) != 0) {
arg1->unk_08[0]++;
HuAudFXPlay(2);
if (arg1->unk_08[0] > 4) {
lbl_1_bss_35BC[0].unk_08[1] = 1;
arg1->unk_08[0] = 4;
fn_1_1C674();
}
lbl_1_bss_35BC[0].unk_08[3] = 1;
}
else if ((HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) != 0) {
arg1->unk_08[0]--;
HuAudFXPlay(3);
if (arg1->unk_08[0] < 0) {
lbl_1_bss_35BC[0].unk_08[1] = -1;
arg1->unk_08[0] = 0;
fn_1_1C674();
}
lbl_1_bss_35BC[0].unk_08[3] = 1;
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT) != 0)) {
var_r26 = 1;
lbl_1_bss_35BC[0].unk_08[3] = 1;
HuAudFXPlay(0);
switch (arg1->unk_08[0]) {
case 0:
arg1->unk_1C[0] += 1;
if (arg1->unk_1C[0] > 3) {
arg1->unk_1C[0] = 0;
}
break;
case 1:
arg1->unk_1C[1] += 5;
if (arg1->unk_1C[1] > 0x32) {
arg1->unk_1C[1] = 0xA;
}
break;
case 2:
if (lbl_1_bss_A8[6] == 1) {
arg1->unk_1C[2]++;
if (arg1->unk_1C[2] > 2) {
arg1->unk_1C[2] = 0;
}
}
else {
arg1->unk_1C[2]++;
if (arg1->unk_1C[2] > 1) {
arg1->unk_1C[2] = 0;
}
}
break;
case 3:
arg1->unk_1C[3]++;
if (arg1->unk_1C[3] > 1) {
arg1->unk_1C[3] = 0;
}
break;
case 4:
arg1->unk_1C[4] += 1;
if (arg1->unk_1C[4] > 3) {
arg1->unk_1C[4] = 0;
}
break;
}
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_LEFT) != 0)) {
var_r26 = -1;
lbl_1_bss_35BC[0].unk_08[3] = 1;
HuAudFXPlay(0);
switch (arg1->unk_08[0]) {
case 0:
arg1->unk_1C[0] -= 1;
if (arg1->unk_1C[0] < 0) {
arg1->unk_1C[0] = 3;
}
break;
case 1:
arg1->unk_1C[1] -= 5;
if (arg1->unk_1C[1] < 0xA) {
arg1->unk_1C[1] = 0x32;
}
break;
case 2:
if (lbl_1_bss_A8[6] == 1) {
arg1->unk_1C[2]--;
if (arg1->unk_1C[2] < 0) {
arg1->unk_1C[2] = 2;
}
}
else {
arg1->unk_1C[2]--;
if (arg1->unk_1C[2] < 0) {
arg1->unk_1C[2] = 1;
}
}
break;
case 3:
arg1->unk_1C[3]--;
if (arg1->unk_1C[3] < 0) {
arg1->unk_1C[3] = 1;
}
break;
case 4:
arg1->unk_1C[4] -= 1;
if (arg1->unk_1C[4] < 0) {
arg1->unk_1C[4] = 3;
}
break;
}
}
else if (arg1->unk_08[0] == 4) {
if ((HuPadStkY[lbl_1_bss_3114->unk_6C] >= 0x1E) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_UP) != 0)) {
lbl_1_bss_35BC[0].unk_08[3] = 1;
HuAudFXPlay(0);
for (var_r29 = 0; var_r29 <= 0xA; var_r29++) {
fn_1_4D8();
if (var_r29 <= 5) {
var_f29 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f);
}
else {
var_f29 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f);
}
HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - 48.0f) - var_f29);
if (var_r29 == 3) {
arg1->unk_08[arg1->unk_1C[4] + 1]--;
if (arg1->unk_08[arg1->unk_1C[4] + 1] < 0) {
arg1->unk_08[arg1->unk_1C[4] + 1] = 9;
}
HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x33, arg1->unk_08[arg1->unk_1C[4] + 1]);
HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x43, arg1->unk_08[arg1->unk_1C[4] + 1]);
}
}
}
else if ((HuPadStkY[lbl_1_bss_3114->unk_6C] <= -0x1E) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 4) != 0)) {
lbl_1_bss_35BC[0].unk_08[3] = 1;
HuAudFXPlay(0);
for (var_r29 = 0; var_r29 <= 0xA; var_r29++) {
fn_1_4D8();
if (var_r29 <= 5) {
var_f29 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f);
}
else {
var_f29 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f);
}
HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + lbl_1_data_5DC[4][1] + var_f29);
if (var_r29 == 3) {
arg1->unk_08[arg1->unk_1C[4] + 1]++;
if (arg1->unk_08[arg1->unk_1C[4] + 1] > 9) {
arg1->unk_08[arg1->unk_1C[4] + 1] = 0;
}
HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x33, arg1->unk_08[arg1->unk_1C[4] + 1]);
HuSprBankSet(var_r30, arg1->unk_1C[4] + 0x43, arg1->unk_08[arg1->unk_1C[4] + 1]);
}
}
}
}
if (var_r26 != 0) {
for (var_r29 = 0; var_r29 <= 0xA; var_r29++) {
fn_1_4D8();
if (var_r29 <= 5) {
var_f31 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f);
var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 5.0f);
}
else {
var_f31 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f);
var_f30 = fn_1_32C(0.0f, 1.0f, var_r29 - 5, 5.0f);
}
if (arg1->unk_08[0] != 4) {
if (var_r26 == 1) {
HuSprPosSet(var_r30, 4, var_f31 + lbl_1_data_5DC[arg1->unk_08[0]][4], lbl_1_data_5DC[arg1->unk_08[0]][1]);
}
else {
HuSprPosSet(var_r30, 3, lbl_1_data_5DC[arg1->unk_08[0]][3] - var_f31, lbl_1_data_5DC[arg1->unk_08[0]][1]);
}
}
switch (arg1->unk_08[0]) {
case 0:
var_r27 = arg1->unk_1C[0] - var_r26;
if (var_r27 > 3) {
var_r27 = 0;
}
else if (var_r27 < 0) {
var_r27 = 3;
}
if (arg1->unk_1C[0] != 0) {
var_f30 = fn_1_32C(0.0f, 1.0f, var_r29, 10.0f);
}
else {
var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 10.0f);
}
HuSprScaleSet(var_r30, 0x47, var_f30, var_f30);
for (var_r28 = 0; var_r28 < 4; var_r28++) {
var_f31 = fn_1_32C(
sp10[lbl_1_bss_3114[var_r28].unk_58][var_r27], sp10[lbl_1_bss_3114[var_r28].unk_58][arg1->unk_1C[0]], var_r29, 10.0f);
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 7, var_f31, lbl_1_data_5DC[0][1]);
HuSprPosSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0xF, 1.0f + var_f31, 2.0f + lbl_1_data_5DC[0][1]);
if (lbl_1_bss_3114[var_r28].unk_60 != 0) {
HuSprPosSet(var_r30, var_r28 + 0x1B, var_f31, 21.0f + lbl_1_data_5DC[0][1]);
}
else {
HuSprPosSet(var_r30, var_r28 + 0x17, var_f31 - 8.0f, lbl_1_data_5DC[0][1] - 21.0f);
}
}
break;
case 1:
if (var_r26 == 1) {
HuSprPosSet(var_r30, 0x48, 366.0f + var_f31, lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x49, 367.0f + var_f31, 2.0f + lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4A, 321.0f + var_f31, lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4C, 322.0f + var_f31, 2.0f + lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4B, 295.0f + var_f31, lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4D, 296.0f + var_f31, 2.0f + lbl_1_data_5DC[1][1]);
}
else {
HuSprPosSet(var_r30, 0x48, 366.0f - var_f31, lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x49, 367.0f - var_f31, 2.0f + lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4A, 321.0f - var_f31, lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4C, 322.0f - var_f31, 2.0f + lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4B, 295.0f - var_f31, lbl_1_data_5DC[1][1]);
HuSprPosSet(var_r30, 0x4D, 296.0f - var_f31, 2.0f + lbl_1_data_5DC[1][1]);
}
HuSprScaleSet(var_r30, 0x48, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x49, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x4A, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x4C, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x4B, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x4D, 1.0f, var_f30);
break;
case 2:
if (var_r26 == 1) {
HuSprPosSet(var_r30, 0x4E, 340.0f + var_f31, lbl_1_data_5DC[2][1]);
HuSprPosSet(var_r30, 0x4F, 341.0f + var_f31, 2.0f + lbl_1_data_5DC[2][1]);
}
else {
HuSprPosSet(var_r30, 0x4E, 340.0f - var_f31, lbl_1_data_5DC[2][1]);
HuSprPosSet(var_r30, 0x4F, 341.0f - var_f31, 2.0f + lbl_1_data_5DC[2][1]);
}
HuSprScaleSet(var_r30, 0x4E, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x4F, 1.0f, var_f30);
break;
case 3:
if (var_r26 == 1) {
HuSprPosSet(var_r30, 0x50, 340.0f + var_f31, lbl_1_data_5DC[3][1]);
HuSprPosSet(var_r30, 0x51, 341.0f + var_f31, 2.0f + lbl_1_data_5DC[3][1]);
}
else {
HuSprPosSet(var_r30, 0x50, 340.0f - var_f31, lbl_1_data_5DC[3][1]);
HuSprPosSet(var_r30, 0x51, 341.0f - var_f31, 2.0f + lbl_1_data_5DC[3][1]);
}
HuSprScaleSet(var_r30, 0x50, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x51, 1.0f, var_f30);
break;
case 4:
var_f31 = fn_1_32C(sp8[0], lbl_1_data_5DC[arg1->unk_1C[4]][0] - 32.0f, var_r29, 10.0f);
HuSprPosSet(var_r30, 3, var_f31, lbl_1_data_5DC[4][1]);
var_f31 = fn_1_32C(sp8[1], 33.0f + lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f);
HuSprPosSet(var_r30, 4, var_f31, lbl_1_data_5DC[4][1]);
var_f31 = fn_1_32C(32.0f + sp8[0], lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f);
HuSprPosSet(var_r30, 5, var_f31, lbl_1_data_5DC[4][1] - 48.0f);
HuSprPosSet(var_r30, 6, var_f31, 49.0f + lbl_1_data_5DC[4][1]);
if (var_r29 == 3) {
for (var_r28 = 0; var_r28 < 4; var_r28++) {
HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, 4);
HuSprAttrSet(var_r30, var_r28 + 0x3F, 4);
HuSprAttrSet(var_r30, var_r28 + 0x43, 4);
}
HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, 4);
HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, 4);
}
break;
}
if (var_r29 == 6) {
switch (arg1->unk_08[0]) {
case 1:
HuSprBankSet(var_r30, 0x4A, arg1->unk_1C[1] % 10);
HuSprBankSet(var_r30, 0x4C, arg1->unk_1C[1] % 10);
HuSprBankSet(var_r30, 0x4B, arg1->unk_1C[1] / 10);
HuSprBankSet(var_r30, 0x4D, arg1->unk_1C[1] / 10);
break;
case 2:
HuSprBankSet(var_r30, 0x4E, arg1->unk_1C[2]);
HuSprBankSet(var_r30, 0x4F, arg1->unk_1C[2]);
break;
case 3:
HuSprBankSet(var_r30, 0x50, arg1->unk_1C[3]);
HuSprBankSet(var_r30, 0x51, arg1->unk_1C[3]);
break;
}
}
}
}
else if (var_r27 != arg1->unk_08[0]) {
for (var_r29 = 0; var_r29 <= 0xA; var_r29++) {
fn_1_4D8();
var_f29 = fn_1_32C(lbl_1_data_5DC[var_r27][1], lbl_1_data_5DC[arg1->unk_08[0]][1], var_r29, 10.0f);
var_f30 = fn_1_32C(lbl_1_data_5DC[var_r27][2], lbl_1_data_5DC[arg1->unk_08[0]][2], var_r29, 10.0f);
HuSprPosSet(var_r30, 2, 288.0f, var_f29);
HuSprScaleSet(var_r30, 2, 1.0f, var_f30);
if (arg1->unk_08[0] != 4) {
var_f31 = fn_1_32C(sp8[0], lbl_1_data_5DC[arg1->unk_08[0]][3], var_r29, 10.0f);
HuSprPosSet(var_r30, 3, var_f31, var_f29);
var_f31 = fn_1_32C(sp8[1], lbl_1_data_5DC[arg1->unk_08[0]][4], var_r29, 10.0f);
HuSprPosSet(var_r30, 4, var_f31, var_f29);
var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 10.0f);
HuSprTPLvlSet(var_r30, 5, var_f30);
HuSprTPLvlSet(var_r30, 6, var_f30);
var_f29 = fn_1_32C(0.0f, 20.0f, var_r29, 10.0f);
HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - var_f29) - 48.0f);
HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + (lbl_1_data_5DC[4][1] + var_f29));
for (var_r28 = 0; var_r28 < 4; var_r28++) {
HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r28].unk_68 + 0x37, 4);
HuSprAttrSet(var_r30, var_r28 + 0x3F, 4);
HuSprAttrSet(var_r30, var_r28 + 0x43, 4);
}
}
else {
var_f31 = fn_1_32C(sp8[0], lbl_1_data_5DC[arg1->unk_1C[4]][0] - 32.0f, var_r29, 10.0f);
HuSprPosSet(var_r30, 3, var_f31, var_f29);
var_f31 = fn_1_32C(sp8[1], 33.0f + lbl_1_data_5DC[arg1->unk_1C[4]][0], var_r29, 10.0f);
HuSprPosSet(var_r30, 4, var_f31, var_f29);
HuSprAttrReset(var_r30, 5, 4);
HuSprAttrReset(var_r30, 6, 4);
var_f30 = fn_1_32C(0.0f, 1.0f, var_r29, 10.0f);
HuSprTPLvlSet(var_r30, 5, var_f30);
HuSprTPLvlSet(var_r30, 6, var_f30);
var_f29 = fn_1_32C(20.0f, 0.0f, var_r29, 10.0f);
HuSprPosSet(var_r30, 5, lbl_1_data_5DC[arg1->unk_1C[4]][0], (lbl_1_data_5DC[4][1] - var_f29) - 48.0f);
HuSprPosSet(var_r30, 6, lbl_1_data_5DC[arg1->unk_1C[4]][0], 49.0f + (lbl_1_data_5DC[4][1] + var_f29));
if (var_r29 == 3) {
HuSprAttrReset(var_r30, lbl_1_bss_3114[arg1->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x3F, 4);
HuSprAttrReset(var_r30, arg1->unk_1C[4] + 0x43, 4);
}
}
}
if (arg1->unk_08[0] != 4) {
HuSprAttrSet(var_r30, 5, 4);
HuSprAttrSet(var_r30, 6, 4);
}
}
lbl_1_bss_35BC[0].unk_08[3] = 0;
}
}
void fn_1_1BB2C(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
AnimData *var_r28;
AnimData *var_r26;
AnimData *var_r25;
s32 sp8[4][2] = {
{ 0x00000070, 0x00000060 },
{ 0x000001D2, 0x00000060 },
{ 0x00000070, 0x0000012D },
{ 0x000001D2, 0x0000012D },
};
var_r29 = HuSprGrpCreate(0x5B);
arg0->unk_3C = var_r29;
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3D)), 0x7C6, 0);
HuSprGrpMemberSet(var_r29, 0, var_r30);
HuSprPosSet(var_r29, 0, 288.0f, 54.0f);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3F)), 0x7C6, 0);
HuSprGrpMemberSet(var_r29, 1, var_r30);
HuSprPosSet(var_r29, 1, 288.0f, 54.0f);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x41)), 0x7BC, 0);
HuSprGrpMemberSet(var_r29, 2, var_r30);
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x42));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 3, var_r30);
HuSprBankSet(var_r29, var_r31 + 3, var_r31);
}
var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x39));
for (var_r31 = 0; var_r31 < 8; var_r31++) {
var_r28 = HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x31));
var_r26 = HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x4E));
var_r30 = HuSprCreate(var_r28, 0x3E8, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 7, var_r30);
var_r30 = HuSprCreate(var_r25, 0x3F2, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0xF, var_r30);
var_r30 = HuSprCreate(var_r28, 0x3E8, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x1F, var_r30);
var_r30 = HuSprCreate(var_r25, 0x3F2, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x27, var_r30);
var_r30 = HuSprCreate(var_r26, 0x3DE, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x37, var_r30);
}
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3A));
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x3B));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x3DE, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x17, var_r30);
var_r30 = HuSprCreate(var_r26, 0x3DE, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x1B, var_r30);
}
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x43)), 0x3DE, 0);
HuSprGrpMemberSet(var_r29, 0x47, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x44)), 0x3E8, 0);
HuSprGrpMemberSet(var_r29, 0x48, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x46)), 0x3F2, 0);
HuSprGrpMemberSet(var_r29, 0x49, var_r30);
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x45));
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x47));
for (var_r31 = 0; var_r31 < 2; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x3E8, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x4A, var_r30);
var_r30 = HuSprCreate(var_r26, 0x3F2, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x4C, var_r30);
}
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x48)), 0x3E8, 0);
HuSprGrpMemberSet(var_r29, 0x4E, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x49)), 0x3F2, 0);
HuSprGrpMemberSet(var_r29, 0x4F, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4A)), 0x3E8, 0);
HuSprGrpMemberSet(var_r29, 0x50, var_r30);
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4B)), 0x3F2, 0);
HuSprGrpMemberSet(var_r29, 0x51, var_r30);
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4C));
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x4D));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x3DE, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x2F, var_r30);
var_r30 = HuSprCreate(var_r26, 0x3D4, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x33, var_r30);
}
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x56));
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x57));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x3CA, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x3F, var_r30);
var_r30 = HuSprCreate(var_r26, 0x3C0, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x43, var_r30);
}
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x40)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 0x52, var_r30);
HuSprTPLvlSet(var_r29, 0x52, 0.8f);
fn_1_6534(var_r29, 0x52, 288.0f, 240.0f);
var_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18));
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r30 = HuSprCreate(var_r28, 0x7BC, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x53, var_r30);
HuSprBankSet(var_r29, var_r31 + 0x53, var_r31);
fn_1_6534(var_r29, var_r31 + 0x53, sp8[var_r31][0], sp8[var_r31][1]);
var_r30 = HuSprCreate(var_r26, 0x7C6, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0x57, var_r30);
HuSprBankSet(var_r29, var_r31 + 0x57, var_r31);
HuSprTPLvlSet(var_r29, var_r31 + 0x57, 0.5f);
fn_1_6534(var_r29, var_r31 + 0x57, sp8[var_r31][0] + 1, sp8[var_r31][1] + 6);
}
for (var_r31 = 0; var_r31 < 5; var_r31++) {
arg0->unk_44[var_r31] = HuWinExCreateStyled(0.0f, 0.0f, 0xC8, 0xC8, -1, 1);
HuWinBGTPLvlSet(arg0->unk_44[var_r31], 0.0f);
HuWinMesSet(arg0->unk_44[var_r31], var_r31 + 0x1B0010);
HuWinMesSpeedSet(arg0->unk_44[var_r31], 0);
HuWinDispOn(arg0->unk_44[var_r31]);
winData[arg0->unk_44[var_r31]].mess_shadow_color = 0;
}
fn_1_190E8();
}
void fn_1_1C554(void)
{
s32 var_r31;
s32 var_r30;
MentDllUnkBss35BCStruct *var_r29;
var_r30 = lbl_1_bss_35BC[0].unk_3C;
var_r29 = &lbl_1_bss_35BC[1];
HuSprAttrReset(var_r30, 2, 4);
if (lbl_1_bss_35BC[1].unk_08[0] == 4) {
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 3, 4);
}
HuSprAttrReset(var_r30, lbl_1_bss_3114[var_r29->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x3F, 4);
HuSprAttrReset(var_r30, var_r29->unk_1C[4] + 0x43, 4);
return;
}
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 3, 4);
}
}
void fn_1_1C674(void)
{
MentDllUnkBss35BCStruct *var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_bss_35BC[0].unk_3C;
var_r31 = &lbl_1_bss_35BC[1];
HuSprAttrSet(var_r30, 2, 4);
for (var_r29 = 0; var_r29 < 4; var_r29++) {
HuSprAttrSet(var_r30, var_r29 + 3, 4);
}
HuSprAttrSet(var_r30, lbl_1_bss_3114[var_r31->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x3F, 4);
HuSprAttrSet(var_r30, var_r31->unk_1C[4] + 0x43, 4);
}
void fn_1_1C754(void)
{
float var_f31;
s32 var_r31;
MentDllUnkBss35BCStruct *var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
fn_1_190E8();
var_r28 = lbl_1_bss_35BC[0].unk_3C;
var_r30 = &lbl_1_bss_35BC[1];
HuSprAttrSet(var_r28, 2, 4);
for (var_r27 = 0; var_r27 < 4; var_r27++) {
HuSprAttrSet(var_r28, var_r27 + 3, 4);
}
HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4);
HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4);
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0x32) {
var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f);
}
else {
var_f31 = fn_1_254(10.0f, 0.0f, var_r31 - 0x32, 10.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_3C, 0.0f, var_f31);
for (var_r29 = 0; var_r29 < 5; var_r29++) {
HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r29], 100.0f, lbl_1_data_5DC[var_r29][1] - 21.0f + var_f31);
}
}
}
void fn_1_1C990(void)
{
float var_f31;
s32 var_r31;
MentDllUnkBss35BCStruct *var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
var_r28 = lbl_1_bss_35BC[0].unk_3C;
var_r30 = &lbl_1_bss_35BC[1];
HuSprAttrSet(var_r28, 2, 4);
for (var_r27 = 0; var_r27 < 4; var_r27++) {
HuSprAttrSet(var_r28, var_r27 + 3, 4);
}
HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4);
HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4);
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = fn_1_32C(0.0f, 10.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_3C, 0.0f, var_f31);
for (var_r29 = 0; var_r29 < 5; var_r29++) {
HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r29], 100.0f, lbl_1_data_5DC[var_r29][1] - 21.0f + var_f31);
}
}
}
void fn_1_1CBC8(void)
{
s32 var_r31;
s32 var_r30;
var_r30 = lbl_1_bss_35BC[0].unk_30;
for (var_r31 = 0; var_r31 < 0x22; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
HuSprAttrReset(var_r30, 0, 4);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 1, 4);
HuSprAttrReset(var_r30, var_r31 + 5, 4);
}
HuSprPosSet(var_r30, 0x1B, 288.0f, lbl_1_data_640[1][2]);
HuSprScaleSet(var_r30, 0x1B, 1.0f, 0.75f);
HuSprPosSet(var_r30, 0x1C, lbl_1_data_640[1][3], lbl_1_data_640[1][2]);
HuSprPosSet(var_r30, 0x1D, lbl_1_data_640[1][4], lbl_1_data_640[1][2]);
for (var_r31 = 0; var_r31 < 8; var_r31++) {
HuSprBankSet(var_r30, var_r31 + 9, 0);
HuSprAttrReset(var_r30, var_r31 + 9, 4);
HuSprAttrReset(var_r30, var_r31 + 0x11, 4);
}
HuSprAttrReset(var_r30, 0x19, 4);
HuSprAttrReset(var_r30, 0x1A, 4);
HuSprBankSet(var_r30, 0x1E, 0);
HuSprAttrReset(var_r30, 0x1E, 4);
HuSprBankSet(var_r30, 0x1F, 0);
HuSprAttrReset(var_r30, 0x1F, 4);
HuSprBankSet(var_r30, 0x20, 0);
HuSprAttrReset(var_r30, 0x20, 4);
HuSprBankSet(var_r30, 0x21, 0);
HuSprAttrReset(var_r30, 0x21, 4);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r31], 100.0f, lbl_1_data_640[var_r31][2] - 0x209);
}
lbl_1_bss_35BC[0].unk_08[0] = 1;
lbl_1_bss_35BC[0].unk_1C[0] = lbl_1_bss_35BC[0].unk_1C[0] = 0;
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
void fn_1_1CF68(void)
{
float var_f31;
float var_f30;
float var_f29;
s32 var_r31;
s32 var_r30;
var_r31 = lbl_1_bss_35BC[0].unk_30;
for (var_r30 = 0; var_r30 < 8; var_r30++) {
HuSprBankSet(var_r31, var_r30 + 9, 0);
}
HuSprBankSet(var_r31, 0x19, 0);
HuSprBankSet(var_r31, 0x1A, 0);
HuSprPosSet(var_r31, 0x1B, 288.0f, lbl_1_data_640[1][2]);
HuSprScaleSet(var_r31, 0x1B, 1.0f, 0.75f);
HuSprPosSet(var_r31, 0x1C, lbl_1_data_640[1][3], lbl_1_data_640[1][2]);
HuSprPosSet(var_r31, 0x1D, lbl_1_data_640[1][4], lbl_1_data_640[1][2]);
for (var_r30 = 0; var_r30 <= 0xA; var_r30++) {
fn_1_4D8();
if (var_r30 <= 5) {
var_f31 = fn_1_32C(1.0f, 0.0f, var_r30, 5.0f);
}
else {
var_f31 = fn_1_32C(0.0f, 1.0f, var_r30 - 5, 5.0f);
}
if (lbl_1_bss_3114->unk_68 != 0) {
var_f30 = fn_1_32C(lbl_1_data_640[lbl_1_bss_3114->unk_68 % 4][0], lbl_1_data_640[0][0], var_r30, 10.0f);
var_f29 = fn_1_32C(lbl_1_data_640[lbl_1_bss_3114->unk_68 / 4][1], lbl_1_data_640[0][1], var_r30, 10.0f);
HuSprPosSet(var_r31, 0x19, var_f30, var_f29);
HuSprPosSet(var_r31, 0x1A, var_f30, var_f29);
}
if (lbl_1_bss_35BC[0].unk_1C[0] != 0) {
HuSprScaleSet(var_r31, 0x1E, 1.0f, var_f31);
HuSprScaleSet(var_r31, 0x1F, 1.0f, var_f31);
}
if (lbl_1_bss_35BC[0].unk_1C[1] != 0) {
HuSprScaleSet(var_r31, 0x20, 1.0f, var_f31);
HuSprScaleSet(var_r31, 0x21, 1.0f, var_f31);
}
if (var_r30 == 6) {
HuSprBankSet(var_r31, 0x1E, 0);
HuSprBankSet(var_r31, 0x1F, 0);
HuSprBankSet(var_r31, 0x20, 0);
HuSprBankSet(var_r31, 0x21, 0);
}
}
lbl_1_bss_3114[0].unk_70[0] = lbl_1_bss_3114[0].unk_68 = 0;
lbl_1_bss_35BC[0].unk_08[0] = 1;
lbl_1_bss_35BC[0].unk_1C[0] = lbl_1_bss_35BC[0].unk_1C[1] = 0;
}
void fn_1_1D4FC(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
AnimData *var_r27;
AnimData *var_r26;
s32 sp8[4][2] = {
{ 0x00000070, 0x00000037 },
{ 0x000001D2, 0x00000037 },
{ 0x00000070, 0x0000011A },
{ 0x000001D2, 0x0000011A },
};
arg0->unk_30 = var_r30 = (s16)HuSprGrpCreate(0x22);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x58)), 0x7D0, 0);
HuSprGrpMemberSet(var_r30, 0, var_r29);
HuSprTPLvlSet(var_r30, 0, 0.8f);
fn_1_6534(var_r30, 0, 288.0f, 240.0f);
var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18));
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r29 = HuSprCreate(var_r27, 0x7BC, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 1, var_r29);
HuSprBankSet(var_r30, var_r31 + 1, var_r31);
fn_1_6534(var_r30, var_r31 + 1, sp8[var_r31][0], sp8[var_r31][1]);
var_r29 = HuSprCreate(var_r26, 0x7C6, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 5, var_r29);
HuSprBankSet(var_r30, var_r31 + 5, var_r31);
HuSprTPLvlSet(var_r30, var_r31 + 5, 0.5f);
fn_1_6534(var_r30, var_r31 + 5, sp8[var_r31][0] + 1, sp8[var_r31][1] + 6);
}
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x41)), 0x7BC, 0);
HuSprGrpMemberSet(var_r30, 0x1B, var_r29);
var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x42));
for (var_r31 = 0; var_r31 < 2; var_r31++) {
var_r29 = HuSprCreate(var_r27, 0, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x1C, var_r29);
HuSprBankSet(var_r30, var_r31 + 0x1C, var_r31);
}
var_r27 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x22));
for (var_r31 = 0; var_r31 < 8; var_r31++) {
var_r29 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x1A)), 0x3E8, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 9, var_r29);
HuSprPosSet(var_r30, var_r31 + 9, lbl_1_data_640[var_r31 % 4][0], lbl_1_data_640[var_r31 / 4][1]);
var_r29 = HuSprCreate(var_r27, 0x3F2, 0);
HuSprGrpMemberSet(var_r30, var_r31 + 0x11, var_r29);
HuSprTPLvlSet(var_r30, var_r31 + 0x11, 0.5f);
HuSprPosSet(var_r30, var_r31 + 0x11, lbl_1_data_640[var_r31 % 4][0] + 1, lbl_1_data_640[var_r31 / 4][1] + 2);
}
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x23)), 0, 0);
HuSprGrpMemberSet(var_r30, 0x19, var_r29);
HuSprPosSet(var_r30, 0x19, lbl_1_data_640[0][0], lbl_1_data_640[0][1]);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x28)), 0xA, 0);
HuSprGrpMemberSet(var_r30, 0x1A, var_r29);
HuSprPosSet(var_r30, 0x1A, lbl_1_data_640[0][0], lbl_1_data_640[0][1]);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5D)), 0x3E8, 0);
HuSprGrpMemberSet(var_r30, 0x1E, var_r29);
HuSprPosSet(var_r30, 0x1E, 340.0f, lbl_1_data_640[1][2]);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x5E)), 0x3F2, 0);
HuSprGrpMemberSet(var_r30, 0x1F, var_r29);
HuSprTPLvlSet(var_r30, 0x1F, 0.5f);
HuSprPosSet(var_r30, 0x1F, 341.0f, lbl_1_data_640[1][2] + 2);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x48)), 0x3E8, 0);
HuSprGrpMemberSet(var_r30, 0x20, var_r29);
HuSprPosSet(var_r30, 0x20, 340.0f, lbl_1_data_640[2][2]);
var_r29 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x49)), 0x3F2, 0);
HuSprGrpMemberSet(var_r30, 0x21, var_r29);
HuSprTPLvlSet(var_r30, 0x21, 0.5f);
HuSprPosSet(var_r30, 0x21, 341.0f, lbl_1_data_640[2][2] + 2);
for (var_r31 = 0; var_r31 < 3; var_r31++) {
arg0->unk_44[var_r31] = HuWinExCreateStyled(0.0f, 0.0f, 0xC8, 0xC8, -1, 1);
HuWinBGTPLvlSet(arg0->unk_44[var_r31], 0.0f);
HuWinMesSet(arg0->unk_44[var_r31], var_r31 + 0x1B002D);
HuWinMesSpeedSet(arg0->unk_44[var_r31], 0);
HuWinDispOn(arg0->unk_44[var_r31]);
if (var_r31 == 0) {
HuWinDispOff(arg0->unk_44[var_r31]);
}
winData[arg0->unk_44[var_r31]].mess_shadow_color = 0;
}
fn_1_1CBC8();
}
void fn_1_1DED8()
{
s32 var_r30;
s32 var_r31;
var_r30 = lbl_1_bss_35BC[0].unk_30;
HuSprAttrReset(var_r30, 0x1B, 4);
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 0x1C, 4);
}
}
void fn_1_1DF48(void)
{
s32 var_r30;
s32 var_r31;
var_r30 = lbl_1_bss_35BC[0].unk_30;
HuSprAttrSet(var_r30, 0x1B, 4);
for (var_r31 = 0; var_r31 < 2; var_r31++) {
HuSprAttrSet(var_r30, var_r31 + 0x1C, 4);
}
}
void fn_1_1DFB8(void)
{
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
fn_1_1CBC8();
var_r28 = lbl_1_bss_35BC[0].unk_30;
HuSprAttrSet(var_r28, 0x1B, 4);
for (var_r29 = 0; var_r29 < 2; var_r29++) {
HuSprAttrSet(var_r28, var_r29 + 0x1C, 4);
}
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0x32) {
var_f31 = fn_1_32C(-500.0f, 10.0f, var_r31, 50.0f);
}
else {
var_f31 = fn_1_254(10.0f, 0.0f, var_r31 - 0x32, 10.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
HuWinPosSet(lbl_1_bss_35BC[0].unk_44[var_r30], 100.0f, lbl_1_data_640[var_r30][2] - 0x15 + var_f31);
}
}
}
void fn_1_1E1B4(void)
{
float var_f31;
s32 var_r31;
MentDllUnkBss35BCStruct *var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
var_r28 = lbl_1_bss_35BC[0].unk_3C;
var_r30 = &lbl_1_bss_35BC[1];
HuSprAttrSet(var_r28, 2, 4);
for (var_r27 = 0; var_r27 < 4; var_r27++) {
HuSprAttrSet(var_r28, var_r27 + 3, 4);
}
HuSprAttrSet(var_r28, lbl_1_bss_3114[var_r30->unk_1C[4]].unk_68 + 0x37, 4);
HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x3F, 4);
HuSprAttrSet(var_r28, var_r30->unk_1C[4] + 0x43, 4);
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = fn_1_32C(0.0f, 10.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_30, 0.0f, var_f31);
for (var_r29 = 0; var_r29 < 3; var_r29++) {
HuWinPosSet(lbl_1_bss_35BC->unk_44[var_r29], 100.0f, lbl_1_data_640[var_r29][2] - 0x15 + var_f31);
}
}
}
void fn_1_1E404(omObjData *arg0, MentDllUnkBss3114Struct *arg1)
{
float var_f31;
float var_f30;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 var_r25;
s32 var_r24;
s32 var_r23;
var_r28 = lbl_1_bss_35BC[0].unk_30;
var_r26 = 0;
var_r25 = 0;
var_r30 = arg1->unk_68 % 4;
var_r24 = var_r30;
var_r29 = arg1->unk_68 / 4;
var_r23 = var_r29;
if (arg1->unk_70[0] == 0) {
if (HuPadBtnDown[arg1->unk_6C] & PAD_BUTTON_A) {
arg1->unk_70[0] = 1;
HuSprBankSet(var_r28, arg1->unk_68 + 9, 1);
HuSprBankSet(var_r28, 0x19, 1);
HuSprBankSet(var_r28, 0x1A, 1);
HuAudFXPlay(arg1->unk_68 + 0x6D);
}
else {
if ((HuPadStkX[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 2) != 0)) {
var_r30++;
var_r26 = 1;
if (var_r30 > 3) {
var_r30 = 3;
}
}
else if ((HuPadStkX[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 1) != 0)) {
var_r30--;
var_r26 = -1;
if (var_r30 < 0) {
var_r30 = 0;
}
}
if ((HuPadStkY[arg1->unk_6C] <= -5) || ((HuPadBtn[arg1->unk_6C] & 4) != 0)) {
var_r29++;
var_r25 = 1;
if (var_r29 > 1) {
var_r29 = 1;
}
}
else if ((HuPadStkY[arg1->unk_6C] >= 5) || ((HuPadBtn[arg1->unk_6C] & 8) != 0)) {
var_r29--;
var_r25 = -1;
if (var_r29 < 0) {
var_r29 = 0;
}
}
}
}
else if ((HuPadBtnDown[arg1->unk_6C] & 0x200) != 0) {
arg1->unk_70[0] = 0;
HuSprBankSet(var_r28, arg1->unk_68 + 9, 0);
HuSprBankSet(var_r28, 0x19, 0);
HuSprBankSet(var_r28, 0x1A, 0);
HuAudFXPlay(3);
}
if (arg1->unk_68 != (var_r30 + (var_r29 * 4))) {
arg1->unk_68 = var_r30 + (var_r29 * 4);
HuAudFXPlay(0);
for (var_r27 = 0; var_r27 <= 0xA; var_r27++) {
fn_1_4D8();
var_f31 = fn_1_32C(lbl_1_data_640[var_r24][0], lbl_1_data_640[var_r30][0], var_r27, 10.0f);
var_f30 = fn_1_32C(lbl_1_data_640[var_r23][1], lbl_1_data_640[var_r29][1], var_r27, 10.0f);
HuSprPosSet(var_r28, 0x19, var_f31, var_f30);
HuSprPosSet(var_r28, 0x1A, var_f31, var_f30);
}
}
}
void fn_1_1E8A4(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
float var_f31;
float var_f30;
float var_f29;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 var_r25;
s32 var_r24;
s32 var_r23;
var_r30 = arg1->unk_30;
var_r28 = 0;
var_r27 = arg1->unk_08[0];
lbl_1_bss_35BC[0].unk_08[3] = 0;
if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_A) {
lbl_1_bss_35BC[0].unk_08[3] = 1;
arg1->unk_08[0]++;
if (arg1->unk_08[0] > 2) {
arg1->unk_08[0] = 2;
lbl_1_bss_35BC[1].unk_08[1] = 1;
var_r24 = lbl_1_bss_35BC[0].unk_30;
HuSprAttrSet(var_r24, 0x1B, 4);
for (var_r26 = 0; var_r26 < 2; var_r26++) {
HuSprAttrSet(var_r24, var_r26 + 0x1C, 4);
}
}
HuAudFXPlay(2);
}
else if (HuPadBtnDown[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_B) {
lbl_1_bss_35BC[0].unk_08[3] = 1;
arg1->unk_08[0]--;
if (arg1->unk_08[0] < 1) {
arg1->unk_08[0] = 1;
lbl_1_bss_35BC[1].unk_08[1] = -1;
var_r23 = lbl_1_bss_35BC[0].unk_30;
HuSprAttrSet(var_r23, 0x1B, 4);
for (var_r25 = 0; var_r25 < 2; var_r25++) {
HuSprAttrSet(var_r23, var_r25 + 0x1C, 4);
}
}
HuAudFXPlay(3);
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || (HuPadBtn[lbl_1_bss_3114->unk_6C] & PAD_BUTTON_RIGHT)) {
var_r28 = 1;
lbl_1_bss_35BC[0].unk_08[3] = 1;
switch (arg1->unk_08[0]) {
case 1:
if (lbl_1_bss_A8[5] == 1) {
arg1->unk_1C[0] += 1;
if (arg1->unk_1C[0] > 4) {
arg1->unk_1C[0] = 0;
}
}
else {
arg1->unk_1C[0] += 1;
if (arg1->unk_1C[0] > 4) {
arg1->unk_1C[0] = 0;
}
if (arg1->unk_1C[0] == 3) {
arg1->unk_1C[0] = 4;
}
}
break;
case 2:
if (lbl_1_bss_A8[6] == 1) {
arg1->unk_1C[1]++;
if (arg1->unk_1C[1] > 2) {
arg1->unk_1C[1] = 0;
}
}
else {
arg1->unk_1C[1]++;
if (arg1->unk_1C[1] > 1) {
arg1->unk_1C[1] = 0;
}
}
break;
}
HuAudFXPlay(0);
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1) != 0)) {
var_r28 = -1;
lbl_1_bss_35BC[0].unk_08[3] = 1;
switch (arg1->unk_08[0]) {
case 1:
if (lbl_1_bss_A8[5] == 1) {
arg1->unk_1C[0] -= 1;
if (arg1->unk_1C[0] < 0) {
arg1->unk_1C[0] = 4;
}
}
else {
arg1->unk_1C[0] -= 1;
if (arg1->unk_1C[0] < 0) {
arg1->unk_1C[0] = 4;
}
if (arg1->unk_1C[0] == 3) {
arg1->unk_1C[0] = 2;
}
}
break;
case 2:
if (lbl_1_bss_A8[6] == 1) {
arg1->unk_1C[1]--;
if (arg1->unk_1C[1] < 0) {
arg1->unk_1C[1] = 2;
}
}
else {
arg1->unk_1C[1]--;
if (arg1->unk_1C[1] < 0) {
arg1->unk_1C[1] = 1;
}
}
break;
}
HuAudFXPlay(0);
}
if (var_r27 != arg1->unk_08[0]) {
for (var_r29 = 0; var_r29 < 0xB; var_r29++) {
fn_1_4D8();
var_f29 = fn_1_32C(lbl_1_data_640[var_r27][2], lbl_1_data_640[arg1->unk_08[0]][2], var_r29, 10.0f);
HuSprPosSet(var_r30, 0x1B, 288.0f, var_f29);
var_f31 = fn_1_32C(lbl_1_data_640[var_r27][3], lbl_1_data_640[arg1->unk_08[0]][3], var_r29, 10.0f);
HuSprPosSet(var_r30, 0x1C, var_f31, var_f29);
var_f31 = fn_1_32C(lbl_1_data_640[var_r27][4], lbl_1_data_640[arg1->unk_08[0]][4], var_r29, 10.0f);
HuSprPosSet(var_r30, 0x1D, var_f31, var_f29);
}
}
else if (var_r28 != 0) {
for (var_r29 = 0; var_r29 <= 0xA; var_r29++) {
fn_1_4D8();
if (var_r29 <= 5) {
var_f31 = fn_1_32C(0.0f, 10.0f, var_r29, 5.0f);
var_f30 = fn_1_32C(1.0f, 0.0f, var_r29, 5.0f);
}
else {
var_f31 = fn_1_32C(10.0f, 0.0f, var_r29 - 5, 5.0f);
var_f30 = fn_1_32C(0.0f, 1.0f, var_r29 - 5, 5.0f);
}
if (var_r28 == 1) {
HuSprPosSet(var_r30, 0x1D, var_f31 + lbl_1_data_640[arg1->unk_08[0]][4], lbl_1_data_640[arg1->unk_08[0]][2]);
}
else {
HuSprPosSet(var_r30, 0x1C, lbl_1_data_640[arg1->unk_08[0]][3] - var_f31, lbl_1_data_640[arg1->unk_08[0]][2]);
}
switch (arg1->unk_08[0]) {
case 1:
if (var_r28 == 1) {
HuSprPosSet(var_r30, 0x1E, 340.0f + var_f31, lbl_1_data_640[1][2]);
HuSprPosSet(var_r30, 0x1F, 340.0f + var_f31, lbl_1_data_640[1][2] + 2);
}
else {
HuSprPosSet(var_r30, 0x1E, 341.0f - var_f31, lbl_1_data_640[1][2]);
HuSprPosSet(var_r30, 0x1F, 341.0f - var_f31, lbl_1_data_640[1][2] + 2);
}
HuSprScaleSet(var_r30, 0x1E, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x1F, 1.0f, var_f30);
break;
case 2:
if (var_r28 == 1) {
HuSprPosSet(var_r30, 0x20, 340.0f + var_f31, lbl_1_data_640[2][2]);
HuSprPosSet(var_r30, 0x21, 340.0f + var_f31, lbl_1_data_640[2][2] + 2);
}
else {
HuSprPosSet(var_r30, 0x20, 341.0f - var_f31, lbl_1_data_640[2][2]);
HuSprPosSet(var_r30, 0x21, 341.0f - var_f31, lbl_1_data_640[2][2] + 2);
}
HuSprScaleSet(var_r30, 0x20, 1.0f, var_f30);
HuSprScaleSet(var_r30, 0x21, 1.0f, var_f30);
break;
}
if (var_r29 == 6) {
switch (arg1->unk_08[0]) {
case 1:
HuSprBankSet(var_r30, 0x1E, arg1->unk_1C[0]);
HuSprBankSet(var_r30, 0x1F, arg1->unk_1C[0]);
break;
case 2:
HuSprBankSet(var_r30, 0x20, arg1->unk_1C[1]);
HuSprBankSet(var_r30, 0x21, arg1->unk_1C[1]);
break;
}
}
}
}
lbl_1_bss_35BC[0].unk_08[3] = 0;
}
void fn_1_1F5F0(void)
{
s32 var_r31;
s32 var_r30;
var_r31 = lbl_1_bss_35BC[0].unk_34;
for (var_r30 = 0; var_r30 < 9; var_r30++) {
HuSprAttrSet(var_r31, var_r30, 4);
}
HuSprAttrReset(var_r31, 0, 4);
HuSprBankSet(var_r31, 0, lbl_1_bss_35BC[0].unk_1C[0]);
HuSprAttrReset(var_r31, lbl_1_bss_3114->unk_68 + 1, 4);
HuSprGrpPosSet(var_r31, 16.0f, -500.0f);
}
void fn_1_1F6B8(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
var_r29 = HuSprGrpCreate(9);
arg0->unk_34 = var_r29;
var_r27 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x59)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 0, var_r27);
fn_1_6534(var_r29, 0, 75.0f, 25.0f);
for (var_r31 = 0; var_r31 < 8; var_r31++) {
var_r27 = HuSprCreate(HuSprAnimReadFile(var_r31 + DATA_MAKE_NUM(DATADIR_MENT, 0x31)), 0x3E8, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 1, var_r27);
HuSprPosSet(var_r29, var_r31 + 1, 24.0f, 25.0f);
}
var_r30 = lbl_1_bss_35BC[0].unk_34;
for (var_r28 = 0; var_r28 < 9; var_r28++) {
HuSprAttrSet(var_r30, var_r28, 4);
}
HuSprAttrReset(var_r30, 0, 4);
HuSprBankSet(var_r30, 0, lbl_1_bss_35BC[0].unk_1C[0]);
HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, 4);
HuSprGrpPosSet(var_r30, 16.0f, -500.0f);
}
void fn_1_1F868(void)
{
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
var_r30 = lbl_1_bss_35BC[0].unk_34;
for (var_r29 = 0; var_r29 < 9; var_r29++) {
HuSprAttrSet(var_r30, var_r29, 4);
}
HuSprAttrReset(var_r30, 0, 4);
HuSprBankSet(var_r30, 0, lbl_1_bss_35BC[0].unk_1C[0]);
HuSprAttrReset(var_r30, lbl_1_bss_3114->unk_68 + 1, 4);
HuSprGrpPosSet(var_r30, 16.0f, -500.0f);
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0x32) {
var_f31 = fn_1_32C(-500.0f, 50.0f, var_r31, 50.0f);
}
else {
var_f31 = fn_1_254(50.0f, 40.0f, var_r31 - 0x32, 10.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31);
}
}
void fn_1_1FA34(void)
{
float var_f31;
s32 var_r31;
lbl_1_bss_35BC[0].unk_08[0] = -1;
lbl_1_bss_35BC[0].unk_04 = NULL;
for (var_r31 = 0; var_r31 <= 0x4B; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = fn_1_32C(40.0f, 50.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_254(50.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31);
if (var_r31 >= 0xF) {
var_f31 = fn_1_254(210.0f, -500.0f, var_r31 - 0xF, 60.0f);
HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y = (s32)fn_1_234(HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y, var_f31, 10.0f);
}
}
}
void fn_1_1FC54(void)
{
float var_f31;
s32 var_r31;
lbl_1_bss_35BC[0].unk_08[0] = -1;
lbl_1_bss_35BC[0].unk_04 = NULL;
for (var_r31 = 0; var_r31 <= 0x28; var_r31++) {
fn_1_4D8();
var_f31 = fn_1_254(40.0f, -500.0f, var_r31, 40.0f);
HuSprGrpPosSet(lbl_1_bss_35BC[0].unk_34, 16.0f, var_f31);
var_f31 = fn_1_254(210.0f, -500.0f, var_r31, 40.0f);
HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y = (s32)fn_1_234(HuSprGrpData[lbl_1_bss_35BC[0].unk_38].y, var_f31, 10.0f);
}
}
void fn_1_1FE08(void)
{
s32 sp8;
s32 var_r31;
s32 var_r30;
sp8 = 0;
var_r30 = lbl_1_bss_35BC[0].unk_40;
for (var_r31 = 0; var_r31 < 0x13; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprBankSet(var_r30, var_r31, 0);
lbl_1_bss_3114[var_r31].unk_70[3] = lbl_1_bss_3114[var_r31].unk_60 = 0;
HuSprAttrReset(var_r30, var_r31, 4);
HuSprAttrReset(var_r30, var_r31 + 4, 4);
}
HuSprAttrReset(var_r30, 0xA, 4);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 0xB, 4);
HuSprAttrReset(var_r30, var_r31 + 0xF, 4);
}
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
void fn_1_1FF4C(omObjData *arg0, MentDllUnkBss35BCStruct *arg1)
{
s32 sp8;
float var_f31;
float var_f30;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
s32 var_r26;
s32 var_r25;
sp8 = 0;
var_r28 = lbl_1_bss_35BC[0].unk_40;
var_r29 = var_r27 = var_r26 = var_r25 = 0;
lbl_1_bss_35BC[0].unk_1C[0] = 0;
var_r29 = 1;
for (var_r30 = 1; var_r30 < 4; var_r30++) {
if (lbl_1_bss_3114[var_r30].unk_60 == 0) {
var_r29++;
}
}
var_r27 = 1;
for (var_r30 = 1; var_r30 < 4; var_r30++) {
if (HuPadStatGet(var_r30) != -1) {
var_r27++;
}
}
if (var_r27 >= 2) {
fn_1_208F4();
if ((HuPadStkX[lbl_1_bss_3114->unk_6C] >= 5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 2) != 0)) {
var_r29++;
var_r26 = 1;
}
else if ((HuPadStkX[lbl_1_bss_3114->unk_6C] <= -5) || ((HuPadBtn[lbl_1_bss_3114->unk_6C] & 1) != 0)) {
var_r29--;
var_r26 = -1;
}
}
else {
fn_1_20A24();
}
if (var_r29 < 1) {
var_r29 = var_r27;
}
else if (var_r29 > var_r27) {
if (var_r26 == 0) {
var_r29 = var_r27;
var_r25 = 1;
}
else {
var_r29 = 1;
}
}
if ((var_r26 != 0) || (var_r25 != 0)) {
lbl_1_bss_35BC[0].unk_1C[0] = 1;
HuAudFXPlay(0);
for (var_r30 = 0; var_r30 <= 0xA; var_r30++) {
if (var_r30 <= 5) {
var_f30 = fn_1_32C(0.0f, 10.0f, var_r30, 5.0f);
var_f31 = fn_1_32C(1.0f, 0.0f, var_r30, 5.0f);
}
else {
var_f30 = fn_1_32C(10.0f, 0.0f, var_r30 - 5, 5.0f);
var_f31 = fn_1_32C(0.0f, 1.0f, var_r30 - 5, 5.0f);
}
if (var_r26 == 1) {
HuSprPosSet(var_r28, 9, (lbl_1_data_690[3][0] + 0x32) + var_f30, lbl_1_data_690[0][1]);
}
else if (var_r26 == -1) {
HuSprPosSet(var_r28, 8, (lbl_1_data_690[0][0] - 0x32) - var_f30, lbl_1_data_690[0][1]);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if ((var_r31 < var_r29) && (lbl_1_bss_3114[var_r31].unk_60 == 1)) {
lbl_1_bss_3114[var_r31].unk_70[3] = 0;
HuSprScaleSet(var_r28, var_r31, var_f31, 1.0f);
HuSprScaleSet(var_r28, var_r31 + 4, var_f31, 1.0f);
if (var_r30 == 5) {
HuSprBankSet(var_r28, var_r31, 0);
}
}
else if ((var_r31 >= var_r29) && (lbl_1_bss_3114[var_r31].unk_60 == 0)) {
lbl_1_bss_3114[var_r31].unk_70[3] = 1;
HuSprScaleSet(var_r28, var_r31, var_f31, 1.0f);
HuSprScaleSet(var_r28, var_r31 + 4, var_f31, 1.0f);
if (var_r30 == 5) {
HuSprBankSet(var_r28, var_r31, 1);
}
}
}
fn_1_4D8();
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (var_r31 < var_r29) {
lbl_1_bss_3114[var_r31].unk_60 = 0;
}
else {
lbl_1_bss_3114[var_r31].unk_60 = 1;
}
}
}
lbl_1_bss_35BC[0].unk_1C[0] = 0;
}
void fn_1_2055C(s32 arg0)
{
s32 spC;
float var_f31;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
var_r28 = lbl_1_bss_35BC[0].unk_40;
if (arg0 == 0) {
spC = 0;
var_r30 = lbl_1_bss_35BC[0].unk_40;
for (var_r31 = 0; var_r31 < 0x13; var_r31++) {
HuSprAttrSet(var_r30, var_r31, 4);
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprBankSet(var_r30, var_r31, 0);
lbl_1_bss_3114[var_r31].unk_70[3] = lbl_1_bss_3114[var_r31].unk_60 = 0;
HuSprAttrReset(var_r30, var_r31, 4);
HuSprAttrReset(var_r30, var_r31 + 4, 4);
}
HuSprAttrReset(var_r30, 0xA, 4);
for (var_r31 = 0; var_r31 < 4; var_r31++) {
HuSprAttrReset(var_r30, var_r31 + 0xB, 4);
HuSprAttrReset(var_r30, var_r31 + 0xF, 4);
}
HuSprGrpPosSet(var_r30, 0.0f, -500.0f);
}
for (var_r29 = 0; var_r29 <= 0x3C; var_r29++) {
fn_1_4D8();
if (var_r29 <= 0x32) {
var_f31 = fn_1_32C(-500.0f, 10.0f, var_r29, 50.0f);
}
else {
var_f31 = fn_1_254(10.0f, 2.06f, var_r29 - 0x32, 10.0f);
}
HuSprGrpPosSet(var_r28, 0.0f, var_f31);
}
}
void fn_1_207BC(void)
{
s32 spC;
s32 sp8;
float var_f31;
s32 var_r31;
s32 var_r30;
spC = 0;
sp8 = 0;
var_r30 = lbl_1_bss_35BC[0].unk_40;
for (var_r31 = 0; var_r31 <= 0x3C; var_r31++) {
fn_1_4D8();
if (var_r31 <= 0xA) {
var_f31 = fn_1_32C(2.06f, 10.0f, var_r31, 10.0f);
}
else {
var_f31 = fn_1_254(10.0f, -500.0f, var_r31 - 0xA, 50.0f);
}
HuSprGrpPosSet(var_r30, 0.0f, var_f31);
}
}
void fn_1_208F4(void)
{
s32 var_r31;
var_r31 = lbl_1_bss_35BC[0].unk_40;
HuSprAttrReset(var_r31, 8, 4);
HuSprPosSet(var_r31, 8, lbl_1_data_690[0][0] - 0x32, lbl_1_data_690[0][1]);
HuSprAttrReset(var_r31, 9, 4);
HuSprPosSet(var_r31, 9, lbl_1_data_690[3][0] + 0x32, lbl_1_data_690[0][1]);
}
void fn_1_20A24(void)
{
s32 var_r31;
var_r31 = lbl_1_bss_35BC[0].unk_40;
HuSprAttrSet(var_r31, 8, 4);
HuSprPosSet(var_r31, 8, lbl_1_data_690[0][0] - 0x32, lbl_1_data_690[0][1]);
HuSprAttrSet(var_r31, 9, 4);
HuSprPosSet(var_r31, 9, lbl_1_data_690[3][0] + 0x32, lbl_1_data_690[0][1]);
}
void fn_1_20B54(MentDllUnkBss35BCStruct *arg0, s32 arg1, s32 arg2, s32 arg3)
{
s32 sp8;
s32 var_r31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
s32 var_r27;
AnimData *var_r26;
AnimData *var_r25;
var_r29 = HuSprGrpCreate(0x13);
arg0->unk_40 = var_r29;
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x22));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x16)), 0x3E8, 0);
HuSprGrpMemberSet(var_r29, var_r31, var_r28);
HuSprPosSet(var_r29, var_r31, lbl_1_data_690[var_r31 % 4][0], lbl_1_data_690[0][1]);
var_r28 = HuSprCreate(var_r26, 0x3F2, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 4, var_r28);
HuSprTPLvlSet(var_r29, var_r31 + 4, 0.5f);
HuSprPosSet(var_r29, var_r31 + 4, lbl_1_data_690[var_r31 % 4][0] + 1, lbl_1_data_690[0][1] + 2);
}
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x42));
for (var_r31 = 0; var_r31 < 2; var_r31++) {
var_r28 = HuSprCreate(var_r26, 0, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 8, var_r28);
HuSprBankSet(var_r29, var_r31 + 8, var_r31);
}
var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x15)), 0x7D0, 0);
HuSprGrpMemberSet(var_r29, 0xA, var_r28);
HuSprTPLvlSet(var_r29, 0xA, 0.8f);
fn_1_6534(var_r29, 0xA, 288.0f, 240.0f);
var_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x18));
var_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MENT, 0x19));
for (var_r31 = 0; var_r31 < 4; var_r31++) {
var_r28 = HuSprCreate(var_r26, 0x7BC, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0xB, var_r28);
HuSprBankSet(var_r29, var_r31 + 0xB, var_r31);
fn_1_6534(var_r29, var_r31 + 0xB, lbl_1_data_690[var_r31][2], lbl_1_data_690[var_r31][3]);
var_r28 = HuSprCreate(var_r25, 0x7C6, 0);
HuSprGrpMemberSet(var_r29, var_r31 + 0xF, var_r28);
HuSprBankSet(var_r29, var_r31 + 0xF, var_r31);
HuSprTPLvlSet(var_r29, var_r31 + 0xF, 0.5f);
fn_1_6534(var_r29, var_r31 + 0xF, lbl_1_data_690[var_r31][2] + 1, lbl_1_data_690[var_r31][3] + 6);
}
sp8 = 0;
var_r27 = lbl_1_bss_35BC[0].unk_40;
for (var_r30 = 0; var_r30 < 0x13; var_r30++) {
HuSprAttrSet(var_r27, var_r30, 4);
}
for (var_r30 = 0; var_r30 < 4; var_r30++) {
HuSprBankSet(var_r27, var_r30, 0);
lbl_1_bss_3114[var_r30].unk_70[3] = lbl_1_bss_3114[var_r30].unk_60 = 0;
HuSprAttrReset(var_r27, var_r30, 4);
HuSprAttrReset(var_r27, var_r30 + 4, 4);
}
HuSprAttrReset(var_r27, 0xA, 4);
for (var_r30 = 0; var_r30 < 4; var_r30++) {
HuSprAttrReset(var_r27, var_r30 + 0xB, 4);
HuSprAttrReset(var_r27, var_r30 + 0xF, 4);
}
HuSprGrpPosSet(var_r27, 0.0f, -500.0f);
}
void fn_1_21134(omObjData *object)
{
float var_f31;
s32 var_r31;
MentDllUnkBss64Struct *var_r29;
var_r29 = &lbl_1_bss_64;
for (var_r31 = 1; var_r31 < 0xA; var_r31++) {
if ((var_r29->zoom <= 1200.0f) || (lbl_1_bss_16C4[var_r31].unk_1C == -200.0f)) {
if (lbl_1_bss_16C4[var_r31].unk_1C >= -100.0f) {
lbl_1_bss_16C4[var_r31].unk_00 = 0;
lbl_1_bss_16C4[var_r31].unk_1C = -200.0f;
lbl_1_bss_16C4[var_r31].unk_24 = -99.0f;
lbl_1_bss_16C4[var_r31].unk_04 = rand8() + 0xB4;
}
var_f31 = fn_1_254(lbl_1_bss_16C4[var_r31].unk_10, 1000.0f, lbl_1_bss_16C4[var_r31].unk_00++, lbl_1_bss_16C4[var_r31].unk_04);
Hu3DData[object->model[var_r31]].pos.y = fn_1_234(Hu3DData[object->model[var_r31]].pos.y, var_f31, 30.0f);
Hu3DData[object->model[var_r31]].pos.x
= fn_1_234(Hu3DData[object->model[var_r31]].pos.x, lbl_1_bss_16C4[var_r31].unk_18 + Hu3DData[object->model[var_r31]].pos.x, 5.0f);
}
}
for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) {
Hu3DData[object->model[var_r31]].pos.y = fn_1_3F4(
lbl_1_bss_16C4[var_r31].unk_10, lbl_1_bss_16C4[var_r31].unk_1C, lbl_1_bss_16C4[var_r31].unk_00++, lbl_1_bss_16C4[var_r31].unk_04);
if (lbl_1_bss_16C4[var_r31].unk_00 >= lbl_1_bss_16C4[var_r31].unk_04) {
lbl_1_bss_16C4[var_r31].unk_00 = 0;
}
}
for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) {
if ((lbl_1_bss_16C4[var_r31].unk_24 == 0.0f) && (lbl_1_bss_16C4[var_r31].unk_14 > (var_r29->zoom - 400.0f))
&& (lbl_1_bss_16C4[var_r31].unk_0C < (200.0f + var_r29->center.x)) && (lbl_1_bss_16C4[var_r31].unk_0C > (var_r29->center.x - 200.0f))) {
if (var_r29->center.x >= lbl_1_bss_16C4[var_r31].unk_0C) {
lbl_1_bss_16C4[var_r31].unk_24 = -300.0f;
}
else {
lbl_1_bss_16C4[var_r31].unk_24 = 300.0f;
}
}
if (lbl_1_bss_16C4[var_r31].unk_24 != -99.0f) {
Hu3DData[object->model[var_r31]].pos.x
= fn_1_234(Hu3DData[object->model[var_r31]].pos.x, lbl_1_bss_16C4[var_r31].unk_0C + lbl_1_bss_16C4[var_r31].unk_24, 30.0f);
}
}
if (object->work[0] == 1) {
for (var_r31 = 0xA; var_r31 < 0x8C; var_r31++) {
Hu3DModelAttrSet(object->model[var_r31], HU3D_ATTR_DISPOFF);
}
}
}
void fn_1_21724(omObjData *object)
{
float var_f31;
float var_f30;
float var_f29;
s32 var_r30;
s32 var_r29;
s32 var_r28;
object->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x08));
object->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x09));
object->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x0A));
object->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 0x0B));
Hu3DModelLayerSet(object->model[1], 3);
Hu3DModelLayerSet(object->model[2], 3);
Hu3DModelLayerSet(object->model[3], 3);
Hu3DModelLayerSet(object->model[4], 3);
for (var_r30 = 5; var_r30 < 0x8C; var_r30++) {
object->model[var_r30] = Hu3DModelLink(object->model[rand8() % 4 + 1]);
}
for (var_r30 = 1; var_r30 < 0xA; var_r30++) {
var_r28 = 0;
do {
Hu3DData[object->model[var_r30]].pos.x = var_f31 = 50.0f + rand8();
if ((var_r30 % 2) != 0) {
lbl_1_bss_16C4[var_r30].unk_0C = Hu3DData[object->model[var_r30]].pos.x *= -1.0f;
}
Hu3DData[object->model[var_r30]].pos.y = var_f30 = 50.0f + rand8();
Hu3DData[object->model[var_r30]].pos.z = var_f29 = 750.0f + (var_r30 * 5);
for (var_r29 = 1; var_r29 < 0xA; var_r29++) {
if ((var_r30 != var_r29) && (lbl_1_bss_16C4[var_r29].unk_08 == 1)) {
var_f31 = Hu3DData[object->model[var_r30]].pos.x - Hu3DData[object->model[var_r29]].pos.x;
var_f30 = Hu3DData[object->model[var_r30]].pos.y - Hu3DData[object->model[var_r29]].pos.y;
var_f29 = Hu3DData[object->model[var_r30]].pos.z - Hu3DData[object->model[var_r29]].pos.z;
if (sqrtf((var_f31 * var_f31) + (var_f30 * var_f30)) <= 100.0f) {
break;
}
}
}
var_r28++;
} while (var_r29 != 0xA && var_r28 < 0x32);
lbl_1_bss_16C4[var_r30].unk_08 = 1;
lbl_1_bss_16C4[var_r30].unk_0C = lbl_1_bss_16C4[var_r30].unk_18 = Hu3DData[object->model[var_r30]].pos.x;
lbl_1_bss_16C4[var_r30].unk_10 = lbl_1_bss_16C4[var_r30].unk_1C = Hu3DData[object->model[var_r30]].pos.y;
lbl_1_bss_16C4[var_r30].unk_14 = lbl_1_bss_16C4[var_r30].unk_20 = Hu3DData[object->model[var_r30]].pos.z;
lbl_1_bss_16C4[var_r30].unk_18 = 0.025f * lbl_1_bss_16C4[var_r30].unk_0C;
Hu3DModelScaleSet(object->model[var_r30], 0.5f, 0.5f, 0.5f);
Hu3DModelLayerSet(object->model[var_r30], 3);
}
for (var_r30 = 0xA; var_r30 < 0x8C; var_r30++) {
var_r28 = 0;
do {
Hu3DData[object->model[var_r30]].pos.x = var_f31 = rand8() * 2;
if ((var_r30 % 2) != 0) {
Hu3DData[object->model[var_r30]].pos.x *= -1.0f;
}
Hu3DData[object->model[var_r30]].pos.y = var_f30 = (rand8() * 2) + 0x7D;
Hu3DData[object->model[var_r30]].pos.z = var_f29 = 800.0f + (var_r30 * 0xA);
for (var_r29 = 0xA; var_r29 < 0x8C; var_r29++) {
if ((var_r30 != var_r29) && (lbl_1_bss_16C4[var_r29].unk_08 == 1)) {
var_f31 = Hu3DData[object->model[var_r30]].pos.x - Hu3DData[object->model[var_r29]].pos.x;
var_f30 = Hu3DData[object->model[var_r30]].pos.y - Hu3DData[object->model[var_r29]].pos.y;
var_f29 = Hu3DData[object->model[var_r30]].pos.z - Hu3DData[object->model[var_r29]].pos.z;
if (sqrtf((var_f29 * var_f29) + ((var_f31 * var_f31) + (var_f30 * var_f30))) <= 100.0f) {
break;
}
}
}
var_r28++;
} while (var_r29 != 0x8C && var_r28 < 0x32);
lbl_1_bss_16C4[var_r30].unk_08 = 1;
Hu3DModelLayerSet(object->model[var_r30], 3);
lbl_1_bss_16C4[var_r30].unk_0C = lbl_1_bss_16C4[var_r30].unk_18 = Hu3DData[object->model[var_r30]].pos.x;
lbl_1_bss_16C4[var_r30].unk_10 = lbl_1_bss_16C4[var_r30].unk_1C = Hu3DData[object->model[var_r30]].pos.y;
lbl_1_bss_16C4[var_r30].unk_14 = lbl_1_bss_16C4[var_r30].unk_20 = Hu3DData[object->model[var_r30]].pos.z;
if ((rand8() % 2) == 0) {
lbl_1_bss_16C4[var_r30].unk_18 += rand8() % 30;
}
else {
lbl_1_bss_16C4[var_r30].unk_18 -= rand8() % 30;
}
lbl_1_bss_16C4[var_r30].unk_1C += (rand8() % 30) + 0xA;
if ((rand8() % 2) == 0) {
lbl_1_bss_16C4[var_r30].unk_20 += rand8() % 30;
}
else {
lbl_1_bss_16C4[var_r30].unk_20 -= rand8() % 30;
}
lbl_1_bss_16C4[var_r30].unk_24 = lbl_1_bss_16C4[var_r30].unk_28 = lbl_1_bss_16C4[var_r30].unk_2C = 0.0f;
lbl_1_bss_16C4[var_r30].unk_04 = ((rand8() * 2) % 360) + 0x168;
lbl_1_bss_16C4[var_r30].unk_00 = rand8();
}
object->func = fn_1_21134;
}
void fn_1_225F4(omObjData *object)
{
s32 var_r30;
if (object->work[0] == 0) {
return;
}
for (var_r30 = 0; var_r30 < 0xC8; var_r30++) {
switch (lbl_1_bss_E4[var_r30].unk_04) {
case 0:
Hu3DData[object->model[var_r30]].pos.x = rand8() + rand8() % 50;
if ((var_r30 % 2) == 0) {
Hu3DData[object->model[var_r30]].pos.x *= -1.0f;
}
Hu3DData[object->model[var_r30]].pos.y = 500.0f + rand8() + rand8();
Hu3DData[object->model[var_r30]].pos.z = 700.0f + rand8() % 128;
lbl_1_bss_E4[var_r30].unk_18 = 1.0f;
lbl_1_bss_E4[var_r30].unk_00 = (rand8() % 30) + 0x1E;
lbl_1_bss_E4[var_r30].unk_0C = 0.01f * (25.0f + (rand8() % 50));
if ((rand8() % 2) == 0) {
lbl_1_bss_E4[var_r30].unk_0C *= -1.0f;
}
lbl_1_bss_E4[var_r30].unk_10 = rand8() % 2;
lbl_1_bss_E4[var_r30].unk_14 = 0.01f * ((rand8() % 100) - 0x32);
lbl_1_bss_E4[var_r30].unk_08 = (rand8() % 5) + 5;
if ((rand8() % 2) == 0) {
lbl_1_bss_E4[var_r30].unk_08 *= -1;
}
lbl_1_bss_E4[var_r30].unk_04 = 1;
break;
case 1:
if (Hu3DData[object->model[var_r30]].pos.y <= 0.5f) {
Hu3DData[object->model[var_r30]].pos.y = 0.5f;
if (lbl_1_bss_E4[var_r30].unk_10 > 0.0f) {
Hu3DData[object->model[var_r30]].rot.x = fn_1_234(Hu3DData[object->model[var_r30]].rot.x, 180.0f, 5.0f);
}
else {
Hu3DData[object->model[var_r30]].rot.x = fn_1_234(Hu3DData[object->model[var_r30]].rot.x, 0.0f, 5.0f);
}
Hu3DData[object->model[var_r30]].rot.z = fn_1_234(Hu3DData[object->model[var_r30]].rot.z, 0.0f, 5.0f);
lbl_1_bss_E4[var_r30].unk_18 -= 0.025f;
if (lbl_1_bss_E4[var_r30].unk_18 <= 0.0f) {
lbl_1_bss_E4[var_r30].unk_18 = 0.0f;
lbl_1_bss_E4[var_r30].unk_04 = 0;
if (object->work[0] == 3) {
lbl_1_bss_E4[var_r30].unk_04 = 2;
}
}
}
else {
if (lbl_1_bss_E4[var_r30].unk_00-- <= 0) {
lbl_1_bss_E4[var_r30].unk_00 = (rand8() % 30) + 0x1E;
lbl_1_bss_E4[var_r30].unk_0C = 0.01f * (25.0f + (rand8() % 50));
if ((rand8() % 2) == 0) {
lbl_1_bss_E4[var_r30].unk_0C *= -1.0f;
}
lbl_1_bss_E4[var_r30].unk_10 = rand8() % 2;
lbl_1_bss_E4[var_r30].unk_14 = 0.01f * ((rand8() % 100) - 0x32);
lbl_1_bss_E4[var_r30].unk_08 = (rand8() % 5) + 5;
if ((rand8() % 2) == 0) {
lbl_1_bss_E4[var_r30].unk_08 *= -1;
}
}
Hu3DModelAttrReset(object->model[var_r30], HU3D_ATTR_DISPOFF);
Hu3DData[object->model[var_r30]].pos.x += lbl_1_bss_E4[var_r30].unk_0C;
Hu3DData[object->model[var_r30]].pos.y -= (var_r30 % 3) + 2;
Hu3DData[object->model[var_r30]].pos.z += lbl_1_bss_E4[var_r30].unk_14;
Hu3DData[object->model[var_r30]].rot.x += lbl_1_bss_E4[var_r30].unk_08;
Hu3DData[object->model[var_r30]].rot.y += lbl_1_bss_E4[var_r30].unk_08;
Hu3DData[object->model[var_r30]].rot.z += lbl_1_bss_E4[var_r30].unk_08;
if (Hu3DData[object->model[var_r30]].rot.x >= 360.0f) {
Hu3DData[object->model[var_r30]].rot.x -= 360.0f;
}
else if (Hu3DData[object->model[var_r30]].rot.x <= 0.0f) {
Hu3DData[object->model[var_r30]].rot.x += 360.0f;
}
if (Hu3DData[object->model[var_r30]].rot.y >= 360.0f) {
Hu3DData[object->model[var_r30]].rot.y -= 360.0f;
}
else if (Hu3DData[object->model[var_r30]].rot.y <= 0.0f) {
Hu3DData[object->model[var_r30]].rot.y += 360.0f;
}
if (Hu3DData[object->model[var_r30]].rot.z >= 360.0f) {
Hu3DData[object->model[var_r30]].rot.z -= 360.0f;
}
else if (Hu3DData[object->model[var_r30]].rot.z <= 0.0f) {
Hu3DData[object->model[var_r30]].rot.z += 360.0f;
}
}
break;
case 2:
Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF);
break;
}
}
}
void fn_1_2342C(omObjData *object)
{
float var_f30;
float var_f31;
s32 var_r30;
s32 var_r29;
s32 var_r28;
object->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MENT, 12));
for (var_r30 = 0; var_r30 < 0xC8; var_r30++) {
object->model[var_r30] = Hu3DModelLink(object->model[0]);
}
for (var_r30 = 0; var_r30 < 0xC8; var_r30++) {
Hu3DModelAttrSet(object->model[var_r30], HU3D_ATTR_DISPOFF);
Hu3DData[object->model[var_r30]].pos.x = rand8() + rand8();
if (rand8() == 0) {
Hu3DData[object->model[var_r30]].pos.x *= -1.0f;
}
Hu3DData[object->model[var_r30]].pos.y = 500.0f + rand8() + rand8();
Hu3DData[object->model[var_r30]].pos.z = 700.0f + (rand8() % 128);
var_f31 = 1.0f + (0.1f * (rand8() % 5));
Hu3DModelScaleSet(object->model[var_r30], var_f31, var_f31, var_f31);
lbl_1_bss_E4[var_r30].unk_0C = 0.01f * (25.0f + (rand8() % 50));
if ((rand8() % 2) == 0) {
lbl_1_bss_E4[var_r30].unk_0C *= -1.0f;
}
lbl_1_bss_E4[var_r30].unk_10 = rand8() % 2;
lbl_1_bss_E4[var_r30].unk_14 = 0.01f * ((rand8() % 100) - 0x32);
lbl_1_bss_E4[var_r30].unk_08 = (rand8() % 5) + 5;
if ((rand8() % 2) == 0) {
lbl_1_bss_E4[var_r30].unk_08 *= -1;
}
var_r29 = rand8() % 4;
switch (var_r29) {
case 0:
Hu3DModelAmbSet(object->model[var_r30], 1.0f, 1.0f, 1.0f);
break;
case 1:
Hu3DModelAmbSet(object->model[var_r30], 1.0f, 0.0f, 0.0f);
break;
case 2:
Hu3DModelAmbSet(object->model[var_r30], 0.0f, 1.0f, 0.0f);
break;
case 3:
Hu3DModelAmbSet(object->model[var_r30], 0.0f, 0.0f, 1.0f);
break;
}
lbl_1_bss_E4[var_r30].unk_04 = 0;
}
object->func = fn_1_225F4;
}