mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Server Browser Room Select changes
Instead of putting you on the room select but forbidding changing the room...
- You haven't unlocked add-ons (formerly forced to CORE)
- Skips the Room Select and takes you directly to the CORE mode Server Browser
- Game has add-ons loaded (formerly forced to MODDED)
- Forbid accessing the Server Browser with a helpful message.
- Reduces tech support burden.
- Parity with the previous entry in the series.
This commit is contained in:
parent
c14ff69d9a
commit
cdf5eaaa16
4 changed files with 23 additions and 8 deletions
|
|
@ -829,7 +829,6 @@ extern struct mpmenu_s {
|
|||
// See M_OptSelectTick, it'll make more sense there. Sorry if this is a bit of a mess!
|
||||
|
||||
UINT8 room;
|
||||
boolean roomforced;
|
||||
tic_t ticker;
|
||||
|
||||
UINT8 servernum;
|
||||
|
|
|
|||
|
|
@ -3418,11 +3418,11 @@ void M_DrawMPRoomSelect(void)
|
|||
|
||||
// Draw buttons:
|
||||
|
||||
if (!mpmenu.roomforced || mpmenu.room == 0)
|
||||
V_DrawFixedPatch(160<<FRACBITS, 100<<FRACBITS, FRACUNIT, mpmenu.room ? (5<<V_ALPHASHIFT) : 0, butt1[(mpmenu.room) ? 1 : 0], NULL);
|
||||
V_DrawFixedPatch(160<<FRACBITS, 100<<FRACBITS, FRACUNIT, mpmenu.room ? (5<<V_ALPHASHIFT) : 0, butt1[(mpmenu.room) ? 1 : 0], NULL);
|
||||
|
||||
if (!mpmenu.roomforced || mpmenu.room == 1)
|
||||
V_DrawFixedPatch(160<<FRACBITS, 100<<FRACBITS, FRACUNIT, (!mpmenu.room) ? (5<<V_ALPHASHIFT) : 0, butt2[(!mpmenu.room) ? 1 : 0], NULL);
|
||||
V_DrawFixedPatch(160<<FRACBITS, 100<<FRACBITS, FRACUNIT, (!mpmenu.room) ? (5<<V_ALPHASHIFT) : 0, butt2[(!mpmenu.room) ? 1 : 0], NULL);
|
||||
|
||||
M_DrawMasterServerReminder();
|
||||
}
|
||||
|
||||
// SERVER BROWSER
|
||||
|
|
|
|||
|
|
@ -42,8 +42,7 @@ void M_MPRoomSelect(INT32 choice)
|
|||
M_ServersMenu(0);
|
||||
M_SetMenuDelay(pid);
|
||||
}
|
||||
else if (mpmenu.roomforced == false
|
||||
&& menucmd[pid].dpad_lr != 0)
|
||||
else if (menucmd[pid].dpad_lr != 0)
|
||||
{
|
||||
mpmenu.room ^= 1;
|
||||
S_StartSound(NULL, sfx_s3k5b);
|
||||
|
|
@ -59,12 +58,28 @@ void M_MPRoomSelectTick(void)
|
|||
void M_MPRoomSelectInit(INT32 choice)
|
||||
{
|
||||
(void)choice;
|
||||
|
||||
if (modifiedgame)
|
||||
{
|
||||
M_StartMessage("Server Browser & Add-Ons", M_GetText("You have add-ons loaded.\nYou won't be able to join netgames!\n\nTo play online, restart the game\nand don't load any addons.\n\n\"Dr. Robotnik's Ring Racers\" will\nautomatically add everything\nyou need when you join.\n"), NULL, MM_NOTHING, NULL, NULL);
|
||||
return;
|
||||
}
|
||||
|
||||
// The following behaviour is affected by modifiedgame despite the above restriction.
|
||||
// It's a sanity check were that to be removed, wheither by us or by a modified client.
|
||||
// "wheither"? That typo rules, I'm keeping that ~toast 280823
|
||||
|
||||
mpmenu.room = (modifiedgame == true) ? 1 : 0;
|
||||
mpmenu.roomforced = ((modifiedgame == true) || (!M_SecretUnlocked(SECRET_ADDONS, true)));
|
||||
mpmenu.ticker = 0;
|
||||
mpmenu.servernum = 0;
|
||||
mpmenu.scrolln = 0;
|
||||
mpmenu.slide = 0;
|
||||
|
||||
if ((modifiedgame == true) || (M_SecretUnlocked(SECRET_ADDONS, true) == false))
|
||||
{
|
||||
M_ServersMenu(0);
|
||||
return;
|
||||
}
|
||||
|
||||
M_SetupNextMenu(&PLAY_MP_RoomSelectDef, false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -229,6 +229,7 @@ void M_ServersMenu(INT32 choice)
|
|||
mpmenu.scrolln = 0;
|
||||
mpmenu.slide = 0;
|
||||
|
||||
PLAY_MP_ServerBrowserDef.prevMenu = currentMenu;
|
||||
M_SetupNextMenu(&PLAY_MP_ServerBrowserDef, false);
|
||||
itemOn = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue