Fixed things up in e3setup/main.c
This commit is contained in:
parent
076f007576
commit
512abb2d12
3 changed files with 424 additions and 451 deletions
|
|
@ -32,80 +32,80 @@ static void CreateMGInterface(omObjData *object);
|
|||
|
||||
void E3MGSelectInit()
|
||||
{
|
||||
s32 var_r29;
|
||||
s32 var_r30;
|
||||
Process *var_r31;
|
||||
s32 var_r29;
|
||||
s32 var_r30;
|
||||
Process *var_r31;
|
||||
|
||||
for (var_r29 = 0, var_r30 = 0; var_r29 < 4; var_r29++) {
|
||||
if (HuPadStatGet(var_r29) == 0) {
|
||||
var_r30 += 1;
|
||||
}
|
||||
}
|
||||
e3ConfigPlayerCnt = var_r30;
|
||||
if (var_r30 <= 0) {
|
||||
OSReport("No pad detected\n");
|
||||
var_r30 += 1;
|
||||
}
|
||||
mgDefault = 0;
|
||||
HuSysVWaitSet(1);
|
||||
var_r31 = omInitObjMan(0x50, 0x2000);
|
||||
HuWinInit(1);
|
||||
CRot.x = -4.0f;
|
||||
CRot.y = 0.0f;
|
||||
CRot.z = 0.0f;
|
||||
Center.x = 0.0f;
|
||||
Center.y = 160.0f;
|
||||
Center.z = 0.0f;
|
||||
CZoom = 1960.0;
|
||||
e3CameraFov = 40.0f;
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraPerspectiveSet(1, e3CameraFov, 100.0f, 25000.0f, 4.0f / 3.0f);
|
||||
e3ViewObj = omAddObjEx(var_r31, 32730, 0, 0, -1, omOutView);
|
||||
e3OvlWatchObj = omAddObjEx(var_r31, 200, 0, 0, -1, E3OvlWatchInit);
|
||||
e3MenuMainObj = omAddObjEx(var_r31, 10, 0, 0, -1, StartMGSelect);
|
||||
e3BGObj = omAddObjEx(var_r31, 0x14, 0, 0, -1, E3BGCreate);
|
||||
mgInterfaceObj = omAddObjEx(var_r31, 20, 0, 0, -1, CreateMGInterface);
|
||||
mgSelectObj = omAddObjEx(var_r31, 30, 0, 0, -1, CreateMGSelect);
|
||||
mgPicObj = omAddObjEx(var_r31, 31, 0, 0, -1, CreateMGPic);
|
||||
mgPicObj->work[0] = mgDefault;
|
||||
E3LightInit();
|
||||
WipeCreate(1, 0, -1);
|
||||
for (var_r29 = 0, var_r30 = 0; var_r29 < 4; var_r29++) {
|
||||
if (HuPadStatGet(var_r29) == 0) {
|
||||
var_r30++;
|
||||
}
|
||||
}
|
||||
e3ConfigPlayerCnt = var_r30;
|
||||
if (var_r30 <= 0) {
|
||||
OSReport("No pad detected\n");
|
||||
var_r30++;
|
||||
}
|
||||
mgDefault = 0;
|
||||
HuSysVWaitSet(1);
|
||||
var_r31 = omInitObjMan(0x50, 0x2000);
|
||||
HuWinInit(1);
|
||||
CRot.x = -4.0f;
|
||||
CRot.y = 0.0f;
|
||||
CRot.z = 0.0f;
|
||||
Center.x = 0.0f;
|
||||
Center.y = 160.0f;
|
||||
Center.z = 0.0f;
|
||||
CZoom = 1960.0;
|
||||
e3CameraFov = 40.0f;
|
||||
Hu3DCameraCreate(1);
|
||||
Hu3DCameraPerspectiveSet(1, e3CameraFov, 100.0f, 25000.0f, 4.0f / 3.0f);
|
||||
e3ViewObj = omAddObjEx(var_r31, 32730, 0, 0, -1, omOutView);
|
||||
e3OvlWatchObj = omAddObjEx(var_r31, 200, 0, 0, -1, E3OvlWatchInit);
|
||||
e3MenuMainObj = omAddObjEx(var_r31, 10, 0, 0, -1, StartMGSelect);
|
||||
e3BGObj = omAddObjEx(var_r31, 0x14, 0, 0, -1, E3BGCreate);
|
||||
mgInterfaceObj = omAddObjEx(var_r31, 20, 0, 0, -1, CreateMGInterface);
|
||||
mgSelectObj = omAddObjEx(var_r31, 30, 0, 0, -1, CreateMGSelect);
|
||||
mgPicObj = omAddObjEx(var_r31, 31, 0, 0, -1, CreateMGPic);
|
||||
mgPicObj->work[0] = mgDefault;
|
||||
E3LightInit();
|
||||
WipeCreate(1, 0, -1);
|
||||
}
|
||||
|
||||
s16 lbl_2_data_36[] = { 0x0023, 0x0026, 0x0029, 0x002C };
|
||||
|
||||
static s16 mgOvlTbl[] = {
|
||||
11,
|
||||
12,
|
||||
15,
|
||||
18,
|
||||
20,
|
||||
23,
|
||||
26,
|
||||
27,
|
||||
33,
|
||||
34,
|
||||
39,
|
||||
44,
|
||||
46,
|
||||
11,
|
||||
12,
|
||||
15,
|
||||
18,
|
||||
20,
|
||||
23,
|
||||
26,
|
||||
27,
|
||||
33,
|
||||
34,
|
||||
39,
|
||||
44,
|
||||
46,
|
||||
};
|
||||
|
||||
static s16 mgIdTbl[] = { 403, 404, 407, 410, 412, 415, 418, 419, 425, 426, 431, 436, 438, 0 };
|
||||
|
||||
static s32 mgNameTbl[] = {
|
||||
0x00170003,
|
||||
0x00170004,
|
||||
0x00170007,
|
||||
0x0017000A,
|
||||
0x0017000C,
|
||||
0x0017000F,
|
||||
0x00170012,
|
||||
0x00170013,
|
||||
0x00170019,
|
||||
0x0017001A,
|
||||
0x0017001F,
|
||||
0x00170024,
|
||||
0x00170026,
|
||||
0x00170003,
|
||||
0x00170004,
|
||||
0x00170007,
|
||||
0x0017000A,
|
||||
0x0017000C,
|
||||
0x0017000F,
|
||||
0x00170012,
|
||||
0x00170013,
|
||||
0x00170019,
|
||||
0x0017001A,
|
||||
0x0017001F,
|
||||
0x00170024,
|
||||
0x00170026,
|
||||
};
|
||||
|
||||
char lbl_2_data_A8[] = "\013TEST MINIGAME NAME01\n test";
|
||||
|
|
@ -120,382 +120,382 @@ char lbl_2_data_151[] = "\013TEST MINIGAME NAME09";
|
|||
char lbl_2_data_167[] = "\013TEST MINIGAME NAME10";
|
||||
char lbl_2_data_17D[] = "\013TEST MINIGAME NAME11";
|
||||
char lbl_2_data_193[] = "\013TEST MINIGAME NAME12";
|
||||
char lbl_2_data_1A9[] = "\013TEST MINIGAME NAME13\000";
|
||||
char lbl_2_data_1A9[] = "\013TEST MINIGAME NAME13";
|
||||
|
||||
static char *mgNameTestTbl[] = {
|
||||
lbl_2_data_A8,
|
||||
lbl_2_data_C9,
|
||||
lbl_2_data_DF,
|
||||
lbl_2_data_F5,
|
||||
lbl_2_data_10B,
|
||||
lbl_2_data_118,
|
||||
lbl_2_data_12E,
|
||||
lbl_2_data_13B,
|
||||
lbl_2_data_151,
|
||||
lbl_2_data_167,
|
||||
lbl_2_data_17D,
|
||||
lbl_2_data_193,
|
||||
lbl_2_data_1A9,
|
||||
lbl_2_data_A8,
|
||||
lbl_2_data_C9,
|
||||
lbl_2_data_DF,
|
||||
lbl_2_data_F5,
|
||||
lbl_2_data_10B,
|
||||
lbl_2_data_118,
|
||||
lbl_2_data_12E,
|
||||
lbl_2_data_13B,
|
||||
lbl_2_data_151,
|
||||
lbl_2_data_167,
|
||||
lbl_2_data_17D,
|
||||
lbl_2_data_193,
|
||||
lbl_2_data_1A9,
|
||||
};
|
||||
|
||||
static float cursorYOfsTbl[] = { -100.0f, -50.0f, 0.0f, 50.0f, 100.0f };
|
||||
|
||||
static s32 mgPicTbl[] = { 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 };
|
||||
|
||||
static char startText[] = "\013\016\r PRESS START\000\000\000\000";
|
||||
static char startText[] = "\013\016\r PRESS START";
|
||||
|
||||
static void StartMGSelect(omObjData *object)
|
||||
{
|
||||
HuAudSeqPlay(0x2B);
|
||||
lbl_2_bss_14 = 0;
|
||||
lbl_2_bss_10 = -1;
|
||||
lbl_2_bss_C = 0x1E;
|
||||
lbl_2_bss_A = 0;
|
||||
object->func = UpdatePad;
|
||||
worstVcount = 0;
|
||||
object->work[0] = 0;
|
||||
object->work[1] = 0;
|
||||
HuAudSeqPlay(0x2B);
|
||||
lbl_2_bss_14 = 0;
|
||||
lbl_2_bss_10 = -1;
|
||||
lbl_2_bss_C = 0x1E;
|
||||
lbl_2_bss_A = 0;
|
||||
object->func = UpdatePad;
|
||||
worstVcount = 0;
|
||||
object->work[0] = 0;
|
||||
object->work[1] = 0;
|
||||
}
|
||||
|
||||
static void UpdatePad(omObjData *object)
|
||||
{
|
||||
s32 i;
|
||||
s32 players;
|
||||
s32 i;
|
||||
s32 players;
|
||||
|
||||
if (e3ExitEnableF == 0) {
|
||||
for (i = 0, players = 0; i < 4; i++) {
|
||||
E3PadUpdate(i, &e3PadData[i]);
|
||||
if (!e3PadData[i].enable) {
|
||||
players++;
|
||||
}
|
||||
}
|
||||
e3ConfigPlayerCnt = players;
|
||||
}
|
||||
if (e3ExitEnableF == 0) {
|
||||
for (i = 0, players = 0; i < 4; i++) {
|
||||
E3PadUpdate(i, &e3PadData[i]);
|
||||
if (!e3PadData[i].enable) {
|
||||
players++;
|
||||
}
|
||||
}
|
||||
e3ConfigPlayerCnt = players;
|
||||
}
|
||||
}
|
||||
|
||||
static void UpdateMGSelect(omObjData *object)
|
||||
{
|
||||
mgSelect *var_r31;
|
||||
s32 var_r30;
|
||||
u32 var_r28;
|
||||
s16 var_r27;
|
||||
s16 var_r26;
|
||||
s16 var_r25;
|
||||
s16 var_r24;
|
||||
u16 var_r23;
|
||||
s16 var_r22;
|
||||
s32 var_r21;
|
||||
float sp8[2];
|
||||
mgSelect *var_r31;
|
||||
s32 var_r30;
|
||||
u32 var_r28;
|
||||
s16 var_r27;
|
||||
s16 var_r26;
|
||||
s16 var_r25;
|
||||
s16 var_r24;
|
||||
u16 var_r23;
|
||||
s16 var_r22;
|
||||
s32 var_r21;
|
||||
float sp8[2];
|
||||
|
||||
var_r31 = object->data;
|
||||
var_r23 = e3PadData[e3PadCtrl].btnDown;
|
||||
if (object->work[3] != 0) {
|
||||
if ((var_r23 & 0x1100) != 0) {
|
||||
HuAudFXPlay(1);
|
||||
mgDefault = var_r31->unk44;
|
||||
var_r21 = mgIdTbl[var_r31->unk44];
|
||||
GWMGAvailSet(var_r21);
|
||||
GWSystem.mg_next = var_r21 - 401;
|
||||
e3NextOvl = 3;
|
||||
e3NextEvent = 0;
|
||||
e3ExitMode = 2;
|
||||
e3ExitEnableF = 1;
|
||||
var_r28 = mgOvlTbl[var_r31->unk44];
|
||||
var_r31 = object->data;
|
||||
var_r23 = e3PadData[e3PadCtrl].btnDown;
|
||||
if (object->work[3] != 0) {
|
||||
if ((var_r23 & 0x1100) != 0) {
|
||||
HuAudFXPlay(1);
|
||||
mgDefault = var_r31->unk_44;
|
||||
var_r21 = mgIdTbl[var_r31->unk_44];
|
||||
GWMGAvailSet(var_r21);
|
||||
GWSystem.mg_next = var_r21 - 401;
|
||||
e3NextOvl = 3;
|
||||
e3NextEvent = 0;
|
||||
e3ExitMode = 2;
|
||||
e3ExitEnableF = 1;
|
||||
var_r28 = mgOvlTbl[var_r31->unk_44];
|
||||
|
||||
for (var_r30 = 0; var_r30 < 50; var_r30++) {
|
||||
if (var_r28 == mgInfoTbl[var_r30].ovl) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r30 >= 50) {
|
||||
e3ExitMode = 0;
|
||||
e3NextOvl = 0;
|
||||
};
|
||||
switch (mgInfoTbl[var_r30].type) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
GWPlayerCfg[var_r30].group = var_r30;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
var_r28 = frand();
|
||||
var_r28 &= 3;
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
if (var_r28 == var_r30) {
|
||||
GWPlayerCfg[var_r30].group = 0;
|
||||
} else {
|
||||
GWPlayerCfg[var_r30].group = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
||||
GWPlayerCfg[var_r30].group = 0;
|
||||
}
|
||||
for (var_r30 = 2; var_r30 < 4; var_r30++) {
|
||||
GWPlayerCfg[var_r30].group = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
object->work[3] = 0;
|
||||
return;
|
||||
}
|
||||
if ((var_r23 & 0x200) != 0) {
|
||||
HuAudFXPlay(3);
|
||||
e3ExitMode = 0;
|
||||
e3NextOvl = 0;
|
||||
e3NextEvent = 0;
|
||||
e3ExitEnableF = 1;
|
||||
object->work[3] = 0;
|
||||
return;
|
||||
}
|
||||
if (object->work[3] != 0) {
|
||||
if ((var_r23 & 8) != 0) {
|
||||
HuAudFXPlay(0);
|
||||
var_r31->unk44--;
|
||||
if (var_r31->unk44 < 0) {
|
||||
var_r31->unk44 = 0xC;
|
||||
}
|
||||
} else if ((var_r23 & 4) != 0) {
|
||||
HuAudFXPlay(0);
|
||||
var_r31->unk44++;
|
||||
if (var_r31->unk44 >= 13) {
|
||||
var_r31->unk44 = 0;
|
||||
}
|
||||
}
|
||||
if (var_r31->unk46 != var_r31->unk44) {
|
||||
mgPicObj->work[0] = var_r31->unk44;
|
||||
var_r27 = var_r31->unk44 - var_r31->unk46;
|
||||
if ((var_r27 > 1) || (var_r27 < -1)) {
|
||||
if (var_r27 < 0) {
|
||||
var_r27 = 1;
|
||||
} else {
|
||||
var_r27 = -1;
|
||||
}
|
||||
}
|
||||
var_r25 = var_r31->unk42 + var_r27;
|
||||
if ((var_r25 < 0) || (var_r25 >= 5)) {
|
||||
for (var_r30 = 0; var_r30 < 5; var_r30++) {
|
||||
var_r22 = var_r31->unk2E[var_r30];
|
||||
var_r26 = var_r31->unk38[var_r30];
|
||||
var_r24 = var_r26 - var_r27;
|
||||
if ((var_r24 < 0) || (var_r24 >= 5)) {
|
||||
var_r28 = mgNameTbl[var_r31->unk44];
|
||||
HuWinMesSizeCancelCRSet(1);
|
||||
HuWinMesMaxSizeGet(1, sp8, var_r28);
|
||||
HuWinCenterPosSet(var_r22, (296.0f - sp8[0]) / -2.0f, (68.0f - sp8[1]) / -2.0f);
|
||||
HuWinMesSet(var_r22, var_r28);
|
||||
if (var_r24 < 0) {
|
||||
var_r26 = 4;
|
||||
} else {
|
||||
var_r26 = 0;
|
||||
}
|
||||
} else {
|
||||
var_r26 = var_r24;
|
||||
}
|
||||
HuWinPosSet(var_r22, 36.0f, 237.0f + cursorYOfsTbl[var_r26]);
|
||||
var_r31->unk38[var_r30] = var_r26;
|
||||
}
|
||||
} else {
|
||||
var_r31->unk42 = var_r25;
|
||||
HuSprPosSet(var_r31->unk1C, 1, 0.0f, cursorYOfsTbl[var_r25]);
|
||||
}
|
||||
var_r31->unk46 = var_r31->unk44;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var_r30 = 0; var_r30 < 50; var_r30++) {
|
||||
if (var_r28 == mgInfoTbl[var_r30].ovl) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r30 >= 50) {
|
||||
e3ExitMode = 0;
|
||||
e3NextOvl = 0;
|
||||
};
|
||||
switch (mgInfoTbl[var_r30].type) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
GWPlayerCfg[var_r30].group = var_r30;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
var_r28 = frand();
|
||||
var_r28 &= 3;
|
||||
for (var_r30 = 0; var_r30 < 4; var_r30++) {
|
||||
if (var_r28 == var_r30) {
|
||||
GWPlayerCfg[var_r30].group = 0;
|
||||
} else {
|
||||
GWPlayerCfg[var_r30].group = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
||||
GWPlayerCfg[var_r30].group = 0;
|
||||
}
|
||||
for (var_r30 = 2; var_r30 < 4; var_r30++) {
|
||||
GWPlayerCfg[var_r30].group = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
object->work[3] = 0;
|
||||
return;
|
||||
}
|
||||
if ((var_r23 & 0x200) != 0) {
|
||||
HuAudFXPlay(3);
|
||||
e3ExitMode = 0;
|
||||
e3NextOvl = 0;
|
||||
e3NextEvent = 0;
|
||||
e3ExitEnableF = 1;
|
||||
object->work[3] = 0;
|
||||
return;
|
||||
}
|
||||
if (object->work[3] != 0) {
|
||||
if ((var_r23 & 8) != 0) {
|
||||
HuAudFXPlay(0);
|
||||
var_r31->unk_44--;
|
||||
if (var_r31->unk_44 < 0) {
|
||||
var_r31->unk_44 = 0xC;
|
||||
}
|
||||
} else if ((var_r23 & 4) != 0) {
|
||||
HuAudFXPlay(0);
|
||||
var_r31->unk_44++;
|
||||
if (var_r31->unk_44 >= 13) {
|
||||
var_r31->unk_44 = 0;
|
||||
}
|
||||
}
|
||||
if (var_r31->unk_46 != var_r31->unk_44) {
|
||||
mgPicObj->work[0] = var_r31->unk_44;
|
||||
var_r27 = var_r31->unk_44 - var_r31->unk_46;
|
||||
if ((var_r27 > 1) || (var_r27 < -1)) {
|
||||
if (var_r27 < 0) {
|
||||
var_r27 = 1;
|
||||
} else {
|
||||
var_r27 = -1;
|
||||
}
|
||||
}
|
||||
var_r25 = var_r31->unk_42 + var_r27;
|
||||
if ((var_r25 < 0) || (var_r25 >= 5)) {
|
||||
for (var_r30 = 0; var_r30 < 5; var_r30++) {
|
||||
var_r22 = var_r31->unk_2E[var_r30];
|
||||
var_r26 = var_r31->unk_38[var_r30];
|
||||
var_r24 = var_r26 - var_r27;
|
||||
if ((var_r24 < 0) || (var_r24 >= 5)) {
|
||||
var_r28 = mgNameTbl[var_r31->unk_44];
|
||||
HuWinMesSizeCancelCRSet(1);
|
||||
HuWinMesMaxSizeGet(1, sp8, var_r28);
|
||||
HuWinCenterPosSet(var_r22, (296.0f - sp8[0]) / -2.0f, (68.0f - sp8[1]) / -2.0f);
|
||||
HuWinMesSet(var_r22, var_r28);
|
||||
if (var_r24 < 0) {
|
||||
var_r26 = 4;
|
||||
} else {
|
||||
var_r26 = 0;
|
||||
}
|
||||
} else {
|
||||
var_r26 = var_r24;
|
||||
}
|
||||
HuWinPosSet(var_r22, 36.0f, 237.0f + cursorYOfsTbl[var_r26]);
|
||||
var_r31->unk_38[var_r30] = var_r26;
|
||||
}
|
||||
} else {
|
||||
var_r31->unk_42 = var_r25;
|
||||
HuSprPosSet(var_r31->unk_1C, 1, 0.0f, cursorYOfsTbl[var_r25]);
|
||||
}
|
||||
var_r31->unk_46 = var_r31->unk_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void CreateMGSelect(omObjData *object)
|
||||
{
|
||||
mgSelect *temp_r31;
|
||||
s16 temp_r30;
|
||||
s16 temp_r29;
|
||||
s32 var_r28;
|
||||
s16 var_r26;
|
||||
s16 index2;
|
||||
u32 temp_r22;
|
||||
s32 temp_r21;
|
||||
AnimData *temp_r25;
|
||||
AnimData *temp_r23;
|
||||
float sp8[2];
|
||||
mgSelect *temp_r31;
|
||||
s16 temp_r30;
|
||||
s16 temp_r29;
|
||||
s32 var_r28;
|
||||
s16 var_r26;
|
||||
s16 index2;
|
||||
u32 temp_r22;
|
||||
s32 temp_r21;
|
||||
AnimData *temp_r25;
|
||||
AnimData *temp_r23;
|
||||
float sp8[2];
|
||||
|
||||
omSetStatBit(object, OM_STAT_MODEL_PAUSED);
|
||||
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x48, MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = object->data;
|
||||
index2 = 0;
|
||||
temp_r30 = HuSprGrpCreate(3);
|
||||
temp_r31->unk1C = temp_r30;
|
||||
HuSprGrpPosSet(temp_r30, 174.0f, 271.0f);
|
||||
temp_r25 = HuSprAnimRead(HuDataReadNum(0x21, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk00[index2] = temp_r25;
|
||||
temp_r29 = HuSprCreate(temp_r25, 0x7540, 0);
|
||||
HuSprGrpMemberSet(temp_r30, index2, temp_r29);
|
||||
index2++;
|
||||
temp_r25 = HuSprAnimRead(HuDataReadNum(0x27, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk00[index2] = temp_r25;
|
||||
temp_r29 = HuSprCreate(temp_r25, 0x64, 0);
|
||||
HuSprGrpMemberSet(temp_r30, index2, temp_r29);
|
||||
HuSprScaleSet(temp_r30, index2, 1.1f, 1.0f);
|
||||
HuSprTPLvlSet(temp_r30, index2, 0.5f);
|
||||
temp_r31->unk42 = 0;
|
||||
HuSprPosSet(temp_r30, index2, 0.0f, cursorYOfsTbl[temp_r31->unk42]);
|
||||
index2++;
|
||||
temp_r25 = HuSprAnimRead(HuDataReadNum(0x35, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk00[index2++] = temp_r25;
|
||||
temp_r23 = HuSprAnimRead(HuDataReadNum(0x36, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk00[index2++] = temp_r23;
|
||||
temp_r30 = HuSprGrpCreate(2);
|
||||
temp_r31->unk1E = temp_r30;
|
||||
HuSprGrpPosSet(temp_r30, 174.0f, 128.0f);
|
||||
temp_r29 = HuSprCreate(temp_r25, 4, 0);
|
||||
HuSprGrpMemberSet(temp_r30, 0, temp_r29);
|
||||
temp_r29 = HuSprCreate(temp_r23, 6, 0);
|
||||
HuSprGrpMemberSet(temp_r30, 1, temp_r29);
|
||||
HuSprTPLvlSet(temp_r30, 1, 0.7f);
|
||||
HuSprPosSet(temp_r30, 1, 0.0f, -4.0f);
|
||||
temp_r30 = HuSprGrpCreate(2);
|
||||
temp_r31->unk20 = temp_r30;
|
||||
HuSprGrpPosSet(temp_r30, 174.0f, 414.0f);
|
||||
temp_r29 = HuSprCreate(temp_r25, 4, 1);
|
||||
HuSprGrpMemberSet(temp_r30, 0, temp_r29);
|
||||
temp_r29 = HuSprCreate(temp_r23, 6, 1);
|
||||
HuSprGrpMemberSet(temp_r30, 1, temp_r29);
|
||||
HuSprTPLvlSet(temp_r30, 1, 0.7f);
|
||||
HuSprPosSet(temp_r30, 1, 0.0f, -4.0f);
|
||||
omSetStatBit(object, OM_STAT_MODEL_PAUSED);
|
||||
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x48, MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = object->data;
|
||||
index2 = 0;
|
||||
temp_r30 = HuSprGrpCreate(3);
|
||||
temp_r31->unk_1C = temp_r30;
|
||||
HuSprGrpPosSet(temp_r30, 174.0f, 271.0f);
|
||||
temp_r25 = HuSprAnimRead(HuDataReadNum(0x21, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk_00[index2] = temp_r25;
|
||||
temp_r29 = HuSprCreate(temp_r25, 0x7540, 0);
|
||||
HuSprGrpMemberSet(temp_r30, index2, temp_r29);
|
||||
index2++;
|
||||
temp_r25 = HuSprAnimRead(HuDataReadNum(0x27, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk_00[index2] = temp_r25;
|
||||
temp_r29 = HuSprCreate(temp_r25, 0x64, 0);
|
||||
HuSprGrpMemberSet(temp_r30, index2, temp_r29);
|
||||
HuSprScaleSet(temp_r30, index2, 1.1f, 1.0f);
|
||||
HuSprTPLvlSet(temp_r30, index2, 0.5f);
|
||||
temp_r31->unk_42 = 0;
|
||||
HuSprPosSet(temp_r30, index2, 0.0f, cursorYOfsTbl[temp_r31->unk_42]);
|
||||
index2++;
|
||||
temp_r25 = HuSprAnimRead(HuDataReadNum(0x35, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk_00[index2++] = temp_r25;
|
||||
temp_r23 = HuSprAnimRead(HuDataReadNum(0x36, MEMORY_DEFAULT_NUM));
|
||||
temp_r31->unk_00[index2++] = temp_r23;
|
||||
temp_r30 = HuSprGrpCreate(2);
|
||||
temp_r31->unk_1E = temp_r30;
|
||||
HuSprGrpPosSet(temp_r30, 174.0f, 128.0f);
|
||||
temp_r29 = HuSprCreate(temp_r25, 4, 0);
|
||||
HuSprGrpMemberSet(temp_r30, 0, temp_r29);
|
||||
temp_r29 = HuSprCreate(temp_r23, 6, 0);
|
||||
HuSprGrpMemberSet(temp_r30, 1, temp_r29);
|
||||
HuSprTPLvlSet(temp_r30, 1, 0.7f);
|
||||
HuSprPosSet(temp_r30, 1, 0.0f, -4.0f);
|
||||
temp_r30 = HuSprGrpCreate(2);
|
||||
temp_r31->unk_20 = temp_r30;
|
||||
HuSprGrpPosSet(temp_r30, 174.0f, 414.0f);
|
||||
temp_r29 = HuSprCreate(temp_r25, 4, 1);
|
||||
HuSprGrpMemberSet(temp_r30, 0, temp_r29);
|
||||
temp_r29 = HuSprCreate(temp_r23, 6, 1);
|
||||
HuSprGrpMemberSet(temp_r30, 1, temp_r29);
|
||||
HuSprTPLvlSet(temp_r30, 1, 0.7f);
|
||||
HuSprPosSet(temp_r30, 1, 0.0f, -4.0f);
|
||||
|
||||
temp_r21 = GWSystem.mg_next + 401;
|
||||
var_r26 = temp_r21;
|
||||
for (var_r28 = 0; var_r28 < 13;) {
|
||||
if (var_r26 != mgIdTbl[var_r28]) {
|
||||
var_r28++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r28 >= 13) {
|
||||
var_r28 = 0;
|
||||
}
|
||||
mgDefault = var_r28;
|
||||
var_r26 = mgDefault;
|
||||
mgPicObj->work[0] = var_r26;
|
||||
temp_r31->unk44 = var_r26;
|
||||
temp_r31->unk46 = var_r26;
|
||||
temp_r21 = GWSystem.mg_next + 401;
|
||||
var_r26 = temp_r21;
|
||||
for (var_r28 = 0; var_r28 < 13;) {
|
||||
if (var_r26 != mgIdTbl[var_r28]) {
|
||||
var_r28++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r28 >= 13) {
|
||||
var_r28 = 0;
|
||||
}
|
||||
mgDefault = var_r28;
|
||||
var_r26 = mgDefault;
|
||||
mgPicObj->work[0] = var_r26;
|
||||
temp_r31->unk_44 = var_r26;
|
||||
temp_r31->unk_46 = var_r26;
|
||||
|
||||
for (var_r28 = 0; var_r28 < 5;) {
|
||||
if (var_r26 >= 13) {
|
||||
var_r26 = 0;
|
||||
}
|
||||
temp_r29 = HuWinCreate(36.0f, 237.0f + cursorYOfsTbl[var_r28], 0x128, 0x44, 0x4E20);
|
||||
temp_r31->unk2E[var_r28] = temp_r29;
|
||||
temp_r31->unk38[var_r28] = var_r28;
|
||||
HuWinBGTPLvlSet(temp_r29, 0.0f);
|
||||
HuWinMesSpeedSet(temp_r29, 0);
|
||||
temp_r22 = mgNameTbl[var_r26];
|
||||
HuWinAttrSet(temp_r29, 0x100);
|
||||
HuWinMesSizeCancelCRSet(1);
|
||||
HuWinMesMaxSizeGet(1, sp8, temp_r22);
|
||||
HuWinCenterPosSet(temp_r29, (296.0f - sp8[0]) / -2.0f, (68.0f - sp8[1]) / -2.0f);
|
||||
HuWinMesSet(temp_r29, temp_r22);
|
||||
var_r28++;
|
||||
var_r26++;
|
||||
}
|
||||
object->work[3] = 1;
|
||||
object->func = &UpdateMGSelect;
|
||||
for (var_r28 = 0; var_r28 < 5;) {
|
||||
if (var_r26 >= 13) {
|
||||
var_r26 = 0;
|
||||
}
|
||||
temp_r29 = HuWinCreate(36.0f, 237.0f + cursorYOfsTbl[var_r28], 0x128, 0x44, 0x4E20);
|
||||
temp_r31->unk_2E[var_r28] = temp_r29;
|
||||
temp_r31->unk_38[var_r28] = var_r28;
|
||||
HuWinBGTPLvlSet(temp_r29, 0.0f);
|
||||
HuWinMesSpeedSet(temp_r29, 0);
|
||||
temp_r22 = mgNameTbl[var_r26];
|
||||
HuWinAttrSet(temp_r29, 0x100);
|
||||
HuWinMesSizeCancelCRSet(1);
|
||||
HuWinMesMaxSizeGet(1, sp8, temp_r22);
|
||||
HuWinCenterPosSet(temp_r29, (296.0f - sp8[0]) / -2.0f, (68.0f - sp8[1]) / -2.0f);
|
||||
HuWinMesSet(temp_r29, temp_r22);
|
||||
var_r28++;
|
||||
var_r26++;
|
||||
}
|
||||
object->work[3] = 1;
|
||||
object->func = &UpdateMGSelect;
|
||||
}
|
||||
|
||||
static void UpdateMGPic(omObjData *object)
|
||||
{
|
||||
mgPic *temp_r30 = (mgPic *)object->data;
|
||||
s16 temp_r29;
|
||||
mgPic *temp_r30 = (mgPic *)object->data;
|
||||
s16 temp_r29;
|
||||
|
||||
if (object->work[1] != object->work[0]) {
|
||||
temp_r29 = temp_r30->unk40;
|
||||
HuSprAttrSet(temp_r29, object->work[1], 4);
|
||||
HuSprAttrReset(temp_r29, object->work[0], 4);
|
||||
object->work[1] = object->work[0];
|
||||
}
|
||||
if (object->work[1] != object->work[0]) {
|
||||
temp_r29 = temp_r30->unk_40;
|
||||
HuSprAttrSet(temp_r29, object->work[1], 4);
|
||||
HuSprAttrReset(temp_r29, object->work[0], 4);
|
||||
object->work[1] = object->work[0];
|
||||
}
|
||||
}
|
||||
|
||||
static void CreateMGPic(omObjData *object)
|
||||
{
|
||||
mgPic *temp_r28;
|
||||
AnimData *temp_r3_2;
|
||||
s16 temp_r3;
|
||||
s32 var_r30;
|
||||
s32 index;
|
||||
s16 index2;
|
||||
s16 group;
|
||||
mgPic *temp_r28;
|
||||
AnimData *temp_r3_2;
|
||||
s16 temp_r3;
|
||||
s32 var_r30;
|
||||
s32 index;
|
||||
s16 index2;
|
||||
s16 group;
|
||||
|
||||
omSetStatBit(object, OM_STAT_MODEL_PAUSED);
|
||||
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(mgPic), MEMORY_DEFAULT_NUM);
|
||||
temp_r28 = object->data;
|
||||
index2 = 0;
|
||||
temp_r3 = HuSprGrpCreate(14);
|
||||
temp_r28->unk40 = temp_r3;
|
||||
HuSprGrpPosSet(temp_r3, 444.0f, 228.0f);
|
||||
omSetStatBit(object, OM_STAT_MODEL_PAUSED);
|
||||
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(mgPic), MEMORY_DEFAULT_NUM);
|
||||
temp_r28 = object->data;
|
||||
index2 = 0;
|
||||
temp_r3 = HuSprGrpCreate(14);
|
||||
temp_r28->unk_40 = temp_r3;
|
||||
HuSprGrpPosSet(temp_r3, 444.0f, 228.0f);
|
||||
|
||||
for (var_r30 = 0; var_r30 < 13; var_r30++) {
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(mgPicTbl[var_r30], MEMORY_DEFAULT_NUM));
|
||||
temp_r28->unk00[var_r30] = temp_r3_2;
|
||||
group = HuSprCreate(temp_r3_2, 0x2710, 0);
|
||||
HuSprGrpMemberSet(temp_r3, var_r30, group);
|
||||
HuSprScaleSet(temp_r3, var_r30, 0.6f, 0.6f);
|
||||
HuSprAttrSet(temp_r3, var_r30, 4);
|
||||
}
|
||||
index2 = var_r30;
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x22, MEMORY_DEFAULT_NUM));
|
||||
temp_r28->unk00[index2] = temp_r3_2;
|
||||
group = HuSprCreate(temp_r3_2, 0x7540, 0);
|
||||
HuSprGrpMemberSet(temp_r3, index2, group);
|
||||
HuSprTPLvlSet(temp_r3, index2, 0.7f);
|
||||
index2++;
|
||||
object->work[1] = object->work[0];
|
||||
HuSprAttrReset(temp_r3, object->work[1], 4);
|
||||
object->func = &UpdateMGPic;
|
||||
for (var_r30 = 0; var_r30 < 13; var_r30++) {
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(mgPicTbl[var_r30], MEMORY_DEFAULT_NUM));
|
||||
temp_r28->unk_00[var_r30] = temp_r3_2;
|
||||
group = HuSprCreate(temp_r3_2, 0x2710, 0);
|
||||
HuSprGrpMemberSet(temp_r3, var_r30, group);
|
||||
HuSprScaleSet(temp_r3, var_r30, 0.6f, 0.6f);
|
||||
HuSprAttrSet(temp_r3, var_r30, 4);
|
||||
}
|
||||
index2 = var_r30;
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x22, MEMORY_DEFAULT_NUM));
|
||||
temp_r28->unk_00[index2] = temp_r3_2;
|
||||
group = HuSprCreate(temp_r3_2, 0x7540, 0);
|
||||
HuSprGrpMemberSet(temp_r3, index2, group);
|
||||
HuSprTPLvlSet(temp_r3, index2, 0.7f);
|
||||
index2++;
|
||||
object->work[1] = object->work[0];
|
||||
HuSprAttrReset(temp_r3, object->work[1], 4);
|
||||
object->func = &UpdateMGPic;
|
||||
}
|
||||
|
||||
static void UpdateMGInterface(omObjData *object) { void *sp8 = object->data; }
|
||||
|
||||
static void CreateMGInterface(omObjData *object)
|
||||
{
|
||||
mgInterface *unkStruct;
|
||||
s16 index;
|
||||
s16 group;
|
||||
s16 index2;
|
||||
AnimData *temp_r3_2;
|
||||
float sp8[2];
|
||||
mgInterface *unkStruct;
|
||||
s16 index;
|
||||
s16 group;
|
||||
s16 index2;
|
||||
AnimData *temp_r3_2;
|
||||
float sp8[2];
|
||||
|
||||
omSetStatBit(object, OM_STAT_MODEL_PAUSED);
|
||||
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(mgInterface), MEMORY_DEFAULT_NUM);
|
||||
unkStruct = object->data;
|
||||
index2 = 0;
|
||||
group = HuSprGrpCreate(1);
|
||||
unkStruct->group = group;
|
||||
HuSprGrpPosSet(group, 288.0f, 64.0f);
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x24, MEMORY_DEFAULT_NUM));
|
||||
unkStruct->unk00[index2] = temp_r3_2;
|
||||
index = HuSprCreate(temp_r3_2, 0x2710, 0);
|
||||
HuSprGrpMemberSet(group, 0, index);
|
||||
index2++;
|
||||
group = HuSprGrpCreate(1);
|
||||
unkStruct->group2 = group;
|
||||
HuSprGrpPosSet(group, 444.0f, 384.0f);
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x23, MEMORY_DEFAULT_NUM));
|
||||
unkStruct->unk00[index2] = temp_r3_2;
|
||||
index = HuSprCreate(temp_r3_2, 0x271A, 0);
|
||||
HuSprGrpMemberSet(group, 0, index);
|
||||
index2++;
|
||||
HuWinMesMaxSizeGet(1, sp8, &startText);
|
||||
index = HuWinCreate(340.0f, 362.0f, sp8[0], sp8[1], 0);
|
||||
unkStruct->unk2C = index;
|
||||
HuWinMesColSet(index, 0);
|
||||
HuWinBGTPLvlSet(index, 0.0f);
|
||||
HuWinMesSpeedSet(index, 0);
|
||||
HuWinMesSet(index, MAKE_MESSID_PTR(startText));
|
||||
object->func = UpdateMGInterface;
|
||||
omSetStatBit(object, OM_STAT_MODEL_PAUSED);
|
||||
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(mgInterface), MEMORY_DEFAULT_NUM);
|
||||
unkStruct = object->data;
|
||||
index2 = 0;
|
||||
group = HuSprGrpCreate(1);
|
||||
unkStruct->group = group;
|
||||
HuSprGrpPosSet(group, 288.0f, 64.0f);
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x24, MEMORY_DEFAULT_NUM));
|
||||
unkStruct->unk_00[index2] = temp_r3_2;
|
||||
index = HuSprCreate(temp_r3_2, 0x2710, 0);
|
||||
HuSprGrpMemberSet(group, 0, index);
|
||||
index2++;
|
||||
group = HuSprGrpCreate(1);
|
||||
unkStruct->group2 = group;
|
||||
HuSprGrpPosSet(group, 444.0f, 384.0f);
|
||||
temp_r3_2 = HuSprAnimRead(HuDataReadNum(0x23, MEMORY_DEFAULT_NUM));
|
||||
unkStruct->unk_00[index2] = temp_r3_2;
|
||||
index = HuSprCreate(temp_r3_2, 0x271A, 0);
|
||||
HuSprGrpMemberSet(group, 0, index);
|
||||
index2++;
|
||||
HuWinMesMaxSizeGet(1, sp8, &startText);
|
||||
index = HuWinCreate(340.0f, 362.0f, sp8[0], sp8[1], 0);
|
||||
unkStruct->unk_2C = index;
|
||||
HuWinMesColSet(index, 0);
|
||||
HuWinBGTPLvlSet(index, 0.0f);
|
||||
HuWinMesSpeedSet(index, 0);
|
||||
HuWinMesSet(index, MAKE_MESSID_PTR(startText));
|
||||
object->func = UpdateMGInterface;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue