From 2ad1ec6272744c2910749998f779b32ddcae12fd Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Thu, 18 May 2017 23:37:50 +0200 Subject: Improve version checking. --- src/game/g_admin.c | 17 ++++++++++++++++- src/game/g_client.c | 4 ---- src/game/g_local.h | 3 --- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/game/g_admin.c b/src/game/g_admin.c index e6b3132..daa01dc 100644 --- a/src/game/g_admin.c +++ b/src/game/g_admin.c @@ -10392,11 +10392,26 @@ qboolean G_admin_versions(gentity_t *ent, int skiparg) for (i = 0; i < level.maxclients; i++) { gclient_t *client = level.clients + i; + char userinfo[ MAX_INFO_STRING ], *p; if (client->pers.connected == CON_DISCONNECTED) continue; - ADMBP(va("% 2d '%s'\n", i, client->pers.version)); + ADMBP(va("%02i ", i)); + + trap_GetUserinfo(i, userinfo, sizeof(userinfo)); + p = Info_ValueForKey(userinfo, "version"); + + if (p[0]) + ADMBP(va("'%s'\n", p)); + else { + p = Info_ValueForKey(userinfo, "cl_voip"); + + if (p[0]) + ADMBP("probably GPP or newer\n"); + else + ADMBP("probably stock 1.1\n"); + } } ADMBP_end(); diff --git a/src/game/g_client.c b/src/game/g_client.c index 6044136..f9a72ea 100644 --- a/src/game/g_client.c +++ b/src/game/g_client.c @@ -1142,10 +1142,6 @@ void ClientUserinfoChanged( int clientNum, qboolean forceName ) if( !strcmp( s, "localhost" ) ) client->pers.localClient = qtrue; - // check the version - s = Info_ValueForKey( userinfo, "version" ); - Q_strncpyz( client->pers.version, s, MAX_CLIENT_VERSION ); - // check the item prediction s = Info_ValueForKey( userinfo, "cg_predictItems" ); diff --git a/src/game/g_local.h b/src/game/g_local.h index 5a8d1f8..a3c02c8 100644 --- a/src/game/g_local.h +++ b/src/game/g_local.h @@ -373,8 +373,6 @@ typedef struct long timeLastViewed; } statsCounters_level; -#define MAX_CLIENT_VERSION 80 - // client data that stays across multiple respawns, but is cleared // on each level change or team change at ClientBegin() typedef struct @@ -442,7 +440,6 @@ typedef struct qboolean firstConnect; // This is the first map since connect qboolean useUnlagged; statsCounters_t statscounters; - char version[ MAX_CLIENT_VERSION ]; } clientPersistant_t; #define MAX_UNLAGGED_MARKERS 256 -- cgit