mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-02 10:09:46 -04:00
Force 4MB menu with some 8MB features
This commit is contained in:
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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:
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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[];
|
||||
|
||||
Reference in New Issue
Block a user