mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-26 12:01:47 +00:00
better defaults in menus to make navigation easier when you just want to go fast
This commit is contained in:
parent
1033ddd928
commit
9364d0b479
4 changed files with 32 additions and 9 deletions
|
|
@ -317,6 +317,9 @@ consvar_t cv_lastprofile[MAXSPLITSCREENPLAYERS] = {
|
|||
// You choose this profile when starting the game, this will also set lastprofile[0]
|
||||
consvar_t cv_currprofile = CVAR_INIT ("currprofile", "-1", CV_HIDDEN, lastprofile_cons_t, NULL);
|
||||
|
||||
// This one is used exclusively for the titlescreen
|
||||
consvar_t cv_ttlprofilen = CVAR_INIT ("ttlprofilen", "0", CV_SAVE, lastprofile_cons_t, NULL);
|
||||
|
||||
// Cvar for using splitscreen with 1 device.
|
||||
consvar_t cv_splitdevice = CVAR_INIT ("splitdevice", "Off", CV_HIDDEN, CV_OnOff, NULL);
|
||||
|
||||
|
|
@ -889,6 +892,7 @@ void D_RegisterClientCommands(void)
|
|||
}
|
||||
|
||||
CV_RegisterVar(&cv_currprofile);
|
||||
CV_RegisterVar(&cv_ttlprofilen);
|
||||
CV_RegisterVar(&cv_splitdevice);
|
||||
|
||||
// preferred number of players
|
||||
|
|
@ -1316,7 +1320,7 @@ UINT8 CanChangeSkin(INT32 playernum)
|
|||
if (cv_restrictskinchange.value)
|
||||
{
|
||||
UINT8 i;
|
||||
|
||||
|
||||
// Can change skin during initial countdown.
|
||||
if (leveltime < starttime)
|
||||
return true;
|
||||
|
|
@ -1324,23 +1328,23 @@ UINT8 CanChangeSkin(INT32 playernum)
|
|||
// Not in game, so you can change
|
||||
if (players[playernum].spectator || players[playernum].playerstate == PST_DEAD || players[playernum].playerstate == PST_REBORN)
|
||||
return true;
|
||||
|
||||
|
||||
// Check for freeeplay
|
||||
for (i = 0; i < MAXPLAYERS; i++)
|
||||
{
|
||||
if (i == consoleplayer)
|
||||
continue;
|
||||
if (playeringame[i] && !players[i].spectator && gamestate == GS_LEVEL)
|
||||
if (playeringame[i] && !players[i].spectator && gamestate == GS_LEVEL)
|
||||
return false; // Not freeplay!
|
||||
}
|
||||
|
||||
|
||||
// if we've gotten here, then it's freeplay, and switching anytime is fair game.
|
||||
return true;
|
||||
}
|
||||
// if restrictskinchange is off and we're trying to change skins, don't allow changing skins while moving after the race has started.
|
||||
else if (gamestate == GS_LEVEL && leveltime >= starttime)
|
||||
return (!P_PlayerMoving(playernum));
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@ extern consvar_t cv_lastprofile[MAXSPLITSCREENPLAYERS];
|
|||
// Used to know how to make the options menu behave among other things.
|
||||
extern consvar_t cv_currprofile;
|
||||
|
||||
// This is used to save the last profile you used on the title screen.
|
||||
// that way you can mash n all...
|
||||
extern consvar_t cv_ttlprofilen;
|
||||
|
||||
// CVar that allows starting as many splitscreens as you want with one device
|
||||
// Intended for use with testing
|
||||
extern consvar_t cv_splitdevice;
|
||||
|
|
|
|||
|
|
@ -192,6 +192,15 @@ extern menu_t PLAY_TimeAttackDef;
|
|||
extern menuitem_t PLAY_MP_OptSelect[];
|
||||
extern menu_t PLAY_MP_OptSelectDef;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
mhost_sname = 0,
|
||||
mhost_public,
|
||||
mhost_maxp,
|
||||
mhost_gametype,
|
||||
mhost_go,
|
||||
} mhost_e;
|
||||
|
||||
extern menuitem_t PLAY_MP_Host[];
|
||||
extern menu_t PLAY_MP_HostDef;
|
||||
|
||||
|
|
|
|||
|
|
@ -1065,7 +1065,7 @@ void M_StartControlPanel(void)
|
|||
{
|
||||
// we need to do this before setting ApplyProfile otherwise funky things are going to happen.
|
||||
currentMenu = &MAIN_ProfilesDef;
|
||||
optionsmenu.profilen = cv_lastprofile[0].value;
|
||||
optionsmenu.profilen = cv_ttlprofilen.value;
|
||||
|
||||
// options don't need initializing here.
|
||||
PR_ApplyProfile(0, 0); // apply guest profile to player 0 by default.
|
||||
|
|
@ -1074,6 +1074,8 @@ void M_StartControlPanel(void)
|
|||
// make sure we don't overstep that.
|
||||
if (optionsmenu.profilen > PR_GetNumProfiles())
|
||||
optionsmenu.profilen = PR_GetNumProfiles();
|
||||
else if (optionsmenu.profilen < 0)
|
||||
optionsmenu.profilen = 0;
|
||||
|
||||
itemOn = 0;
|
||||
|
||||
|
|
@ -3092,7 +3094,6 @@ void M_SetupDifficultySelect(INT32 choice)
|
|||
|
||||
// setup the difficulty menu and then remove choices depending on choice
|
||||
PLAY_RaceDifficultyDef.prevMenu = currentMenu;
|
||||
M_SetupNextMenu(&PLAY_RaceDifficultyDef, false);
|
||||
|
||||
PLAY_RaceDifficulty[0].status = IT_STRING|IT_CVAR;
|
||||
PLAY_RaceDifficulty[1].status = IT_DISABLED;
|
||||
|
|
@ -3107,15 +3108,17 @@ void M_SetupDifficultySelect(INT32 choice)
|
|||
PLAY_RaceDifficulty[2].status = IT_STRING2|IT_CVAR; // CPUs on/off use string2 to signify not to use the normal gm font drawer
|
||||
PLAY_RaceDifficulty[3].status = IT_STRING2|IT_CVAR; // Encore on/off use string2 to signify not to use the normal gm font drawer
|
||||
PLAY_RaceDifficulty[5].status = IT_STRING|IT_CALL; // Level Select (Match Race)
|
||||
itemOn = 5; // Select cup select by default.
|
||||
PLAY_RaceDifficultyDef.lastOn = 5; // Select cup select by default.
|
||||
|
||||
}
|
||||
else // GP
|
||||
{
|
||||
PLAY_RaceDifficulty[3].status = IT_STRING2|IT_CVAR; // Encore on/off use string2 to signify not to use the normal gm font drawer
|
||||
PLAY_RaceDifficulty[4].status = IT_STRING|IT_CALL; // Level Select (GP)
|
||||
itemOn = 4; // Select cup select by default.
|
||||
PLAY_RaceDifficultyDef.lastOn = 4; // Select cup select by default.
|
||||
}
|
||||
|
||||
M_SetupNextMenu(&PLAY_RaceDifficultyDef, false);
|
||||
}
|
||||
|
||||
// calls the above but changes the cvar we set
|
||||
|
|
@ -3683,6 +3686,7 @@ void M_MPHostInit(INT32 choice)
|
|||
(void)choice;
|
||||
mpmenu.modewinextend[0][0] = 1;
|
||||
M_SetupNextMenu(&PLAY_MP_HostDef, true);
|
||||
itemOn = mhost_go;
|
||||
}
|
||||
|
||||
void M_MPSetupNetgameMapSelect(INT32 choice)
|
||||
|
|
@ -4087,6 +4091,7 @@ static void M_FirstPickProfile(INT32 c)
|
|||
|
||||
// Tell the game this is the last profile we picked.
|
||||
CV_StealthSetValue(&cv_lastprofile[0], optionsmenu.profilen);
|
||||
CV_StealthSetValue(&cv_ttlprofilen, optionsmenu.profilen);
|
||||
|
||||
// Save em!
|
||||
PR_SaveProfiles();
|
||||
|
|
@ -4972,6 +4977,7 @@ static void M_EraseProfileResponse(INT32 choice)
|
|||
if (optionsmenu.eraseprofilen == cv_currprofile.value)
|
||||
{
|
||||
CV_StealthSetValue(&cv_currprofile, -1);
|
||||
CV_StealthSetValue(&cv_ttlprofilen, 0);
|
||||
F_StartIntro();
|
||||
M_ClearMenus(true);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue