From 05f4d2a4d1f24598f1170c275680c828c3463728 Mon Sep 17 00:00:00 2001 From: div0 Date: Tue, 5 Aug 2008 10:01:27 +0000 Subject: [PATCH] replace "frags -2" by "version_mismatch"; first step to make .frags have a meaningful value again (for status, remote queries) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@4026 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_client.qc | 15 +++++++-------- data/qcsrc/server/clientcommands.qc | 2 +- data/qcsrc/server/defs.qh | 2 ++ data/qcsrc/server/teamplay.qc | 11 ++++------- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index 307d31d5e..bd60dbdce 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -446,15 +446,14 @@ void PutObserverInServer (void) if(g_arena) { - if(self.frags != -2) + if(self.version_mismatch) { - Spawnqueue_Insert(self); - // FIXME what IS this? + Spawnqueue_Unmark(self); + Spawnqueue_Remove(self); } else { - Spawnqueue_Unmark(self); - Spawnqueue_Remove(self); + Spawnqueue_Insert(self); } } else if(g_lms) @@ -1808,12 +1807,12 @@ float vercmp(string v1, string v2) void ObserverThink() { if (self.flags & FL_JUMPRELEASED) { - if (self.BUTTON_JUMP && self.version == cvar("gameversion")) { + if (self.BUTTON_JUMP && !self.version_mismatch) { self.welcomemessage_time = 0; self.flags = self.flags - FL_JUMPRELEASED; LeaveSpectatorMode(); return; - } else if(self.BUTTON_ATCK && self.version == cvar("gameversion")) { + } else if(self.BUTTON_ATCK && !self.version_mismatch) { self.welcomemessage_time = 0; self.flags = self.flags - FL_JUMPRELEASED; if(SpectateNext() == 1) { @@ -1834,7 +1833,7 @@ void ObserverThink() void SpectatorThink() { if (self.flags & FL_JUMPRELEASED) { - if (self.BUTTON_JUMP && self.version == cvar("gameversion")) { + if (self.BUTTON_JUMP && !self.version_mismatch) { self.welcomemessage_time = 0; self.flags = self.flags - FL_JUMPRELEASED; LeaveSpectatorMode(); diff --git a/data/qcsrc/server/clientcommands.qc b/data/qcsrc/server/clientcommands.qc index 5e10476fb..ec9ab9fdb 100644 --- a/data/qcsrc/server/clientcommands.qc +++ b/data/qcsrc/server/clientcommands.qc @@ -197,7 +197,7 @@ void SV_ParseClientCommand(string s) { if(self.version != cvar("gameversion")) { self.classname = "observer"; - self.frags = -2; + self.version_mismatch = 1; PutClientInServer(); } else if(cvar("g_campaign") || cvar("g_balance_teams") || cvar("g_balance_teams_force")) { //JoinBestTeam(self, FALSE, TRUE); diff --git a/data/qcsrc/server/defs.qh b/data/qcsrc/server/defs.qh index 067deb75a..259d07d17 100644 --- a/data/qcsrc/server/defs.qh +++ b/data/qcsrc/server/defs.qh @@ -477,3 +477,5 @@ void ClearPlayerSounds(); void PlayerSound(.string samplefield, float channel, float teamsay); // 0 is normal, 1 is team, 2 is last attacker void GlobalSound(string samplestring, float channel, float teamsay); // 0 is normal, 1 is team, 2 is last attacker void VoiceMessage(string type); + +.float version_mismatch; diff --git a/data/qcsrc/server/teamplay.qc b/data/qcsrc/server/teamplay.qc index 8c1080abe..aa8ef60fd 100644 --- a/data/qcsrc/server/teamplay.qc +++ b/data/qcsrc/server/teamplay.qc @@ -337,13 +337,10 @@ void InitGameplayMode() e.think = default_delayedinit; } -string GetClientVersionMessage(float v) { +string GetClientVersionMessage() { local string versionmsg; - if (v == 1) { - versionmsg = "^1client is too old to get versioninfo.\n\n\n### YOU WON'T BE ABLE TO PLAY ON THIS SERVER ###\n\n\nUPDATE!!! (http://www.nexuiz.com)^8"; - // either that or someone wants to be funny - } else if (v != cvar("gameversion")) { - if(v < cvar("gameversion")) { + if (self.version_mismatch) { + if(self.version < cvar("gameversion")) { versionmsg = "^3Your client version is outdated.\n\n\n### YOU WON'T BE ABLE TO PLAY ON THIS SERVER ###\n\n\nPlease update!!!^8"; } else { versionmsg = "^3This server is using an outdated Nexuiz version.\n\n\n ### THIS SERVER IS INCOMPATIBLE AND THUS YOU CANNOT JOIN ###.^8"; @@ -447,7 +444,7 @@ void PrintWelcomeMessage(entity pl) } local string versionmessage; - versionmessage = GetClientVersionMessage(self.version); + versionmessage = GetClientVersionMessage(); s = strcat(s, NEWLINES, "This is Nexuiz ", cvar_string("g_nexuizversion"), "\n", versionmessage); s = strcat(s, "^8\n\nmatch type is ^1", mutator, gamemode_name, "^8\n"); -- 2.39.2