Decompile mpSelectTuneListHandler
This commit is contained in:
parent
0bdee8ab27
commit
3c71fbb36c
|
|
@ -1323,14 +1323,16 @@ struct menudialog g_MpTeamsMenuDialog = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
u32 var80085ce8 = L_MISC(166); // "Random"
|
||||
u32 var80085cec = L_MISC(167); // "Select All"
|
||||
u32 var80085cf0 = L_MISC(168); // "Select None"
|
||||
u32 var80085cf4 = L_MISC(169); // "Randomize"
|
||||
u32 var80085ce8[] = {
|
||||
L_MISC(166), // "Random"
|
||||
L_MISC(167), // "Select All"
|
||||
L_MISC(168), // "Select None"
|
||||
L_MISC(169), // "Randomize"
|
||||
};
|
||||
|
||||
// 2bd18
|
||||
struct menuitem g_MpSelectTunesMenuItems[] = {
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00020000, 0x00000078, 0x0000004d, menuhandler0017dc84 },
|
||||
{ MENUITEMTYPE_LIST, 0, 0x00020000, 0x00000078, 0x0000004d, mpSelectTuneListHandler },
|
||||
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2327,9 +2327,9 @@ glabel var7f1a863c
|
|||
// mpStartMatch();
|
||||
// func0f01bea0();
|
||||
//
|
||||
// if (g_Vars.unk000458 & 0x00000002) {
|
||||
// if (g_Vars.modifiedfiles & MODFILE_MPSETUP) {
|
||||
// func0f1109c0();
|
||||
// g_Vars.unk000458 &= ~0x00000002;
|
||||
// g_Vars.modifiedfiles &= ~MODFILE_MPSETUP;
|
||||
// }
|
||||
// } else /*cd1c*/ if (g_MenuData.unk008 == -6) {
|
||||
// s32 sp288 = 0;
|
||||
|
|
|
|||
|
|
@ -99,13 +99,13 @@ s32 menuhandlerControlStyleImpl(u32 operation, struct menuitem *item, union hand
|
|||
break;
|
||||
case MENUOP_SET:
|
||||
optionsSetControlMode(mpindex, data->list.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->list.value = optionsGetControlMode(mpindex);
|
||||
g_Menus[g_MpPlayerNum].data.main.mpindex = mpindex;
|
||||
break;
|
||||
case MENUOP_16:
|
||||
case MENUOP_LISTITEMFOCUS:
|
||||
if (g_MenuData.root == MENUROOT_MAINMENU) {
|
||||
g_Menus[g_MpPlayerNum].data.main.controlmode = data->list.value;
|
||||
}
|
||||
|
|
@ -140,7 +140,7 @@ s32 menuhandlerReversePitch(u32 operation, struct menuitem *item, union handlerd
|
|||
return !optionsGetForwardPitch(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetForwardPitch(mpchrnum, data->checkbox.value == 0);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -164,7 +164,7 @@ s32 menuhandlerAimControl(u32 operation, struct menuitem *item, union handlerdat
|
|||
return (s32) langGet(options[data->dropdown.value]);
|
||||
case MENUOP_SET:
|
||||
optionsSetAimControl(playernum, data->dropdown.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->dropdown.value = optionsGetAimControl(playernum);
|
||||
|
|
@ -190,7 +190,7 @@ s32 menuhandlerSoundMode(u32 operation, struct menuitem *item, union handlerdata
|
|||
return (s32) langGet(options[data->dropdown.value]);
|
||||
case MENUOP_SET:
|
||||
audioSetSoundMode(data->dropdown.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->dropdown.value = g_SoundMode;
|
||||
|
|
@ -215,7 +215,7 @@ s32 menuhandlerScreenSize(u32 operation, struct menuitem *item, union handlerdat
|
|||
return (s32) langGet(options[data->dropdown.value]);
|
||||
case MENUOP_SET:
|
||||
optionsSetScreenSize(data->dropdown.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->dropdown.value = optionsGetEffectiveScreenSize();
|
||||
|
|
@ -239,7 +239,7 @@ s32 menuhandlerScreenRatio(u32 operation, struct menuitem *item, union handlerda
|
|||
return (s32) langGet(options[data->dropdown.value]);
|
||||
case MENUOP_SET:
|
||||
optionsSetScreenRatio(data->dropdown.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->dropdown.value = optionsGetScreenRatio();
|
||||
|
|
@ -265,7 +265,7 @@ s32 menuhandlerScreenSplit(u32 operation, struct menuitem *item, union handlerda
|
|||
if (data->dropdown.value != (u32)optionsGetScreenSplit()) {
|
||||
optionsSetScreenSplit(data->dropdown.value);
|
||||
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
|
||||
if (PLAYERCOUNT() > 1) {
|
||||
u32 prevplayernum = g_MpPlayerNum;
|
||||
|
|
@ -300,7 +300,7 @@ s32 menuhandlerLookAhead(u32 operation, struct menuitem *item, union handlerdata
|
|||
return optionsGetLookAhead(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetLookAhead(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -321,7 +321,7 @@ s32 menuhandlerHeadRoll(u32 operation, struct menuitem *item, union handlerdata
|
|||
return optionsGetHeadRoll(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetHeadRoll(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -334,7 +334,7 @@ s32 menuhandlerInGameSubtitles(u32 operation, struct menuitem *item, union handl
|
|||
return optionsGetInGameSubtitles();
|
||||
case MENUOP_SET:
|
||||
optionsSetInGameSubtitles(data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -347,7 +347,7 @@ s32 menuhandlerCutsceneSubtitles(u32 operation, struct menuitem *item, union han
|
|||
return optionsGetCutsceneSubtitles();
|
||||
case MENUOP_SET:
|
||||
optionsSetCutsceneSubtitles(data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -365,7 +365,7 @@ s32 menuhandlerAlternativeTitle(u32 operation, struct menuitem *item, union hand
|
|||
return g_AltTitle;
|
||||
case MENUOP_SET:
|
||||
g_AltTitle = data->checkbox.value;
|
||||
g_Vars.unk000458 |= 4;
|
||||
g_Vars.modifiedfiles |= MODFILE_GLOBAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -388,7 +388,7 @@ s32 menuhandlerHiRes(u32 operation, struct menuitem *item, union handlerdata *da
|
|||
return g_HiResEnabled == true;
|
||||
case MENUOP_SET:
|
||||
optionsSetHiRes(data->checkbox.value ? 1 : 0);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -409,7 +409,7 @@ s32 menuhandlerAmmoOnScreen(u32 operation, struct menuitem *item, union handlerd
|
|||
return optionsGetAmmoOnScreen(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetAmmoOnScreen(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -435,7 +435,7 @@ s32 menuhandlerShowGunFunction(u32 operation, struct menuitem *item, union handl
|
|||
return optionsGetShowGunFunction(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetShowGunFunction(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -456,7 +456,7 @@ s32 menuhandlerShowMissionTime(u32 operation, struct menuitem *item, union handl
|
|||
return optionsGetShowMissionTime(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetShowMissionTime(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -482,7 +482,7 @@ s32 menuhandlerAlwaysShowTarget(u32 operation, struct menuitem *item, union hand
|
|||
return optionsGetAlwaysShowTarget(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetAlwaysShowTarget(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -508,7 +508,7 @@ s32 menuhandlerShowZoomRange(u32 operation, struct menuitem *item, union handler
|
|||
return optionsGetShowZoomRange(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetShowZoomRange(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -529,7 +529,7 @@ s32 menuhandlerPaintball(u32 operation, struct menuitem *item, union handlerdata
|
|||
return optionsGetPaintball(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetPaintball(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -550,7 +550,7 @@ s32 menuhandlerSightOnScreen(u32 operation, struct menuitem *item, union handler
|
|||
return optionsGetSightOnScreen(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetSightOnScreen(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -571,7 +571,7 @@ s32 menuhandlerAutoAim(u32 operation, struct menuitem *item, union handlerdata *
|
|||
return optionsGetAutoAim(mpchrnum);
|
||||
case MENUOP_SET:
|
||||
optionsSetAutoAim(mpchrnum, data->checkbox.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -585,7 +585,7 @@ s32 menuhandlerMusicVolume(u32 operation, struct menuitem *item, union handlerda
|
|||
break;
|
||||
case MENUOP_SET:
|
||||
optionsSetMusicVolume(data->slider.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -603,7 +603,7 @@ s32 menuhandlerSfxVolume(u32 operation, struct menuitem *item, union handlerdata
|
|||
break;
|
||||
case MENUOP_SET:
|
||||
audioSetSfxVolume(data->slider.value);
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -1283,7 +1283,7 @@ s32 menuhandlerCoopRadar(u32 operation, struct menuitem *item, union handlerdata
|
|||
return g_Vars.coopradaron;
|
||||
case MENUOP_SET:
|
||||
g_Vars.coopradaron = data->checkbox.value ? 1 : 0;
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -1296,7 +1296,7 @@ s32 menuhandlerCoopFriendlyFire(u32 operation, struct menuitem *item, union hand
|
|||
return g_Vars.coopfriendlyfire;
|
||||
case MENUOP_SET:
|
||||
g_Vars.coopfriendlyfire = data->checkbox.value ? 1 : 0;
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -1441,7 +1441,7 @@ s32 menuhandlerAntiRadar(u32 operation, struct menuitem *item, union handlerdata
|
|||
return g_Vars.antiradaron;
|
||||
case MENUOP_SET:
|
||||
g_Vars.antiradaron = data->checkbox.value ? 1 : 0;
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -1459,7 +1459,7 @@ s32 menuhandlerAntiPlayer(u32 operation, struct menuitem *item, union handlerdat
|
|||
return (s32) langGet(labels[data->dropdown.value]);
|
||||
case MENUOP_SET:
|
||||
g_Vars.pendingantiplayernum = data->dropdown.value;
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->dropdown.value = g_Vars.pendingantiplayernum;
|
||||
|
|
@ -2649,17 +2649,17 @@ s32 menudialog0010559c(u32 operation, struct menudialog *dialog, union handlerda
|
|||
case MENUOP_OPEN:
|
||||
break;
|
||||
case MENUOP_CLOSE:
|
||||
if ((g_Vars.unk000458 & 1) && g_Vars.coopplayernum < 0 && g_Vars.antiplayernum < 0) {
|
||||
if ((g_Vars.modifiedfiles & MODFILE_SOLO) && g_Vars.coopplayernum < 0 && g_Vars.antiplayernum < 0) {
|
||||
if (func0f1094e4(&g_FilemgrLoadedMainFile, 1, 0) == 0) {
|
||||
data->dialog1.preventclose = true;
|
||||
}
|
||||
|
||||
g_Vars.unk000458 &= ~0x00000001;
|
||||
g_Vars.modifiedfiles &= ~MODFILE_SOLO;
|
||||
}
|
||||
|
||||
if (g_Vars.unk000458 & 4) {
|
||||
if (g_Vars.modifiedfiles & MODFILE_GLOBAL) {
|
||||
func0f1109c0();
|
||||
g_Vars.unk000458 &= ~0x00000004;
|
||||
g_Vars.modifiedfiles &= ~MODFILE_GLOBAL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -2729,7 +2729,7 @@ s32 menuhandlerLangFilter(u32 operation, struct menuitem *item, union handlerdat
|
|||
return g_Vars.langfilteron;
|
||||
case MENUOP_SET:
|
||||
g_Vars.langfilteron = data->checkbox.value;
|
||||
g_Vars.unk000458 |= 1;
|
||||
g_Vars.modifiedfiles |= MODFILE_SOLO;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -1819,7 +1819,7 @@ bool menuTickItemList(struct menuitem *item, struct menuinputs *inputs, u32 arg2
|
|||
|
||||
if (prev2 != data->list.unk02) {
|
||||
handlerdata.list.value = data->list.unk02;
|
||||
item->handler(MENUOP_16, item, &handlerdata);
|
||||
item->handler(MENUOP_LISTITEMFOCUS, item, &handlerdata);
|
||||
|
||||
menuPlaySound(MENUSOUND_SUBFOCUS);
|
||||
}
|
||||
|
|
@ -1901,7 +1901,7 @@ void menuInitItemDropdown(struct menuitem *item, union menuitemdata *data)
|
|||
|
||||
data->dropdown.unk04 = func0f0e5ef8(data->dropdown.unk02, item);
|
||||
|
||||
item->handler(MENUOP_16, item, &handlerdata);
|
||||
item->handler(MENUOP_LISTITEMFOCUS, item, &handlerdata);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
|
|
|
|||
|
|
@ -402,7 +402,7 @@ glabel var7f1b8d94
|
|||
/* f187d1c: 00000000 */ nop
|
||||
/* f187d20: 10400013 */ beqz $v0,.L0f187d70
|
||||
/* f187d24: 00008025 */ or $s0,$zero,$zero
|
||||
/* f187d28: 0fc63080 */ jal func0f18c200
|
||||
/* f187d28: 0fc63080 */ jal mpGetNumUnlockedTracks
|
||||
/* f187d2c: 00008825 */ or $s1,$zero,$zero
|
||||
/* f187d30: 1840000b */ blez $v0,.L0f187d60
|
||||
/* f187d34: 00409025 */ or $s2,$v0,$zero
|
||||
|
|
@ -4801,7 +4801,7 @@ s32 mpGetTrackNumAtSlotIndex(s32 slotindex)
|
|||
return i;
|
||||
}
|
||||
|
||||
s32 func0f18c200(void)
|
||||
s32 mpGetNumUnlockedTracks(void)
|
||||
{
|
||||
return mpGetTrackSlotIndex(NUM_MPTRACKS);
|
||||
}
|
||||
|
|
@ -4920,7 +4920,7 @@ glabel func0f18c4c0
|
|||
/* f18c4e4: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f18c4e8: 10400069 */ beqz $v0,.L0f18c690
|
||||
/* f18c4ec: 00000000 */ nop
|
||||
/* f18c4f0: 0fc63080 */ jal func0f18c200
|
||||
/* f18c4f0: 0fc63080 */ jal mpGetNumUnlockedTracks
|
||||
/* f18c4f4: 00000000 */ nop
|
||||
/* f18c4f8: 0040a025 */ or $s4,$v0,$zero
|
||||
/* f18c4fc: 0000a825 */ or $s5,$zero,$zero
|
||||
|
|
@ -5043,7 +5043,7 @@ glabel func0f18c4c0
|
|||
/* f18c694: 00000000 */ nop
|
||||
/* f18c698: 04410022 */ bgez $v0,.L0f18c724
|
||||
/* f18c69c: 00409825 */ or $s3,$v0,$zero
|
||||
/* f18c6a0: 0fc63080 */ jal func0f18c200
|
||||
/* f18c6a0: 0fc63080 */ jal mpGetNumUnlockedTracks
|
||||
/* f18c6a4: 00000000 */ nop
|
||||
/* f18c6a8: 3c16800b */ lui $s6,%hi(g_MpLockInfo)
|
||||
/* f18c6ac: 00408025 */ or $s0,$v0,$zero
|
||||
|
|
|
|||
|
|
@ -4313,245 +4313,104 @@ char *mpMenuTextSelectTuneOrTunes(struct menuitem *item)
|
|||
return langGet(L_MPMENU(68)); // "Select Tunes"
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel menuhandler0017dc84
|
||||
.late_rodata
|
||||
glabel var7f1b81ec
|
||||
.word menuhandler0017dc84+0x30 # f17dcb4
|
||||
glabel var7f1b81f0
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b81f4
|
||||
.word menuhandler0017dc84+0x6c # f17dcf0
|
||||
glabel var7f1b81f8
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b81fc
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b8200
|
||||
.word menuhandler0017dc84+0x10c # f17dd90
|
||||
glabel var7f1b8204
|
||||
.word menuhandler0017dc84+0x21c # f17dea0
|
||||
glabel var7f1b8208
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b820c
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b8210
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b8214
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b8218
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b821c
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b8220
|
||||
.word menuhandler0017dc84+0x29c # f17df20
|
||||
glabel var7f1b8224
|
||||
.word menuhandler0017dc84+0x2dc # f17df60
|
||||
glabel var7f1b8228
|
||||
.word menuhandler0017dc84+0x268 # f17deec
|
||||
.text
|
||||
/* f17dc84: 248effff */ addiu $t6,$a0,-1
|
||||
/* f17dc88: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* f17dc8c: 2dc10010 */ sltiu $at,$t6,0x10
|
||||
/* f17dc90: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f17dc94: 102000b2 */ beqz $at,.L0f17df60
|
||||
/* f17dc98: afa50034 */ sw $a1,0x34($sp)
|
||||
/* f17dc9c: 000e7080 */ sll $t6,$t6,0x2
|
||||
/* f17dca0: 3c017f1c */ lui $at,%hi(var7f1b81ec)
|
||||
/* f17dca4: 002e0821 */ addu $at,$at,$t6
|
||||
/* f17dca8: 8c2e81ec */ lw $t6,%lo(var7f1b81ec)($at)
|
||||
/* f17dcac: 01c00008 */ jr $t6
|
||||
/* f17dcb0: 00000000 */ nop
|
||||
/* f17dcb4: 0fc63080 */ jal func0f18c200
|
||||
/* f17dcb8: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dcbc: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17dcc0: 0fc630a9 */ jal mpGetUsingMultipleTunes
|
||||
/* f17dcc4: acc20000 */ sw $v0,0x0($a2)
|
||||
/* f17dcc8: 10400005 */ beqz $v0,.L0f17dce0
|
||||
/* f17dccc: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17dcd0: 8ccf0000 */ lw $t7,0x0($a2)
|
||||
/* f17dcd4: 25f80003 */ addiu $t8,$t7,0x3
|
||||
/* f17dcd8: 100000a1 */ b .L0f17df60
|
||||
/* f17dcdc: acd80000 */ sw $t8,0x0($a2)
|
||||
.L0f17dce0:
|
||||
/* f17dce0: 8cd90000 */ lw $t9,0x0($a2)
|
||||
/* f17dce4: 27280001 */ addiu $t0,$t9,0x1
|
||||
/* f17dce8: 1000009d */ b .L0f17df60
|
||||
/* f17dcec: acc80000 */ sw $t0,0x0($a2)
|
||||
/* f17dcf0: 0fc63080 */ jal func0f18c200
|
||||
/* f17dcf4: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dcf8: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17dcfc: 00402825 */ or $a1,$v0,$zero
|
||||
/* f17dd00: 8cc30000 */ lw $v1,0x0($a2)
|
||||
/* f17dd04: 0062082b */ sltu $at,$v1,$v0
|
||||
/* f17dd08: 50200006 */ beqzl $at,.L0f17dd24
|
||||
/* f17dd0c: afa5002c */ sw $a1,0x2c($sp)
|
||||
/* f17dd10: 0fc63097 */ jal mpGetTrackName
|
||||
/* f17dd14: 00602025 */ or $a0,$v1,$zero
|
||||
/* f17dd18: 10000093 */ b .L0f17df68
|
||||
/* f17dd1c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f17dd20: afa5002c */ sw $a1,0x2c($sp)
|
||||
.L0f17dd24:
|
||||
/* f17dd24: 0fc630a9 */ jal mpGetUsingMultipleTunes
|
||||
/* f17dd28: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dd2c: 8fa5002c */ lw $a1,0x2c($sp)
|
||||
/* f17dd30: 1040000c */ beqz $v0,.L0f17dd64
|
||||
/* f17dd34: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17dd38: 8cc90000 */ lw $t1,0x0($a2)
|
||||
/* f17dd3c: 00055880 */ sll $t3,$a1,0x2
|
||||
/* f17dd40: 000b6023 */ negu $t4,$t3
|
||||
/* f17dd44: 00095080 */ sll $t2,$t1,0x2
|
||||
/* f17dd48: 014c6821 */ addu $t5,$t2,$t4
|
||||
/* f17dd4c: 3c048008 */ lui $a0,%hi(var80085cec)
|
||||
/* f17dd50: 008d2021 */ addu $a0,$a0,$t5
|
||||
/* f17dd54: 0fc5b9f1 */ jal langGet
|
||||
/* f17dd58: 8c845cec */ lw $a0,%lo(var80085cec)($a0)
|
||||
/* f17dd5c: 10000082 */ b .L0f17df68
|
||||
/* f17dd60: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f17dd64:
|
||||
/* f17dd64: 8cce0000 */ lw $t6,0x0($a2)
|
||||
/* f17dd68: 0005c080 */ sll $t8,$a1,0x2
|
||||
/* f17dd6c: 0018c823 */ negu $t9,$t8
|
||||
/* f17dd70: 000e7880 */ sll $t7,$t6,0x2
|
||||
/* f17dd74: 01f94021 */ addu $t0,$t7,$t9
|
||||
/* f17dd78: 3c048008 */ lui $a0,%hi(var80085ce8)
|
||||
/* f17dd7c: 00882021 */ addu $a0,$a0,$t0
|
||||
/* f17dd80: 0fc5b9f1 */ jal langGet
|
||||
/* f17dd84: 8c845ce8 */ lw $a0,%lo(var80085ce8)($a0)
|
||||
/* f17dd88: 10000077 */ b .L0f17df68
|
||||
/* f17dd8c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f17dd90: 0fc63080 */ jal func0f18c200
|
||||
/* f17dd94: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dd98: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17dd9c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f17dda0: 8cc30000 */ lw $v1,0x0($a2)
|
||||
/* f17dda4: 0062082b */ sltu $at,$v1,$v0
|
||||
/* f17dda8: 5020000d */ beqzl $at,.L0f17dde0
|
||||
/* f17ddac: afa40028 */ sw $a0,0x28($sp)
|
||||
/* f17ddb0: 8cc90004 */ lw $t1,0x4($a2)
|
||||
/* f17ddb4: 15200003 */ bnez $t1,.L0f17ddc4
|
||||
/* f17ddb8: 00000000 */ nop
|
||||
/* f17ddbc: 0fc630e3 */ jal mpSetTrackSlotEnabled
|
||||
/* f17ddc0: 00602025 */ or $a0,$v1,$zero
|
||||
.L0f17ddc4:
|
||||
/* f17ddc4: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f17ddc8: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f17ddcc: 8c4b0458 */ lw $t3,0x458($v0)
|
||||
/* f17ddd0: 356a0002 */ ori $t2,$t3,0x2
|
||||
/* f17ddd4: 10000062 */ b .L0f17df60
|
||||
/* f17ddd8: ac4a0458 */ sw $t2,0x458($v0)
|
||||
/* f17dddc: afa40028 */ sw $a0,0x28($sp)
|
||||
.L0f17dde0:
|
||||
/* f17dde0: 0fc630a9 */ jal mpGetUsingMultipleTunes
|
||||
/* f17dde4: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dde8: 8fa40028 */ lw $a0,0x28($sp)
|
||||
/* f17ddec: 10400024 */ beqz $v0,.L0f17de80
|
||||
/* f17ddf0: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17ddf4: 8ccc0000 */ lw $t4,0x0($a2)
|
||||
/* f17ddf8: 24010001 */ addiu $at,$zero,0x1
|
||||
/* f17ddfc: 01841023 */ subu $v0,$t4,$a0
|
||||
/* f17de00: 10400007 */ beqz $v0,.L0f17de20
|
||||
/* f17de04: 00000000 */ nop
|
||||
/* f17de08: 1041000d */ beq $v0,$at,.L0f17de40
|
||||
/* f17de0c: 24010002 */ addiu $at,$zero,0x2
|
||||
/* f17de10: 10410013 */ beq $v0,$at,.L0f17de60
|
||||
/* f17de14: 00000000 */ nop
|
||||
/* f17de18: 10000052 */ b .L0f17df64
|
||||
/* f17de1c: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f17de20:
|
||||
/* f17de20: 0fc630f9 */ jal mpEnableAllMultiTracks
|
||||
/* f17de24: 00000000 */ nop
|
||||
/* f17de28: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f17de2c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f17de30: 8c4d0458 */ lw $t5,0x458($v0)
|
||||
/* f17de34: 35ae0002 */ ori $t6,$t5,0x2
|
||||
/* f17de38: 10000049 */ b .L0f17df60
|
||||
/* f17de3c: ac4e0458 */ sw $t6,0x458($v0)
|
||||
.L0f17de40:
|
||||
/* f17de40: 0fc63103 */ jal mpDisableAllMultiTracks
|
||||
/* f17de44: 00000000 */ nop
|
||||
/* f17de48: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f17de4c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f17de50: 8c580458 */ lw $t8,0x458($v0)
|
||||
/* f17de54: 370f0002 */ ori $t7,$t8,0x2
|
||||
/* f17de58: 10000041 */ b .L0f17df60
|
||||
/* f17de5c: ac4f0458 */ sw $t7,0x458($v0)
|
||||
.L0f17de60:
|
||||
/* f17de60: 0fc6310c */ jal mpRandomiseMultiTracks
|
||||
/* f17de64: 00000000 */ nop
|
||||
/* f17de68: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f17de6c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f17de70: 8c590458 */ lw $t9,0x458($v0)
|
||||
/* f17de74: 37280002 */ ori $t0,$t9,0x2
|
||||
/* f17de78: 10000039 */ b .L0f17df60
|
||||
/* f17de7c: ac480458 */ sw $t0,0x458($v0)
|
||||
.L0f17de80:
|
||||
/* f17de80: 0fc6311e */ jal mpSetTrackToRandom
|
||||
/* f17de84: 00000000 */ nop
|
||||
/* f17de88: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f17de8c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f17de90: 8c490458 */ lw $t1,0x458($v0)
|
||||
/* f17de94: 352b0002 */ ori $t3,$t1,0x2
|
||||
/* f17de98: 10000031 */ b .L0f17df60
|
||||
/* f17de9c: ac4b0458 */ sw $t3,0x458($v0)
|
||||
/* f17dea0: 0fc630a9 */ jal mpGetUsingMultipleTunes
|
||||
/* f17dea4: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dea8: 10400005 */ beqz $v0,.L0f17dec0
|
||||
/* f17deac: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17deb0: 3c0a000f */ lui $t2,0xf
|
||||
/* f17deb4: 354affff */ ori $t2,$t2,0xffff
|
||||
/* f17deb8: 10000029 */ b .L0f17df60
|
||||
/* f17debc: acca0000 */ sw $t2,0x0($a2)
|
||||
.L0f17dec0:
|
||||
/* f17dec0: 0fc63122 */ jal mpGetCurrentTrackSlotNum
|
||||
/* f17dec4: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17dec8: 04410006 */ bgez $v0,.L0f17dee4
|
||||
/* f17decc: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17ded0: 0fc63080 */ jal func0f18c200
|
||||
/* f17ded4: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17ded8: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17dedc: 10000020 */ b .L0f17df60
|
||||
/* f17dee0: acc20000 */ sw $v0,0x0($a2)
|
||||
.L0f17dee4:
|
||||
/* f17dee4: 1000001e */ b .L0f17df60
|
||||
/* f17dee8: acc20000 */ sw $v0,0x0($a2)
|
||||
/* f17deec: 0fc63080 */ jal func0f18c200
|
||||
/* f17def0: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17def4: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17def8: 8cc30000 */ lw $v1,0x0($a2)
|
||||
/* f17defc: 0062082b */ sltu $at,$v1,$v0
|
||||
/* f17df00: 50200018 */ beqzl $at,.L0f17df64
|
||||
/* f17df04: 00001025 */ or $v0,$zero,$zero
|
||||
/* f17df08: 0fc63088 */ jal mpGetTrackMusicNum
|
||||
/* f17df0c: 00602025 */ or $a0,$v1,$zero
|
||||
/* f17df10: 0fc5b647 */ jal musicStartMenu2
|
||||
/* f17df14: 00402025 */ or $a0,$v0,$zero
|
||||
/* f17df18: 10000012 */ b .L0f17df64
|
||||
/* f17df1c: 00001025 */ or $v0,$zero,$zero
|
||||
/* f17df20: 0fc63080 */ jal func0f18c200
|
||||
/* f17df24: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17df28: 0fc630a9 */ jal mpGetUsingMultipleTunes
|
||||
/* f17df2c: afa2001c */ sw $v0,0x1c($sp)
|
||||
/* f17df30: 1040000b */ beqz $v0,.L0f17df60
|
||||
/* f17df34: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17df38: 8cc30000 */ lw $v1,0x0($a2)
|
||||
/* f17df3c: 8fac001c */ lw $t4,0x1c($sp)
|
||||
/* f17df40: 00602025 */ or $a0,$v1,$zero
|
||||
/* f17df44: 006c082b */ sltu $at,$v1,$t4
|
||||
/* f17df48: 50200006 */ beqzl $at,.L0f17df64
|
||||
/* f17df4c: 00001025 */ or $v0,$zero,$zero
|
||||
/* f17df50: 0fc630ac */ jal mpIsMultiTrackSlotEnabled
|
||||
/* f17df54: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f17df58: 8fa60038 */ lw $a2,0x38($sp)
|
||||
/* f17df5c: acc20004 */ sw $v0,0x4($a2)
|
||||
.L0f17df60:
|
||||
/* f17df60: 00001025 */ or $v0,$zero,$zero
|
||||
.L0f17df64:
|
||||
/* f17df64: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f17df68:
|
||||
/* f17df68: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
/* f17df6c: 03e00008 */ jr $ra
|
||||
/* f17df70: 00000000 */ nop
|
||||
);
|
||||
/**
|
||||
* List handler for the select tune dialog.
|
||||
*
|
||||
* If multiple tracks are disabled, the listing contains the track listing plus
|
||||
* one item for Randomize.
|
||||
*
|
||||
* If multiple tracks are disabled, the listing contains the track listing plus
|
||||
* 3 items for Select All, Select None and Randomize.
|
||||
*/
|
||||
s32 mpSelectTuneListHandler(u32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
switch (operation) {
|
||||
case MENUOP_GETOPTIONCOUNT:
|
||||
data->list.value = mpGetNumUnlockedTracks();
|
||||
|
||||
if (mpGetUsingMultipleTunes()) {
|
||||
data->list.value += 3;
|
||||
} else {
|
||||
data->list.value++;
|
||||
}
|
||||
break;
|
||||
case MENUOP_GETOPTIONTEXT:
|
||||
{
|
||||
s32 numtracks = mpGetNumUnlockedTracks();
|
||||
|
||||
if (data->list.value < numtracks) {
|
||||
return (s32) mpGetTrackName(data->list.value);
|
||||
}
|
||||
|
||||
if (mpGetUsingMultipleTunes()) {
|
||||
return (s32) langGet(var80085ce8[1 + data->list.value - numtracks]);
|
||||
}
|
||||
|
||||
return (s32) langGet(var80085ce8[data->list.value - numtracks]);
|
||||
}
|
||||
case MENUOP_SET:
|
||||
{
|
||||
s32 numtracks = mpGetNumUnlockedTracks();
|
||||
|
||||
if (data->list.value < numtracks) {
|
||||
if (data->list.unk04 == 0) {
|
||||
mpSetTrackSlotEnabled(data->list.value);
|
||||
}
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
} else if (mpGetUsingMultipleTunes()) {
|
||||
s32 index = data->list.value - numtracks;
|
||||
|
||||
switch (index) {
|
||||
case 0:
|
||||
mpEnableAllMultiTracks();
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
break;
|
||||
case 1:
|
||||
mpDisableAllMultiTracks();
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
break;
|
||||
case 2:
|
||||
mpRandomiseMultiTracks();
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
mpSetTrackToRandom();
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
if (mpGetUsingMultipleTunes()) {
|
||||
data->list.value = 0x000fffff;
|
||||
} else {
|
||||
s32 slotnum = mpGetCurrentTrackSlotNum();
|
||||
|
||||
if (slotnum < 0) {
|
||||
data->list.value = mpGetNumUnlockedTracks();
|
||||
} else {
|
||||
data->list.value = slotnum;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MENUOP_LISTITEMFOCUS:
|
||||
if (data->list.value < mpGetNumUnlockedTracks()) {
|
||||
musicStartMenu2(mpGetTrackMusicNum(data->list.value));
|
||||
}
|
||||
break;
|
||||
case MENUOP_GETLISTITEMCHECKBOX:
|
||||
{
|
||||
s32 numtracks = mpGetNumUnlockedTracks();
|
||||
|
||||
if (mpGetUsingMultipleTunes() && data->list.value < numtracks) {
|
||||
data->list.unk04 = mpIsMultiTrackSlotEnabled(data->list.value);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 menudialogMpSelectTune(u32 operation, struct menudialog *dialog, union handlerdata *data)
|
||||
{
|
||||
|
|
@ -4590,7 +4449,7 @@ s32 menuhandlerMpMultipleTunes(u32 operation, struct menuitem *item, union handl
|
|||
return mpGetUsingMultipleTunes();
|
||||
case MENUOP_SET:
|
||||
mpSetUsingMultipleTunes(data->checkbox.value);
|
||||
g_Vars.unk000458 |= 2;
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -5310,7 +5169,7 @@ s32 menuhandlerMpLock(u32 operation, struct menuitem *item, union handlerdata *d
|
|||
if (mpGetLockType() != MPLOCKTYPE_CHALLENGE) {
|
||||
mpSetLock(data->dropdown.value, g_MpPlayerNum);
|
||||
}
|
||||
g_Vars.unk000458 |= 2;
|
||||
g_Vars.modifiedfiles |= MODFILE_MPSETUP;
|
||||
break;
|
||||
case MENUOP_GETOPTIONVALUE:
|
||||
data->dropdown.value = mpGetLockType() == MPLOCKTYPE_CHALLENGE ? 0 : mpGetLockType();
|
||||
|
|
|
|||
|
|
@ -1249,32 +1249,33 @@
|
|||
#define MENUITEMTYPE_CONTROLLER 0x19
|
||||
#define MENUITEMTYPE_END 0x1a
|
||||
|
||||
#define MENUOP_GETOPTIONCOUNT 1
|
||||
#define MENUOP_GETOPTGROUPCOUNT 2
|
||||
#define MENUOP_GETOPTIONTEXT 3
|
||||
#define MENUOP_GETOPTGROUPTEXT 4
|
||||
#define MENUOP_GETGROUPSTARTINDEX 5
|
||||
#define MENUOP_SET 6
|
||||
#define MENUOP_GETOPTIONVALUE 7
|
||||
#define MENUOP_GET 8
|
||||
#define MENUOP_GETSLIDER 9
|
||||
#define MENUOP_GETSLIDERLABEL 10
|
||||
#define MENUOP_11 11
|
||||
#define MENUOP_CHECKDISABLED 12
|
||||
#define MENUOP_FOCUS 13
|
||||
#define MENUOP_CHECKPREFOCUSED 15
|
||||
#define MENUOP_16 16
|
||||
#define MENUOP_GETTEXT 17
|
||||
#define MENUOP_SETTEXT 18
|
||||
#define MENUOP_RENDER 19
|
||||
#define MENUOP_GETOPTIONHEIGHT 20
|
||||
#define MENUOP_21 21
|
||||
#define MENUOP_GETCOLOUR 22
|
||||
#define MENUOP_CHECKHIDDEN 24
|
||||
#define MENUOP_25 25
|
||||
#define MENUOP_OPEN 100
|
||||
#define MENUOP_CLOSE 101
|
||||
#define MENUOP_TICK 102
|
||||
#define MENUOP_GETOPTIONCOUNT 1
|
||||
#define MENUOP_GETOPTGROUPCOUNT 2
|
||||
#define MENUOP_GETOPTIONTEXT 3
|
||||
#define MENUOP_GETOPTGROUPTEXT 4
|
||||
#define MENUOP_GETGROUPSTARTINDEX 5
|
||||
#define MENUOP_SET 6
|
||||
#define MENUOP_GETOPTIONVALUE 7
|
||||
#define MENUOP_GET 8
|
||||
#define MENUOP_GETSLIDER 9
|
||||
#define MENUOP_GETSLIDERLABEL 10
|
||||
#define MENUOP_11 11
|
||||
#define MENUOP_CHECKDISABLED 12
|
||||
#define MENUOP_FOCUS 13
|
||||
#define MENUOP_GETLISTITEMCHECKBOX 14
|
||||
#define MENUOP_CHECKPREFOCUSED 15
|
||||
#define MENUOP_LISTITEMFOCUS 16
|
||||
#define MENUOP_GETTEXT 17
|
||||
#define MENUOP_SETTEXT 18
|
||||
#define MENUOP_RENDER 19
|
||||
#define MENUOP_GETOPTIONHEIGHT 20
|
||||
#define MENUOP_21 21
|
||||
#define MENUOP_GETCOLOUR 22
|
||||
#define MENUOP_CHECKHIDDEN 24
|
||||
#define MENUOP_25 25
|
||||
#define MENUOP_OPEN 100
|
||||
#define MENUOP_CLOSE 101
|
||||
#define MENUOP_TICK 102
|
||||
|
||||
#define MENUROOT_ENDSCREEN 1
|
||||
#define MENUROOT_MAINMENU 2
|
||||
|
|
@ -1803,6 +1804,10 @@
|
|||
|
||||
#define MODELPART_ELVIS_03 0x03
|
||||
|
||||
#define MODFILE_SOLO 1
|
||||
#define MODFILE_MPSETUP 2
|
||||
#define MODFILE_GLOBAL 4
|
||||
|
||||
#define MOVEMODE_WALK 0
|
||||
#define MOVEMODE_BIKE 3
|
||||
#define MOVEMODE_GRAB 4
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ extern struct menudialog g_MpAddSimulantMenuDialog;
|
|||
extern struct menudialog g_MpChangeSimulantMenuDialog;
|
||||
extern struct menudialog g_MpEditSimulantMenuDialog;
|
||||
extern u32 var80085a74;
|
||||
extern u32 var80085ce8[];
|
||||
extern u8 g_TeamIdsForPairing[4];
|
||||
extern struct menudialog g_MpChangeTeamNameMenuDialog;
|
||||
extern struct menudialog g_MpConfirmChallengeViaListOrDetailsMenuDialog;
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ void mpCalculateLockIfLastWinnerOrLoser(void);
|
|||
bool mpIsTrackUnlocked(s32 tracknum);
|
||||
s32 mpGetTrackSlotIndex(s32 tracknum);
|
||||
s32 mpGetTrackNumAtSlotIndex(s32 slotindex);
|
||||
s32 func0f18c200(void);
|
||||
s32 mpGetNumUnlockedTracks(void);
|
||||
s32 mpGetTrackMusicNum(s32 slotindex);
|
||||
char *mpGetTrackName(s32 slotindex);
|
||||
void mpSetUsingMultipleTunes(bool enable);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ s32 func0f17d4b0(u32 operation, struct menuitem *item, union handlerdata *data,
|
|||
char *mpMenuTextChrNameForTeamSetup(struct menuitem *item);
|
||||
s32 func0f17dac4(u32 operation, struct menuitem *item, union handlerdata *data);
|
||||
char *mpMenuTextSelectTuneOrTunes(struct menuitem *item);
|
||||
s32 menuhandler0017dc84(u32 operation, struct menuitem *item, union handlerdata *data);
|
||||
s32 mpSelectTuneListHandler(u32 operation, struct menuitem *item, union handlerdata *data);
|
||||
char *mpMenuTextCurrentTrack(struct menuitem *item);
|
||||
s32 menuhandler0017e06c(u32 operation, struct menuitem *item, union handlerdata *data);
|
||||
char *mpMenuTextTeamName(struct menuitem *item);
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ struct g_vars {
|
|||
/*00044c*/ s32 antiradaron;
|
||||
/*000450*/ s32 pendingantiplayernum;
|
||||
/*000454*/ s32 coopfriendlyfire;
|
||||
/*000458*/ u32 unk000458;
|
||||
/*000458*/ u32 modifiedfiles;
|
||||
/*00045c*/ s32 speedpilltime;
|
||||
/*000460*/ s32 speedpillchange;
|
||||
/*000464*/ u32 speedpillwant;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ void gvarsInit(void)
|
|||
g_Vars.coopfriendlyfire = 1;
|
||||
g_Vars.antiradaron = 1;
|
||||
g_Vars.pendingantiplayernum = 1;
|
||||
g_Vars.unk000458 = 0;
|
||||
g_Vars.modifiedfiles = 0;
|
||||
g_Vars.numaibuddies = 0;
|
||||
g_Vars.bondvisible = true;
|
||||
g_Vars.bondcollisions = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue