Force 4MB menu with some 8MB features

This commit is contained in:
Ryan Dwyer
2022-11-04 17:43:03 +10:00
parent 6f1ac34fc4
commit fbaff805e7
10 changed files with 32 additions and 141 deletions
+1 -3
View File
@@ -4812,9 +4812,7 @@ bool aiNoOp00db(void)
bool aiEndLevel(void)
{
if (debugAllowEndLevel()) {
if (g_IsTitleDemo) {
mainChangeToStage(STAGE_TITLE);
} else if (g_Vars.autocutplaying) {
if (g_Vars.autocutplaying) {
g_Vars.autocutfinished = true;
} else {
func0000e990();
+1 -5
View File
@@ -558,11 +558,7 @@ void filemgrHandleSuccess(void)
g_Vars.bossdeviceserial = g_Menus[g_MpPlayerNum].fm.deviceserial;
bossfileSave();
if (IS4MB()) {
func0f0f820c(&g_MainMenu4MbMenuDialog, MENUROOT_4MBMAINMENU);
} else {
func0f0f820c(&g_CiMenuViaPcMenuDialog, MENUROOT_MAINMENU);
}
func0f0f820c(&g_MainMenu4MbMenuDialog, MENUROOT_4MBMAINMENU);
break;
case FILEOP_READ_GAME:
case FILEOP_READ_MPSETUP:
+3 -11
View File
@@ -42,7 +42,7 @@ s32 fmdHandleAbortGame(s32 operation, struct menuitem *item, union handlerdata *
s32 fmbHandleAdvancedSetup(s32 operation, struct menuitem *item, union handlerdata *data)
{
if (operation == MENUOP_SET) {
func0f0f820c(&g_AdvancedSetup4MbMenuDialog, MENUROOT_4MBMAINMENU);
func0f0f820c(&g_MpAdvancedSetupMenuDialog, MENUROOT_4MBMAINMENU);
}
return 0;
@@ -52,7 +52,7 @@ s32 fmbHandleAcceptChallenge(s32 operation, struct menuitem *item, union handler
{
if (operation == MENUOP_SET) {
challengeSetCurrentBySlot(g_Menus[g_MpPlayerNum].main4mb.slotindex);
func0f0f820c(&g_MpQuickGo4MbMenuDialog, MENUROOT_4MBMAINMENU);
func0f0f820c(&g_MpQuickGoMenuDialog, MENUROOT_4MBMAINMENU);
}
return 0;
@@ -535,7 +535,7 @@ struct menuitem g_MainMenu4MbMenuItems[] = {
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_MISC_441, // "Challenges"
0,
(void *)&g_MpChallenges4MbMenuDialog,
(void *)&g_MpChallengesMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
@@ -545,14 +545,6 @@ struct menuitem g_MainMenu4MbMenuItems[] = {
0x00000001,
(void *)&g_MpLoadPresetMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
MENUITEMFLAG_SELECTABLE_OPENSDIALOG | MENUITEMFLAG_BIGFONT,
L_MISC_443, // "Quick Start"
0x00000002,
(void *)&g_MpQuickTeamMenuDialog,
},
{
MENUITEMTYPE_SELECTABLE,
0,
+1 -29
View File
@@ -2270,35 +2270,7 @@ void lvTick(void)
bgunTickBoost();
hudmsgsTick();
if ((joyGetButtonsPressedThisFrame(0, 0xffff) != 0
|| joyGetStickX(0) > 10
|| joyGetStickX(0) < -10
|| joyGetStickY(0) > 10
|| joyGetStickY(0) < -10
|| joyGetButtonsPressedThisFrame(1, 0xffff) != 0
|| joyGetStickX(1) > 10
|| joyGetStickX(1) < -10
|| joyGetStickY(1) > 10
|| joyGetStickY(1) < -10
|| joyGetButtonsPressedThisFrame(2, 0xffff) != 0
|| joyGetStickX(2) > 10
|| joyGetStickX(2) < -10
|| joyGetStickY(2) > 10
|| joyGetStickY(2) < -10
|| joyGetButtonsPressedThisFrame(3, 0xffff) != 0
|| joyGetStickX(3) > 10
|| joyGetStickX(3) < -10
|| joyGetStickY(3) > 10
|| joyGetStickY(3) < -10) && g_IsTitleDemo) {
if (g_Vars.stagenum != STAGE_TITLE) {
titleSetNextMode(TITLEMODE_SKIP);
mainChangeToStage(STAGE_TITLE);
}
g_IsTitleDemo = false;
}
if (g_Vars.stagenum < STAGE_TITLE && !g_IsTitleDemo && !g_Vars.in_cutscene) {
if (g_Vars.stagenum < STAGE_TITLE && !g_Vars.in_cutscene) {
if (joyGetButtons(0, 0xffff) == 0
&& joyGetStickX(0) < 10
&& joyGetStickX(0) > -10
+11 -33
View File
@@ -236,11 +236,7 @@ void menuTick(void)
} else if (g_MpNumJoined == 0) {
g_MpNumJoined++;
if (IS4MB()) {
menuPushRootDialog(&g_MainMenu4MbMenuDialog, MENUROOT_4MBMAINMENU);
} else {
menuPushRootDialog(&g_CombatSimulatorMenuDialog, MENUROOT_MPSETUP);
}
menuPushRootDialog(&g_MainMenu4MbMenuDialog, MENUROOT_4MBMAINMENU);
} else {
g_Vars.waitingtojoin[i] = true;
}
@@ -252,7 +248,7 @@ void menuTick(void)
if (g_MpSetup.chrslots & 0xf) {
sndStart(var80095200, SFX_EXPLOSION_8098, 0, -1, -1, -1, -1, -1);
playerPause(IS4MB() ? MENUROOT_4MBMAINMENU : MENUROOT_MPSETUP);
playerPause(MENUROOT_4MBMAINMENU);
}
}
@@ -380,11 +376,7 @@ void menuTick(void)
// Joining from quick go - open Quick Go dialog
g_MpNumJoined++;
if (IS4MB()) {
menuPushRootDialog(&g_MpQuickGo4MbMenuDialog, MENUROOT_4MBMAINMENU);
} else {
menuPushRootDialog(&g_MpQuickGoMenuDialog, MENUROOT_MPSETUP);
}
menuPushRootDialog(&g_MpQuickGoMenuDialog, MENUROOT_4MBMAINMENU);
} else {
// Joining from advanced setup
g_MpNumJoined++;
@@ -406,11 +398,7 @@ void menuTick(void)
g_Vars.waitingtojoin[i] = false;
g_MpNumJoined++;
if (IS4MB()) {
menuPushRootDialog(&g_MpQuickGo4MbMenuDialog, MENUROOT_4MBMAINMENU);
} else {
menuPushRootDialog(&g_MpQuickGoMenuDialog, MENUROOT_MPSETUP);
}
menuPushRootDialog(&g_MpQuickGoMenuDialog, MENUROOT_4MBMAINMENU);
} else if (g_Vars.mpsetupmenu == MPSETUPMENU_ADVSETUP) {
// Player was waiting to join and we have just
// reached the adv setup layer - open the dialog
@@ -499,13 +487,10 @@ void menuTick(void)
&& g_MenuData.unk008 == -1) {
if (g_Vars.mpsetupmenu == MPSETUPMENU_GENERAL) {
g_MenuData.unk008 = MENUROOT_MAINMENU;
g_MenuData.unk00c = IS4MB() ? &g_CiMenuViaPauseMenuDialog : &g_CiMenuViaPcMenuDialog;
} else if (IS4MB()) {
g_MenuData.unk00c = &g_CiMenuViaPauseMenuDialog;
} else {
g_MenuData.unk008 = MENUROOT_4MBMAINMENU;
g_MenuData.unk00c = &g_MainMenu4MbMenuDialog;
} else {
g_MenuData.unk008 = MENUROOT_MPSETUP;
g_MenuData.unk00c = &g_CombatSimulatorMenuDialog;
}
}
@@ -567,7 +552,7 @@ void menuTick(void)
g_FileState = FILESTATE_CHANGINGAGENT;
gamefileLoadDefaults(&g_GameFile);
gamefileApplyOptions(&g_GameFile);
mainChangeToStage(IS4MB() ? STAGE_4MBMENU : STAGE_CITRAINING);
mainChangeToStage(STAGE_4MBMENU);
musicQueueStopAllEvent();
} else {
bool startmusic = false;
@@ -642,17 +627,10 @@ void menuTick(void)
g_BossFile.locktype = MPLOCKTYPE_NONE;
}
if (IS8MB()) {
titleSetNextStage(STAGE_CITRAINING);
setNumPlayers(1);
titleSetNextMode(TITLEMODE_SKIP);
mainChangeToStage(STAGE_CITRAINING);
} else {
titleSetNextStage(STAGE_4MBMENU);
setNumPlayers(1);
titleSetNextMode(TITLEMODE_SKIP);
mainChangeToStage(STAGE_4MBMENU);
}
titleSetNextStage(STAGE_4MBMENU);
setNumPlayers(1);
titleSetNextMode(TITLEMODE_SKIP);
mainChangeToStage(STAGE_4MBMENU);
}
break;
case MENUROOT_COOPCONTINUE:
+6 -11
View File
@@ -4649,7 +4649,7 @@ s32 menuhandler0017ec64(s32 operation, struct menuitem *item, union handlerdata
{
if (operation == MENUOP_SET) {
challengeSetCurrentBySlot(g_Menus[g_MpPlayerNum].mpsetup.slotindex);
func0f0f820c(&g_MpQuickGoMenuDialog, 3);
func0f0f820c(&g_MpQuickGoMenuDialog, MENUROOT_4MBMAINMENU);
}
return 0;
@@ -5836,19 +5836,14 @@ void func0f17fcb0(s32 silent)
{
g_Menus[g_MpPlayerNum].playernum = g_MpPlayerNum;
if (IS4MB()) {
menuPushRootDialog(&g_AdvancedSetup4MbMenuDialog, MENUROOT_4MBMAINMENU);
func0f0f8300();
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE) {
menuPushRootDialog(&g_MpChallengeListOrDetailsViaAdvChallengeMenuDialog, MENUROOT_4MBMAINMENU);
} else {
if (g_BossFile.locktype == MPLOCKTYPE_CHALLENGE) {
menuPushRootDialog(&g_MpChallengeListOrDetailsViaAdvChallengeMenuDialog, MENUROOT_MPSETUP);
} else {
menuPushRootDialog(&g_MpAdvancedSetupMenuDialog, MENUROOT_MPSETUP);
}
func0f0f8300();
menuPushRootDialog(&g_MpAdvancedSetupMenuDialog, MENUROOT_4MBMAINMENU);
}
func0f0f8300();
if (!silent) {
// Explosion sound
sndStart(var80095200, SFX_EXPLOSION_809A, NULL, -1, -1, -1, -1, -1);
+3 -5
View File
@@ -740,11 +740,9 @@ void musicEndCutscene(void)
{
g_Vars.dontplaynrg = false;
if (!g_IsTitleDemo) {
musicQueueStopEvent(TRACKTYPE_PRIMARY);
musicQueueStopEvent(TRACKTYPE_AMBIENT);
musicStartPrimary(0.5f);
}
musicQueueStopEvent(TRACKTYPE_PRIMARY);
musicQueueStopEvent(TRACKTYPE_AMBIENT);
musicStartPrimary(0.5f);
}
/**
+2 -6
View File
@@ -1655,9 +1655,7 @@ void player0f0b9a20(void)
void playerEndCutscene(void)
{
if (g_IsTitleDemo) {
mainChangeToStage(STAGE_TITLE);
} else if (g_Vars.autocutplaying) {
if (g_Vars.autocutplaying) {
g_Vars.autocutfinished = true;
} else {
playerSetTickMode(TICKMODE_NORMAL);
@@ -1817,9 +1815,7 @@ void playerStartCutscene2(void)
void playerStartCutscene(s16 animnum)
{
if ((!g_IsTitleDemo && !g_Vars.autocutplaying)
|| !g_Vars.in_cutscene
|| !g_CutsceneSkipRequested) {
if (!g_Vars.autocutplaying || !g_Vars.in_cutscene || !g_CutsceneSkipRequested) {
joyDisableTemporarily();
if (g_Vars.tickmode != TICKMODE_CUTSCENE) {
+3 -37
View File
@@ -44,7 +44,6 @@ f32 var8009d358jf[4];
#endif
s16 g_TitleViewHeight = 480;
bool g_IsTitleDemo = false;
bool g_TitleButtonPressed = false;
bool g_TitleFastForward = false;
u32 g_TitleIdleTime60 = 0;
@@ -702,22 +701,7 @@ void titleTickPdLogo(void)
if (g_PdLogoTriggerExit) {
// Exiting due to player not pressing anything
if (g_AltTitleEnabled && IS8MB()) {
g_TitleMode = TITLEMODE_SKIP;
creditsRequestAltTitle();
g_TitleNextStage = STAGE_CREDITS; // for alt title screen
setNumPlayers(1);
mainChangeToStage(g_TitleNextStage);
g_Vars.bondplayernum = 0;
g_Vars.coopplayernum = -1;
g_Vars.antiplayernum = -1;
lvSetDifficulty(DIFF_A);
viBlack(true);
} else {
titleSetNextMode(TITLEMODE_SKIP);
}
titleSetNextMode(TITLEMODE_SKIP);
}
if (g_TitleButtonPressed && g_TitleTimer > TICKS(666)) {
@@ -7726,10 +7710,6 @@ void titleInitRareLogo(void)
musicQueueStopAllEvent();
joy00014810(false);
if (!g_IsTitleDemo && IS8MB()) {
g_IsTitleDemo = true;
}
}
}
@@ -7982,25 +7962,11 @@ void playerSetTeam(s32 playernum, s32 team)
void titleInitSkip(void)
{
g_TitleNextStage = STAGE_CITRAINING;
setNumPlayers(1);
if (g_IsTitleDemo) {
g_TitleNextStage = STAGE_DEFECTION;
g_IsTitleDemo++;
}
g_TitleNextStage = STAGE_4MBMENU;
if (IS4MB()) {
g_TitleNextStage = STAGE_4MBMENU;
viSetAspect(PAL ? 1.7316017150879f : 1.4545454978943f);
viSetSize(320, 220);
viSetBufSize(320, 220);
playermgrSetViewSize(320, 220);
viSetViewSize(320, 220);
}
mainChangeToStage(g_TitleNextStage);
mainChangeToStage(STAGE_4MBMENU);
g_Vars.bondplayernum = 0;
g_Vars.coopplayernum = -1;
+1 -1
View File
@@ -110,7 +110,6 @@ extern f32 g_Lv80SecIntervalFrac;
extern bool g_NbombsActive;
extern s32 g_WeatherActive;
extern u32 var80062410;
extern bool g_IsTitleDemo;
extern u32 g_TitleIdleTime60;
extern s32 g_TitleMode;
extern s32 g_TitleNextMode;
@@ -304,6 +303,7 @@ extern struct menudialogdef g_MpConfirmChallenge4MbMenuDialog;
extern struct menudialogdef g_MainMenu4MbMenuDialog;
extern struct menudialogdef g_MpEditSimulant4MbMenuDialog;
extern struct menudialogdef g_AdvancedSetup4MbMenuDialog;
extern struct menudialogdef g_MpChallengesMenuDialog;
extern struct filelist *g_FileLists[];
extern bool var80075bd0[];
extern struct var80075c00 var80075c00[];