[nexuiz-commits] r7201 - in trunk/data: . maps qcsrc/client qcsrc/common qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sun Jul 12 08:02:50 EDT 2009
Author: div0
Date: 2009-07-12 08:02:49 -0400 (Sun, 12 Jul 2009)
New Revision: 7201
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/maps/racetrack.mapinfo
trunk/data/qcsrc/client/sbar.qc
trunk/data/qcsrc/common/constants.qh
trunk/data/qcsrc/common/mapinfo.qc
trunk/data/qcsrc/common/mapinfo.qh
trunk/data/qcsrc/server/cl_client.qc
trunk/data/qcsrc/server/clientcommands.qc
trunk/data/qcsrc/server/constants.qh
trunk/data/qcsrc/server/defs.qh
trunk/data/qcsrc/server/g_world.qc
trunk/data/qcsrc/server/havocbot_roles.qc
trunk/data/qcsrc/server/miscfunctions.qc
trunk/data/qcsrc/server/race.qc
trunk/data/qcsrc/server/race.qh
trunk/data/qcsrc/server/t_teleporters.qc
trunk/data/qcsrc/server/teamplay.qc
Log:
bye bye "Race", hello "CTS" and "Race" (in mapinfo: rc)
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/defaultNexuiz.cfg 2009-07-12 12:02:49 UTC (rev 7201)
@@ -24,7 +24,7 @@
seta g_configversion 0 "Configuration file version (used to upgrade settings) 0: first run, or previous start was <2.4.1 Later, it's overridden by config.cfg, version ranges are defined in config_update.cfg"
// default.cfg versioning (update using update-cvarcount.sh, run that every time after adding a new cvar)
-set cvar_check_default 9b8ca48c50d9e2af73245655fdb29b04
+set cvar_check_default 1247e8cd8be7bda1c260795d5bebb20b
// Nexuiz version (formatted for machines)
// used to determine if a client version is compatible
@@ -667,13 +667,13 @@
// race
set g_race 0 "Race: be faster than your opponents"
-set g_race_qualifying 2
-// Qualifying uses timelimit, and the one with the best time wins. Fraglimit is nonfunctional then.
-// Normal race uses fraglimit as a limit for the laps.
-// Special mode: g_race_qualifying 2. First runs a qualifying, after
-// ready-restart it turns into a race. TODO not done yet (e.g. timing display)
+set g_race_qualifying_timelimit 0
+set g_race_qualifying_timelimit_override -1
set g_race_teams 0 "when 2, 3, or 4, the race is played as a team game (the team members can add up their laps)"
+// cts
+set g_cts 0 "CTS: complete the stage"
+
// nexball
set g_nexball 0 "Nexball: Basketball and Soccer go Nexuiz"
Modified: trunk/data/maps/racetrack.mapinfo
===================================================================
--- trunk/data/maps/racetrack.mapinfo 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/maps/racetrack.mapinfo 2009-07-12 12:02:49 UTC (rev 7201)
@@ -4,5 +4,5 @@
_diameter 9083.417969
_spawnpoints 0
has weapons
-type race 5 20 15
+type rc 20 5 7 15
cdtrack 7
Modified: trunk/data/qcsrc/client/sbar.qc
===================================================================
--- trunk/data/qcsrc/client/sbar.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/client/sbar.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -1458,7 +1458,7 @@
Sbar_DrawXNum(topright - '36 0 0' - '3 0 0' + '0 2 0', seconds, -2, 18, timer_color, 0, 0, sbar_alpha_fg, DRAWFLAG_NORMAL);
}
- if(gametype == GAME_RACE)
+ if(gametype == GAME_RACE || gametype == GAME_CTS)
{
drawfont = sbar_bigfont;
float a, t;
Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/common/constants.qh 2009-07-12 12:02:49 UTC (rev 7201)
@@ -37,6 +37,7 @@
const float GAME_ONSLAUGHT = 10;
const float GAME_RACE = 11;
const float GAME_NEXBALL = 12;
+const float GAME_CTS = 13;
const float AS_STRING = 1;
const float AS_INT = 2;
Modified: trunk/data/qcsrc/common/mapinfo.qc
===================================================================
--- trunk/data/qcsrc/common/mapinfo.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/common/mapinfo.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -348,12 +348,8 @@
}
else if(k == "race_place")
{
- if(v == "1")
- spawnplaces |= 1;
- else if(v == "2")
- spawnplaces |= 2;
- else if(v == "3")
- spawnplaces |= 4;
+ if(stof(v) > 0)
+ spawnplaces = 1;
}
else if(k == "classname")
{
@@ -418,8 +414,11 @@
}
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RACE)
- if(spawnplaces != 7)
- MapInfo_Map_flags |= MAPINFO_FLAG_FRUSTRATING;
+ if(!spawnplaces)
+ {
+ MapInfo_Map_supportedGametypes &~= MAPINFO_TYPE_RACE;
+ MapInfo_Map_supportedGametypes |= MAPINFO_TYPE_CTS;
+ }
dprint("-> diameter ", ftos(diameter));
dprint("; spawnpoints ", ftos(spawnpoints));
@@ -451,7 +450,7 @@
if(!(pThisType & pWantedType))
return;
- if(pWantedType == MAPINFO_TYPE_ASSAULT || pWantedType == MAPINFO_TYPE_ONSLAUGHT) // these modes don't use fraglimit
+ if(pWantedType == MAPINFO_TYPE_ASSAULT || pWantedType == MAPINFO_TYPE_ONSLAUGHT || pWantedType == MAPINFO_TYPE_RACE || pWantedType == MAPINFO_TYPE_CTS) // these modes don't use fraglimit
{
cvar_set("fraglimit", "0");
}
@@ -486,8 +485,26 @@
s = cdr(s);
}
+ // rc = timelimit timelimit_qualification laps laps_teamplay
if(pWantedType == MAPINFO_TYPE_RACE)
{
+ sa = car(s); if(sa == "") sa = cvar_string("timelimit");
+ cvar_set("g_race_qualifying_timelimit", sa);
+ s = cdr(s);
+
+ sa = car(s); if(sa == "") sa = "10";
+ if(cvar("g_race_teams") < 2)
+ cvar_set("fraglimit", sa);
+ s = cdr(s);
+
+ sa = car(s); if(sa == "") sa = "20";
+ if(cvar("g_race_teams") >= 2)
+ cvar_set("fraglimit", sa);
+ s = cdr(s);
+ }
+
+ if(pWantedType == MAPINFO_TYPE_CTS)
+ {
sa = car(s); if(sa == "") sa = cvar_string("fraglimit");
if(cvar("g_race_teams"))
cvar_set("fraglimit", sa);
@@ -511,8 +528,9 @@
else if(t == "kh") return MAPINFO_TYPE_KEYHUNT;
else if(t == "as") return MAPINFO_TYPE_ASSAULT;
else if(t == "ons") return MAPINFO_TYPE_ONSLAUGHT;
- else if(t == "race") return MAPINFO_TYPE_RACE;
+ else if(t == "rc") return MAPINFO_TYPE_RACE;
else if(t == "nexball") return MAPINFO_TYPE_NEXBALL;
+ else if(t == "cts") return MAPINFO_TYPE_CTS;
else if(t == "all") return MAPINFO_TYPE_ALL;
else return 0;
}
@@ -595,9 +613,10 @@
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ARENA) fputs(fh, "type arena 10 20\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_KEYHUNT) fputs(fh, "type kh 1000 20 3\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ASSAULT) fputs(fh, "type as 20\n");
- if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RACE) fputs(fh, "type race 5 20 15\n");
+ if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RACE) fputs(fh, "type rc 20 5 7 15\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ONSLAUGHT) fputs(fh, "type ons 20\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_NEXBALL) fputs(fh, "type nexball 5 20\n");
+ if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTS) fputs(fh, "type cts 20 0\n");
fh2 = fopen(strcat("scripts/", pFilename, ".arena"), FILE_READ);
if(fh2 >= 0)
@@ -880,6 +899,8 @@
return MAPINFO_TYPE_RACE;
else if(cvar("g_nexball"))
return MAPINFO_TYPE_NEXBALL;
+ else if(cvar("g_cts"))
+ return MAPINFO_TYPE_CTS;
else
return MAPINFO_TYPE_DEATHMATCH;
}
@@ -918,6 +939,8 @@
case MAPINFO_TYPE_ASSAULT: return "g_assault";
case MAPINFO_TYPE_ONSLAUGHT: return "g_onslaught";
case MAPINFO_TYPE_RACE: return "g_race";
+ case MAPINFO_TYPE_NEXBALL: return "g_nexball";
+ case MAPINFO_TYPE_CTS: return "g_cts";
default: return "";
}
}
@@ -937,6 +960,7 @@
cvar_set("g_onslaught", (t == MAPINFO_TYPE_ONSLAUGHT) ? "1" : "0");
cvar_set("g_race", (t == MAPINFO_TYPE_RACE) ? "1" : "0");
cvar_set("g_nexball", (t == MAPINFO_TYPE_NEXBALL) ? "1" : "0");
+ cvar_set("g_cts", (t == MAPINFO_TYPE_CTS) ? "1" : "0");
}
void MapInfo_LoadMap(string s)
Modified: trunk/data/qcsrc/common/mapinfo.qh
===================================================================
--- trunk/data/qcsrc/common/mapinfo.qh 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/common/mapinfo.qh 2009-07-12 12:02:49 UTC (rev 7201)
@@ -10,6 +10,7 @@
float MAPINFO_TYPE_ARENA = 512;
float MAPINFO_TYPE_KEYHUNT = 1024;
float MAPINFO_TYPE_NEXBALL = 2048;
+float MAPINFO_TYPE_CTS = 4096;
float MAPINFO_TYPE_ALL = 65535; // this has to include all above bits
float MAPINFO_FEATURE_WEAPONS = 1; // not defined for minstagib-only maps
Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/cl_client.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -2533,7 +2533,7 @@
if(self.spectatee_status != oldspectatee_status)
{
ClientData_Touch(self);
- if(g_race)
+ if(g_race || g_cts)
race_InitSpectator();
}
Modified: trunk/data/qcsrc/server/clientcommands.qc
===================================================================
--- trunk/data/qcsrc/server/clientcommands.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/clientcommands.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -233,7 +233,7 @@
return;
if((inWarmupStage && 0 >= g_warmup_limit) // with unlimited warmup players have to be able to restart
- || cvar("sv_ready_restart"))
+ || cvar("sv_ready_restart") || g_race_qualifying == 2)
{
if(!readyrestart_happened || cvar("sv_ready_restart_repeatable"))
{
@@ -454,7 +454,7 @@
VoteReset();
// clear overtime
- if (checkrules_overtimesadded > 0) {
+ if (checkrules_overtimesadded > 0 && g_race_qualifying != 2) {
//we have to decrease timelimit to its original value again!!
float newTL;
newTL = cvar("timelimit");
@@ -511,13 +511,13 @@
if(g_arena | g_assault | gameover | intermission_running | race_completing)
localcmd("restart\n");
+ ReadyRestartForce();
+
// reset ALL scores, but only do that at the beginning
//of the countdown if sv_ready_restart_after_countdown is off!
//Otherwise scores could be manipulated during the countdown!
if (!cvar("sv_ready_restart_after_countdown"))
Score_ClearAll();
-
- ReadyRestartForce();
}
/**
@@ -558,8 +558,8 @@
*/
void restartTimer_Think() {
restart_mapalreadyrestarted = 1;
+ reset_map(TRUE);
Score_ClearAll();
- reset_map(TRUE);
remove(self);
return;
}
Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/constants.qh 2009-07-12 12:02:49 UTC (rev 7201)
@@ -1,4 +1,4 @@
-string CVAR_CHECK_DEFAULT = "9b8ca48c50d9e2af73245655fdb29b04";
+string CVAR_CHECK_DEFAULT = "1247e8cd8be7bda1c260795d5bebb20b";
string CVAR_CHECK_WEAPONS = "4f7b4c1e2feeef4988b02a93ff35a2ca";
float FALSE = 0;
Modified: trunk/data/qcsrc/server/defs.qh
===================================================================
--- trunk/data/qcsrc/server/defs.qh 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/defs.qh 2009-07-12 12:02:49 UTC (rev 7201)
@@ -17,7 +17,7 @@
float ctf_score_value(string parameter);
-float g_dm, g_domination, g_ctf, g_tdm, g_keyhunt, g_onslaught, g_assault, g_arena, g_lms, g_runematch, g_race, g_nexball;
+float g_dm, g_domination, g_ctf, g_tdm, g_keyhunt, g_onslaught, g_assault, g_arena, g_lms, g_runematch, g_race, g_nexball, g_cts;
float g_cloaked, g_footsteps, g_jump_grunt, g_grappling_hook, g_laserguided_missile, g_midair, g_minstagib, g_nixnex, g_nixnex_with_laser, g_pinata, g_norecoil, g_vampire, g_minstagib_invis_alpha, g_bloodloss;
float g_warmup_limit;
float g_warmup_allguns;
Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/g_world.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -251,6 +251,7 @@
BADCVAR("g_keyhunt_teams");
BADCVAR("g_onslaught");
BADCVAR("g_race");
+ BADCVAR("g_cts");
BADCVAR("g_runematch");
BADCVAR("g_tdm");
BADCVAR("teamplay");
@@ -1899,9 +1900,9 @@
++readyplayers;
}
- // at least 2/3 of the players have completed a lap: start the RACE
+ // at least 2 of the players have completed a lap: start the RACE
// otherwise, the players should end the qualifying on their own
- if(readyplayers || ((totalplayers >= 3) && (playerswithlaps * 3 >= totalplayers * 2)))
+ if(readyplayers || playerswithlaps >= 2)
{
checkrules_suddendeathend = 0;
ReadyRestart(); // go to race
Modified: trunk/data/qcsrc/server/havocbot_roles.qc
===================================================================
--- trunk/data/qcsrc/server/havocbot_roles.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/havocbot_roles.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -637,7 +637,7 @@
havocbot_chooserole_dom();
else if (g_keyhunt)
havocbot_chooserole_kh();
- else if (g_race)
+ else if (g_race || g_cts)
havocbot_chooserole_race();
else if (g_onslaught)
havocbot_chooserole_ons();
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -876,7 +876,7 @@
{
if (g_lms)
t = (e.spawnflags & WEPSPAWNFLAG_NORMAL);
- else if (g_race)
+ else if (g_race || g_cts)
t = (i == WEP_LASER);
else if (g_nexball)
t = 0; // weapon is set a few lines later
@@ -1051,7 +1051,7 @@
g_warmup_allguns = cvar("g_warmup_allguns");
g_warmup_allow_timeout = cvar("g_warmup_allow_timeout");
- if (g_race && g_race_qualifying == 2 || g_arena || g_assault || cvar("g_campaign"))
+ if ((g_race && g_race_qualifying == 2) || g_arena || g_assault || cvar("g_campaign"))
inWarmupStage = 0; // these modes cannot work together, sorry
g_pickup_respawntime_weapon = cvar("g_pickup_respawntime_weapon");
@@ -1960,7 +1960,7 @@
}
}
- if (g_race)
+ if (g_race || g_cts)
{
for (i = 0; i < MapInfo_count; ++i)
{
@@ -1975,6 +1975,7 @@
}
}
}
+
MapInfo_ClearTemps();
if (s == "")
Modified: trunk/data/qcsrc/server/race.qc
===================================================================
--- trunk/data/qcsrc/server/race.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/race.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -502,7 +502,7 @@
void spawnfunc_trigger_race_checkpoint()
{
vector o;
- if(!g_race)
+ if(!g_race && !g_cts)
{
remove(self);
return;
@@ -569,7 +569,7 @@
void race_RetractPlayer()
{
- if(!g_race)
+ if(!g_race && !g_cts)
return;
self.race_checkpoint = race_PreviousCheckpoint(self.race_checkpoint);
if(self.race_checkpoint == 0)
@@ -581,7 +581,7 @@
void race_PreDie()
{
- if(!g_race)
+ if(!g_race && !g_cts)
return;
race_AbandonRaceCheck(self);
@@ -589,7 +589,7 @@
void race_PreSpawn()
{
- if(!g_race)
+ if(!g_race && !g_cts)
return;
if(self.killcount == -666 || g_race_qualifying)
race_PreparePlayer();
@@ -599,7 +599,7 @@
void race_PostSpawn(entity spot)
{
- if(!g_race)
+ if(!g_race && !g_cts)
return;
if(self.killcount != -666 && !g_race_qualifying)
{
@@ -618,14 +618,14 @@
void race_PreSpawnObserver()
{
- if(!g_race)
+ if(!g_race && !g_cts)
return;
race_PreparePlayer();
}
void spawnfunc_info_player_race (void)
{
- if(!g_race)
+ if(!g_race && !g_cts)
{
remove(self);
return;
@@ -673,6 +673,7 @@
independent_players = 0;
cvar_set("fraglimit", ftos(race_fraglimit));
cvar_set("leadlimit", ftos(race_leadlimit));
+ cvar_set("timelimit", ftos(race_timelimit));
ScoreRules_race();
}
}
Modified: trunk/data/qcsrc/server/race.qh
===================================================================
--- trunk/data/qcsrc/server/race.qh 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/race.qh 2009-07-12 12:02:49 UTC (rev 7201)
@@ -13,6 +13,7 @@
float race_lowest_place_spawn; // where to spawn in qualifying
float race_fraglimit;
float race_leadlimit;
+float race_timelimit;
.float race_place;
.float race_completed;
float race_completing;
Modified: trunk/data/qcsrc/server/t_teleporters.qc
===================================================================
--- trunk/data/qcsrc/server/t_teleporters.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/t_teleporters.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -83,7 +83,7 @@
if(player.classname == "player")
{
- if(player.takedamage && player.deadflag == DEAD_NO && !g_race && cvar("g_telefrags"))
+ if(player.takedamage && player.deadflag == DEAD_NO && !g_race && !g_cts && cvar("g_telefrags"))
tdeath(player, teleporter, telefragger, telefragmin, telefragmax);
// player no longer is on ground
Modified: trunk/data/qcsrc/server/teamplay.qc
===================================================================
--- trunk/data/qcsrc/server/teamplay.qc 2009-07-11 21:14:27 UTC (rev 7200)
+++ trunk/data/qcsrc/server/teamplay.qc 2009-07-12 12:02:49 UTC (rev 7201)
@@ -98,6 +98,7 @@
cvar_set("g_onslaught", ftos(g_onslaught));
cvar_set("g_race", ftos(g_race));
cvar_set("g_nexball", ftos(g_nexball));
+ cvar_set("g_cts", ftos(g_cts));
}
void ReadGameCvars()
@@ -122,6 +123,7 @@
found += (g_onslaught = (!found && (prev != GAME_ONSLAUGHT) && cvar("g_onslaught")));
found += (g_race = (!found && (prev != GAME_RACE) && cvar("g_race")));
found += (g_nexball = (!found && (prev != GAME_NEXBALL) && cvar("g_nexball")));
+ found += (g_cts = (!found && (prev != GAME_CTS) && cvar("g_cts")));
if(found)
break;
@@ -163,8 +165,10 @@
void InitGameplayMode()
{
- float fraglimit_override, timelimit_override, leadlimit_override;
+ float fraglimit_override, timelimit_override, leadlimit_override, qualifying_override;
+ qualifying_override = -1;
+
VoteReset();
teams_matter = 0;
@@ -315,28 +319,30 @@
{
game = GAME_RACE;
gamemode_name = "Race";
- g_race_qualifying = cvar("g_race_qualifying");
if(cvar("g_race_teams"))
{
- g_race_qualifying = 0; // not supported!
ActivateTeamplay();
race_teams = bound(2, cvar("g_race_teams"), 4);
}
else
race_teams = 0;
- if(g_race_qualifying == 1)
- fraglimit_override = 0;
- else
- fraglimit_override = cvar("g_race_laps_limit");
-
+ qualifying_override = cvar("g_race_qualifying_timelimit_override");
+ fraglimit_override = cvar("g_race_laps_limit");
leadlimit_override = 0; // currently not supported by race
if(g_race_qualifying)
independent_players = 1;
+ }
- ScoreRules_race();
+ if(g_cts)
+ {
+ game = GAME_CTS;
+ gamemode_name = "CTS";
+ g_race_qualifying = 1;
+ fraglimit_override = 0;
+ leadlimit_override = 0;
}
if(g_nexball)
@@ -367,16 +373,35 @@
cvar_set("timelimit", ftos(timelimit_override));
if(leadlimit_override >= 0)
cvar_set("leadlimit", ftos(leadlimit_override));
+ if(qualifying_override >= 0)
+ cvar_set("g_race_qualifying_timelimit", ftos(qualifying_override));
}
- if(g_race && g_race_qualifying == 2)
+ if(g_race)
{
- race_fraglimit = cvar("fraglimit");
- cvar_set("fraglimit", "0");
- race_leadlimit = cvar("leadlimit");
- cvar_set("leadlimit", "0");
+ // we need to find out the correct value for g_race_qualifying
+ if(cvar("g_race_qualifying_timelimit") > 0)
+ {
+ g_race_qualifying = 2;
+ race_fraglimit = cvar("fraglimit");
+ race_leadlimit = cvar("leadlimit");
+ race_timelimit = cvar("timelimit");
+ cvar_set("fraglimit", "0");
+ cvar_set("leadlimit", "0");
+ cvar_set("timelimit", cvar_string("g_race_qualifying_timelimit"));
+ }
+ else
+ g_race_qualifying = 0;
}
+ if(g_race || g_cts)
+ {
+ if(g_race_qualifying)
+ independent_players = 1;
+
+ ScoreRules_race();
+ }
+
InitializeEntity(world, default_delayedinit, INITPRIO_GAMETYPE_FALLBACK);
}
More information about the nexuiz-commits
mailing list