From ccdfed1c1973b25c1d18e425edccc809d3b332db Mon Sep 17 00:00:00 2001 From: Amos Date: Wed, 12 Jul 2023 08:56:17 +0200 Subject: [PATCH] Use CServer's 'GetClient' Use the CServer's 'GetClient' method for obtaining clients by index. --- r5dev/engine/client/client.cpp | 9 --------- r5dev/engine/client/client.h | 1 - r5dev/engine/server/server.cpp | 6 +++--- r5dev/engine/server/server.h | 5 +++++ r5dev/engine/server/sv_main.cpp | 4 ++-- r5dev/game/server/physics_main.cpp | 3 ++- r5dev/networksystem/bansystem.cpp | 5 +++-- 7 files changed, 15 insertions(+), 18 deletions(-) diff --git a/r5dev/engine/client/client.cpp b/r5dev/engine/client/client.cpp index 422ba76b..13338404 100644 --- a/r5dev/engine/client/client.cpp +++ b/r5dev/engine/client/client.cpp @@ -14,15 +14,6 @@ #include "engine/server/server.h" #include "engine/client/client.h" -//--------------------------------------------------------------------------------- -// Purpose: gets the client from buffer by index -//--------------------------------------------------------------------------------- -CClient* CClient::GetClient(int nIndex) const -{ - return reinterpret_cast( - (reinterpret_cast(g_pClient) + (nIndex * sizeof(CClient)))); -} - //--------------------------------------------------------------------------------- // Purpose: gets the client's team number //--------------------------------------------------------------------------------- diff --git a/r5dev/engine/client/client.h b/r5dev/engine/client/client.h index bd64e03f..f95e75ab 100644 --- a/r5dev/engine/client/client.h +++ b/r5dev/engine/client/client.h @@ -63,7 +63,6 @@ class CClient : IClientMessageHandler, INetChannelHandler { friend class ServerDataBlockSender; public: - CClient* GetClient(int nIndex) const; int64_t GetTeamNum() const; edict_t GetHandle(void) const; int GetUserID(void) const; diff --git a/r5dev/engine/server/server.cpp b/r5dev/engine/server/server.cpp index d8eea189..6a355f14 100644 --- a/r5dev/engine/server/server.cpp +++ b/r5dev/engine/server/server.cpp @@ -29,7 +29,7 @@ int CServer::GetNumHumanPlayers(void) const int nHumans = 0; for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue; @@ -49,7 +49,7 @@ int CServer::GetNumFakeClients(void) const int nBots = 0; for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue; @@ -69,7 +69,7 @@ int CServer::GetNumClients(void) const int nClients = 0; for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue; diff --git a/r5dev/engine/server/server.h b/r5dev/engine/server/server.h index c86c0d41..6163c0f5 100644 --- a/r5dev/engine/server/server.h +++ b/r5dev/engine/server/server.h @@ -37,9 +37,14 @@ public: inline const char* GetMapName(void) const { return m_szMapname; } inline const char* GetMapGroupName(void) const { return m_szMapGroupName; } + inline int GetNumClasses(void) const { return m_nServerClasses; } inline int GetClassBits(void) const { return m_nServerClassBits; } + + inline CClient* GetClient(int nIndex) { Assert(nIndex < MAX_PLAYERS); return &m_Clients[nIndex]; } + inline float GetCPUUsage(void) const { return m_fCPUPercent; } + inline bool IsActive(void) const { return m_State >= server_state_t::ss_active; } inline bool IsLoading(void) const { return m_State == server_state_t::ss_loading; } inline bool IsDedicated(void) const { return m_bIsDedicated; } diff --git a/r5dev/engine/server/sv_main.cpp b/r5dev/engine/server/sv_main.cpp index 8bab1268..36e0249f 100644 --- a/r5dev/engine/server/sv_main.cpp +++ b/r5dev/engine/server/sv_main.cpp @@ -78,7 +78,7 @@ void SV_CheckForBan(const BannedVec_t* pBannedVec /*= nullptr*/) for (int c = 0; c < g_ServerGlobalVariables->m_nMaxClients; c++) // Loop through all possible client instances. { - CClient* pClient = g_pClient->GetClient(c); + CClient* pClient = g_pServer->GetClient(c); if (!pClient) continue; @@ -162,7 +162,7 @@ void SV_BroadcastVoiceData(CClient* cl, int nBytes, char* data) for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue; diff --git a/r5dev/game/server/physics_main.cpp b/r5dev/game/server/physics_main.cpp index 72d8d6fd..22aae7ee 100644 --- a/r5dev/game/server/physics_main.cpp +++ b/r5dev/game/server/physics_main.cpp @@ -8,6 +8,7 @@ #include "tier1/cvar.h" #include "player.h" #include "physics_main.h" +#include "engine/server/server.h" #include "engine/client/client.h" #include "game/shared/util_shared.h" @@ -21,7 +22,7 @@ void Physics_RunBotSimulation(bool bSimulating) for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue; diff --git a/r5dev/networksystem/bansystem.cpp b/r5dev/networksystem/bansystem.cpp index 31359749..9bd12bf0 100644 --- a/r5dev/networksystem/bansystem.cpp +++ b/r5dev/networksystem/bansystem.cpp @@ -7,6 +7,7 @@ #include "core/stdafx.h" #include "engine/net.h" +#include "engine/server/server.h" #include "engine/client/client.h" #include "filesystem/filesystem.h" #include "networksystem/bansystem.h" @@ -294,7 +295,7 @@ void CBanSystem::AuthorPlayerByName(const char* playerName, const bool shouldBan for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue; @@ -347,7 +348,7 @@ void CBanSystem::AuthorPlayerById(const char* playerHandle, const bool shouldBan for (int i = 0; i < g_ServerGlobalVariables->m_nMaxClients; i++) { - CClient* pClient = g_pClient->GetClient(i); + CClient* pClient = g_pServer->GetClient(i); if (!pClient) continue;