diff options
| author | Alfred Eriksson <somerunce@gmail.com> | 2009-01-11 10:40:14 +0000 |
|---|---|---|
| committer | Alfred Eriksson <somerunce@gmail.com> | 2009-01-11 10:40:14 +0000 |
| commit | 39a12060d68b1a5169d643a8c6f56df3d82ac4c1 (patch) | |
| tree | bb104b9b446a00687e533924b5765ff3918780cc /src/game/client/gameclient.cpp | |
| parent | 371e8623161095b8f74d51d37f3de368b5cd584c (diff) | |
| download | zcatch-39a12060d68b1a5169d643a8c6f56df3d82ac4c1.tar.gz zcatch-39a12060d68b1a5169d643a8c6f56df3d82ac4c1.zip | |
removed the tuning filtering and warning. modded servers can use tuning for free. added pure server checking - ctf, dm and tdm gametypes are not allowed to have different tuning.
Diffstat (limited to 'src/game/client/gameclient.cpp')
| -rw-r--r-- | src/game/client/gameclient.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/game/client/gameclient.cpp b/src/game/client/gameclient.cpp index ec3ad78d..6b3f3492 100644 --- a/src/game/client/gameclient.cpp +++ b/src/game/client/gameclient.cpp @@ -1,3 +1,4 @@ +#include <string.h> #include <engine/e_client_interface.h> #include <engine/e_demorec.h> @@ -214,6 +215,7 @@ void GAMECLIENT::on_init() int64 end = time_get(); dbg_msg("", "%f.2ms", ((end-start)*1000)/(float)time_freq()); + servermode = SERVERMODE_PURE; } void GAMECLIENT::on_save() @@ -273,6 +275,11 @@ void GAMECLIENT::on_connected() all.components[i]->on_reset(); } + SERVER_INFO current_server_info; + client_serverinfo(¤t_server_info); + + servermode = SERVERMODE_PURE; + // send the inital info send_info(true); } @@ -393,6 +400,8 @@ void GAMECLIENT::on_message(int msgtype) // check for unpacking errors if(msg_unpack_error()) return; + + servermode = SERVERMODE_PURE; // apply new tuning tuning = new_tuning; @@ -638,6 +647,20 @@ void GAMECLIENT::on_snapshot() } else snap.spectate = true; + + TUNING_PARAMS standard_tuning; + SERVER_INFO current_server_info; + client_serverinfo(¤t_server_info); + if(current_server_info.gametype[0] != '0') + { + if(strcmp(current_server_info.gametype, "DM") != 0 && strcmp(current_server_info.gametype, "TDM") != 0 && strcmp(current_server_info.gametype, "CTF") != 0) + servermode = SERVERMODE_MOD; + else if(memcmp(&standard_tuning, &tuning, sizeof(TUNING_PARAMS)) == 0) + servermode = SERVERMODE_PURE; + else + servermode = SERVERMODE_PUREMOD; + } + // update render info for(int i = 0; i < MAX_CLIENTS; i++) |