From e3fc212dc72726c92796e8298e3fc291eefb7a22 Mon Sep 17 00:00:00 2001 From: div0 Date: Wed, 31 Oct 2007 11:04:19 +0000 Subject: [PATCH] minor Assault fixes git-svn-id: svn://svn.icculus.org/nexuiz/trunk@2873 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_client.qc | 2 +- data/qcsrc/server/g_world.qc | 99 ---------------------------------- data/qcsrc/server/teamplay.qc | 8 ++- 3 files changed, 8 insertions(+), 101 deletions(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index aad7e57ab..93cf56c46 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -141,7 +141,7 @@ entity SelectSpawnPoint (float anypoint) teamcheck = 0; - if((!anypoint && cvar("g_ctf")) || cvar("g_assault") ) + if(!anypoint && (cvar("g_ctf") || cvar("g_assault"))) teamcheck = self.team; // get the list of players diff --git a/data/qcsrc/server/g_world.qc b/data/qcsrc/server/g_world.qc index 6aca99931..b64a3717f 100644 --- a/data/qcsrc/server/g_world.qc +++ b/data/qcsrc/server/g_world.qc @@ -53,104 +53,6 @@ void fteqcc_testbugs() world.frags = 0; } -float BoxSurfaceArea(vector d) -{ - return 2 * (d_x * d_y + d_y * d_z + d_z * d_x); -} - -vector BoxPand(vector d, vector n) -{ - return max(d_x, n_x) * '1 0 0' + max(d_y, n_y) * '0 1 0' + max(d_z, n_z) * '0 0 1'; -} - -void bsp() -{ - float globhandle; - float i, n; - float area; - globhandle = search_begin("maps/*.bsp", TRUE, FALSE); - n = search_getsize(globhandle); - for(i = 0; i < n; ++i) - { - string fn; - string s; - float fh; - fn = search_getfilename(globhandle, i); - print("Processing ", fn); - fh = fopen(fn, FILE_READ); - - string e_classname; - vector e_origin; - float spawns; - float spawns1; - float spawns2; - spawns = spawns1 = spawns2 = 0; - vector spawnmins, spawnmaxs; - vector spawnmins1, spawnmaxs1; - vector spawnmins2, spawnmaxs2; - while((s = fgets(fh))) - { - if(s == "}") - { - // entity ends - if(e_classname == "info_player_start" || e_classname == "info_player_deathmatch") - { - if(spawns) - { - spawnmins = -1 * BoxPand(-1 * spawnmins, -1 * e_origin); - spawnmaxs = BoxPand( spawnmaxs, e_origin); - } - else - spawnmins = spawnmaxs = e_origin; - ++spawns; - } - else if(e_classname == "info_player_team1") - { - if(spawns) - { - spawnmins = -1 * BoxPand(-1 * spawnmins, -1 * e_origin); - spawnmaxs = BoxPand( spawnmaxs, e_origin); - spawnmins1 = -1 * BoxPand(-1 * spawnmins1, -1 * e_origin); - spawnmaxs1 = BoxPand( spawnmaxs1, e_origin); - } - else - spawnmins = spawnmaxs = e_origin; - ++spawns; - ++spawns1; - } - else if(e_classname == "info_player_team2") - { - if(spawns) - { - spawnmins = -1 * BoxPand(-1 * spawnmins, -1 * e_origin); - spawnmaxs = BoxPand( spawnmaxs, e_origin); - spawnmins2 = -1 * BoxPand(-1 * spawnmins2, -1 * e_origin); - spawnmaxs2 = BoxPand( spawnmaxs2, e_origin); - } - else - spawnmins = spawnmaxs = e_origin; - ++spawns; - ++spawns2; - } - e_classname = ""; - e_origin = '0 0 0'; - } - else if(substring(s, 0, 13) == "\"classname\" \"") - e_classname = substring(s, 13, strlen(s) - 14); - else if(substring(s, 0, 10) == "\"origin\" \"") - e_origin = stov(substring(s, 10, strlen(s) - 11)); - } - fclose(fh); - print(" -- found ", ftos(spawns), " spawns ["); - print(vtos(spawnmins), " - ", vtos(spawnmaxs), "\n"); - - area = BoxSurfaceArea(spawnmaxs - spawnmins); - print("Spawn box surface area: ", ftos(area), "\n"); - print("^4plot: ", ftos(area), " ", ftos(spawns), "\n"); - } - search_end(globhandle); -} - void GotoFirstMap() { if(cvar("_sv_init")) @@ -199,7 +101,6 @@ void worldspawn (void) precache_model ("models/runematch/rune.mdl"); } - //bsp(); // Precache all player models if desired if (cvar("sv_precacheplayermodels")) { diff --git a/data/qcsrc/server/teamplay.qc b/data/qcsrc/server/teamplay.qc index 7030e9f6d..6c1d7f81b 100644 --- a/data/qcsrc/server/teamplay.qc +++ b/data/qcsrc/server/teamplay.qc @@ -14,7 +14,7 @@ float c1, c2, c3, c4; // # of bots on those teams float cb1, cb2, cb3, cb4; -float g_domination, g_ctf, g_tdm, g_keyhunt, g_onslaught; +float g_domination, g_ctf, g_tdm, g_keyhunt, g_onslaught, g_assault; float audit_teams_time; @@ -323,6 +323,7 @@ void InitGameplayMode() g_domination = cvar("g_domination"); g_ctf = cvar("g_ctf"); + g_assault = cvar("g_assault"); g_tdm = cvar("g_tdm"); g_keyhunt = cvar("g_keyhunt"); g_onslaught = cvar("g_onslaught"); @@ -555,6 +556,11 @@ void CheckAllowedTeams (entity for_whom) teament_name = "ctf_team"; else if(g_tdm) teament_name = "tdm_team"; + else if(g_assault) + { + c1 = c2 = 0; // Assault always has 2 teams + return; + } else { // cover anything else by treating it like tdm with no teams spawned -- 2.39.2