Decompile dialogTick
This commit is contained in:
parent
b48d22c065
commit
79125aea40
|
|
@ -104,9 +104,9 @@ void menuTick(void)
|
|||
|
||||
for (j = 0; j < 4; j++) {
|
||||
if (g_Menus[j].curdialog) {
|
||||
if (g_Menus[j].curdialog->unk60 == 1
|
||||
|| g_Menus[j].curdialog->unk60 == 2
|
||||
|| g_Menus[j].curdialog->unk60 == 0) {
|
||||
if (g_Menus[j].curdialog->state == MENUDIALOGSTATE_OPENING
|
||||
|| g_Menus[j].curdialog->state == MENUDIALOGSTATE_POPULATING
|
||||
|| g_Menus[j].curdialog->state == MENUDIALOGSTATE_0) {
|
||||
bVar11 = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -2956,7 +2956,7 @@ glabel menuitemListRender
|
|||
);
|
||||
#endif
|
||||
|
||||
bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2, union menuitemdata *data)
|
||||
bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
f32 f0;
|
||||
union handlerdata handlerdata;
|
||||
|
|
@ -3019,7 +3019,7 @@ bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2
|
|||
}
|
||||
}
|
||||
|
||||
if (arg2 & 2) {
|
||||
if (tickflags & MENUTICKFLAG_ITEMISFOCUSED) {
|
||||
item->handler(MENUOP_GETOPTIONCOUNT, item, &handlerdata);
|
||||
|
||||
if (handlerdata.list.value) {
|
||||
|
|
@ -3077,7 +3077,7 @@ bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2
|
|||
handlerdata.list.value = tmp;
|
||||
handlerdata.list.unk04 = 1;
|
||||
handlerdata.list.unk0c = tmp;
|
||||
handlerdata.list.groupstartindex = (arg2 & 2) ? 1 : 0;
|
||||
handlerdata.list.groupstartindex = (tickflags & MENUTICKFLAG_ITEMISFOCUSED) ? 1 : 0;
|
||||
|
||||
item->handler(MENUOP_25, item, &handlerdata);
|
||||
|
||||
|
|
@ -3587,13 +3587,13 @@ glabel menuitemDropdownRender
|
|||
/* f0e8134: 27bd0080 */ addiu $sp,$sp,0x80
|
||||
);
|
||||
|
||||
bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data)
|
||||
bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
u32 stack;
|
||||
|
||||
if ((arg3 & 2) && item->handler) {
|
||||
if ((tickflags & MENUTICKFLAG_ITEMISFOCUSED) && item->handler) {
|
||||
if (dialog->dimmed && item == dialog->focuseditem) {
|
||||
menuitemListTick(item, inputs, arg3, data);
|
||||
menuitemListTick(item, inputs, tickflags, data);
|
||||
|
||||
if (mpIsPlayerLockedOut(g_MpPlayerNum)) {
|
||||
if ((item->flags & MENUITEMFLAG_00040000) || (dialog->definition->flags & MENUDIALOGFLAG_0010)) {
|
||||
|
|
@ -4193,7 +4193,7 @@ Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *context)
|
|||
// Render cursor
|
||||
alpha = func0f006b08(40) * 255;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
cursorcolour = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
} else {
|
||||
cursorcolour = colourBlend(
|
||||
|
|
@ -4235,7 +4235,7 @@ Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *context)
|
|||
|
||||
for (col = 0; col < 10; col++) {
|
||||
for (row = 0; row < 5; row++) {
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
textcolour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
textcolour = colourBlend(
|
||||
|
|
@ -4257,7 +4257,7 @@ Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *context)
|
|||
if (col == data->col && row == data->row) {
|
||||
alpha = func0f006b08(40) * 255;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
tmpcolour = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
} else {
|
||||
tmpcolour = colourBlend(
|
||||
|
|
@ -4311,7 +4311,7 @@ Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *context)
|
|||
|
||||
// Dim the OK button if string is empty
|
||||
if (index == 3 && menuitemKeyboardIsStringEmptyOrSpaces(data->string)) {
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
textcolour = g_MenuColourPalettes[context->dialog->type].disabled;
|
||||
} else {
|
||||
textcolour = colourBlend(
|
||||
|
|
@ -4403,13 +4403,13 @@ Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *context)
|
|||
* | DEL | CAPS | CANCEL | OK |
|
||||
* +-------+-----------+-----------+-------+
|
||||
*/
|
||||
bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2, union menuitemdata *data)
|
||||
bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
struct menuitemdata_keyboard *kb = &data->keyboard;
|
||||
union handlerdata handlerdata;
|
||||
s32 delete = false;
|
||||
|
||||
if (arg2 & 2) {
|
||||
if (tickflags & MENUTICKFLAG_ITEMISFOCUSED) {
|
||||
s16 prevcol = kb->col;
|
||||
s16 prevrow = kb->row;
|
||||
|
||||
|
|
@ -4582,7 +4582,7 @@ bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32
|
|||
}
|
||||
|
||||
// Update caps
|
||||
if (arg2 & 2) {
|
||||
if (tickflags & MENUTICKFLAG_ITEMISFOCUSED) {
|
||||
u32 prev = kb->capseffective;
|
||||
kb->capseffective = kb->capslock;
|
||||
|
||||
|
|
@ -4628,7 +4628,7 @@ Gfx *menuitemSeparatorRender(Gfx *gdl, struct menurendercontext *context)
|
|||
{
|
||||
u32 colour;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
colour = colourBlend(
|
||||
|
|
@ -6647,7 +6647,7 @@ Gfx *menuitemModelRender(Gfx *gdl, struct menurendercontext *context)
|
|||
renderdata.y = context->y;
|
||||
renderdata.width = context->width;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
renderdata.colour = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
} else {
|
||||
renderdata.colour = colourBlend(
|
||||
|
|
@ -6712,7 +6712,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
|
|||
}
|
||||
|
||||
if (context->item->flags & MENUITEMFLAG_00000100) {
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour1 = g_MenuColourPalettes[context->dialog->type].checkedunfocused;
|
||||
} else {
|
||||
colour1 = colourBlend(
|
||||
|
|
@ -6729,7 +6729,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
|
|||
g_MenuColourPalettes3[context->dialog->type].checkedunfocused,
|
||||
g_MenuColourPalettes2[context->dialog->type].checkedunfocused);
|
||||
} else {
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour1 = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
colour1 = colourBlend(
|
||||
|
|
@ -6748,7 +6748,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
|
|||
}
|
||||
|
||||
if (menuIsItemDisabled(context->item, context->dialog)) {
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour1 = g_MenuColourPalettes[context->dialog->type].disabled;
|
||||
} else {
|
||||
colour1 = colourBlend(
|
||||
|
|
@ -6830,7 +6830,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
|
|||
gdl = func0f153780(gdl);
|
||||
|
||||
if (menudfc) {
|
||||
if (context->width + 200 < menudfc->unk04 * 300 && context->dialog->unk48 < 0) {
|
||||
if (context->width + 200 < menudfc->unk04 * 300 && context->dialog->redrawtimer < 0) {
|
||||
func0f0f13ec(context->item);
|
||||
}
|
||||
|
||||
|
|
@ -6876,7 +6876,7 @@ Gfx *menuitemMeterRender(Gfx *gdl, struct menurendercontext *context)
|
|||
s32 x2;
|
||||
s32 x3;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
colour = colourBlend(
|
||||
|
|
@ -7328,7 +7328,7 @@ const char var7f1adfb8[] = "";
|
|||
//
|
||||
// text = menuResolveParam2Text(context->item);
|
||||
//
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// leftcolour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
// } else {
|
||||
// leftcolour = colourBlend(
|
||||
|
|
@ -7351,7 +7351,7 @@ const char var7f1adfb8[] = "";
|
|||
// u32 colour2;
|
||||
// u32 weight = func0f006b08(40) * 255;
|
||||
//
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// colour2 = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
// } else {
|
||||
// colour2 = colourBlend(
|
||||
|
|
@ -7372,7 +7372,7 @@ const char var7f1adfb8[] = "";
|
|||
// }
|
||||
//
|
||||
// if (menuIsItemDisabled(context->item, context->dialog)) {
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// leftcolour = g_MenuColourPalettes[context->dialog->type].disabled;
|
||||
// } else {
|
||||
// leftcolour = colourBlend(
|
||||
|
|
@ -7430,9 +7430,9 @@ const char var7f1adfb8[] = "";
|
|||
// return func0f153780(gdl);
|
||||
//}
|
||||
|
||||
bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2)
|
||||
bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags)
|
||||
{
|
||||
if ((arg2 & 2) && inputs->select) {
|
||||
if ((tickflags & MENUTICKFLAG_ITEMISFOCUSED) && inputs->select) {
|
||||
menuPlaySound(MENUSOUND_SELECT);
|
||||
|
||||
if (item->flags & MENUITEMFLAG_00000008) {
|
||||
|
|
@ -8121,7 +8121,7 @@ glabel menuitemSliderRender
|
|||
/* f0ebec4: 27bd00b0 */ addiu $sp,$sp,0xb0
|
||||
);
|
||||
|
||||
bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data)
|
||||
bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
s32 index;
|
||||
union handlerdata handlerdata;
|
||||
|
|
@ -8130,8 +8130,8 @@ bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct
|
|||
f32 f2;
|
||||
f32 f14;
|
||||
|
||||
if ((arg3 & 2)) {
|
||||
if (arg3 & 4) {
|
||||
if ((tickflags & MENUTICKFLAG_ITEMISFOCUSED)) {
|
||||
if (tickflags & MENUTICKFLAG_DIALOGISDIMMED) {
|
||||
if (item->handler) {
|
||||
item->handler(MENUOP_GETSLIDER, item, &handlerdata);
|
||||
index = (s16)handlerdata.slider.value;
|
||||
|
|
@ -8244,7 +8244,7 @@ Gfx *menuitemCarouselRender(Gfx *gdl, struct menurendercontext *context)
|
|||
u32 colour1;
|
||||
u32 weight = func0f006b08(40) * 255;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour1 = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
} else {
|
||||
colour1 = colourBlend(
|
||||
|
|
@ -8284,7 +8284,7 @@ Gfx *menuitemCarouselRender(Gfx *gdl, struct menurendercontext *context)
|
|||
return gdl;
|
||||
}
|
||||
|
||||
bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2)
|
||||
bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags)
|
||||
{
|
||||
union handlerdata data;
|
||||
s32 index;
|
||||
|
|
@ -8292,7 +8292,7 @@ bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32
|
|||
bool done;
|
||||
u32 stack;
|
||||
|
||||
if (((arg2 & 2) || (item->flags & MENUITEMFLAG_04000000)) && item->handler) {
|
||||
if (((tickflags & MENUTICKFLAG_ITEMISFOCUSED) || (item->flags & MENUITEMFLAG_04000000)) && item->handler) {
|
||||
if (inputs->leftright != 0) {
|
||||
if (mpIsPlayerLockedOut(g_MpPlayerNum) == 0 || (item->flags & MENUITEMFLAG_00020000) == 0) {
|
||||
done = false;
|
||||
|
|
@ -8754,7 +8754,7 @@ glabel menuitemCheckboxRender
|
|||
// && context->item->handler(MENUOP_GET, context->item, (union handlerdata *)data) == true) {
|
||||
// checked = true;
|
||||
//
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// maincolour = g_MenuColourPalettes[context->dialog->type].checkedunfocused;
|
||||
// } else {
|
||||
// maincolour = colourBlend(
|
||||
|
|
@ -8771,7 +8771,7 @@ glabel menuitemCheckboxRender
|
|||
// g_MenuColourPalettes3[context->dialog->type].checkedunfocused,
|
||||
// g_MenuColourPalettes2[context->dialog->type].checkedunfocused);
|
||||
// } else {
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// maincolour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
// } else {
|
||||
// maincolour = colourBlend(
|
||||
|
|
@ -8799,7 +8799,7 @@ glabel menuitemCheckboxRender
|
|||
// u32 focuscolour;
|
||||
// u32 weight = func0f006b08(40) * 255;
|
||||
//
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// focuscolour = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
// } else {
|
||||
// focuscolour = colourBlend(
|
||||
|
|
@ -8816,7 +8816,7 @@ glabel menuitemCheckboxRender
|
|||
// }
|
||||
//
|
||||
// if (menuIsItemDisabled(context->item, context->dialog)) {
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// maincolour = g_MenuColourPalettes[context->dialog->type].disabled;
|
||||
// } else {
|
||||
// maincolour = colourBlend(
|
||||
|
|
@ -8847,11 +8847,11 @@ glabel menuitemCheckboxRender
|
|||
// return func0f153780(gdl);
|
||||
//}
|
||||
|
||||
bool menuitemCheckboxTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2)
|
||||
bool menuitemCheckboxTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags)
|
||||
{
|
||||
union handlerdata data;
|
||||
|
||||
if ((arg2 & 2) && inputs->select) {
|
||||
if ((tickflags & MENUTICKFLAG_ITEMISFOCUSED) && inputs->select) {
|
||||
if (item->handler && item->handler(MENUOP_GET, item, &data) == 1) {
|
||||
data.checkbox.value = 0;
|
||||
menuPlaySound(MENUSOUND_TOGGLEOFF);
|
||||
|
|
@ -8974,7 +8974,7 @@ Gfx *menuitemScrollableRender(Gfx *gdl, struct menurendercontext *context)
|
|||
x = context->x + 2;
|
||||
y = context->y + 2;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
colour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
colour = colourBlend(
|
||||
|
|
@ -9015,14 +9015,14 @@ Gfx *menuitemScrollableRender(Gfx *gdl, struct menurendercontext *context)
|
|||
return func0f153780(gdl);
|
||||
}
|
||||
|
||||
bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data)
|
||||
bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
u32 stack;
|
||||
|
||||
#if PAL
|
||||
if ((s16)dialog->height20 != data->scrollable.unk06 || data->scrollable.unk08 != g_LanguageId) {
|
||||
if ((s16)dialog->height != data->scrollable.unk06 || data->scrollable.unk08 != g_LanguageId) {
|
||||
#else
|
||||
if ((s16)dialog->height20 != data->scrollable.unk06) {
|
||||
if ((s16)dialog->height != data->scrollable.unk06) {
|
||||
#endif
|
||||
char wrapped[8000] = "";
|
||||
char *rawtext;
|
||||
|
|
@ -9062,12 +9062,12 @@ bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, st
|
|||
data->scrollable.unk04 = -10;
|
||||
}
|
||||
|
||||
data->scrollable.unk06 = dialog->height20;
|
||||
data->scrollable.unk06 = dialog->height;
|
||||
}
|
||||
|
||||
if (menuIsScrollableUnscrollable(item)) {
|
||||
data->scrollable.unk00 = 0;
|
||||
} else if (arg3 & 2) {
|
||||
} else if (tickflags & MENUTICKFLAG_ITEMISFOCUSED) {
|
||||
f32 floatval;
|
||||
s32 intval = 0;
|
||||
|
||||
|
|
@ -9756,7 +9756,7 @@ u32 var800711ec = 0x20000000;
|
|||
// }
|
||||
//
|
||||
// // 5b8
|
||||
// if (context->dialog->transitiontimer < 0) {
|
||||
// if (context->dialog->transitionfrac < 0) {
|
||||
// colour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
// } else {
|
||||
// colour = colourBlend(
|
||||
|
|
@ -10056,7 +10056,7 @@ Gfx *menuitemRankingRender(Gfx *gdl, struct menurendercontext *context)
|
|||
data->scrolloffset = gap;
|
||||
}
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
textcolour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
textcolour = colourBlend(
|
||||
|
|
@ -10088,7 +10088,7 @@ Gfx *menuitemRankingRender(Gfx *gdl, struct menurendercontext *context)
|
|||
|
||||
dialog = context->dialog;
|
||||
|
||||
if (dialog->transitiontimer < 0) {
|
||||
if (dialog->transitionfrac < 0) {
|
||||
linecolour1 = g_MenuColourPalettes[dialog->type].unk00;
|
||||
} else {
|
||||
linecolour1 = colourBlend(
|
||||
|
|
@ -10101,7 +10101,7 @@ Gfx *menuitemRankingRender(Gfx *gdl, struct menurendercontext *context)
|
|||
linecolour1 = colourBlend(linecolour1, 0, 44) & 0xffffff00 | linecolour1 & 0xff;
|
||||
}
|
||||
|
||||
if (dialog->transitiontimer < 0) {
|
||||
if (dialog->transitionfrac < 0) {
|
||||
linecolour2 = g_MenuColourPalettes[dialog->type].unk08;
|
||||
} else {
|
||||
linecolour2 = colourBlend(
|
||||
|
|
@ -10821,12 +10821,12 @@ glabel menuitemRankingRender
|
|||
);
|
||||
#endif
|
||||
|
||||
bool menuitemRankingTick(struct menuinputs *inputs, u32 arg1, union menuitemdata *data)
|
||||
bool menuitemRankingTick(struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
f32 floatval;
|
||||
s32 intval;
|
||||
|
||||
if (arg1 & 2) {
|
||||
if (tickflags & MENUTICKFLAG_ITEMISFOCUSED) {
|
||||
intval = 0;
|
||||
floatval = inputs->yaxis < 0 ? -(f32)inputs->yaxis : inputs->yaxis;
|
||||
|
||||
|
|
@ -10887,7 +10887,7 @@ Gfx *menuitemPlayerStatsRender(Gfx *gdl, struct menurendercontext *context)
|
|||
// Write selected player's name
|
||||
weight = func0f006b08(40) * 255;
|
||||
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
selectioncolour = g_MenuColourPalettes[context->dialog->type].focused;
|
||||
} else {
|
||||
selectioncolour = colourBlend(
|
||||
|
|
@ -10904,7 +10904,7 @@ Gfx *menuitemPlayerStatsRender(Gfx *gdl, struct menurendercontext *context)
|
|||
selectioncolour, context->width, context->height, 0, 0);
|
||||
|
||||
// "Suicides" heading
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
maincolour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
maincolour = colourBlend(
|
||||
|
|
@ -10937,7 +10937,7 @@ Gfx *menuitemPlayerStatsRender(Gfx *gdl, struct menurendercontext *context)
|
|||
ypos += 12;
|
||||
|
||||
if (mpGetNumChrs() >= 2) {
|
||||
if (context->dialog->transitiontimer < 0) {
|
||||
if (context->dialog->transitionfrac < 0) {
|
||||
maincolour = g_MenuColourPalettes[context->dialog->type].unfocused;
|
||||
} else {
|
||||
maincolour = colourBlend(
|
||||
|
|
@ -11729,12 +11729,12 @@ glabel menuitemPlayerStatsRender
|
|||
);
|
||||
#endif
|
||||
|
||||
bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data)
|
||||
bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
f32 floatval;
|
||||
s32 intval;
|
||||
|
||||
if ((arg3 & 2) && !dialog->dimmed) {
|
||||
if ((tickflags & MENUTICKFLAG_ITEMISFOCUSED) && !dialog->dimmed) {
|
||||
intval = 0;
|
||||
floatval = inputs->yaxis < 0 ? -(f32)inputs->yaxis : inputs->yaxis;
|
||||
|
||||
|
|
@ -11761,7 +11761,7 @@ bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, s
|
|||
}
|
||||
}
|
||||
|
||||
menuitemDropdownTick(item, dialog, inputs, arg3, data);
|
||||
menuitemDropdownTick(item, dialog, inputs, tickflags, data);
|
||||
}
|
||||
|
||||
Gfx *menuitemPlayerStatsOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data)
|
||||
|
|
@ -12502,7 +12502,7 @@ Gfx *menuitemControllerRender(Gfx *gdl, struct menurendercontext *context)
|
|||
contalpha = data->contfadetimer;
|
||||
gdl = func0f153628(gdl);
|
||||
|
||||
if (dialog->transitiontimer < 0) {
|
||||
if (dialog->transitionfrac < 0) {
|
||||
colour = g_MenuColourPalettes[dialog->type].unfocused;
|
||||
} else {
|
||||
colour = colourBlend(
|
||||
|
|
@ -12601,20 +12601,20 @@ Gfx *menuitemRender(Gfx *gdl, struct menurendercontext *context)
|
|||
/**
|
||||
* Return true if default up/down/left/right/back behaviour should be used.
|
||||
*/
|
||||
bool menuitemTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data)
|
||||
bool menuitemTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data)
|
||||
{
|
||||
switch (item->type) {
|
||||
case MENUITEMTYPE_LIST: return menuitemListTick(item, inputs, arg3, data);
|
||||
case MENUITEMTYPE_SELECTABLE: return menuitemSelectableTick(item, inputs, arg3);
|
||||
case MENUITEMTYPE_SLIDER: return menuitemSliderTick(item, dialog, inputs, arg3, data);
|
||||
case MENUITEMTYPE_CHECKBOX: return menuitemCheckboxTick(item, inputs, arg3);
|
||||
case MENUITEMTYPE_SCROLLABLE: return menuitemScrollableTick(item, dialog, inputs, arg3, data);
|
||||
case MENUITEMTYPE_LIST: return menuitemListTick(item, inputs, tickflags, data);
|
||||
case MENUITEMTYPE_SELECTABLE: return menuitemSelectableTick(item, inputs, tickflags);
|
||||
case MENUITEMTYPE_SLIDER: return menuitemSliderTick(item, dialog, inputs, tickflags, data);
|
||||
case MENUITEMTYPE_CHECKBOX: return menuitemCheckboxTick(item, inputs, tickflags);
|
||||
case MENUITEMTYPE_SCROLLABLE: return menuitemScrollableTick(item, dialog, inputs, tickflags, data);
|
||||
case MENUITEMTYPE_MARQUEE: return menuitemMarqueeTick(item, data);
|
||||
case MENUITEMTYPE_RANKING: return menuitemRankingTick(inputs, arg3, data);
|
||||
case MENUITEMTYPE_DROPDOWN: return menuitemDropdownTick(item, dialog, inputs, arg3, data);
|
||||
case MENUITEMTYPE_KEYBOARD: return menuitemKeyboardTick(item, inputs, arg3, data);
|
||||
case MENUITEMTYPE_CAROUSEL: return menuitemCarouselTick(item, inputs, arg3);
|
||||
case MENUITEMTYPE_PLAYERSTATS: return menuitemPlayerStatsTick(item, dialog, inputs, arg3, data);
|
||||
case MENUITEMTYPE_RANKING: return menuitemRankingTick(inputs, tickflags, data);
|
||||
case MENUITEMTYPE_DROPDOWN: return menuitemDropdownTick(item, dialog, inputs, tickflags, data);
|
||||
case MENUITEMTYPE_KEYBOARD: return menuitemKeyboardTick(item, inputs, tickflags, data);
|
||||
case MENUITEMTYPE_CAROUSEL: return menuitemCarouselTick(item, inputs, tickflags);
|
||||
case MENUITEMTYPE_PLAYERSTATS: return menuitemPlayerStatsTick(item, dialog, inputs, tickflags, data);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -4145,7 +4145,7 @@ u32 mpGetLockPlayerNum(void)
|
|||
return g_MpLockInfo.lockedplayernum;
|
||||
}
|
||||
|
||||
bool mpIsPlayerLockedOut(u32 playernum)
|
||||
bool mpIsPlayerLockedOut(s32 playernum)
|
||||
{
|
||||
if (g_BossFile.locktype == MPLOCKTYPE_NONE) {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1457,9 +1457,16 @@
|
|||
#define MENUDIALOGFLAG_0400 0x0400
|
||||
#define MENUDIALOGFLAG_0800 0x0800
|
||||
|
||||
#define MENUDIALOGSTATE_PREOPEN 0
|
||||
#define MENUDIALOGSTATE_OPENING 1
|
||||
#define MENUDIALOGSTATE_POPULATING 2
|
||||
#define MENUDIALOGSTATE_POPULATED 3
|
||||
|
||||
#define MENUDIALOGTYPE_DEFAULT 1
|
||||
#define MENUDIALOGTYPE_DANGER 2
|
||||
#define MENUDIALOGTYPE_SUCCESS 3
|
||||
#define MENUDIALOGTYPE_4 4
|
||||
#define MENUDIALOGTYPE_WHITE 5
|
||||
|
||||
#define MENUITEMFLAG_00000001 0x00000001
|
||||
#define MENUITEMFLAG_00000004 0x00000004
|
||||
|
|
@ -1474,11 +1481,14 @@
|
|||
#define MENUITEMFLAG_00000800 0x00000800
|
||||
#define MENUITEMFLAG_00001000 0x00001000
|
||||
#define MENUITEMFLAG_00008000 0x00008000
|
||||
#define MENUITEMFLAG_00010000 0x00010000
|
||||
#define MENUITEMFLAG_00020000 0x00020000
|
||||
#define MENUITEMFLAG_00040000 0x00040000
|
||||
#define MENUITEMFLAG_00080000 0x00080000
|
||||
#define MENUITEMFLAG_00100000 0x00100000
|
||||
#define MENUITEMFLAG_00200000 0x00200000
|
||||
#define MENUITEMFLAG_00400000 0x00400000
|
||||
#define MENUITEMFLAG_00800000 0x00800000
|
||||
#define MENUITEMFLAG_01000000 0x01000000
|
||||
#define MENUITEMFLAG_02000000 0x02000000
|
||||
#define MENUITEMFLAG_04000000 0x04000000
|
||||
|
|
@ -1551,6 +1561,7 @@
|
|||
#define MENUROOT_COOPCONTINUE 9
|
||||
#define MENUROOT_4MBFILEMGR 10
|
||||
#define MENUROOT_4MBMAINMENU 11
|
||||
#define MENUROOT_12 12
|
||||
#define MENUROOT_TRAINING 13
|
||||
|
||||
#define MENUSOUND_SWIPE 0x00 // Navigating to left/right dialog
|
||||
|
|
@ -1565,6 +1576,11 @@
|
|||
#define MENUSOUND_0B 0x0b
|
||||
#define MENUSOUND_KEYBOARDFOCUS 0x0c // Changing focus within a keyboard item
|
||||
#define MENUSOUND_KEYBOARDCANCEL 0x0d // Pressing A on a keyboard's cancel button
|
||||
#define MENUSOUND_SUCCESS 0x0e
|
||||
|
||||
#define MENUTICKFLAG_DIALOGISCURRENT 0x01
|
||||
#define MENUTICKFLAG_ITEMISFOCUSED 0x02
|
||||
#define MENUTICKFLAG_DIALOGISDIMMED 0x04
|
||||
|
||||
#define MISCBIO_MAIANS 0
|
||||
#define MISCBIO_SKEDAR 1
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ char *menuResolveDialogTitle(struct menudialogdef *dialogdef);
|
|||
void func0f0f15a4(struct menuitem *item, s32 *arg1);
|
||||
void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struct menudialog *dialog);
|
||||
void func0f0f1d6c(struct menudialogdef *dialogdef, struct menudialog *dialog, struct menu *menu);
|
||||
u32 func0f0f1ef4(void);
|
||||
void func0f0f1ef4(struct menudialog *dialog);
|
||||
void dialogCalculateContentSize(struct menudialogdef *dialogdef, struct menudialog *dialog, struct menu *menu);
|
||||
s32 dialogFindItem(struct menudialog *dialog, struct menuitem *item, s32 *rowindex, s32 *colindex);
|
||||
bool menuIsScrollableUnscrollable(struct menuitem *item);
|
||||
|
|
@ -42,7 +42,7 @@ struct menuitem *dialogFindFirstItem(struct menudialog *dialog);
|
|||
u32 func0f0f2928(void);
|
||||
u32 func0f0f29cc(void);
|
||||
u32 func0f0f2b2c(void);
|
||||
u32 func0f0f2c44(void);
|
||||
s32 func0f0f2c44(struct menudialog *dialog, s32 leftright, s32 updown);
|
||||
void menuOpenDialog(struct menudialogdef *dialogdef, struct menudialog *arg1, struct menu *menu);
|
||||
void menuPushDialog(struct menudialogdef *dialogdef);
|
||||
|
||||
|
|
@ -77,8 +77,8 @@ Gfx *menuRenderDialog(Gfx *gdl, struct menudialog *dialog, struct menu *menu, s3
|
|||
Gfx *menuRenderDialogs(Gfx *gdl);
|
||||
void func0f0f8bb4(u8 *arg0, u32 arg1, u32 arg2);
|
||||
void menuInit(void);
|
||||
u32 func0f0f9030(void);
|
||||
void dialogProcessInput(struct menudialog *dialog, struct menuinputs *inputs, bool iscurrent);
|
||||
void func0f0f9030(s32 arg0);
|
||||
void dialogTick(struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags);
|
||||
void dialogInitItems(struct menudialog *dialog);
|
||||
void func0f0fa6ac(void);
|
||||
void menuProcessInput(void);
|
||||
|
|
|
|||
|
|
@ -9,16 +9,16 @@ s32 menuitem0f0e5ef8(s16 arg0, struct menuitem *item);
|
|||
u32 menuitem0f0e6038(void);
|
||||
Gfx *menuitemListOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2);
|
||||
Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2, union menuitemdata *data);
|
||||
bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
|
||||
void menuitemDropdownInit(struct menuitem *item, union menuitemdata *data);
|
||||
Gfx *menuitemDropdownRender(Gfx *gdl);
|
||||
bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemDropdownOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data);
|
||||
bool menuitemKeyboardIsStringEmptyOrSpaces(char *text);
|
||||
Gfx *menuitemKeyboardRender(Gfx *gdl, struct menurendercontext *thing);
|
||||
bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2, union menuitemdata *data);
|
||||
bool menuitemKeyboardTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemKeyboardInit(struct menuitem *item, union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemSeparatorRender(Gfx *gdl, struct menurendercontext *context);
|
||||
|
|
@ -33,21 +33,21 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context);
|
|||
Gfx *menuitemMeterRender(Gfx *gdl, struct menurendercontext *context);
|
||||
|
||||
Gfx *menuitemSelectableRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2);
|
||||
bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
Gfx *menuitemSliderRender(Gfx *gdl);
|
||||
bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemSliderInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemCarouselRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2);
|
||||
bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
Gfx *menuitemCheckboxRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemCheckboxTick(struct menuitem *item, struct menuinputs *inputs, u32 arg2);
|
||||
bool menuitemCheckboxTick(struct menuitem *item, struct menuinputs *inputs, u32 tickflags);
|
||||
|
||||
char *menuitemScrollableGetText(u32 type);
|
||||
Gfx *menuitemScrollableRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemScrollableTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemScrollableInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemMarqueeRender(Gfx *gdl, struct menurendercontext *context);
|
||||
|
|
@ -57,11 +57,11 @@ void menuitemMarqueeInit(union menuitemdata *data);
|
|||
Gfx *menuitem07Render(Gfx *gdl);
|
||||
|
||||
Gfx *menuitemRankingRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemRankingTick(struct menuinputs *inputs, u32 arg1, union menuitemdata *data);
|
||||
bool menuitemRankingTick(struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemRankingInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemPlayerStatsRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemPlayerStatsTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
Gfx *menuitemPlayerStatsOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data);
|
||||
void menuitemPlayerStatsInit(struct menuitem *item, union menuitemdata *data);
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ Gfx *menuitemControllerRender(Gfx *gdl, struct menurendercontext *context);
|
|||
void menuitemControllerInit(union menuitemdata *data);
|
||||
|
||||
Gfx *menuitemRender(Gfx *gdl, struct menurendercontext *context);
|
||||
bool menuitemTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 arg3, union menuitemdata *data);
|
||||
bool menuitemTick(struct menuitem *item, struct menudialog *dialog, struct menuinputs *inputs, u32 tickflags, union menuitemdata *data);
|
||||
void menuitemInit(struct menuitem *item, union menuitemdata *data);
|
||||
Gfx *menuitemOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menuitem *item, struct menudialog *dialog, union menuitemdata *data);
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ s32 mpChooseRandomLockPlayer(void);
|
|||
bool mpSetLock(s32 locktype, s32 playernum);
|
||||
s32 mpGetLockType(void);
|
||||
u32 mpGetLockPlayerNum(void);
|
||||
bool mpIsPlayerLockedOut(u32 playernum);
|
||||
bool mpIsPlayerLockedOut(s32 playernum);
|
||||
void mpCalculateLockIfLastWinnerOrLoser(void);
|
||||
bool mpIsTrackUnlocked(s32 tracknum);
|
||||
s32 mpGetTrackSlotIndex(s32 tracknum);
|
||||
|
|
|
|||
|
|
@ -3777,29 +3777,29 @@ struct menudialog {
|
|||
struct menuitem *focuseditem;
|
||||
/*0x0c*/ bool dimmed; // when dropdown is open or slider is active
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ s32 x14;
|
||||
/*0x18*/ s32 y18;
|
||||
/*0x1c*/ s32 width1c;
|
||||
/*0x20*/ s32 height20;
|
||||
/*0x14*/ s32 x;
|
||||
/*0x18*/ s32 y;
|
||||
/*0x1c*/ s32 width;
|
||||
/*0x20*/ s32 height;
|
||||
/*0x24*/ s32 contentwidth;
|
||||
/*0x28*/ s32 contentheight;
|
||||
/*0x2c*/ s32 x2c;
|
||||
/*0x30*/ s32 y30;
|
||||
/*0x34*/ s32 width34;
|
||||
/*0x38*/ s32 height38;
|
||||
/*0x2c*/ s32 dstx;
|
||||
/*0x30*/ s32 dsty;
|
||||
/*0x34*/ s32 dstwidth;
|
||||
/*0x38*/ s32 dstheight;
|
||||
/*0x3c*/ u8 type; // dialog type
|
||||
/*0x3d*/ u8 type2; // used when transitioning
|
||||
/*0x40*/ f32 transitiontimer; // >= 0 means transitioning from one dialog type to another
|
||||
/*0x40*/ f32 transitionfrac; // >= 0 means transitioning from one dialog type to another
|
||||
/*0x44*/ u32 colourweight;
|
||||
/*0x48*/ f32 unk48;
|
||||
/*0x48*/ f32 redrawtimer;
|
||||
/*0x4c*/ f32 unk4c;
|
||||
/*0x50*/ f32 unk50;
|
||||
/*0x54*/ u32 unk54;
|
||||
/*0x50*/ f32 statefrac;
|
||||
/*0x54*/ s32 unk54;
|
||||
/*0x58*/ u32 unk58;
|
||||
/*0x5c*/ u32 unk5c;
|
||||
/*0x60*/ u8 unk60;
|
||||
/*0x64*/ u32 unk64;
|
||||
/*0x68*/ u32 unk68;
|
||||
/*0x5c*/ s32 unk5c;
|
||||
/*0x60*/ u8 state;
|
||||
/*0x64*/ s32 scroll; // scroll related, 0 when at top, negative when scrolled down
|
||||
/*0x68*/ s32 dstscroll; // same value as unk64
|
||||
/*0x6c*/ u8 unk6c;
|
||||
/*0x6d*/ s8 unk6d;
|
||||
/*0x6e*/ u8 unk6e;
|
||||
|
|
|
|||
Loading…
Reference in New Issue