Identify menu item flags

This commit is contained in:
Ryan Dwyer committed 2022-07-31 18:11:54 +10:00
1 parent f37a8939d9
commit 2bfb826629
19 files changed
+8729 -1373

No files matched your search

+9 -2
View File
@@ -217,8 +217,15 @@ s32 amPickTargetMenuDialog(s32 operation, struct menudialogdef *dialogdef, union
}
struct menuitem g_AmPickTargetMenuItems[] = {
{ MENUITEMTYPE_LIST, 0, 0x00200000, 0x0000005a, 0x00000000, amPickTargetMenuList },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LIST,
0,
MENUITEMFLAG_LIST_CUSTOMRENDER,
0x0000005a,
0,
amPickTargetMenuList,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_AmPickTargetMenuDialog = {
+648 -88
View File
@@ -439,10 +439,31 @@ s32 cheatMenuHandleDialog(s32 operation, struct menudialogdef *dialogdef, union
}
struct menuitem g_CheatsWarningMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPMENU_479, 0x00000000, NULL }, // "If you activate any cheats, then you will be unable to progress further in the game while those cheats are active."
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_480, 0x00000000, NULL }, // "OK"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_481, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
0,
L_MPMENU_479, // "If you activate any cheats, then you will be unable to progress further in the game while those cheats are active."
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_480, // "OK"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_481, // "Cancel"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsWarningMenuDialog = {
@@ -837,17 +858,87 @@ char *cheatGetName(s32 cheat_id)
#endif
struct menuitem g_CheatsFunMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, CHEAT_DKMODE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_SMALLJO, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_SMALLCHARACTERS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_TEAMHEADSONLY, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_PLAYASELVIS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_SLOMO, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
CHEAT_DKMODE,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_SMALLJO,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_SMALLCHARACTERS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_TEAMHEADSONLY,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_PLAYASELVIS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_SLOMO,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
(u32)&cheatGetMarquee,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsFunMenuDialog = {
@@ -860,19 +951,103 @@ struct menudialogdef g_CheatsFunMenuDialog = {
};
struct menuitem g_CheatsGameplayMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, CHEAT_INVINCIBLE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_CLOAKINGDEVICE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_MARQUIS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_JOSHIELD, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_SUPERSHIELD, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_ENEMYSHIELDS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_ENEMYROCKETS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_PERFECTDARKNESS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
CHEAT_INVINCIBLE,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_CLOAKINGDEVICE,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_MARQUIS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_JOSHIELD,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_SUPERSHIELD,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_ENEMYSHIELDS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_ENEMYROCKETS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_PERFECTDARKNESS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
(u32)&cheatGetMarquee,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsGameplayMenuDialog = {
@@ -885,19 +1060,103 @@ struct menudialogdef g_CheatsGameplayMenuDialog = {
};
struct menuitem g_CheatsSoloWeaponsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, CHEAT_ROCKETLAUNCHER, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_SNIPERRIFLE, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_SUPERDRAGON, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_LAPTOPGUN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_PHOENIX, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_PSYCHOSISGUN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_TRENTSMAGNUM, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_FARSIGHT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
CHEAT_ROCKETLAUNCHER,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_SNIPERRIFLE,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_SUPERDRAGON,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_LAPTOPGUN,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_PHOENIX,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_PSYCHOSISGUN,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_TRENTSMAGNUM,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_FARSIGHT,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
(u32)&cheatGetMarquee,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsSoloWeaponsMenuDialog = {
@@ -910,19 +1169,103 @@ struct menudialogdef g_CheatsSoloWeaponsMenuDialog = {
};
struct menuitem g_CheatsClassicWeaponsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, CHEAT_PP9I, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_CC13, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_KL01313, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_KF7SPECIAL, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_ZZT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_DMC, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_AR53, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_RCP45, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, L_MPWEAPONS_144, 0x00000000, NULL }, // "Win Golds on the firing range to enable classic guns."
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
CHEAT_PP9I,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_CC13,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_KL01313,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_KF7SPECIAL,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_ZZT,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_DMC,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_AR53,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_RCP45,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x000000c8,
0,
NULL,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
L_MPWEAPONS_144, // "Win Golds on the firing range to enable classic guns."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x000000c8,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsClassicWeaponsMenuDialog = {
@@ -935,19 +1278,103 @@ struct menudialogdef g_CheatsClassicWeaponsMenuDialog = {
};
struct menuitem g_CheatsWeaponsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, CHEAT_CLASSICSIGHT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_UNLIMITEDAMMOLAPTOP, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_HURRICANEFISTS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_UNLIMITEDAMMO, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_UNLIMITEDAMMONORELOADS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_XRAYSCANNER, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_RTRACKER, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_CHECKBOX, CHEAT_ALLGUNS, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatCheckboxMenuHandler },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
CHEAT_CLASSICSIGHT,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_UNLIMITEDAMMOLAPTOP,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_HURRICANEFISTS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_UNLIMITEDAMMO,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_UNLIMITEDAMMONORELOADS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_XRAYSCANNER,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_RTRACKER,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_ALLGUNS,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatCheckboxMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
(u32)&cheatGetMarquee,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsWeaponsMenuDialog = {
@@ -960,16 +1387,79 @@ struct menudialogdef g_CheatsWeaponsMenuDialog = {
};
struct menuitem g_CheatsBuddiesMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00000000, L_MPWEAPONS_117, 0x00000000, cheatMenuHandleBuddyCheckbox }, // "Velvet Dark"
{ MENUITEMTYPE_CHECKBOX, CHEAT_PUGILIST, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox },
{ MENUITEMTYPE_CHECKBOX, CHEAT_HOTSHOT, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox },
{ MENUITEMTYPE_CHECKBOX, CHEAT_HITANDRUN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox },
{ MENUITEMTYPE_CHECKBOX, CHEAT_ALIEN, 0x00000000, (u32)&cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&cheatGetMarquee, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
0,
L_MPWEAPONS_117, // "Velvet Dark"
0,
cheatMenuHandleBuddyCheckbox,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_PUGILIST,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatMenuHandleBuddyCheckbox,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_HOTSHOT,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatMenuHandleBuddyCheckbox,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_HITANDRUN,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatMenuHandleBuddyCheckbox,
},
{
MENUITEMTYPE_CHECKBOX,
CHEAT_ALIEN,
0,
(u32)&cheatGetNameIfUnlocked,
0,
cheatMenuHandleBuddyCheckbox,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
(u32)&cheatGetMarquee,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsBuddiesMenuDialog = {
@@ -982,17 +1472,87 @@ struct menudialogdef g_CheatsBuddiesMenuDialog = {
};
struct menuitem g_CheatsMenuItems[] = {
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_118, 0x00000000, (void *)&g_CheatsFunMenuDialog }, // "Fun"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_119, 0x00000000, (void *)&g_CheatsGameplayMenuDialog }, // "Gameplay"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_122, 0x00000000, (void *)&g_CheatsSoloWeaponsMenuDialog }, // "Weapons for Jo in Solo"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_123, 0x00000000, (void *)&g_CheatsClassicWeaponsMenuDialog }, // "Classic Weapons for Jo in Solo"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_120, 0x00000000, (void *)&g_CheatsWeaponsMenuDialog }, // "Weapons"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_121, 0x00000000, (void *)&g_CheatsBuddiesMenuDialog }, // "Buddies"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS_217, 0x00000000, cheatMenuHandleTurnOffAllCheats }, // "Turn off all Cheats"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_477, 0x00000000, NULL }, // "Done"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_118, // "Fun"
0,
(void *)&g_CheatsFunMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_119, // "Gameplay"
0,
(void *)&g_CheatsGameplayMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_122, // "Weapons for Jo in Solo"
0,
(void *)&g_CheatsSoloWeaponsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_123, // "Classic Weapons for Jo in Solo"
0,
(void *)&g_CheatsClassicWeaponsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_120, // "Weapons"
0,
(void *)&g_CheatsWeaponsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_121, // "Buddies"
0,
(void *)&g_CheatsBuddiesMenuDialog,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPWEAPONS_217, // "Turn off all Cheats"
0,
cheatMenuHandleTurnOffAllCheats,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000096,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_477, // "Done"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CheatsMenuDialog = {
+575 -78
View File
@@ -137,10 +137,31 @@ s32 endscreenHandleReplayPreviousMission(s32 operation, struct menuitem *item, u
}
struct menuitem g_RetryMissionMenuItems[] = {
{ MENUITEMTYPE_OBJECTIVES, 1, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS_298, 0x00000000, menuhandlerAcceptMission }, // "Accept"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS_299, 0x00000000, endscreenHandleDeclineMission }, // "Decline"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_OBJECTIVES,
1,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_OPTIONS_298, // "Accept"
0,
menuhandlerAcceptMission,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_OPTIONS_299, // "Decline"
0,
endscreenHandleDeclineMission,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_RetryMissionMenuDialog = {
@@ -153,12 +174,47 @@ struct menudialogdef g_RetryMissionMenuDialog = {
};
struct menuitem g_NextMissionMenuItems[] = {
{ MENUITEMTYPE_OBJECTIVES, 1, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS_298, 0x00000000, menuhandlerAcceptMission }, // "Accept"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS_299, 0x00000000, endscreenHandleDeclineMission }, // "Decline"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MISC_470, 0x00000000, endscreenHandleReplayPreviousMission }, // "Replay Previous Mission"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_OBJECTIVES,
1,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_OPTIONS_298, // "Accept"
0,
menuhandlerAcceptMission,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_OPTIONS_299, // "Decline"
0,
endscreenHandleDeclineMission,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MISC_470, // "Replay Previous Mission"
0,
endscreenHandleReplayPreviousMission,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_NextMissionMenuDialog = {
@@ -401,17 +457,59 @@ s32 endscreenHandleReplayLastLevel(s32 operation, struct menuitem *item, union h
#endif
struct menuitem g_2PMissionEndscreenObjectivesVMenuItems[] = {
{ MENUITEMTYPE_OBJECTIVES, 2, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS_301, 0x00000000, NULL }, // "Press START"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_OBJECTIVES,
2,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_OPTIONS_301, // "Press START"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menuitem g_SoloEndscreenObjectivesMenuItems[] = {
{ MENUITEMTYPE_OBJECTIVES, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS_301, 0x00000000, NULL }, // "Press START"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_OBJECTIVES,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_OPTIONS_301, // "Press START"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_SoloEndscreenObjectivesFailedMenuDialog = {
@@ -466,9 +564,23 @@ s32 endscreenHandleContinueMission(s32 operation, struct menuitem *item, union h
#if VERSION >= VERSION_NTSC_1_0
struct menuitem g_MissionContinueOrReplyMenuItems[] = {
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_MPWEAPONS_244, 0x00000000, endscreenHandleContinueMission }, // "Continue"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_MPWEAPONS_245, 0x00000000, endscreenHandleReplayLastLevel }, // "Replay Last Level"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_244, // "Continue"
0,
endscreenHandleContinueMission,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_245, // "Replay Last Level"
0,
endscreenHandleReplayLastLevel,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MissionContinueOrReplyMenuDialog = {
@@ -689,29 +801,183 @@ s32 endscreenHandle2PFailed(s32 operation, struct menudialogdef *dialogdef, unio
}
struct menuitem g_2PMissionEndscreenVMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_OPTIONS_278, 0x00000000, NULL }, // "Mission Status:"
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&endscreenMenuTextMissionStatus, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_OPTIONS_279, 0x00000000, NULL }, // "Agent Status:"
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&endscreenMenuTextAgentStatus, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_OPTIONS_280, 0x00000000, NULL }, // "Mission Time:"
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&endscreenMenuTextMissionTime, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_MPWEAPONS_129, 0x00000000, NULL }, // "Difficulty"
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)soloMenuTextDifficulty, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_OPTIONS_281, 0x00000000, NULL }, // "Weapon of Choice:"
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextWeaponOfChoiceName, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_282, (u32)&endscreenMenuTextNumKills, NULL }, // "Kills:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_283, (u32)&endscreenMenuTextAccuracy, NULL }, // "Accuracy:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_284, (u32)&endscreenMenuTextNumShots, NULL }, // "Shot Total:"
{ MENUITEMTYPE_LABEL, 0, 0x00000200, L_OPTIONS_285, (u32)&endscreenMenuTextNumHeadShots, NULL }, // "Head Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000200, L_OPTIONS_286, (u32)&endscreenMenuTextNumBodyShots, NULL }, // "Body Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000200, L_OPTIONS_287, (u32)&endscreenMenuTextNumLimbShots, NULL }, // "Limb Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000200, L_OPTIONS_288, (u32)&endscreenMenuTextNumOtherShots, NULL }, // "Others:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS_289, 0x00000000, NULL }, // "Press START"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT,
L_OPTIONS_278, // "Mission Status:"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&endscreenMenuTextMissionStatus,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT,
L_OPTIONS_279, // "Agent Status:"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&endscreenMenuTextAgentStatus,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT,
L_OPTIONS_280, // "Mission Time:"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&endscreenMenuTextMissionTime,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT,
L_MPWEAPONS_129, // "Difficulty:"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)soloMenuTextDifficulty,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT,
L_OPTIONS_281, // "Weapon of Choice:"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&mpMenuTextWeaponOfChoiceName,
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_282, // "Kills:"
(u32)&endscreenMenuTextNumKills,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_283, // "Accuracy:"
(u32)&endscreenMenuTextAccuracy,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_284, // "Shot Total:"
(u32)&endscreenMenuTextNumShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SMALLFONT,
L_OPTIONS_285, // "Head Shots:"
(u32)&endscreenMenuTextNumHeadShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SMALLFONT,
L_OPTIONS_286, // "Body Shots:"
(u32)&endscreenMenuTextNumBodyShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SMALLFONT,
L_OPTIONS_287, // "Limb Shots:"
(u32)&endscreenMenuTextNumLimbShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SMALLFONT,
L_OPTIONS_288, // "Others:"
(u32)&endscreenMenuTextNumOtherShots,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_OPTIONS_289, // "Press START"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
#if VERSION >= VERSION_NTSC_1_0
@@ -793,44 +1059,275 @@ s32 endscreenHandleCheatInfo(s32 operation, struct menuitem *item, union handler
#endif
struct menuitem g_MissionEndscreenMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_278, (u32)&endscreenMenuTextMissionStatus, NULL }, // "Mission Status:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_279, (u32)&endscreenMenuTextAgentStatus, NULL }, // "Agent Status:"
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_278, // "Mission Status:"
(u32)&endscreenMenuTextMissionStatus,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_279, // "Agent Status:"
(u32)&endscreenMenuTextAgentStatus,
NULL,
},
#if VERSION >= VERSION_NTSC_1_0
{ MENUITEMTYPE_LABEL, 0, 0x01000000, L_OPTIONS_280, (u32)&endscreenMenuTextMissionTime, endscreenHandleCheatInfo }, // "Mission Time:"
{ MENUITEMTYPE_LABEL, 1, 0x01000000, L_MPWEAPONS_242, (u32)&endscreenMenuTextTargetTime, endscreenHandleCheatInfo }, // "Target Time:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPWEAPONS_129, (u32)&soloMenuTextDifficulty, NULL }, // "Difficulty:"
{ MENUITEMTYPE_SEPARATOR, 2, 0x00000000, 0x00000000, 0x00000000, endscreenHandleCheatInfo },
{ MENUITEMTYPE_LABEL, 2, 0x00000000, L_MPWEAPONS_243, 0x00000000, endscreenHandleCheatInfo }, // "New Cheat Available!:"
{ MENUITEMTYPE_LABEL, 3, 0x01000020, (u32)&endscreenMenuTextTimedCheatName, 0x00000000, endscreenHandleCheatInfo },
{ MENUITEMTYPE_LABEL, 5, 0x01000020, (u32)&endscreenMenuTextCompletionCheatName, 0x00000000, endscreenHandleCheatInfo },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_281, (u32)&mpMenuTextWeaponOfChoiceName, NULL }, // "Weapon of Choice"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_282, (u32)&endscreenMenuTextNumKills, NULL }, // "Kills:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_283, (u32)&endscreenMenuTextAccuracy, NULL }, // "Accuracy:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_284, (u32)&endscreenMenuTextNumShots, NULL }, // "Shot Total:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_285, (u32)&endscreenMenuTextNumHeadShots, NULL }, // "Head Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_286, (u32)&endscreenMenuTextNumBodyShots, NULL }, // "Body Shots:"
{ MENUITEMTYPE_LABEL, 6, 0x00000000, L_OPTIONS_287, (u32)&endscreenMenuTextNumLimbShots, endscreenHandleCheatInfo }, // "Limb Shots:"
{ MENUITEMTYPE_LABEL, 4, 0x00000000, L_OPTIONS_288, (u32)&endscreenMenuTextNumOtherShots, endscreenHandleCheatInfo }, // "Others:"
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
L_OPTIONS_280, // "Mission Time:"
(u32)&endscreenMenuTextMissionTime,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_LABEL,
1,
MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
L_MPWEAPONS_242, // "Target Time:"
(u32)&endscreenMenuTextTargetTime,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_MPWEAPONS_129, // "Difficulty:"
(u32)&soloMenuTextDifficulty,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
2,
0,
0,
0,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_LABEL,
2,
0,
L_MPWEAPONS_243, // "New Cheat Available!:"
0,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_LABEL,
3,
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
(u32)&endscreenMenuTextTimedCheatName,
0,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_LABEL,
5,
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
(u32)&endscreenMenuTextCompletionCheatName,
0,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_281, // "Weapon of Choice:"
(u32)&mpMenuTextWeaponOfChoiceName,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_282, // "Kills:"
(u32)&endscreenMenuTextNumKills,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_283, // "Accuracy:"
(u32)&endscreenMenuTextAccuracy,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_284, // "Shot Total:"
(u32)&endscreenMenuTextNumShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_285, // "Head Shots:"
(u32)&endscreenMenuTextNumHeadShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_286, // "Body Shots:"
(u32)&endscreenMenuTextNumBodyShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
6,
0,
L_OPTIONS_287, // "Limb Shots:"
(u32)&endscreenMenuTextNumLimbShots,
endscreenHandleCheatInfo,
},
{
MENUITEMTYPE_LABEL,
4,
0,
L_OPTIONS_288, // "Others:"
(u32)&endscreenMenuTextNumOtherShots,
endscreenHandleCheatInfo,
},
#else
// NTSC beta's endscreen dialog lacks cheat information
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_280, (u32)&endscreenMenuTextMissionTime, NULL }, // "Mission Time:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPWEAPONS_129, (u32)&soloMenuTextDifficulty, NULL }, // "Difficulty:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_281, (u32)&mpMenuTextWeaponOfChoiceName, NULL }, // "Weapon of Choice"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_282, (u32)&endscreenMenuTextNumKills, NULL }, // "Kills:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_283, (u32)&endscreenMenuTextAccuracy, NULL }, // "Accuracy:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_284, (u32)&endscreenMenuTextNumShots, NULL }, // "Shot Total:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_285, (u32)&endscreenMenuTextNumHeadShots, NULL }, // "Head Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_286, (u32)&endscreenMenuTextNumBodyShots, NULL }, // "Body Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_287, (u32)&endscreenMenuTextNumLimbShots, NULL }, // "Limb Shots:"
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_OPTIONS_288, (u32)&endscreenMenuTextNumOtherShots, NULL }, // "Others:"
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_280, // "Mission Time:"
(u32)&endscreenMenuTextMissionTime,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_MPWEAPONS_129, // "Difficulty:"
(u32)&soloMenuTextDifficulty,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_281, // "Weapon of Choice:"
(u32)&mpMenuTextWeaponOfChoiceName,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_282, // "Kills:"
(u32)&endscreenMenuTextNumKills,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_283, // "Accuracy:"
(u32)&endscreenMenuTextAccuracy,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_284, // "Shot Total:"
(u32)&endscreenMenuTextNumShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_285, // "Head Shots:"
(u32)&endscreenMenuTextNumHeadShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_286, // "Body Shots:"
(u32)&endscreenMenuTextNumBodyShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_287, // "Limb Shots:"
(u32)&endscreenMenuTextNumLimbShots,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
0,
L_OPTIONS_288, // "Others:"
(u32)&endscreenMenuTextNumOtherShots,
NULL,
},
#endif
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_OPTIONS_289, 0x00000000, NULL }, // "Press START"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_OPTIONS_289, // "Press START"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
#if VERSION >= VERSION_NTSC_1_0
+782 -117
View File
File diff suppressed because it is too large. Load diff
+580 -87
View File
@@ -117,18 +117,95 @@ s32 fmbHandleMainMenu(s32 operation, struct menudialogdef *dialogdef, union hand
}
struct menuitem g_GameFiles4MbMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00004010, L_OPTIONS_100, 0x00000000, NULL }, // "Copy:"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS_103, 0x00000000, filemgrOpenCopyFileMenuHandler }, // "Single Player Agent File"
{ MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS_104, 0x00000000, filemgrOpenCopyFileMenuHandler }, // "Combat Simulator Settings File"
{ MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS_105, 0x00000000, filemgrOpenCopyFileMenuHandler }, // "Combat Simulator Player File"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00004010, L_OPTIONS_101, 0x00000000, NULL }, // "Delete:"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_OPTIONS_103, 0x00000000, filemgrOpenDeleteFileMenuHandler }, // "Single Player Agent File"
{ MENUITEMTYPE_SELECTABLE, 1, 0x00000000, L_OPTIONS_104, 0x00000000, filemgrOpenDeleteFileMenuHandler }, // "Combat Simulator Settings File"
{ MENUITEMTYPE_SELECTABLE, 2, 0x00000000, L_OPTIONS_105, 0x00000000, filemgrOpenDeleteFileMenuHandler }, // "Combat Simulator Player File"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_OPTIONS_102, 0x00000000, (void *)&g_PakChoosePakMenuDialog }, // "Delete Game Notes..."
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_DARKERBG,
L_OPTIONS_100, // "Copy:"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_OPTIONS_103, // "Single Player Agent File"
0,
filemgrOpenCopyFileMenuHandler,
},
{
MENUITEMTYPE_SELECTABLE,
1,
0,
L_OPTIONS_104, // "Combat Simulator Settings File"
0,
filemgrOpenCopyFileMenuHandler,
},
{
MENUITEMTYPE_SELECTABLE,
2,
0,
L_OPTIONS_105, // "Combat Simulator Player File"
0,
filemgrOpenCopyFileMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_DARKERBG,
L_OPTIONS_101, // "Delete:"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_OPTIONS_103, // "Single Player Agent File"
0,
filemgrOpenDeleteFileMenuHandler,
},
{
MENUITEMTYPE_SELECTABLE,
1,
0,
L_OPTIONS_104, // "Combat Simulator Settings File"
0,
filemgrOpenDeleteFileMenuHandler,
},
{
MENUITEMTYPE_SELECTABLE,
2,
0,
L_OPTIONS_105, // "Combat Simulator Player File"
0,
filemgrOpenDeleteFileMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_OPTIONS_102, // "Delete Game Notes..."
0,
(void *)&g_PakChoosePakMenuDialog,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_GameFiles4MbMenuDialog = {
@@ -141,9 +218,23 @@ struct menudialogdef g_GameFiles4MbMenuDialog = {
};
struct menuitem g_FilemgrFileSelect4MbMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00004010, L_OPTIONS_096, 0x00000000, NULL }, // "Choose Your Reality"
{ MENUITEMTYPE_LIST, 0, 0x00200000, 0x000000f5, 0x00000000, filemgrChooseAgentListMenuHandler },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_DARKERBG,
L_OPTIONS_096, // "Choose Your Reality"
0,
NULL,
},
{
MENUITEMTYPE_LIST,
0,
MENUITEMFLAG_LIST_CUSTOMRENDER,
0x000000f5,
0,
filemgrChooseAgentListMenuHandler,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_FilemgrFileSelect4MbMenuDialog = {
@@ -157,21 +248,91 @@ struct menudialogdef g_FilemgrFileSelect4MbMenuDialog = {
struct menuitem g_AudioVideo4MbMenuItems[] = {
#if VERSION >= VERSION_NTSC_1_0
{ MENUITEMTYPE_SLIDER, 0, 0x00002800, L_OPTIONS_308, L_MPMENU_000, menuhandlerSfxVolume }, // "Sound"
{ MENUITEMTYPE_SLIDER, 0, 0x00002800, L_OPTIONS_309, L_MPMENU_000, menuhandlerMusicVolume }, // "Music"
{
MENUITEMTYPE_SLIDER,
0,
MENUITEMFLAG_SLIDER_FAST | MENUITEMFLAG_SLIDER_HIDEVALUE,
L_OPTIONS_308, // "Sound"
L_MPMENU_000, // ""
menuhandlerSfxVolume,
},
{
MENUITEMTYPE_SLIDER,
0,
MENUITEMFLAG_SLIDER_FAST | MENUITEMFLAG_SLIDER_HIDEVALUE,
L_OPTIONS_309, // "Music"
L_MPMENU_000, // ""
menuhandlerMusicVolume,
},
#else
{ MENUITEMTYPE_SLIDER, 0, 0x00002800, L_OPTIONS_308, 0x7fff, menuhandlerSfxVolume }, // "Sound"
{ MENUITEMTYPE_SLIDER, 0, 0x00002800, L_OPTIONS_309, 0x7fff, menuhandlerMusicVolume }, // "Music"
{
MENUITEMTYPE_SLIDER,
0,
MENUITEMFLAG_SLIDER_FAST | MENUITEMFLAG_SLIDER_HIDEVALUE,
L_OPTIONS_308, // "Sound"
0x7fff,
menuhandlerSfxVolume,
},
{
MENUITEMTYPE_SLIDER,
0,
MENUITEMFLAG_SLIDER_FAST | MENUITEMFLAG_SLIDER_HIDEVALUE,
L_OPTIONS_309, // "Music"
0x7fff,
menuhandlerMusicVolume,
},
#endif
{ MENUITEMTYPE_DROPDOWN, 0, 0x00000000, L_OPTIONS_310, 0x00000000, menuhandlerSoundMode }, // "Sound Mode"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_DROPDOWN, 0, 0x00000000, L_OPTIONS_311, 0x00000000, menuhandlerScreenRatio }, // "Ratio"
{
MENUITEMTYPE_DROPDOWN,
0,
0,
L_OPTIONS_310, // "Sound Mode"
0,
menuhandlerSoundMode,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_DROPDOWN,
0,
0,
L_OPTIONS_311, // "Ratio"
0,
menuhandlerScreenRatio,
},
#if PAL
{ MENUITEMTYPE_DROPDOWN, 0, 0x00000000, L_MPWEAPONS_269, 0x00000000, menuhandlerLanguage }, // "Language"
{
MENUITEMTYPE_DROPDOWN,
0,
0,
L_MPWEAPONS_269, // ""
0,
menuhandlerLanguage,
},
#endif
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_OPTIONS_312, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_OPTIONS_312, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_AudioVideo4MbMenuDialog = {
@@ -184,14 +345,63 @@ struct menudialogdef g_AudioVideo4MbMenuDialog = {
};
struct menuitem g_MpPlayerSetup4MbMenuItems[] = {
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_030, (u32)&mpGetCurrentPlayerName, (void *)&g_MpPlayerNameMenuDialog }, // "Name"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_033, 0x00000000, (void *)&g_MpControlMenuDialog }, // "Control"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_034, 0x00000000, (void *)&g_MpPlayerOptionsMenuDialog }, // "Player Options"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_035, 0x00000000, (void *)&g_MpPlayerStatsMenuDialog }, // "Statistics"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_029, 0x00000000, (void *)&g_MpLoadPlayerMenuDialog }, // "Load Player"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, (u32)&mpMenuTextSavePlayerOrCopy, 0x00000000, menuhandlerMpSavePlayer },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_030, // "Name"
(u32)&mpGetCurrentPlayerName,
(void *)&g_MpPlayerNameMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_033, // "Control"
0,
(void *)&g_MpControlMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_034, // "Player Options"
0,
(void *)&g_MpPlayerOptionsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_035, // "Statistics"
0,
(void *)&g_MpPlayerStatsMenuDialog,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_029, // "Load Player"
0,
(void *)&g_MpLoadPlayerMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
(u32)&mpMenuTextSavePlayerOrCopy,
0,
menuhandlerMpSavePlayer,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpPlayerSetup4MbMenuDialog = {
@@ -206,13 +416,41 @@ struct menudialogdef g_MpPlayerSetup4MbMenuDialog = {
struct menudialogdef g_MpDropOut4MbMenuDialog;
struct menuitem g_MpQuickGo4MbMenuItems[] = {
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MISC_456, 0x00000000, (void *)&g_MpReadyMenuDialog }, // "Start Game"
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MISC_456, // "Start Game"
0,
(void *)&g_MpReadyMenuDialog,
},
#if VERSION >= VERSION_NTSC_1_0
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_029, 0x00000000, (void *)&g_MpLoadPlayerMenuDialog }, // "Load Player"
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_029, // "Load Player"
0,
(void *)&g_MpLoadPlayerMenuDialog,
},
#endif
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MISC_458, 0x00000000, (void *)&g_MpPlayerSetup4MbMenuDialog }, // "Player Settings"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MISC_457, 0x00000000, (void *)&g_MpDropOut4MbMenuDialog }, // "Drop Out"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MISC_458, // "Player Settings"
0,
(void *)&g_MpPlayerSetup4MbMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MISC_457, // "Drop Out"
0,
(void *)&g_MpDropOut4MbMenuDialog,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpQuickGo4MbMenuDialog = {
@@ -225,15 +463,39 @@ struct menudialogdef g_MpQuickGo4MbMenuDialog = {
};
struct menuitem g_MpConfirmChallenge4MbMenuItems[] = {
#if VERSION == VERSION_PAL_FINAL
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 65, NULL },
#else
{ MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 55, NULL },
#endif
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_057, 0x00000000, fmbHandleAcceptChallenge }, // "Accept"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_058, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SCROLLABLE,
DESCRIPTION_MPCONFIG,
0,
0x0000007c,
(VERSION == VERSION_PAL_FINAL ? 65 : 55),
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPMENU_057, // "Accept"
0,
fmbHandleAcceptChallenge,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_058, // "Cancel"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpConfirmChallenge4MbMenuDialog = {
@@ -246,8 +508,15 @@ struct menudialogdef g_MpConfirmChallenge4MbMenuDialog = {
};
struct menuitem g_MpChallenges4MbMenuItems[] = {
{ MENUITEMTYPE_LIST, 1, 0x00200000, 0x00000078, 0x0000004d, mpChallengesListMenuHandler },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LIST,
1,
MENUITEMFLAG_LIST_CUSTOMRENDER,
0x00000078,
0x0000004d,
mpChallengesListMenuHandler,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpChallenges4MbMenuDialog = {
@@ -260,14 +529,63 @@ struct menudialogdef g_MpChallenges4MbMenuDialog = {
};
struct menuitem g_MainMenu4MbMenuItems[] = {
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_MISC_441, 0x00000000, (void *)&g_MpChallenges4MbMenuDialog }, // "Challenges"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_MISC_442, 0x00000001, (void *)&g_MpLoadPresetMenuDialog }, // "Load/Preset Games"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_MISC_443, 0x00000002, (void *)&g_MpQuickTeamMenuDialog }, // "Quick Start"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400000, L_MISC_444, 0x00000003, fmbHandleAdvancedSetup }, // "Advanced Setup"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_OPTIONS_305, 0x00000000, (void *)&g_AudioVideo4MbMenuDialog }, // "Audio/Video"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00400004, L_OPTIONS_306, 0x00000000, (void *)&g_ChangeAgentMenuDialog }, // "Change Agent"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_MISC_441, // "Challenges"
0,
(void *)&g_MpChallenges4MbMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_MISC_442, // "Load/Preset Games"
0x00000001,
(void *)&g_MpLoadPresetMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_MISC_443, // "Quick Start"
0x00000002,
(void *)&g_MpQuickTeamMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_BIGFONT,
L_MISC_444, // "Advanced Setup"
0x00000003,
fmbHandleAdvancedSetup,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_OPTIONS_305, // "Audio/Video"
0,
(void *)&g_AudioVideo4MbMenuDialog,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_OPTIONS_306, // "Change Agent"
0,
(void *)&g_ChangeAgentMenuDialog,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MainMenu4MbMenuDialog = {
@@ -280,10 +598,31 @@ struct menudialogdef g_MainMenu4MbMenuDialog = {
};
struct menuitem g_MpDropOut4MbMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_196, 0x00000000, NULL }, // "Are you sure you want to drop out?"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_197, 0x00000000, fmbHandleDropOut }, // "Drop Out"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_198, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPMENU_196, // "Are you sure you want to drop out?"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPMENU_197, // "Drop Out"
0,
fmbHandleDropOut,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_198, // "Cancel"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpDropOut4MbMenuDialog = {
@@ -296,10 +635,31 @@ struct menudialogdef g_MpDropOut4MbMenuDialog = {
};
struct menuitem g_UnusedAbortMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_053, 0x00000000, NULL }, // "Are you sure you want to abort the game?"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_054, 0x00000000, fmdHandleAbortGame }, // "Abort"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_055, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPMENU_053, // "Are you sure you want to abort the game?"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPMENU_054, // "Abort"
0,
fmdHandleAbortGame,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_055, // "Cancel"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_UnusedAbortMenuDialog = {
@@ -312,12 +672,47 @@ struct menudialogdef g_UnusedAbortMenuDialog = {
};
struct menuitem g_MpEditSimulant4MbMenuItems[] = {
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_095, 0x00000000, mpBotDifficultyMenuHandler }, // "Difficulty:"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_096, 0x00000000, menuhandlerMpChangeSimulantType }, // "Change Type..."
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00020000, L_MPMENU_098, 0x00000000, menuhandlerMpDeleteSimulant }, // "Delete Simulant"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_099, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_095, // "Difficulty:"
0,
mpBotDifficultyMenuHandler,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPMENU_096, // "Change Type..."
0,
menuhandlerMpChangeSimulantType,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_098, // "Delete Simulant"
0,
menuhandlerMpDeleteSimulant,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_099, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpEditSimulant4MbMenuDialog = {
@@ -330,21 +725,119 @@ struct menudialogdef g_MpEditSimulant4MbMenuDialog = {
};
struct menuitem g_AdvancedSetup4MbMenuItems[] = {
{ MENUITEMTYPE_SELECTABLE, 0, 0x00020004, L_MPMENU_019, (u32)&mpMenuTextScenarioShortName, (void *)&g_MpScenarioMenuDialog }, // "Scenario"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU_021, 0x00000000, menuhandlerMpOpenOptions }, // "Options"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_020, (u32)&mpMenuTextArenaName, (void *)&g_MpArenaMenuDialog }, // "Arena"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_044, 0x00000000, menuhandlerMpLock }, // "Lock"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_023, 0x00000000, (void *)&g_MpWeaponsMenuDialog }, // "Weapons"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_024, 0x00000000, (void *)&g_MpLimitsMenuDialog }, // "Limits"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPWEAPONS_184, 0x00000000, (void *)&g_MpHandicapsMenuDialog }, // "Player Handicaps"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_025, 0x00000000, (void *)&g_MpSimulantsMenuDialog }, // "Simulants"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_022, 0x00000000, (void *)&g_MpTeamsMenuDialog }, // "Teams"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000004, L_MPMENU_036, 0x00000000, (void *)&g_MpReadyMenuDialog }, // "Start Game"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00060004, L_MPMENU_018, 0x00000000, (void *)&g_MpLoadSettingsMenuDialog }, // "Load Settings"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00060000, L_MPMENU_026, 0x00000000, menuhandlerMpSaveSettings }, // "Save Settings"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_019, // "Scenario"
(u32)&mpMenuTextScenarioShortName,
(void *)&g_MpScenarioMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPMENU_021, // "Options"
0,
menuhandlerMpOpenOptions,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_020, // "Arena"
(u32)&mpMenuTextArenaName,
(void *)&g_MpArenaMenuDialog,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_044, // "Lock"
0,
menuhandlerMpLock,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_023, // "Weapons"
0,
(void *)&g_MpWeaponsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_024, // "Limits"
0,
(void *)&g_MpLimitsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPWEAPONS_184, // "Player Handicaps"
0,
(void *)&g_MpHandicapsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_025, // "Simulants"
0,
(void *)&g_MpSimulantsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_022, // "Teams"
0,
(void *)&g_MpTeamsMenuDialog,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG,
L_MPMENU_036, // "Start Game"
0,
(void *)&g_MpReadyMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_LOCKABLEMINOR | MENUITEMFLAG_LOCKABLEMAJOR,
L_MPMENU_018, // "Load Settings"
0,
(void *)&g_MpLoadSettingsMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_LOCKABLEMINOR | MENUITEMFLAG_LOCKABLEMAJOR,
L_MPMENU_026, // "Save Settings"
0,
menuhandlerMpSaveSettings,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_AdvancedSetup4MbMenuDialog = {
+1718 -272
View File
File diff suppressed because it is too large. Load diff
+334 -76
View File
@@ -2546,7 +2546,7 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
s32 numobjectives;
// Check if item's handler handles MENUOP_CHECKHIDDEN
if (item->handler && (item->flags & MENUITEMFLAG_00000004) == 0) {
if (item->handler && (item->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0) {
if (item->handler(MENUOP_CHECKHIDDEN, item, &handlerdata)) {
*width = 0;
*height = 0;
@@ -2590,11 +2590,11 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
*width = 80;
#if VERSION >= VERSION_NTSC_1_0
if ((item->flags & MENUITEMFLAG_00000040) != 0) {
if ((item->flags & MENUITEMFLAG_LIST_WIDE) != 0) {
*width = 180;
}
#else
if ((item->flags && MENUITEMFLAG_00000040) != 0) {
if ((item->flags && MENUITEMFLAG_LIST_WIDE) != 0) {
*width = 180;
}
#endif
@@ -2631,7 +2631,7 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
textMeasure(&textheight, &textwidth, text2, g_CharsHandelGothicSm, g_FontHandelGothicSm, 0);
#if VERSION >= VERSION_PAL_FINAL
if ((item->flags & MENUITEMFLAG_00001000) == 0) {
if ((item->flags & MENUITEMFLAG_ADJUSTWIDTH) == 0) {
*width += textwidth + 10;
} else {
*width += textwidth + 3;
@@ -2656,13 +2656,13 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
*width = 150;
*height = VERSION == VERSION_JPN_FINAL ? 14 : 12;
if (item->flags & MENUITEMFLAG_00100000) {
if (item->flags & MENUITEMFLAG_SLIDER_ALTSIZE) {
*height = 22;
*width = 120;
}
break;
case MENUITEMTYPE_CHECKBOX:
if (item->flags & MENUITEMFLAG_00000200) {
if (item->flags & MENUITEMFLAG_SMALLFONT) {
chars = g_CharsHandelGothicXs;
font = g_FontHandelGothicXs;
}
@@ -2696,7 +2696,7 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
#if VERSION == VERSION_JPN_FINAL
*height = LINEHEIGHT;
#else
if (item->flags & MENUITEMFLAG_00000200) {
if (item->flags & MENUITEMFLAG_SMALLFONT) {
*height = LINEHEIGHT;
} else {
*height = LINEHEIGHT + 2;
@@ -2713,12 +2713,12 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
return;
}
if (item->flags & MENUITEMFLAG_00000200) {
if (item->flags & MENUITEMFLAG_SMALLFONT) {
chars = g_CharsHandelGothicXs;
font = g_FontHandelGothicXs;
}
if (item->flags & MENUITEMFLAG_00400000) {
if (item->flags & MENUITEMFLAG_BIGFONT) {
chars = g_CharsHandelGothicMd;
font = g_FontHandelGothicMd;
}
@@ -2730,7 +2730,7 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
textMeasure(&textheight, &textwidth, text, chars, font, 0);
*width = (s16)textwidth + 8;
if ((item->flags & (MENUITEMFLAG_00000010 | MENUITEMFLAG_00001000)) == 0) {
if ((item->flags & (MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_ADJUSTWIDTH)) == 0) {
*width += 20;
}
@@ -2739,12 +2739,12 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
#else
*height = textheight + 3;
if (item->flags & MENUITEMFLAG_00000200) {
if (item->flags & MENUITEMFLAG_SMALLFONT) {
*height -= 2;
}
#endif
if ((item->flags & (MENUITEMFLAG_00008000 | MENUITEMFLAG_00400000)) == 0) {
if ((item->flags & (MENUITEMFLAG_LABEL_HASRIGHTTEXT | MENUITEMFLAG_BIGFONT)) == 0) {
text = menuResolveText(item->param3, item);
// @bug: This is not how you check for an empty string
@@ -2752,19 +2752,19 @@ void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struc
textMeasure(&textheight, &textwidth, text, chars, font, 0);
*width += textwidth + 5;
if (item->flags & MENUITEMFLAG_00001000) {
if (item->flags & MENUITEMFLAG_ADJUSTWIDTH) {
*width -= 6;
}
}
}
}
if (item->flags & MENUITEMFLAG_00400000) {
if (item->flags & MENUITEMFLAG_BIGFONT) {
*height = 28;
*width += 36;
}
if (item->flags & MENUITEMFLAG_02000000) {
if (item->flags & MENUITEMFLAG_LESSHEIGHT) {
*height -= 1;
}
break;
@@ -3097,7 +3097,7 @@ glabel func0f0f1d6c
// bool append = true;
//
// while (item->type != MENUITEMTYPE_END) {
// if (item->flags & MENUITEMFLAG_00000001) {
// if (item->flags & MENUITEMFLAG_NEWCOLUMN) {
// append = true;
// }
//
@@ -3160,7 +3160,7 @@ void dialog0f0f1ef4(struct menudialog *dialog)
switch (item->type) {
case MENUITEMTYPE_LIST:
if (item->flags & MENUITEMFLAG_00200000) {
if (item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
itemheight = remaining;
if (g_Menus[g_MpPlayerNum].rows[rowindex].height - itemheight < 30) {
@@ -3210,7 +3210,7 @@ void dialogCalculateContentSize(struct menudialogdef *dialogdef, struct menudial
s16 height;
while (item->type != MENUITEMTYPE_END) {
if (item->flags & MENUITEMFLAG_00000001) {
if (item->flags & MENUITEMFLAG_NEWCOLUMN) {
newcolumn = true;
}
@@ -3337,11 +3337,11 @@ bool menuIsItemDisabled(struct menuitem *item, struct menudialog *dialog)
s16 height;
u32 stack[2];
if (item->flags & MENUITEMFLAG_00000400) {
if (item->flags & MENUITEMFLAG_ALWAYSDISABLED) {
return true;
}
if (mpIsPlayerLockedOut(g_MpPlayerNum) && item->flags & MENUITEMFLAG_00040000) {
if (mpIsPlayerLockedOut(g_MpPlayerNum) && item->flags & MENUITEMFLAG_LOCKABLEMAJOR) {
return true;
}
@@ -3350,7 +3350,7 @@ bool menuIsItemDisabled(struct menuitem *item, struct menudialog *dialog)
}
if (item->handler
&& (item->flags & MENUITEMFLAG_00000004) == 0
&& (item->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0
&& item->handler(MENUOP_CHECKDISABLED, item, &sp30)) {
return true;
}
@@ -3563,7 +3563,7 @@ s32 dialogChangeItemFocus(struct menudialog *dialog, s32 leftright, s32 updown)
if (dialog->focuseditem != 0) {
if (dialog->focuseditem->handler != NULL) {
if ((dialog->focuseditem->flags & MENUITEMFLAG_00000004) == 0) {
if ((dialog->focuseditem->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0) {
union handlerdata data;
dialog->focuseditem->handler(MENUOP_FOCUS, dialog->focuseditem, &data);
}
@@ -3616,7 +3616,7 @@ void menuOpenDialog(struct menudialogdef *dialogdef, struct menudialog *dialog,
while (item->type != MENUITEMTYPE_END) {
if (item->handler
&& (item->flags & MENUITEMFLAG_00000004) == 0
&& (item->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0
&& item->handler(MENUOP_CHECKPREFOCUSED, item, &data1)) {
dialog->focuseditem = item;
}
@@ -3627,7 +3627,7 @@ void menuOpenDialog(struct menudialogdef *dialogdef, struct menudialog *dialog,
// Run focus handler
if (dialog->focuseditem
&& dialog->focuseditem->handler
&& (dialog->focuseditem->flags & MENUITEMFLAG_00000004) == 0) {
&& (dialog->focuseditem->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0) {
dialog->focuseditem->handler(MENUOP_FOCUS, dialog->focuseditem, &data2);
}
@@ -13106,7 +13106,7 @@ Gfx *dialogRender(Gfx *gdl, struct menudialog *dialog, struct menu *menu, bool l
prevwaslist = false;
}
if ((item->flags & MENUITEMFLAG_00004000) && !lightweight) {
if ((item->flags & MENUITEMFLAG_DARKERBG) && !lightweight) {
// Render a darker background behind the item
s32 x1 = context.x;
s32 y1 = context.y;
@@ -13159,7 +13159,7 @@ Gfx *dialogRender(Gfx *gdl, struct menudialog *dialog, struct menu *menu, bool l
gdl = menugfxDrawTri2(gdl, x3 - 3, liney + 1, x3, liney + 2, sp120, 0xffffffff, 0);
gdl = menugfxDrawTri2(gdl, x3 - 2, liney, x4, liney + 1, colour, sp120 & 0xffffff00, 0);
if (item->flags & MENUITEMFLAG_00000020) {
if (item->flags & MENUITEMFLAG_SELECTABLE_CENTRE) {
// Right side
x1 = context.x + context.width;
x3 = context.x + context.width - 8;
@@ -14683,7 +14683,7 @@ void menuSwipe(s32 direction)
while (item->type != MENUITEMTYPE_END) {
if (item->handler
&& (item->flags & MENUITEMFLAG_00000004) == 0
&& (item->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0
&& item->handler(MENUOP_CHECKPREFOCUSED, item, &sp50)) {
g_Menus[g_MpPlayerNum].curdialog->focuseditem = item;
}
@@ -14693,7 +14693,7 @@ void menuSwipe(s32 direction)
if (g_Menus[g_MpPlayerNum].curdialog->focuseditem != 0
&& g_Menus[g_MpPlayerNum].curdialog->focuseditem->handler
&& ((g_Menus[g_MpPlayerNum].curdialog->focuseditem->flags & MENUITEMFLAG_00000004) == 0)) {
&& ((g_Menus[g_MpPlayerNum].curdialog->focuseditem->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) == 0)) {
g_Menus[g_MpPlayerNum].curdialog->focuseditem->handler(MENUOP_FOCUS, g_Menus[g_MpPlayerNum].curdialog->focuseditem, &sp40);
}
@@ -15104,9 +15104,9 @@ void dialogTick(struct menudialog *dialog, struct menuinputs *inputs, u32 tickfl
union menuitemdata *handlerdata = NULL;
struct menuinputs *inputsptr = inputs;
if (mpIsPlayerLockedOut(g_MpPlayerNum) && (item->flags & MENUITEMFLAG_00020000)) {
if (mpIsPlayerLockedOut(g_MpPlayerNum) && (item->flags & MENUITEMFLAG_LOCKABLEMINOR)) {
inputsptr = &spd8;
} else if ((item->flags & MENUITEMFLAG_00080000) && mpGetWeaponSet() != func0f189088()) {
} else if ((item->flags & MENUITEMFLAG_MPWEAPONSLOT) && mpGetWeaponSet() != func0f189088()) {
inputsptr = &spd8;
} else if (g_MenuData.root == MENUROOT_12) {
inputsptr = &spd8;
@@ -22660,14 +22660,38 @@ void func0f0fce8c(struct menudialogdef *dialogdef, s32 playernum, s32 arg2)
}
struct menuitem g_PakRemovedMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_174, 0x00000000, NULL }, // "The Controller Pak has been removed."
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_174, // "The Controller Pak has been removed."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
#if VERSION >= VERSION_NTSC_1_0
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_MPWEAPONS_073, 0x00000000, menuhandler000fcc34 }, // "OK"
MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_073, // "OK"
0,
menuhandler000fcc34,
#else
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_073, 0x00000000, NULL }, // "OK"
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_073, // "OK"
0,
NULL,
#endif
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakRemovedMenuDialog = {
@@ -22680,14 +22704,38 @@ struct menudialogdef g_PakRemovedMenuDialog = {
};
struct menuitem g_PakRepairSuccessMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_181, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_181, // "The Controller Pak has been repaired."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
#if VERSION >= VERSION_NTSC_1_0
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_MPWEAPONS_073, 0x00000000, menuhandler000fcc34 },
MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_073, // "OK"
0,
menuhandler000fcc34,
#else
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_073, 0x00000000, NULL },
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_073, // "OK"
0,
NULL,
#endif
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakRepairSuccessMenuDialog = {
@@ -22700,10 +22748,31 @@ struct menudialogdef g_PakRepairSuccessMenuDialog = {
};
struct menuitem g_PakRepairFailedMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_183, 0x00000000, NULL }, // "The Controller Pak cannot be repaired. You will not be able to load from or save to this Controller Pak."
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_073, 0x00000000, NULL }, // "OK"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_183, // "The Controller Pak cannot be repaired. You will not be able to load from or save to this Controller Pak."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_073, // "OK"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakRepairFailedMenuDialog = {
@@ -22716,12 +22785,47 @@ struct menudialogdef g_PakRepairFailedMenuDialog = {
};
struct menuitem g_PakAttemptRepairMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_176, 0x00000000, NULL }, // "Are you sure you want to attempt repair of this Controller Pak?"
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_177, 0x00000000, NULL }, // "Data may be lost!"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_178, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_MPWEAPONS_179, 0x00000000, menuhandlerRepairPak }, // "Repair"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_176, // "Are you sure you want to attempt repair of this Controller Pak?"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_177, // "Data may be lost!"
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_178, // "Cancel"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_179, // "Repair"
0,
menuhandlerRepairPak,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakAttemptRepairMenuDialog = {
@@ -22925,14 +23029,63 @@ struct menudialog *menuIsDialogOpen(struct menudialogdef *dialogdef)
}
struct menuitem g_PakDamagedMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&menuTextSaveDeviceName, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS_065, 0x00000000, NULL }, // "is damaged or"
{ MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS_066, 0x00000000, NULL }, // "inserted incorrectly"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS_067, 0x00000000, menuhandlerWarnRepairPak }, // "Attempt Repair"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS_068, 0x00000000, menuhandlerRetrySavePak }, // "Retry"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPWEAPONS_069, 0x00000000, NULL }, // "Continue without using the Controller Pak"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&menuTextSaveDeviceName,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_065, // "is damaged or"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_066, // "inserted incorrectly."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPWEAPONS_067, // "Attempt Repair"
0,
menuhandlerWarnRepairPak,
},
{
MENUITEMTYPE_SELECTABLE,
0,
0,
L_MPWEAPONS_068, // "Retry"
0,
menuhandlerRetrySavePak,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPWEAPONS_069, // "Continue without using the Controller Pak"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakDamagedMenuDialog = {
@@ -22949,15 +23102,57 @@ struct menudialogdef g_PakDamagedMenuDialog = {
};
struct menuitem g_PakFullMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&menuTextSaveDeviceName, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x02000210, L_MPWEAPONS_071, 0x00000000, NULL }, // "is too full to save note - 1 note and 28 pages required to save"
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&menuTextSaveDeviceName,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_071, // "is too full to save note - 1 note and 28 pages required to save."
0,
NULL,
},
#if VERSION != VERSION_JPN_FINAL
{ MENUITEMTYPE_LABEL, 0, 0x02000220, L_OPTIONS_003, 0x00000000, NULL }, // ""
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_LESSHEIGHT,
L_OPTIONS_003, // ""
0,
NULL,
},
#endif
{ MENUITEMTYPE_LABEL, 0, 0x02000210, L_MPWEAPONS_072, 0x00000000, NULL }, // "Enter the Controller Pak Menu to free some space (hold START while powering up.)"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_073, 0x00000000, NULL }, // "OK"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_072, // "Enter the Controller Pak Menu to free some space (hold START while powering up.)"
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_073, // "OK"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakFullMenuDialog = {
@@ -22975,10 +23170,31 @@ struct menudialogdef g_PakFullMenuDialog = {
#if VERSION >= VERSION_NTSC_1_0
struct menuitem g_PakCannotReadGameBoyMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_254, 0x00000000, NULL }, // "Cannot read Game Boy Game Pak. Check connections and make sure correct Game Boy Game Pak is being used."
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPWEAPONS_255, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_254, // "Cannot read Game Boy Game Pak. Check connections and make sure correct Game Boy Game Pak is being used."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPWEAPONS_255, // "Cancel"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakCannotReadGameBoyMenuDialog = {
@@ -22991,13 +23207,55 @@ struct menudialogdef g_PakCannotReadGameBoyMenuDialog = {
};
struct menuitem g_PakDataLostMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000030, (u32)&menuTextSaveDeviceName, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS_257, 0x00000000, NULL }, // "The saved data has"
{ MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS_258, 0x00000000, NULL }, // "been erased due to"
{ MENUITEMTYPE_LABEL, 0, 0x02000030, L_MPWEAPONS_259, 0x00000000, NULL }, // "corruption or damage."
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPWEAPONS_260, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&menuTextSaveDeviceName,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_257, // "The saved data has"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_258, // "been erased due to"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LESSHEIGHT,
L_MPWEAPONS_259, // "corruption or damage."
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPWEAPONS_260, // "Cancel"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PakDataLostMenuDialog = {
+38 -38
View File
@@ -230,7 +230,7 @@ Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context)
union handlerdata spd4;
char *title;
if (context->item->flags & MENUITEMFLAG_00200000) {
if (context->item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
context->item->handler(MENUOP_GETOPTIONHEIGHT, context->item, &spd4);
g_LineHeight = spd4.list.value;
} else {
@@ -239,7 +239,7 @@ Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context)
width = context->dialog->width;
if (context->item->flags & MENUITEMFLAG_00800000) {
if (context->item->flags & MENUITEMFLAG_LIST_AUTOWIDTH) {
width = context->width;
}
@@ -416,7 +416,7 @@ Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context)
// Draw a group header. Note that optionindex is not incremented
// in this branch, but nextgroupstartindex is changed so next time the loop
// iterates it will enter the else branch.
if (context->item->flags & MENUITEMFLAG_00200000) {
if (context->item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
gdl = menuApplyScissor(gdl);
}
@@ -472,7 +472,7 @@ Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context)
#endif
}
if (context->item->flags & MENUITEMFLAG_00200000) {
if (context->item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
// The handler wants to override the default rendering
struct menuitemrenderdata renderdata;
s32 sp94left;
@@ -674,7 +674,7 @@ bool menuitemListTick(struct menuitem *item, struct menuinputs *inputs, u32 tick
return true;
}
if (item->flags & MENUITEMFLAG_00200000) {
if (item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
item->handler(MENUOP_GETOPTIONHEIGHT, item, &handlerdata2);
g_LineHeight = handlerdata2.list.value;
} else {
@@ -805,7 +805,7 @@ void menuitemDropdownInit(struct menuitem *item, union menuitemdata *data)
handler = item->handler;
if (item->flags & MENUITEMFLAG_00200000) {
if (item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
handler(MENUOP_GETOPTIONHEIGHT, item, &handlerdata2);
g_LineHeight = handlerdata2.dropdown.value;
} else {
@@ -894,7 +894,7 @@ Gfx *menuitemDropdownRender(Gfx *gdl, struct menurendercontext *context)
x = context->x + context->width - 60;
}
if (context->item->flags & MENUITEMFLAG_00000080) {
if (context->item->flags & MENUITEMFLAG_DROPDOWN_BELOW) {
x = context->x + 30;
}
@@ -930,7 +930,7 @@ bool menuitemDropdownTick(struct menuitem *item, struct menudialog *dialog, stru
menuitemListTick(item, inputs, tickflags, data);
if (mpIsPlayerLockedOut(g_MpPlayerNum)) {
if ((item->flags & MENUITEMFLAG_00040000) || (dialog->definition->flags & MENUDIALOGFLAG_MPLOCKABLE)) {
if ((item->flags & MENUITEMFLAG_LOCKABLEMAJOR) || (dialog->definition->flags & MENUDIALOGFLAG_MPLOCKABLE)) {
dialog->dimmed = false;
}
}
@@ -988,7 +988,7 @@ Gfx *menuitemDropdownOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menu
}
#endif
if (item->flags & MENUITEMFLAG_00000080) {
if (item->flags & MENUITEMFLAG_DROPDOWN_BELOW) {
context.x = x + 30;
}
@@ -1002,7 +1002,7 @@ Gfx *menuitemDropdownOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct menu
if (dialog->dimmed && item->handler && dialog->focuseditem == item) {
union handlerdata handlerdata;
if (item->flags & MENUITEMFLAG_00200000) {
if (item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
union handlerdata handlerdata2;
item->handler(MENUOP_GETOPTIONHEIGHT, item, &handlerdata2); \
g_LineHeight = handlerdata2.dropdown.value; \
@@ -4395,7 +4395,7 @@ Gfx *menuitemObjectivesRender(Gfx *gdl, struct menurendercontext *context)
Gfx *menuitemModelRender(Gfx *gdl, struct menurendercontext *context)
{
if (context->item->flags & MENUITEMFLAG_00200000) {
if (context->item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
struct menuitemrenderdata renderdata;
union handlerdata data;
@@ -4443,7 +4443,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
x = context->x + 10;
y = context->y + 2;
if (context->item->flags & MENUITEMFLAG_00000010) {
if (context->item->flags & MENUITEMFLAG_LESSLEFTPADDING) {
x -= 6;
}
@@ -4454,14 +4454,14 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
}
#if VERSION != VERSION_JPN_FINAL
if (context->item->flags & MENUITEMFLAG_00000200) {
if (context->item->flags & MENUITEMFLAG_SMALLFONT) {
font1 = g_CharsHandelGothicXs;
font2 = g_FontHandelGothicXs;
y -= 2;
}
#endif
if (context->item->flags & MENUITEMFLAG_00000020) {
if (context->item->flags & MENUITEMFLAG_SELECTABLE_CENTRE) {
// Center
s32 textheight;
s32 textwidth;
@@ -4469,7 +4469,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
x = context->x + (context->width - textwidth) / 2;
}
if (context->item->flags & MENUITEMFLAG_00000100) {
if (context->item->flags & MENUITEMFLAG_LABEL_ALTCOLOUR) {
if (context->dialog->transitionfrac < 0) {
colour1 = g_MenuColourPalettes[context->dialog->type].checkedunfocused;
} else {
@@ -4538,7 +4538,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
colour2 = colour1;
if (context->item->flags & MENUITEMFLAG_01000000) {
if (context->item->flags & MENUITEMFLAG_LABEL_CUSTOMCOLOUR) {
union handlerdata data;
data.label.colour2 = colour2;
data.label.colour1 = colour1;
@@ -4558,7 +4558,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
gdl = textRenderProjected(gdl, &x, &y, text,
font1, font2, colour1, context->width, context->height, 0, 0);
if ((context->item->flags & MENUITEMFLAG_00008000) == 0) {
if ((context->item->flags & MENUITEMFLAG_LABEL_HASRIGHTTEXT) == 0) {
// Right side text
text = menuResolveText(context->item->param3, context->item);
@@ -4570,7 +4570,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
y = context->y + 2;
#if VERSION != VERSION_JPN_FINAL
if (context->item->flags & MENUITEMFLAG_00000200) {
if (context->item->flags & MENUITEMFLAG_SMALLFONT) {
y -= 2;
}
#endif
@@ -4578,7 +4578,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
textMeasure(&textheight, &textwidth, text, font1, font2, 0);
x = context->x + context->width - textwidth - 10;
if (context->item->flags & MENUITEMFLAG_00000010) {
if (context->item->flags & MENUITEMFLAG_LESSLEFTPADDING) {
x += 6;
}
@@ -4599,7 +4599,7 @@ Gfx *menuitemLabelRender(Gfx *gdl, struct menurendercontext *context)
textRestoreDiagonalBlendSettings();
}
if (context->item->flags & MENUITEMFLAG_00200000) {
if (context->item->flags & MENUITEMFLAG_LIST_CUSTOMRENDER) {
struct menuitemrenderdata renderdata;
union handlerdata data;
@@ -4688,11 +4688,11 @@ Gfx *menuitemSelectableRender(Gfx *gdl, struct menurendercontext *context)
struct fontchar *font1 = g_CharsHandelGothicSm;
struct font *font2 = g_FontHandelGothicSm;
if (context->item->flags & MENUITEMFLAG_00000010) {
if (context->item->flags & MENUITEMFLAG_LESSLEFTPADDING) {
x -= 6;
}
if (context->item->flags & MENUITEMFLAG_00400000) {
if (context->item->flags & MENUITEMFLAG_BIGFONT) {
font1 = g_CharsHandelGothicMd;
font2 = g_FontHandelGothicMd;
}
@@ -4762,7 +4762,7 @@ Gfx *menuitemSelectableRender(Gfx *gdl, struct menurendercontext *context)
g_MenuColourPalettes2[context->dialog->type].disabled);
}
if (context->item->flags & MENUITEMFLAG_00000020) {
if (context->item->flags & MENUITEMFLAG_SELECTABLE_CENTRE) {
// Center text
s32 textheight;
s32 textwidth;
@@ -4770,7 +4770,7 @@ Gfx *menuitemSelectableRender(Gfx *gdl, struct menurendercontext *context)
x = context->x + (context->width - textwidth) / 2;
}
if (context->item->flags & MENUITEMFLAG_00400000) {
if (context->item->flags & MENUITEMFLAG_BIGFONT) {
x += 35;
y += 6;
}
@@ -4779,7 +4779,7 @@ Gfx *menuitemSelectableRender(Gfx *gdl, struct menurendercontext *context)
gdl = textRenderProjected(gdl, &x, &y, text, font1, font2,
leftcolour, context->width, context->height, 0, 0);
if ((context->item->flags & (MENUITEMFLAG_00008000 | MENUITEMFLAG_00400000)) == 0) {
if ((context->item->flags & (MENUITEMFLAG_LABEL_HASRIGHTTEXT | MENUITEMFLAG_BIGFONT)) == 0) {
// Right side text
text = menuResolveText(context->item->param3, context->item);
@@ -4805,11 +4805,11 @@ bool menuitemSelectableTick(struct menuitem *item, struct menuinputs *inputs, u3
if ((tickflags & MENUTICKFLAG_ITEMISFOCUSED) && inputs->select) {
menuPlaySound(MENUSOUND_SELECT);
if (item->flags & MENUITEMFLAG_00000008) {
if (item->flags & MENUITEMFLAG_SELECTABLE_CLOSESDIALOG) {
menuPopDialog();
}
if (item->flags & MENUITEMFLAG_00000004) {
if (item->flags & MENUITEMFLAG_SELECTABLE_OPENSDIALOG) {
menuPushDialog((struct menudialogdef *)item->handler);
} else if (item->handler) {
union handlerdata data;
@@ -4847,14 +4847,14 @@ Gfx *menuitemSliderRender(Gfx *gdl, struct menurendercontext *context)
extray = 10;
}
if (context->item->flags & MENUITEMFLAG_00100000) {
if (context->item->flags & MENUITEMFLAG_SLIDER_ALTSIZE) {
extray = 10;
}
x = context->x + 10;
y = context->y + 2;
if (context->item->flags & MENUITEMFLAG_00000010) {
if (context->item->flags & MENUITEMFLAG_LESSLEFTPADDING) {
x -= 6;
}
@@ -4916,7 +4916,7 @@ Gfx *menuitemSliderRender(Gfx *gdl, struct menurendercontext *context)
gdl = text0f153628(gdl);
gdl = textRenderProjected(gdl, &x, &y, label, g_CharsHandelGothicSm, g_FontHandelGothicSm, colour, context->width, context->height, 0, 0);
if ((context->item->flags & MENUITEMFLAG_00002000) == 0) {
if ((context->item->flags & MENUITEMFLAG_SLIDER_HIDEVALUE) == 0) {
strcpy(buffer, "");
sprintf(buffer, "%d\n", slidervalue);
@@ -4967,7 +4967,7 @@ bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct
index = 0;
}
if ((item->flags & MENUITEMFLAG_00000800) == 0
if ((item->flags & MENUITEMFLAG_SLIDER_FAST) == 0
&& g_Menus[g_MpPlayerNum].xrepeatmode == MENUREPEATMODE_SLOW) {
index = index + inputs->leftright;
} else {
@@ -4995,7 +4995,7 @@ bool menuitemSliderTick(struct menuitem *item, struct menudialog *dialog, struct
f2 = f14;
}
if ((item->flags & MENUITEMFLAG_00000800) == 0 && f2 < 40) {
if ((item->flags & MENUITEMFLAG_SLIDER_FAST) == 0 && f2 < 40) {
if (g_Menus[g_MpPlayerNum].xrepeatmode != MENUREPEATMODE_SLOW) {
index = index + inputs->leftright;
}
@@ -5120,9 +5120,9 @@ bool menuitemCarouselTick(struct menuitem *item, struct menuinputs *inputs, u32
bool done;
u32 stack;
if (((tickflags & MENUTICKFLAG_ITEMISFOCUSED) || (item->flags & MENUITEMFLAG_04000000)) && item->handler) {
if (((tickflags & MENUTICKFLAG_ITEMISFOCUSED) || (item->flags & MENUITEMFLAG_CAROUSEL_04000000)) && item->handler) {
if (inputs->leftright != 0) {
if (mpIsPlayerLockedOut(g_MpPlayerNum) == 0 || (item->flags & MENUITEMFLAG_00020000) == 0) {
if (mpIsPlayerLockedOut(g_MpPlayerNum) == 0 || (item->flags & MENUITEMFLAG_LOCKABLEMINOR) == 0) {
done = false;
item->handler(MENUOP_GETOPTIONCOUNT, item, &data);
@@ -5180,7 +5180,7 @@ Gfx *menuitemCheckboxRender(Gfx *gdl, struct menurendercontext *context)
struct font *font2 = g_FontHandelGothicSm;
struct fontchar *font1 = g_CharsHandelGothicSm;
if (context->item->flags & MENUITEMFLAG_00000200) {
if (context->item->flags & MENUITEMFLAG_SMALLFONT) {
font2 = g_FontHandelGothicXs;
font1 = g_CharsHandelGothicXs;
}
@@ -6551,7 +6551,7 @@ u32 var800711ec = 0x20000000;
// struct font *font2 = g_FontHandelGothicSm; // 5c
// struct fontchar *font1 = g_CharsHandelGothicSm; // 58
//
// if (context->item->flags & MENUITEMFLAG_00000200) {
// if (context->item->flags & MENUITEMFLAG_SMALLFONT) {
// font2 = g_FontHandelGothicXs;
// font1 = g_CharsHandelGothicXs;
// }
@@ -6649,7 +6649,7 @@ u32 var800711ec = 0x20000000;
//
// textBackupAndResetBlends();
//
// if (context->item->flags & MENUITEMFLAG_00000800) {
// if (context->item->flags & MENUITEMFLAG_MARQUEE_FADEBOTHSIDES) {
// textSetHorizontalBlend(context->x, context->x + context->width, 0xe);
// } else {
// textSetHorizontalBlend(context->x, context->x, 0xe);
@@ -6689,7 +6689,7 @@ bool menuitemMarqueeTick(struct menuitem *item, union menuitemdata *data)
font2 = g_FontHandelGothicSm;
font1 = g_CharsHandelGothicSm;
if (item->flags & MENUITEMFLAG_00000200) {
if (item->flags & MENUITEMFLAG_SMALLFONT) {
font2 = g_FontHandelGothicXs;
font1 = g_CharsHandelGothicXs;
}
+314 -58
View File
@@ -200,11 +200,39 @@ char *menutextMatchTime(s32 arg0)
}
struct menuitem g_MpEndGameMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x02000020, L_MPMENU_291, 0x00000000, NULL }, // "Are you sure?"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPMENU_292, 0x00000000, NULL }, // "Cancel"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, L_MPMENU_293, 0x00000000, menuhandlerMpEndGame }, // "End Game"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LESSHEIGHT,
L_MPMENU_291, // "Are you sure?"
0,
NULL,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_292, // "Cancel"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_293, // "End Game"
0,
menuhandlerMpEndGame,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpEndGameMenuDialog = {
@@ -217,25 +245,97 @@ struct menudialogdef g_MpEndGameMenuDialog = {
};
struct menuitem g_MpPauseControlMenuItems[] = {
#if VERSION == VERSION_JPN_FINAL
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextChallengeName, 0x00000000, menuhandler00178018 },
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_162, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Time Limit:"
{ MENUITEMTYPE_LABEL, 1, 0x00000010, L_MPWEAPONS_163, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Score Limit:"
{ MENUITEMTYPE_LABEL, 2, 0x00000010, L_MPWEAPONS_164, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Team Score Limit:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPMENU_286, (u32)&menutextMatchTime, NULL }, // "Game Time:"
#else
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextChallengeName, 0x00000000, menuhandler00178018 },
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextScenarioName, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000200, L_MPWEAPONS_162, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Time Limit:"
{ MENUITEMTYPE_LABEL, 1, 0x00000200, L_MPWEAPONS_163, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Score Limit:"
{ MENUITEMTYPE_LABEL, 2, 0x00000200, L_MPWEAPONS_164, (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Team Score Limit:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000000, L_MPMENU_286, (u32)&menutextMatchTime, NULL }, // "Game Time:"
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&mpMenuTextChallengeName,
0,
menuhandler00178018,
},
#if VERSION != VERSION_JPN_FINAL
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&mpMenuTextScenarioName,
0,
NULL,
},
#endif
{ MENUITEMTYPE_SELECTABLE, 1, 0x00000020, (u32)&menutextPauseOrUnpause, 0x00000000, menuhandlerMpPause },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000024, L_MPMENU_287, 0x00000000, (void *)&g_MpEndGameMenuDialog }, // "End Game"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
#if VERSION == VERSION_JPN_FINAL
MENUITEMFLAG_LESSLEFTPADDING,
#else
MENUITEMFLAG_SMALLFONT,
#endif
L_MPWEAPONS_162, // "Time Limit:"
(u32)&mpMenuTextInGameLimit,
menuhandlerMpInGameLimitLabel,
},
{
MENUITEMTYPE_LABEL,
1,
#if VERSION == VERSION_JPN_FINAL
MENUITEMFLAG_LESSLEFTPADDING,
#else
MENUITEMFLAG_SMALLFONT,
#endif
L_MPWEAPONS_163, // "Score Limit:"
(u32)&mpMenuTextInGameLimit,
menuhandlerMpInGameLimitLabel,
},
{
MENUITEMTYPE_LABEL,
2,
#if VERSION == VERSION_JPN_FINAL
MENUITEMFLAG_LESSLEFTPADDING,
#else
MENUITEMFLAG_SMALLFONT,
#endif
L_MPWEAPONS_164, // "Team Score Limit:"
(u32)&mpMenuTextInGameLimit,
menuhandlerMpInGameLimitLabel,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0x00000082,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
#if VERSION == VERSION_JPN_FINAL
MENUITEMFLAG_LESSLEFTPADDING,
#else
0,
#endif
L_MPMENU_286, // "Game Time:"
(u32)&menutextMatchTime,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
1,
MENUITEMFLAG_SELECTABLE_CENTRE,
(u32)&menutextPauseOrUnpause,
0,
menuhandlerMpPause,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPMENU_287, // "End Game"
0,
(void *)&g_MpEndGameMenuDialog,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpPauseControlMenuDialog = {
@@ -367,9 +467,23 @@ char *mpMenuTextAward2(struct menuitem *item)
}
struct menuitem g_Mp2PMissionInventoryMenuItems[] = {
{ MENUITEMTYPE_LIST, 0, 0x00000000, 0x00000078, 0x00000042, menuhandlerInventoryList },
{ MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32)&mpMenuTextWeaponDescription, 0x00000000, NULL },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LIST,
0,
0,
0x00000078,
0x00000042,
menuhandlerInventoryList,
},
{
MENUITEMTYPE_MARQUEE,
0,
MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_MARQUEE_FADEBOTHSIDES,
(u32)&mpMenuTextWeaponDescription,
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpPauseInventoryMenuDialog = {
@@ -400,8 +514,15 @@ struct menudialogdef g_2PMissionInventoryVMenuDialog = {
};
struct menuitem g_MpInGamePlayerStatsMenuItems[] = {
{ MENUITEMTYPE_PLAYERSTATS, 0, 0x00000000, 0x00000000, 0x00000000, mpStatsForPlayerDropdownHandler },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_PLAYERSTATS,
0,
0,
0,
0,
mpStatsForPlayerDropdownHandler,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpPausePlayerStatsMenuDialog = {
@@ -423,8 +544,15 @@ struct menudialogdef g_MpEndscreenPlayerStatsMenuDialog = {
};
struct menuitem g_MpPlayerRankingMenuItems[] = {
{ MENUITEMTYPE_RANKING, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_RANKING,
0,
0,
0,
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpPausePlayerRankingMenuDialog = {
@@ -446,8 +574,15 @@ struct menudialogdef g_MpEndscreenPlayerRankingMenuDialog = {
};
struct menuitem g_MpTeamRankingsMenuItems[] = {
{ MENUITEMTYPE_RANKING, 0, 0x00000000, 0x00000001, 0x00000000, NULL },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_RANKING,
0,
0,
0x00000001,
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpPauseTeamRankingsMenuDialog = {
@@ -705,28 +840,114 @@ void mpPushEndscreenDialog(u32 arg0, u32 playernum)
}
struct menuitem g_MpGameOverMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x01000010, (u32)&mpGetCurrentPlayerName, (u32)&mpMenuTextPlacementWithSuffix, mpPlacementMenuHandler },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
(u32)&mpGetCurrentPlayerName,
(u32)&mpMenuTextPlacementWithSuffix,
mpPlacementMenuHandler,
},
{
MENUITEMTYPE_LABEL,
0,
#if VERSION >= VERSION_JPN_FINAL
{ MENUITEMTYPE_LABEL, 0, 0x01000020, (u32)&mpMenuTextPlayerTitle, 0, mpPlayerTitleMenuHandler }, // "Title:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_MPMENU_262, 0x00000000, NULL }, // "Weapon of Choice:"
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextWeaponOfChoiceName, 0x00000000, NULL },
{ MENUITEMTYPE_MODEL, 0, 0x00000002, 0x00000001, 0x00000003, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_MODEL, 0, 0x00200002, 0x00000001, 0x00000002, mpAwardsMenuHandler },
{ MENUITEMTYPE_LABEL, 0, 0x00000100, (u32)&mpMenuTextAward1, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000100, (u32)&mpMenuTextAward2, 0x00000000, NULL },
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
(u32)&mpMenuTextPlayerTitle,
0,
#else
{ MENUITEMTYPE_LABEL, 0, 0x01000000, L_MPMENU_261, (u32)&mpMenuTextPlayerTitle, mpPlayerTitleMenuHandler }, // "Title:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000210, L_MPMENU_262, 0x00000000, NULL }, // "Weapon of Choice:"
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextWeaponOfChoiceName, 0x00000000, NULL },
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00200210, L_MPMENU_263, 0x00000000, mpAwardsMenuHandler }, // "Awards:"
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextAward1, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000120, (u32)&mpMenuTextAward2, 0x00000000, NULL },
MENUITEMFLAG_LABEL_CUSTOMCOLOUR,
L_MPMENU_261, // "Title:"
(u32)&mpMenuTextPlayerTitle,
#endif
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
mpPlayerTitleMenuHandler,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT,
L_MPMENU_262, // "Weapon of Choice:"
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LABEL_ALTCOLOUR,
(u32)&mpMenuTextWeaponOfChoiceName,
0,
NULL,
},
#if VERSION >= VERSION_JPN_FINAL
{
MENUITEMTYPE_MODEL,
0,
MENUITEMFLAG_00000002,
0x00000001,
0x00000003,
NULL,
},
#endif
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
#if VERSION >= VERSION_JPN_FINAL
{
MENUITEMTYPE_MODEL,
0,
MENUITEMFLAG_00000002 | MENUITEMFLAG_LIST_CUSTOMRENDER,
0x00000001,
0x00000002,
mpAwardsMenuHandler,
},
#else
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING | MENUITEMFLAG_SMALLFONT | MENUITEMFLAG_LIST_CUSTOMRENDER,
L_MPMENU_263, // "Awards:"
0,
mpAwardsMenuHandler,
},
#endif
{
MENUITEMTYPE_LABEL,
0,
#if VERSION >= VERSION_JPN_FINAL
MENUITEMFLAG_LABEL_ALTCOLOUR,
#else
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LABEL_ALTCOLOUR,
#endif
(u32)&mpMenuTextAward1,
0,
NULL,
},
{
MENUITEMTYPE_LABEL,
0,
#if VERSION >= VERSION_JPN_FINAL
MENUITEMFLAG_LABEL_ALTCOLOUR,
#else
MENUITEMFLAG_SELECTABLE_CENTRE | MENUITEMFLAG_LABEL_ALTCOLOUR,
#endif
(u32)&mpMenuTextAward2,
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpEndscreenIndGameOverMenuDialog = {
@@ -776,9 +997,23 @@ struct menudialogdef g_MpEndscreenChallengeFailedMenuDialog = {
#if VERSION >= VERSION_NTSC_1_0
struct menuitem g_MpEndscreenConfirmNameMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_250, 0x00000000, NULL }, // "Confirm player name:"
{ MENUITEMTYPE_KEYBOARD, 0, 0x00000000, 0x00000000, 0x00000000, mpConfirmPlayerNameHandler },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_250, // "Confirm player name:"
0,
NULL,
},
{
MENUITEMTYPE_KEYBOARD,
0,
0,
0,
0,
mpConfirmPlayerNameHandler,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpEndscreenConfirmNameMenuDialog = {
@@ -791,10 +1026,31 @@ struct menudialogdef g_MpEndscreenConfirmNameMenuDialog = {
};
struct menuitem g_MpEndscreenSavePlayerMenuItems[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000010, L_MPWEAPONS_247, 0x00000000, NULL }, // "Save new player and statistics?"
{ MENUITEMTYPE_SELECTABLE, 0, 0x0000002c, L_MPWEAPONS_248, 0x00000000, (void *)&g_MpEndscreenConfirmNameMenuDialog }, // "Save Now"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_MPWEAPONS_249, 0x00000000, NULL }, // "No Thanks!"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LABEL,
0,
MENUITEMFLAG_LESSLEFTPADDING,
L_MPWEAPONS_247, // "Save new player and statistics?"
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_248, // "Save Now"
0,
(void *)&g_MpEndscreenConfirmNameMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG | MENUITEMFLAG_SELECTABLE_CENTRE,
L_MPWEAPONS_249, // "No Thanks!"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpEndscreenSavePlayerMenuDialog = {
+18 -4
View File
@@ -938,8 +938,15 @@ void scenarioHighlightRoom(s16 room, s32 *arg1, s32 *arg2, s32 *arg3)
}
struct menuitem g_MpScenarioMenuItems[] = {
{ MENUITEMTYPE_LIST, 0, 0x00020040, 0x00000078, 0x0000004d, scenarioScenarioMenuHandler },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LIST,
0,
MENUITEMFLAG_LIST_WIDE | MENUITEMFLAG_LOCKABLEMINOR,
0x00000078,
0x0000004d,
scenarioScenarioMenuHandler,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpScenarioMenuDialog = {
@@ -952,8 +959,15 @@ struct menudialogdef g_MpScenarioMenuDialog = {
};
struct menuitem g_MpQuickTeamScenarioMenuItems[] = {
{ MENUITEMTYPE_LIST, 1, 0x00020040, 0x00000078, 0x0000004d, scenarioScenarioMenuHandler },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_LIST,
1,
MENUITEMFLAG_LIST_WIDE | MENUITEMFLAG_LOCKABLEMINOR,
0x00000078,
0x0000004d,
scenarioScenarioMenuHandler,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpQuickTeamScenarioMenuDialog = {
+89 -12
View File
@@ -12,18 +12,95 @@
*/
struct menuitem g_CtcOptionsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_222, MPOPTION_ONEHITKILLS, menuhandlerMpOneHitKills }, // "One-Hit Kills"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_223, 0x00000000, menuhandlerMpSlowMotion }, // "Slow Motion"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_224, MPOPTION_FASTMOVEMENT, menuhandlerMpCheckboxOption }, // "Fast Movement"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_225, MPOPTION_DISPLAYTEAM, menuhandlerMpDisplayTeam }, // "Display Team"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_226, MPOPTION_NORADAR, menuhandlerMpCheckboxOption }, // "No Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_227, MPOPTION_NOAUTOAIM, menuhandlerMpCheckboxOption }, // "No Auto-Aim"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_OPTIONS_493, MPOPTION_KILLSSCORE, menuhandlerMpCheckboxOption }, // "Kills Score"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_236, MPOPTION_CTC_SHOWONRADAR, menuhandlerMpCheckboxOption }, // "Show on Radar"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_239, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_222, // "One-Hit Kills"
MPOPTION_ONEHITKILLS,
menuhandlerMpOneHitKills,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_223, // "Slow Motion"
0,
menuhandlerMpSlowMotion,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_224, // "Fast Movement"
MPOPTION_FASTMOVEMENT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_225, // "Display Team"
MPOPTION_DISPLAYTEAM,
menuhandlerMpDisplayTeam,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_226, // "No Radar"
MPOPTION_NORADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_227, // "No Auto-Aim"
MPOPTION_NOAUTOAIM,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_OPTIONS_493, // "Kills Score"
MPOPTION_KILLSSCORE,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_236, // "Show on Radar"
MPOPTION_CTC_SHOWONRADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_239, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_CtcOptionsMenuDialog = {
+89 -12
View File
@@ -7,18 +7,95 @@
*/
struct menuitem g_MpCombatOptionsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_222, MPOPTION_ONEHITKILLS, menuhandlerMpOneHitKills }, // "One-Hit Kills"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_223, 0x00000000, menuhandlerMpSlowMotion }, // "Slow Motion"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_224, MPOPTION_FASTMOVEMENT, menuhandlerMpCheckboxOption }, // "Fast Movement"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_225, MPOPTION_DISPLAYTEAM, menuhandlerMpDisplayTeam }, // "Display Team"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_226, MPOPTION_NORADAR, menuhandlerMpCheckboxOption }, // "No Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_227, MPOPTION_NOAUTOAIM, menuhandlerMpCheckboxOption }, // "No Auto-Aim"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_228, MPOPTION_NOPLAYERHIGHLIGHT, menuhandlerMpCheckboxOption }, // "No Player Highlight"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_229, MPOPTION_NOPICKUPHIGHLIGHT, menuhandlerMpCheckboxOption }, // "No Pickup Highlight"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_239, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_222, // "One-Hit Kills"
MPOPTION_ONEHITKILLS,
menuhandlerMpOneHitKills,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_223, // "Slow Motion"
0,
menuhandlerMpSlowMotion,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_224, // "Fast Movement"
MPOPTION_FASTMOVEMENT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_225, // "Display Team"
MPOPTION_DISPLAYTEAM,
menuhandlerMpDisplayTeam,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_226, // "No Radar"
MPOPTION_NORADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_227, // "No Auto-Aim"
MPOPTION_NOAUTOAIM,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_228, // "No Player Highlight"
MPOPTION_NOPLAYERHIGHLIGHT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_229, // "No Pickup Highlight"
MPOPTION_NOPICKUPHIGHLIGHT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_239, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_MpCombatOptionsMenuDialog = {
+97 -13
View File
@@ -10,19 +10,103 @@
#define HTM_NUM_TERMINALS 1
struct menuitem g_HtmOptionsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_222, MPOPTION_ONEHITKILLS, menuhandlerMpOneHitKills }, // "One-Hit Kills"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_223, 0x00000000, menuhandlerMpSlowMotion }, // "Slow Motion"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_224, MPOPTION_FASTMOVEMENT, menuhandlerMpCheckboxOption }, // "Fast Movement"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_225, MPOPTION_DISPLAYTEAM, menuhandlerMpDisplayTeam }, // "Display Team"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_226, MPOPTION_NORADAR, menuhandlerMpCheckboxOption }, // "No Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_227, MPOPTION_NOAUTOAIM, menuhandlerMpCheckboxOption }, // "No Auto-Aim"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_OPTIONS_493, MPOPTION_KILLSSCORE, menuhandlerMpCheckboxOption }, // "Kills Score"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_231, MPOPTION_HTM_HIGHLIGHTTERMINAL, menuhandlerMpCheckboxOption }, // "Highlight Terminal"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_238, MPOPTION_HTM_SHOWONRADAR, menuhandlerMpCheckboxOption }, // "Show on Radar"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_239, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_222, // "One-Hit Kills"
MPOPTION_ONEHITKILLS,
menuhandlerMpOneHitKills,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_223, // "Slow Motion"
0,
menuhandlerMpSlowMotion,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_224, // "Fast Movement"
MPOPTION_FASTMOVEMENT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_225, // "Display Team"
MPOPTION_DISPLAYTEAM,
menuhandlerMpDisplayTeam,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_226, // "No Radar"
MPOPTION_NORADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_227, // "No Auto-Aim"
MPOPTION_NOAUTOAIM,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_OPTIONS_493, // "Kills Score"
MPOPTION_KILLSSCORE,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_231, // "Highlight Terminal"
MPOPTION_HTM_HIGHLIGHTTERMINAL,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_238, // "Show on Radar"
MPOPTION_HTM_SHOWONRADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_239, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_HtmOptionsMenuDialog = {
+97 -13
View File
@@ -10,19 +10,103 @@
*/
struct menuitem g_HtbOptionsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_222, MPOPTION_ONEHITKILLS, menuhandlerMpOneHitKills }, // "One-Hit Kills"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_223, 0x00000000, menuhandlerMpSlowMotion }, // "Slow Motion"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_224, MPOPTION_FASTMOVEMENT, menuhandlerMpCheckboxOption }, // "Fast Movement"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_225, MPOPTION_DISPLAYTEAM, menuhandlerMpDisplayTeam }, // "Display Team"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_226, MPOPTION_NORADAR, menuhandlerMpCheckboxOption }, // "No Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_227, MPOPTION_NOAUTOAIM, menuhandlerMpCheckboxOption }, // "No Auto-Aim"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_OPTIONS_493, MPOPTION_KILLSSCORE, menuhandlerMpCheckboxOption }, // "Kills Score"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_237, MPOPTION_HTB_HIGHLIGHTBRIEFCASE, menuhandlerMpCheckboxOption }, // "Highlight Briefcase"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_238, MPOPTION_HTB_SHOWONRADAR, menuhandlerMpCheckboxOption }, // "Show on Radar"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_239, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_222, // "One-Hit Kills"
MPOPTION_ONEHITKILLS,
menuhandlerMpOneHitKills,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_223, // "Slow Motion"
0,
menuhandlerMpSlowMotion,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_224, // "Fast Movement"
MPOPTION_FASTMOVEMENT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_225, // "Display Team"
MPOPTION_DISPLAYTEAM,
menuhandlerMpDisplayTeam,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_226, // "No Radar"
MPOPTION_NORADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_227, // "No Auto-Aim"
MPOPTION_NOAUTOAIM,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_OPTIONS_493, // "Kills Score"
MPOPTION_KILLSSCORE,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_237, // "Highlight Briefcase"
MPOPTION_HTB_HIGHLIGHTBRIEFCASE,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_238, // "Show on Radar"
MPOPTION_HTB_SHOWONRADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_239, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_HtbOptionsMenuDialog = {
+105 -14
View File
@@ -31,20 +31,111 @@ s32 menuhandlerMpHillTime(s32 operation, struct menuitem *item, union handlerdat
}
struct menuitem g_KohOptionsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_222, MPOPTION_ONEHITKILLS, menuhandlerMpOneHitKills }, // "One-Hit Kills"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_223, 0x00000000, menuhandlerMpSlowMotion }, // "Slow Motion"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_224, MPOPTION_FASTMOVEMENT, menuhandlerMpCheckboxOption }, // "Fast Movement"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_225, MPOPTION_DISPLAYTEAM, menuhandlerMpDisplayTeam }, // "Display Team"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_226, MPOPTION_NORADAR, menuhandlerMpCheckboxOption }, // "No Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_227, MPOPTION_NOAUTOAIM, menuhandlerMpCheckboxOption }, // "No Auto-Aim"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_OPTIONS_493, MPOPTION_KILLSSCORE, menuhandlerMpCheckboxOption }, // "Kills Score"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_233, MPOPTION_KOH_HILLONRADAR, menuhandlerMpCheckboxOption }, // "Hill on Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_234, MPOPTION_KOH_MOBILEHILL, menuhandlerMpCheckboxOption }, // "Mobile Hill"
{ MENUITEMTYPE_SLIDER, 0, 0x00020000, L_MPMENU_235, 0x0000006e, menuhandlerMpHillTime }, // "Time"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_239, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_222, // "One-Hit Kills"
MPOPTION_ONEHITKILLS,
menuhandlerMpOneHitKills,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_223, // "Slow Motion"
0,
menuhandlerMpSlowMotion,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_224, // "Fast Movement"
MPOPTION_FASTMOVEMENT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_225, // "Display Team"
MPOPTION_DISPLAYTEAM,
menuhandlerMpDisplayTeam,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_226, // "No Radar"
MPOPTION_NORADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_227, // "No Auto-Aim"
MPOPTION_NOAUTOAIM,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_OPTIONS_493, // "Kills Score"
MPOPTION_KILLSSCORE,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_233, // "Hill on Radar"
MPOPTION_KOH_HILLONRADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_234, // "Mobile Hill"
MPOPTION_KOH_MOBILEHILL,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SLIDER,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_235, // "Time"
0x0000006e,
menuhandlerMpHillTime,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_239, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_KohOptionsMenuDialog = {
+97 -13
View File
@@ -8,19 +8,103 @@
*/
struct menuitem g_PacOptionsMenuItems[] = {
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_222, MPOPTION_ONEHITKILLS, menuhandlerMpOneHitKills }, // "One-Hit Kills"
{ MENUITEMTYPE_DROPDOWN, 0, 0x00020000, L_MPMENU_223, 0x00000000, menuhandlerMpSlowMotion }, // "Slow Motion"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_224, MPOPTION_FASTMOVEMENT, menuhandlerMpCheckboxOption }, // "Fast Movement"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_225, MPOPTION_DISPLAYTEAM, menuhandlerMpDisplayTeam }, // "Display Team"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_226, MPOPTION_NORADAR, menuhandlerMpCheckboxOption }, // "No Radar"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_227, MPOPTION_NOAUTOAIM, menuhandlerMpCheckboxOption }, // "No Auto-Aim"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_OPTIONS_493, MPOPTION_KILLSSCORE, menuhandlerMpCheckboxOption }, // "Kills Score"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_230, MPOPTION_PAC_HIGHLIGHTTARGET, menuhandlerMpCheckboxOption }, // "Highlight Target"
{ MENUITEMTYPE_CHECKBOX, 0, 0x00020000, L_MPMENU_238, MPOPTION_PAC_SHOWONRADAR, menuhandlerMpCheckboxOption }, // "Show on Radar"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU_239, 0x00000000, NULL }, // "Back"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_222, // "One-Hit Kills"
MPOPTION_ONEHITKILLS,
menuhandlerMpOneHitKills,
},
{
MENUITEMTYPE_DROPDOWN,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_223, // "Slow Motion"
0,
menuhandlerMpSlowMotion,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_224, // "Fast Movement"
MPOPTION_FASTMOVEMENT,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_225, // "Display Team"
MPOPTION_DISPLAYTEAM,
menuhandlerMpDisplayTeam,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_226, // "No Radar"
MPOPTION_NORADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_227, // "No Auto-Aim"
MPOPTION_NOAUTOAIM,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_OPTIONS_493, // "Kills Score"
MPOPTION_KILLSSCORE,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_230, // "Highlight Target"
MPOPTION_PAC_HIGHLIGHTTARGET,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_CHECKBOX,
0,
MENUITEMFLAG_LOCKABLEMINOR,
L_MPMENU_238, // "Show on Radar"
MPOPTION_PAC_SHOWONRADAR,
menuhandlerMpCheckboxOption,
},
{
MENUITEMTYPE_SEPARATOR,
0,
0,
0,
0,
NULL,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_CLOSESDIALOG,
L_MPMENU_239, // "Back"
0,
NULL,
},
{ MENUITEMTYPE_END },
};
struct menudialogdef g_PacOptionsMenuDialog = {
+2214 -316
View File
File diff suppressed because it is too large. Load diff
+897 -134
View File
File diff suppressed because it is too large. Load diff
+28 -26
View File
@@ -1539,32 +1539,34 @@
#define MENUDIALOGTYPE_4 4
#define MENUDIALOGTYPE_WHITE 5
#define MENUITEMFLAG_00000001 0x00000001
#define MENUITEMFLAG_00000004 0x00000004
#define MENUITEMFLAG_00000008 0x00000008
#define MENUITEMFLAG_00000010 0x00000010
#define MENUITEMFLAG_00000020 0x00000020
#define MENUITEMFLAG_00000040 0x00000040
#define MENUITEMFLAG_00000080 0x00000080
#define MENUITEMFLAG_00000100 0x00000100
#define MENUITEMFLAG_00000200 0x00000200
#define MENUITEMFLAG_00000400 0x00000400
#define MENUITEMFLAG_00000800 0x00000800
#define MENUITEMFLAG_00001000 0x00001000
#define MENUITEMFLAG_00002000 0x00002000
#define MENUITEMFLAG_00004000 0x00004000
#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
#define MENUITEMFLAG_NEWCOLUMN 0x00000001
#define MENUITEMFLAG_00000002 0x00000002
#define MENUITEMFLAG_SELECTABLE_OPENSDIALOG 0x00000004
#define MENUITEMFLAG_SELECTABLE_CLOSESDIALOG 0x00000008
#define MENUITEMFLAG_LESSLEFTPADDING 0x00000010
#define MENUITEMFLAG_SELECTABLE_CENTRE 0x00000020
#define MENUITEMFLAG_LIST_WIDE 0x00000040
#define MENUITEMFLAG_DROPDOWN_BELOW 0x00000080
#define MENUITEMFLAG_LABEL_ALTCOLOUR 0x00000100
#define MENUITEMFLAG_SMALLFONT 0x00000200
#define MENUITEMFLAG_ALWAYSDISABLED 0x00000400
#define MENUITEMFLAG_MARQUEE_FADEBOTHSIDES 0x00000800
#define MENUITEMFLAG_SLIDER_FAST 0x00000800
#define MENUITEMFLAG_ADJUSTWIDTH 0x00001000
#define MENUITEMFLAG_SLIDER_HIDEVALUE 0x00002000
#define MENUITEMFLAG_DARKERBG 0x00004000
#define MENUITEMFLAG_LABEL_HASRIGHTTEXT 0x00008000
#define MENUITEMFLAG_00010000 0x00010000
#define MENUITEMFLAG_LOCKABLEMINOR 0x00020000
#define MENUITEMFLAG_LOCKABLEMAJOR 0x00040000
#define MENUITEMFLAG_MPWEAPONSLOT 0x00080000
#define MENUITEMFLAG_SLIDER_ALTSIZE 0x00100000
#define MENUITEMFLAG_LIST_CUSTOMRENDER 0x00200000
#define MENUITEMFLAG_BIGFONT 0x00400000
#define MENUITEMFLAG_LIST_AUTOWIDTH 0x00800000
#define MENUITEMFLAG_LABEL_CUSTOMCOLOUR 0x01000000
#define MENUITEMFLAG_LESSHEIGHT 0x02000000
#define MENUITEMFLAG_CAROUSEL_04000000 0x04000000
#define MENUITEMTYPE_LABEL 0x01
#define MENUITEMTYPE_LIST 0x02