diff --git a/src/game/data/data_01a3a0.c b/src/game/data/data_01a3a0.c index 2539befc8..6db8ff21a 100644 --- a/src/game/data/data_01a3a0.c +++ b/src/game/data/data_01a3a0.c @@ -130,11 +130,11 @@ struct menu_dialog menudialog_mpquickgo2 = { // 1b158 struct menu_item menuitems_1b158[] = { - { MENUITEMTYPE_SCROLLABLE, 1, 0x00000000, 0x0000007c, 0x00000037, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU(57), 0x00000000, menuhandler0010cabc }, // "Accept" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU(58), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 0x00000037, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU(57), 0x00000000, menuhandler0010cabc }, // "Accept" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU(58), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 1b1bc diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index ed54a6ef9..cf0b2afd1 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -11005,11 +11005,11 @@ struct menu_dialog menudialog_mpteamnames = { // 2bf44 struct menu_item menuitems_2bf44[] = { - { MENUITEMTYPE_SCROLLABLE, 1, 0x00000000, 0x0000007c, 0x00000037, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00060000, L_MPMENU(57), 0x00000000, menuhandler0017e38c }, // "Accept" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU(58), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 0x00000037, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00060000, L_MPMENU(57), 0x00000000, menuhandler0017e38c }, // "Accept" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU(58), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2bfa8 @@ -11024,12 +11024,12 @@ struct menu_dialog menudialog_2bfa8 = { // 2bfc0 struct menu_item menuitems_mpchallengedetails[] = { - { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x00000078, 0x0000004d, menuhandler0017e4d4 }, - { MENUITEMTYPE_SCROLLABLE, 2, 0x00000000, 0x0000007c, 0x00000037, menuhandler0017e9d8 }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, menuhandler0017e9d8 }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(171), 0x00000000, menuhandlerMpStartChallenge }, // "Start Challenge" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU(51), 0x00000000, menuhandlerMpAbortChallenge }, // "Abort Challenge" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_CUSTOM, 0, 0x00200000, 0x00000078, 0x0000004d, menuhandler0017e4d4 }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCHALLENGE, 0x00000000, 0x0000007c, 0x00000037, menuhandler0017e9d8 }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, menuhandler0017e9d8 }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPWEAPONS(171), 0x00000000, menuhandlerMpStartChallenge }, // "Start Challenge" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU(51), 0x00000000, menuhandlerMpAbortChallenge }, // "Abort Challenge" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2c038 @@ -11056,11 +11056,11 @@ struct menu_dialog menudialog_mpchallengedetails2 = { // 2c068 struct menu_item menuitems_2c068[] = { - { MENUITEMTYPE_SCROLLABLE, 1, 0x00000000, 0x0000007c, 0x00000037, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU(57), 0x00000000, menuhandler0017ec64 }, // "Accept" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU(58), 0x00000000, NULL }, // "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MPCONFIG, 0x00000000, 0x0000007c, 0x00000037, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, L_MPMENU(57), 0x00000000, menuhandler0017ec64 }, // "Accept" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, L_MPMENU(58), 0x00000000, NULL }, // "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2c0cc diff --git a/src/game/data/data_02e820.c b/src/game/data/data_02e820.c index 962a9f173..613ffffe4 100644 --- a/src/game/data/data_02e820.c +++ b/src/game/data/data_02e820.c @@ -83,17 +83,17 @@ struct menu_dialog g_FrWeaponListMenuDialog = { // 2edb0 struct menu_item menuitems_frtraininginfo[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(443), (u32)&frMenuTextDifficultyName, NULL }, // "Difficulty" - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextGoalScoreLabel, (u32)&frMenuTextGoalScoreValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextMinAccuracyOrTargetsLabel, (u32)&frMenuTextMinAccuracyOrTargetsValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextTimeLimitLabel, (u32)&frMenuTextTimeLimitValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextAmmoLimitLabel, (u32)&frMenuTextAmmoLimitValue, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 6, 0x00004000, 0x0000010e, 0x0000005f, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(428), frDetailsOkMenuHandler }, // "", "Resume" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(430), menuhandler001a3448 }, // "", "Abort" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(443), (u32)&frMenuTextDifficultyName, NULL }, // "Difficulty" + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextGoalScoreLabel, (u32)&frMenuTextGoalScoreValue, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextMinAccuracyOrTargetsLabel, (u32)&frMenuTextMinAccuracyOrTargetsValue, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextTimeLimitLabel, (u32)&frMenuTextTimeLimitValue, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextAmmoLimitLabel, (u32)&frMenuTextAmmoLimitValue, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_FRWEAPON, 0x00004000, 0x0000010e, 0x0000005f, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(428), frDetailsOkMenuHandler }, // "", "Resume" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(430), menuhandler001a3448 }, // "", "Abort" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2ee8c @@ -108,17 +108,17 @@ struct menu_dialog g_FrTrainingInfoMenuDialog = { // 2eea4 struct menu_item menuitems_frtraininginfo2[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(443), (u32)&frMenuTextDifficultyName, NULL }, // "Difficulty:" - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextGoalScoreLabel, (u32)&frMenuTextGoalScoreValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextMinAccuracyOrTargetsLabel, (u32)&frMenuTextMinAccuracyOrTargetsValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextTimeLimitLabel, (u32)&frMenuTextTimeLimitValue, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextAmmoLimitLabel, (u32)&frMenuTextAmmoLimitValue, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 6, 0x00004000, 0x0000010e, 0x0000005f, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(427), frDetailsOkMenuHandler }, // "", "Ok" - { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(429), menuhandler001a3448 }, // "", "Cancel" - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(443), (u32)&frMenuTextDifficultyName, NULL }, // "Difficulty:" + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextGoalScoreLabel, (u32)&frMenuTextGoalScoreValue, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextMinAccuracyOrTargetsLabel, (u32)&frMenuTextMinAccuracyOrTargetsValue, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextTimeLimitLabel, (u32)&frMenuTextTimeLimitValue, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, (u32)&frMenuTextAmmoLimitLabel, (u32)&frMenuTextAmmoLimitValue, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_FRWEAPON, 0x00004000, 0x0000010e, 0x0000005f, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(427), frDetailsOkMenuHandler }, // "", "Ok" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, L_OPTIONS(3), L_MPMENU(429), menuhandler001a3448 }, // "", "Cancel" + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2ef80 @@ -234,15 +234,15 @@ u32 var80089280 = 0x0300ff00; // 2f2a4 struct menu_item menuitems_characterprofile[] = { - { MENUITEMTYPE_MODEL, 0, 0x00000002, 0x00000046, 0x00000096, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000003, L_MPMENU(432), (u32)&ciMenuTextBioName, NULL }, // "Name:" - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(433), (u32)&ciMenuTextBioAge, NULL }, // "Age:" - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(434), (u32)&ciMenuTextBioRace, NULL }, // "Race:" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 3, 0x00000000, 0x000000b4, 0x00000064, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000022, L_MPMENU(435), 0x00000000, NULL }, // "Press the B Button to go back." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_MODEL, 0, 0x00000002, 0x00000046, 0x00000096, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000003, L_MPMENU(432), (u32)&ciMenuTextBioName, NULL }, // "Name:" + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(433), (u32)&ciMenuTextBioAge, NULL }, // "Age:" + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(434), (u32)&ciMenuTextBioRace, NULL }, // "Race:" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_CHRBIO, 0x00000000, 0x000000b4, 0x00000064, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000022, L_MPMENU(435), 0x00000000, NULL }, // "Press the B Button to go back." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f358 @@ -257,10 +257,10 @@ struct menu_dialog menudialog_characterprofile = { // 2f370 struct menu_item menuitems_2f370[] = { - { MENUITEMTYPE_SCROLLABLE, 4, 0x00000000, 0x000000c8, 0x00000096, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000022, L_MPMENU(414), 0x00000000, NULL }, // "Press the B Button to go back." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_MISCBIO, 0x00000000, 0x000000c8, 0x00000096, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000022, L_MPMENU(414), 0x00000000, NULL }, // "Press the B Button to go back." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f3c0 @@ -295,12 +295,12 @@ u32 var80089400 = 0x32960000; // 2f424 struct menu_item menuitems_2f424[] = { - { MENUITEMTYPE_SCROLLABLE, 5, 0x00000000, 0x000000aa, 0x000000be, NULL }, - { MENUITEMTYPE_MODEL, 0, 0x00000003, 0x0000008c, 0x0000009c, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&dtMenuTextOkOrResume, 0x00000000, menuhandlerDtOkOrResume }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&dtMenuTextCancelOrAbort, 0x00000000, menuhandler001a6514 }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_DEVICETRAINING, 0x00000000, 0x000000aa, 0x000000be, NULL }, + { MENUITEMTYPE_MODEL, 0, 0x00000003, 0x0000008c, 0x0000009c, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&dtMenuTextOkOrResume, 0x00000000, menuhandlerDtOkOrResume }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&dtMenuTextCancelOrAbort, 0x00000000, menuhandler001a6514 }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f49c @@ -315,12 +315,12 @@ struct menu_dialog g_DeviceTrainingDetailsMenuDialog = { // 2f4b4 struct menu_item menuitems_trainingstats_failed[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(426), 0x00000000, NULL }, // "Failed!" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&dtMenuTextTimeTakenValue, NULL }, // "Time Taken:" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 11, 0x00000000, 0x00000082, 0x00000064, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(426), 0x00000000, NULL }, // "Failed!" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&dtMenuTextTimeTakenValue, NULL }, // "Time Taken:" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_DEVICETIP1, 0x00000000, 0x00000082, 0x00000064, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f52c @@ -335,12 +335,12 @@ struct menu_dialog g_DeviceTrainingStatsFailedMenuDialog = { // 2f544 struct menu_item menuitems_trainingstats_completed[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(425), 0x00000000, NULL }, // "Completed!" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&dtMenuTextTimeTakenValue, NULL }, // "Time Taken:" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 12, 0x00000000, 0x00000082, 0x00000064, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(425), 0x00000000, NULL }, // "Completed!" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&dtMenuTextTimeTakenValue, NULL }, // "Time Taken:" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_DEVICETIP2, 0x00000000, 0x00000082, 0x00000064, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f5bc @@ -371,12 +371,12 @@ struct menu_dialog g_HoloTrainingListMenuDialog = { // 2f614 struct menu_item menuitems_2f614[] = { - { MENUITEMTYPE_SCROLLABLE, 8, 0x00000000, 0x000000aa, 0x000000be, NULL }, - { MENUITEMTYPE_MODEL, 0, 0x00000003, 0x0000008c, 0x0000009c, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&htMenuTextOkOrResume, 0x00000000, menuhandler001a6a34 }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&htMenuTextCancelOrAbort, 0x00000000, menuhandler001a6a70 }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTRAINING, 0x00000000, 0x000000aa, 0x000000be, NULL }, + { MENUITEMTYPE_MODEL, 0, 0x00000003, 0x0000008c, 0x0000009c, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&htMenuTextOkOrResume, 0x00000000, menuhandler001a6a34 }, + { MENUITEMTYPE_SELECTABLE, 0, 0x00000008, (u32)&htMenuTextCancelOrAbort, 0x00000000, menuhandler001a6a70 }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f68c @@ -391,12 +391,12 @@ struct menu_dialog g_HoloTrainingDetailsMenuDialog = { // 2f6a4 struct menu_item menuitems_trainingstats_failed2[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(426), 0x00000000, NULL }, // "Failed!" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 9, 0x00000000, 0x00000082, 0x00000064, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(426), 0x00000000, NULL }, // "Failed!" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP1, 0x00000000, 0x00000082, 0x00000064, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f71c @@ -411,12 +411,12 @@ struct menu_dialog g_HoloTrainingStatsFailedMenuDialog = { // 2f734 struct menu_item menuitems_trainingstats_completed2[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(425), 0x00000000, NULL }, // "Completed!" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 10, 0x00000000, 0x00000082, 0x00000064, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(425), 0x00000000, NULL }, // "Completed!" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:" + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HOLOTIP2, 0x00000000, 0x00000082, 0x00000064, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f7ac @@ -457,12 +457,12 @@ struct hoverprop hoverprops[] = { // 2f858 struct menu_item menuitems_2f858[] = { - { MENUITEMTYPE_MODEL, 0, 0x00200002, 0x00000104, 0x0000002c, menuhandler001a6ea4 }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_SCROLLABLE, 7, 0x00000000, 0x00000104, 0x0000005a, NULL }, - { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_LABEL, 0, 0x00000022, L_MPMENU(414), 0x00000000, NULL }, // "Press the B Button to go back." - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_MODEL, 0, 0x00200002, 0x00000104, 0x0000002c, menuhandler001a6ea4 }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_HANGARBIO, 0x00000000, 0x00000104, 0x0000005a, NULL }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_LABEL, 0, 0x00000022, L_MPMENU(414), 0x00000000, NULL }, // "Press the B Button to go back." + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; // 2f8d0 diff --git a/src/game/game_0e5ce0.c b/src/game/game_0e5ce0.c index a7e058b03..56e8b27ba 100644 --- a/src/game/game_0e5ce0.c +++ b/src/game/game_0e5ce0.c @@ -11960,136 +11960,31 @@ glabel func0f0ecbfc /* f0ecc94: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f0ecc98 -.late_rodata -glabel var7f1b1e60 -.word func0f0ecc98+0x2c # f0eccc4 -glabel var7f1b1e64 -.word func0f0ecc98+0x68 # f0ecd00 -glabel var7f1b1e68 -.word func0f0ecc98+0xcc # f0ecd64 -glabel var7f1b1e6c -.word func0f0ecc98+0xdc # f0ecd74 -glabel var7f1b1e70 -.word func0f0ecc98+0xec # f0ecd84 -glabel var7f1b1e74 -.word func0f0ecc98+0xfc # f0ecd94 -glabel var7f1b1e78 -.word func0f0ecc98+0x10c # f0ecda4 -glabel var7f1b1e7c -.word func0f0ecc98+0x11c # f0ecdb4 -glabel var7f1b1e80 -.word func0f0ecc98+0x12c # f0ecdc4 -glabel var7f1b1e84 -.word func0f0ecc98+0x13c # f0ecdd4 -glabel var7f1b1e88 -.word func0f0ecc98+0x14c # f0ecde4 -glabel var7f1b1e8c -.word func0f0ecc98+0x15c # f0ecdf4 -.text -/* f0ecc98: 248effff */ addiu $t6,$a0,-1 -/* f0ecc9c: 27bdffe8 */ addiu $sp,$sp,-24 -/* f0ecca0: 2dc1000c */ sltiu $at,$t6,0xc -/* f0ecca4: 10200057 */ beqz $at,.L0f0ece04 -/* f0ecca8: afbf0014 */ sw $ra,0x14($sp) -/* f0eccac: 000e7080 */ sll $t6,$t6,0x2 -/* f0eccb0: 3c017f1b */ lui $at,%hi(var7f1b1e60) -/* f0eccb4: 002e0821 */ addu $at,$at,$t6 -/* f0eccb8: 8c2e1e60 */ lw $t6,%lo(var7f1b1e60)($at) -/* f0eccbc: 01c00008 */ jr $t6 -/* f0eccc0: 00000000 */ sll $zero,$zero,0x0 -/* f0eccc4: 3c0f8007 */ lui $t7,%hi(g_MpPlayerNum) -/* f0eccc8: 8def1448 */ lw $t7,%lo(g_MpPlayerNum)($t7) -/* f0ecccc: 3c04800a */ lui $a0,%hi(g_MenuStack+0xe20) -/* f0eccd0: 000fc0c0 */ sll $t8,$t7,0x3 -/* f0eccd4: 030fc023 */ subu $t8,$t8,$t7 -/* f0eccd8: 0018c080 */ sll $t8,$t8,0x2 -/* f0eccdc: 030fc021 */ addu $t8,$t8,$t7 -/* f0ecce0: 0018c0c0 */ sll $t8,$t8,0x3 -/* f0ecce4: 030fc023 */ subu $t8,$t8,$t7 -/* f0ecce8: 0018c100 */ sll $t8,$t8,0x4 -/* f0eccec: 00982021 */ addu $a0,$a0,$t8 -/* f0eccf0: 0fc670ac */ jal mpconfigGetDescription -/* f0eccf4: 8c84ee20 */ lw $a0,%lo(g_MenuStack+0xe20)($a0) -/* f0eccf8: 10000046 */ beqz $zero,.L0f0ece14 -/* f0eccfc: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecd00: 0fc6709d */ jal mpIsChallengeLoaded -/* f0ecd04: 00000000 */ sll $zero,$zero,0x0 -/* f0ecd08: 14400012 */ bnez $v0,.L0f0ecd54 -/* f0ecd0c: 3c198007 */ lui $t9,%hi(g_MpPlayerNum) -/* f0ecd10: 8f391448 */ lw $t9,%lo(g_MpPlayerNum)($t9) -/* f0ecd14: 3c09800a */ lui $t1,0x800a -/* f0ecd18: 2529e000 */ addiu $t1,$t1,-8192 -/* f0ecd1c: 001940c0 */ sll $t0,$t9,0x3 -/* f0ecd20: 01194023 */ subu $t0,$t0,$t9 -/* f0ecd24: 00084080 */ sll $t0,$t0,0x2 -/* f0ecd28: 01194021 */ addu $t0,$t0,$t9 -/* f0ecd2c: 000840c0 */ sll $t0,$t0,0x3 -/* f0ecd30: 01194023 */ subu $t0,$t0,$t9 -/* f0ecd34: 00084100 */ sll $t0,$t0,0x4 -/* f0ecd38: 01091021 */ addu $v0,$t0,$t1 -/* f0ecd3c: 3c0a4fac */ lui $t2,0x4fac -/* f0ecd40: 354a5ace */ ori $t2,$t2,0x5ace -/* f0ecd44: ac4a0850 */ sw $t2,0x850($v0) -/* f0ecd48: 8c440844 */ lw $a0,0x844($v0) -/* f0ecd4c: 0fc67091 */ jal mpLoadAndStoreCurrentChallenge -/* f0ecd50: 8c450848 */ lw $a1,0x848($v0) -.L0f0ecd54: -/* f0ecd54: 0fc670a2 */ jal mpGetCurrentChallengeDescription -/* f0ecd58: 00000000 */ sll $zero,$zero,0x0 -/* f0ecd5c: 1000002d */ beqz $zero,.L0f0ece14 -/* f0ecd60: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecd64: 0fc68461 */ jal ciGetChrBioDescription -/* f0ecd68: 00000000 */ sll $zero,$zero,0x0 -/* f0ecd6c: 10000029 */ beqz $zero,.L0f0ece14 -/* f0ecd70: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecd74: 0fc6851a */ jal ciGetMiscBioDescription -/* f0ecd78: 00000000 */ sll $zero,$zero,0x0 -/* f0ecd7c: 10000025 */ beqz $zero,.L0f0ece14 -/* f0ecd80: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecd84: 0fc687a4 */ jal dtGetDescription -/* f0ecd88: 00000000 */ sll $zero,$zero,0x0 -/* f0ecd8c: 10000021 */ beqz $zero,.L0f0ece14 -/* f0ecd90: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecd94: 0fc67aa0 */ jal frGetWeaponDescription -/* f0ecd98: 00000000 */ sll $zero,$zero,0x0 -/* f0ecd9c: 1000001d */ beqz $zero,.L0f0ece14 -/* f0ecda0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecda4: 0fc685f9 */ jal ciGetHangarBioDescription -/* f0ecda8: 00000000 */ sll $zero,$zero,0x0 -/* f0ecdac: 10000019 */ beqz $zero,.L0f0ece14 -/* f0ecdb0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecdb4: 0fc68989 */ jal htGetDescription -/* f0ecdb8: 00000000 */ sll $zero,$zero,0x0 -/* f0ecdbc: 10000015 */ beqz $zero,.L0f0ece14 -/* f0ecdc0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecdc4: 0fc689a7 */ jal htGetTip1 -/* f0ecdc8: 00000000 */ sll $zero,$zero,0x0 -/* f0ecdcc: 10000011 */ beqz $zero,.L0f0ece14 -/* f0ecdd0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecdd4: 0fc689c5 */ jal htGetTip2 -/* f0ecdd8: 00000000 */ sll $zero,$zero,0x0 -/* f0ecddc: 1000000d */ beqz $zero,.L0f0ece14 -/* f0ecde0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecde4: 0fc687c0 */ jal dtGetTip1 -/* f0ecde8: 00000000 */ sll $zero,$zero,0x0 -/* f0ecdec: 10000009 */ beqz $zero,.L0f0ece14 -/* f0ecdf0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0ecdf4: 0fc687dc */ jal dtGetTip2 -/* f0ecdf8: 00000000 */ sll $zero,$zero,0x0 -/* f0ecdfc: 10000005 */ beqz $zero,.L0f0ece14 -/* f0ece00: 8fbf0014 */ lw $ra,0x14($sp) -.L0f0ece04: -/* f0ece04: 3c04800a */ lui $a0,%hi(g_Briefing) -/* f0ece08: 0fc5b9f1 */ jal langGet -/* f0ece0c: 9484dfc8 */ lhu $a0,%lo(g_Briefing)($a0) -/* f0ece10: 8fbf0014 */ lw $ra,0x14($sp) -.L0f0ece14: -/* f0ece14: 27bd0018 */ addiu $sp,$sp,0x18 -/* f0ece18: 03e00008 */ jr $ra -/* f0ece1c: 00000000 */ sll $zero,$zero,0x0 -); +char *menuGetDescription(u32 type) +{ + switch (type) { + case DESCRIPTION_MPCONFIG: + return mpconfigGetDescription(g_MenuStack[g_MpPlayerNum].mpconfig); + case DESCRIPTION_MPCHALLENGE: + if (!mpIsChallengeLoaded()) { + g_MenuStack[g_MpPlayerNum].unk850 = 0x4fac5ace; + mpLoadAndStoreCurrentChallenge(g_MenuStack[g_MpPlayerNum].mpconfigbuffer, g_MenuStack[g_MpPlayerNum].mpconfigbufferlen); + } + return mpGetCurrentChallengeDescription(); + case DESCRIPTION_CHRBIO: return ciGetChrBioDescription(); + case DESCRIPTION_MISCBIO: return ciGetMiscBioDescription(); + case DESCRIPTION_DEVICETRAINING: return dtGetDescription(); + case DESCRIPTION_FRWEAPON: return frGetWeaponDescription(); + case DESCRIPTION_HANGARBIO: return ciGetHangarBioDescription(); + case DESCRIPTION_HOLOTRAINING: return htGetDescription(); + case DESCRIPTION_HOLOTIP1: return htGetTip1(); + case DESCRIPTION_HOLOTIP2: return htGetTip2(); + case DESCRIPTION_DEVICETIP1: return dtGetTip1(); + case DESCRIPTION_DEVICETIP2: return dtGetTip2(); + } + + return langGet(g_Briefing.objectivenames[0]); +} GLOBAL_ASM( glabel menuRenderItemScrollable @@ -12121,7 +12016,7 @@ glabel menuRenderItemScrollable /* f0ece80: afac004c */ sw $t4,0x4c($sp) /* f0ece84: afab0060 */ sw $t3,0x60($sp) /* f0ece88: 8e0d0008 */ lw $t5,0x8($s0) -/* f0ece8c: 0fc3b326 */ jal func0f0ecc98 +/* f0ece8c: 0fc3b326 */ jal menuGetDescription /* f0ece90: 91a40001 */ lbu $a0,0x1($t5) /* f0ece94: 8e040008 */ lw $a0,0x8($s0) /* f0ece98: 0fc3c94d */ jal func0f0f2534 @@ -12453,7 +12348,7 @@ glabel func0f0ed264 /* f0ed368: afac004c */ sw $t4,0x4c($sp) .L0f0ed36c: /* f0ed36c: 8fad1f98 */ lw $t5,0x1f98($sp) -/* f0ed370: 0fc3b326 */ jal func0f0ecc98 +/* f0ed370: 0fc3b326 */ jal menuGetDescription /* f0ed374: 91a40001 */ lbu $a0,0x1($t5) /* f0ed378: 10400009 */ beqz $v0,.L0f0ed3a0 /* f0ed37c: 00402825 */ or $a1,$v0,$zero diff --git a/src/game/game_102240.c b/src/game/game_102240.c index 5dc9eb35d..2dd7968f2 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -657,8 +657,8 @@ glabel menudialog00103368 ); struct menu_item menuitems_briefing[] = { - { MENUITEMTYPE_SCROLLABLE, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_BRIEFING, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; struct menu_dialog menudialog_briefing = { @@ -2862,13 +2862,13 @@ s32 menudialog0010559c(u32 operation, struct menu_dialog *dialog, s32 *arg2) } struct menu_item menuitems_17fd8[] = { - { MENUITEMTYPE_SCROLLABLE, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_BRIEFING, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; struct menu_item menuitems_18000[] = { - { MENUITEMTYPE_SCROLLABLE, 0, 0x00000000, 0x00000078, 0x00000000, NULL }, - { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, + { MENUITEMTYPE_SCROLLABLE, DESCRIPTION_BRIEFING, 0x00000000, 0x00000078, 0x00000000, NULL }, + { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, }; struct menu_dialog menudialog_18028 = { diff --git a/src/include/constants.h b/src/include/constants.h index 83127870b..be6fd2254 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -462,6 +462,20 @@ #define CROUCH_HALF 1 #define CROUCH_STAND 2 +#define DESCRIPTION_BRIEFING 0x00 +#define DESCRIPTION_MPCONFIG 0x01 +#define DESCRIPTION_MPCHALLENGE 0x02 +#define DESCRIPTION_CHRBIO 0x03 +#define DESCRIPTION_MISCBIO 0x04 +#define DESCRIPTION_DEVICETRAINING 0x05 +#define DESCRIPTION_FRWEAPON 0x06 +#define DESCRIPTION_HANGARBIO 0x07 +#define DESCRIPTION_HOLOTRAINING 0x08 +#define DESCRIPTION_HOLOTIP1 0x09 +#define DESCRIPTION_HOLOTIP2 0x0a +#define DESCRIPTION_DEVICETIP1 0x0b +#define DESCRIPTION_DEVICETIP2 0x0c + #define DIFF_A 0x00 #define DIFF_SA 0x01 #define DIFF_PA 0x02 diff --git a/src/include/game/game_0e5ce0.h b/src/include/game/game_0e5ce0.h index 085dffee2..616500b76 100644 --- a/src/include/game/game_0e5ce0.h +++ b/src/include/game/game_0e5ce0.h @@ -32,7 +32,7 @@ Gfx *menuRenderItemCarousel(Gfx *gdl); u32 func0f0ec4e4(void); Gfx *menuRenderItemCheckbox(Gfx *gdl); u32 func0f0ecbfc(void); -u32 func0f0ecc98(void); +char *menuGetDescription(u32 type); Gfx *menuRenderItemScrollable(Gfx *gdl); u32 func0f0ed264(void); void func0f0ed514(u32 *arg0); diff --git a/src/include/types.h b/src/include/types.h index 9f72fe6c8..fb4d9e2ef 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -3341,8 +3341,17 @@ struct menustackitem { /*0x83e*/ u8 unk83e; /*0x83f*/ u8 unk83f; /*0x840*/ u8 unk840; - /*0x844*/ u32 unk844; - /*0x848*/ u32 unk848; + + union { + /*0x844*/ u32 unk844; + /*0x844*/ u8 *mpconfigbuffer; + }; + + union { + /*0x848*/ u32 unk848; + /*0x848*/ u32 mpconfigbufferlen; + }; + /*0x84c*/ u32 unk84c; /*0x850*/ u32 unk850; /*0x854*/ u32 unk854; @@ -3709,7 +3718,12 @@ struct menustackitem { /*0xdf8*/ u8 unkdf8; /*0xdfc*/ struct menustackdfc unkdfc[4]; /*0xe1c*/ s32 slotindex; - /*0xe20*/ u32 slotcount; + + union { + /*0xe20*/ u32 slotcount; + /*0xe20*/ struct mpconfigfull *mpconfig; + }; + /*0xe24*/ u32 unke24; /*0xe28*/ u32 unke28; /*0xe2c*/ u32 unke2c;