Split server/client specific game utils

Split into their respective libraries, this is to avoid linker errors regarding undefined symbols.
This commit is contained in:
Kawe Mazidjatari 2023-07-19 02:27:28 +02:00
parent 54536a2652
commit 6ccf3baa5a
9 changed files with 61 additions and 33 deletions

View File

@ -69,6 +69,8 @@ add_sources( SOURCE_GROUP "Server"
"server/player.cpp"
"server/player.h"
"server/playerlocaldata.h"
"server/util_server.cpp"
"server/util_server.h"
"server/vscript_server.cpp"
"server/vscript_server.h"
)
@ -95,6 +97,8 @@ add_sources( SOURCE_GROUP "Client"
"client/movehelper_client.cpp"
"client/movehelper_client.h"
"client/spritemodel.cpp"
"client/util_client.cpp"
"client/util_client.h"
"client/viewrender.cpp"
"client/viewrender.h"
"client/vscript_client.cpp"

View File

@ -0,0 +1,8 @@
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#include "util_client.h"
// Currently empty; add client specific game utils here...

View File

@ -0,0 +1,9 @@
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef UTIL_CLIENT_H
#define UTIL_CLIENT_H
#endif // UTIL_CLIENT_H

View File

@ -16,7 +16,7 @@
#include "entitylist.h"
#include "baseanimating.h"
#include "game/shared/usercmd.h"
#include "game/shared/util_shared.h"
#include "game/server/util_server.h"
//-----------------------------------------------------------------------------
// This is called when a new game is started. (restart, map)

View File

@ -8,9 +8,9 @@
#include "tier1/cvar.h"
#include "player.h"
#include "physics_main.h"
#include "engine/server/server.h"
#include "engine/server/server.h"
#include "engine/client/client.h"
#include "game/shared/util_shared.h"
#include "game/server/util_server.h"
//-----------------------------------------------------------------------------
// Purpose: Runs the command simulation for fake players

View File

@ -0,0 +1,25 @@
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#include "game/server/player.h"
#include "game/server/gameinterface.h"
#include "util_server.h"
//-----------------------------------------------------------------------------
// Purpose: returns the player instance by edict
//-----------------------------------------------------------------------------
CPlayer* UTIL_PlayerByIndex(int nIndex)
{
if (nIndex < 1 || nIndex >(*g_pGlobals)->m_nMaxClients || nIndex == FL_EDICT_INVALID)
{
assert(0);
return nullptr;
}
// !TODO: Improve this!!!
CPlayer* pPlayer = reinterpret_cast<CPlayer*>((*g_pGlobals)->m_pEdicts[nIndex + 0x7808]);
return pPlayer;
}

View File

@ -0,0 +1,12 @@
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef UTIL_SERVER_H
#define UTIL_SERVER_H
#include "game/server/player.h"
CPlayer* UTIL_PlayerByIndex(int nIndex);
#endif // UTIL_SERVER_H

View File

@ -5,28 +5,6 @@
//===========================================================================//
#include "core/stdafx.h"
#include "util_shared.h"
#ifndef CLIENT_DLL
#include "game/server/player.h"
#include "game/server/gameinterface.h"
#endif // !CLIENT_DLL
#ifndef CLIENT_DLL
//-----------------------------------------------------------------------------
// Purpose: returns the player instance by edict
//-----------------------------------------------------------------------------
CPlayer* UTIL_PlayerByIndex(int nIndex)
{
if (nIndex < 1 || nIndex >(*g_pGlobals)->m_nMaxClients || nIndex == FL_EDICT_INVALID)
{
assert(0);
return nullptr;
}
// !TODO: Improve this!!!
CPlayer* pPlayer = reinterpret_cast<CPlayer*>((*g_pGlobals)->m_pEdicts[nIndex + 0x7808]);
return pPlayer;
}
#endif // CLIENT_DLL
//-----------------------------------------------------------------------------
// Purpose: returns the class name, script name, and edict of the entity

View File

@ -5,16 +5,9 @@
//===========================================================================//
#ifndef UTIL_SHARED_H
#define UTIL_SHARED_H
#ifndef CLIENT_DLL
#include "game/server/player.h"
#endif
#include "public/engine/IEngineTrace.h"
class CTraceFilterSimple;
#ifndef CLIENT_DLL
CPlayer* UTIL_PlayerByIndex(int nIndex);
#endif // CLIENT_DLL
const char* UTIL_GetEntityScriptInfo(CBaseEntity* pEnt);
inline CMemory p_UTIL_GetEntityScriptInfo;
@ -46,7 +39,6 @@ private:
int m_traceType;
};
///////////////////////////////////////////////////////////////////////////////
class VUtil_Shared : public IDetour
{