mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-18 07:22:28 +00:00
MONITORS IS UNFUCKED
A less memetic message: On permission of Mystic, rejiggered a few things such that Race uses cv_competitionboxes, allowing the menu to be nicer. Also: * disabled the doomednum for ? boxes * made A_MixUp play sfx_lose if you're in a gametype that can't use it * Removed the all-teleporters option from cv_competitionboxes. It could just be done by tweaking the random monitor toggles, anyways.
This commit is contained in:
parent
8ae91de9db
commit
2d9c37d800
5 changed files with 39 additions and 33 deletions
|
@ -189,7 +189,7 @@ static CV_PossibleValue_t teamscramble_cons_t[] = {{0, "Off"}, {1, "Random"}, {2
|
||||||
|
|
||||||
static CV_PossibleValue_t startingliveslimit_cons_t[] = {{1, "MIN"}, {99, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t startingliveslimit_cons_t[] = {{1, "MIN"}, {99, "MAX"}, {0, NULL}};
|
||||||
static CV_PossibleValue_t sleeping_cons_t[] = {{-1, "MIN"}, {1000/TICRATE, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t sleeping_cons_t[] = {{-1, "MIN"}, {1000/TICRATE, "MAX"}, {0, NULL}};
|
||||||
static CV_PossibleValue_t competitionboxes_cons_t[] = {{0, "Normal"}, {1, "Random"}, {2, "Teleports"},
|
static CV_PossibleValue_t competitionboxes_cons_t[] = {{0, "Normal"}, {1, "Random"}, //{2, "Teleports"},
|
||||||
{3, "None"}, {0, NULL}};
|
{3, "None"}, {0, NULL}};
|
||||||
|
|
||||||
static CV_PossibleValue_t matchboxes_cons_t[] = {{0, "Normal"}, {1, "Random"}, {2, "Non-Random"},
|
static CV_PossibleValue_t matchboxes_cons_t[] = {{0, "Normal"}, {1, "Random"}, {2, "Non-Random"},
|
||||||
|
|
|
@ -6453,7 +6453,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // MT_MYSTERY_BOX
|
{ // MT_MYSTERY_BOX
|
||||||
412, // doomednum
|
-1, //412, // doomednum
|
||||||
S_MYSTERY_BOX, // spawnstate
|
S_MYSTERY_BOX, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
|
|
63
src/m_menu.c
63
src/m_menu.c
|
@ -1377,39 +1377,42 @@ static menuitem_t OP_ServerOptionsMenu[] =
|
||||||
{IT_STRING | IT_CVAR, NULL, "Allow players to join", &cv_allownewplayer, 31},
|
{IT_STRING | IT_CVAR, NULL, "Allow players to join", &cv_allownewplayer, 31},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Force character", &cv_forceskin, 41},
|
{IT_STRING | IT_CVAR, NULL, "Map progression", &cv_advancemap, 41},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Restrict character changes", &cv_restrictskinchange, 46},
|
{IT_STRING | IT_CVAR, NULL, "Intermission Timer", &cv_inttime, 46},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Map progression", &cv_advancemap, 51},
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Intermission Timer", &cv_inttime, 56},
|
|
||||||
|
|
||||||
{IT_HEADER, NULL, "Platform (Coop, Race, Competition)", NULL, 65},
|
{IT_HEADER, NULL, "Characters", NULL, 55},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Players required for exit", &cv_playersforexit, 71},
|
{IT_STRING | IT_CVAR, NULL, "Force a character", &cv_forceskin, 61},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Level completion countdown", &cv_countdowntime, 76},
|
{IT_STRING | IT_CVAR, NULL, "Restrict character changes", &cv_restrictskinchange, 66},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Item Boxes", &cv_competitionboxes, 81},
|
|
||||||
|
|
||||||
{IT_HEADER, NULL, "Ringslinger (Match, CTF, Tag, H&S)", NULL, 90},
|
{IT_HEADER, NULL, "Items", NULL, 75},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Time Limit", &cv_timelimit, 96},
|
{IT_STRING | IT_CVAR, NULL, "Item respawn delay", &cv_itemrespawntime, 81},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Score Limit", &cv_pointlimit, 101},
|
{IT_STRING | IT_SUBMENU, NULL, "Random Item Box Toggles...", &OP_MonitorToggleDef, 86},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Overtime on Tie", &cv_overtime, 106},
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Player respawn delay", &cv_respawntime, 111},
|
|
||||||
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Weapon Rings", &cv_specialrings, 121},
|
{IT_HEADER, NULL, "Platform (Coop, Race, Competition)", NULL, 95},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Power Stones", &cv_powerstones, 126},
|
{IT_STRING | IT_CVAR, NULL, "Players required for exit", &cv_playersforexit, 101},
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Level completion countdown", &cv_countdowntime, 106},
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Item Boxes", &cv_competitionboxes, 111},
|
||||||
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Item Boxes", &cv_matchboxes, 136},
|
{IT_HEADER, NULL, "Ringslinger (Match, CTF, Tag, H&S)", NULL, 120},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Item respawn delay", &cv_itemrespawntime, 141},
|
{IT_STRING | IT_CVAR, NULL, "Time Limit", &cv_timelimit, 126},
|
||||||
{IT_STRING | IT_SUBMENU, NULL, "Random Item Box Toggles...", &OP_MonitorToggleDef, 146},
|
{IT_STRING | IT_CVAR, NULL, "Score Limit", &cv_pointlimit, 131},
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Overtime on Tie", &cv_overtime, 136},
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Player respawn delay", &cv_respawntime, 141},
|
||||||
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Flag respawn delay", &cv_flagtime, 156},
|
{IT_STRING | IT_CVAR, NULL, "Item Boxes", &cv_matchboxes, 151},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Hiding time", &cv_hidetime, 161},
|
{IT_STRING | IT_CVAR, NULL, "Weapon Rings", &cv_specialrings, 156},
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Power Stones", &cv_powerstones, 161},
|
||||||
|
|
||||||
{IT_STRING | IT_CVAR, NULL, "Autobalance Teams", &cv_autobalance, 171},
|
{IT_STRING | IT_CVAR, NULL, "Flag respawn delay", &cv_flagtime, 171},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Scramble Teams on Map Change", &cv_scrambleonchange, 176},
|
{IT_STRING | IT_CVAR, NULL, "Hiding time", &cv_hidetime, 176},
|
||||||
|
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Autobalance Teams", &cv_autobalance, 186},
|
||||||
|
{IT_STRING | IT_CVAR, NULL, "Scramble Teams on Map Change", &cv_scrambleonchange, 191},
|
||||||
|
|
||||||
#ifndef NONET
|
#ifndef NONET
|
||||||
{IT_HEADER, NULL, "Advanced", NULL, 185},
|
{IT_HEADER, NULL, "Advanced", NULL, 200},
|
||||||
{IT_STRING | IT_CVAR | IT_CV_STRING, NULL, "Master server", &cv_masterserver, 191},
|
{IT_STRING | IT_CVAR | IT_CV_STRING, NULL, "Master server", &cv_masterserver, 206},
|
||||||
{IT_STRING | IT_CVAR, NULL, "Attempts to resynchronise", &cv_resynchattempts, 205},
|
{IT_STRING | IT_CVAR, NULL, "Attempts to resynchronise", &cv_resynchattempts, 220},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7434,8 +7437,8 @@ static void M_ServerOptions(INT32 choice)
|
||||||
OP_ServerOptionsMenu[ 2].status = IT_GRAYEDOUT; // Max players
|
OP_ServerOptionsMenu[ 2].status = IT_GRAYEDOUT; // Max players
|
||||||
OP_ServerOptionsMenu[ 3].status = IT_GRAYEDOUT; // Allow WAD downloading
|
OP_ServerOptionsMenu[ 3].status = IT_GRAYEDOUT; // Allow WAD downloading
|
||||||
OP_ServerOptionsMenu[ 4].status = IT_GRAYEDOUT; // Allow players to join
|
OP_ServerOptionsMenu[ 4].status = IT_GRAYEDOUT; // Allow players to join
|
||||||
OP_ServerOptionsMenu[28].status = IT_GRAYEDOUT; // Master server
|
OP_ServerOptionsMenu[30].status = IT_GRAYEDOUT; // Master server
|
||||||
OP_ServerOptionsMenu[29].status = IT_GRAYEDOUT; // Attempts to resynchronise
|
OP_ServerOptionsMenu[31].status = IT_GRAYEDOUT; // Attempts to resynchronise
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -7444,10 +7447,10 @@ static void M_ServerOptions(INT32 choice)
|
||||||
OP_ServerOptionsMenu[ 3].status = IT_STRING | IT_CVAR;
|
OP_ServerOptionsMenu[ 3].status = IT_STRING | IT_CVAR;
|
||||||
OP_ServerOptionsMenu[ 4].status = IT_STRING | IT_CVAR;
|
OP_ServerOptionsMenu[ 4].status = IT_STRING | IT_CVAR;
|
||||||
if (netgame)
|
if (netgame)
|
||||||
OP_ServerOptionsMenu[28].status = IT_GRAYEDOUT;
|
OP_ServerOptionsMenu[30].status = IT_GRAYEDOUT;
|
||||||
else
|
else
|
||||||
OP_ServerOptionsMenu[28].status = IT_STRING | IT_CVAR | IT_CV_STRING;
|
OP_ServerOptionsMenu[30].status = IT_STRING | IT_CVAR | IT_CV_STRING;
|
||||||
OP_ServerOptionsMenu[29].status = IT_STRING | IT_CVAR;
|
OP_ServerOptionsMenu[31].status = IT_STRING | IT_CVAR;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -5602,7 +5602,10 @@ void A_MixUp(mobj_t *actor)
|
||||||
// No mix-up monitors in hide and seek or time only race.
|
// No mix-up monitors in hide and seek or time only race.
|
||||||
// The random factor is okay for other game modes, but in these, it is cripplingly unfair.
|
// The random factor is okay for other game modes, but in these, it is cripplingly unfair.
|
||||||
if (gametype == GT_HIDEANDSEEK || gametype == GT_RACE)
|
if (gametype == GT_HIDEANDSEEK || gametype == GT_RACE)
|
||||||
|
{
|
||||||
|
S_StartSound(actor, sfx_lose);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
numplayers = 0;
|
numplayers = 0;
|
||||||
memset(teleported, 0, sizeof (teleported));
|
memset(teleported, 0, sizeof (teleported));
|
||||||
|
|
|
@ -9509,7 +9509,7 @@ void P_SpawnMapThing(mapthing_t *mthing)
|
||||||
// Yeah, this is a dirty hack.
|
// Yeah, this is a dirty hack.
|
||||||
if ((mobjinfo[i].flags & (MF_MONITOR|MF_GRENADEBOUNCE)) == MF_MONITOR)
|
if ((mobjinfo[i].flags & (MF_MONITOR|MF_GRENADEBOUNCE)) == MF_MONITOR)
|
||||||
{
|
{
|
||||||
if (gametype == GT_COMPETITION)
|
if (gametype == GT_COMPETITION || gametype == GT_RACE)
|
||||||
{
|
{
|
||||||
// Set powerup boxes to user settings for competition.
|
// Set powerup boxes to user settings for competition.
|
||||||
if (cv_competitionboxes.value == 1) // Random
|
if (cv_competitionboxes.value == 1) // Random
|
||||||
|
|
Loading…
Reference in a new issue