2022-10-13 16:48:56 +02:00
|
|
|
#pragma once
|
|
|
|
|
2023-01-20 17:20:50 +01:00
|
|
|
#include "public/engine/IEngineTrace.h"
|
|
|
|
#include "public/cmodel.h"
|
|
|
|
#include "public/trace.h"
|
2022-10-13 16:48:56 +02:00
|
|
|
#include "mathlib/mathlib.h"
|
|
|
|
|
2023-01-20 17:20:50 +01:00
|
|
|
class CEngineTrace : public IEngineTrace
|
2023-01-21 16:24:36 +01:00
|
|
|
{};
|
2022-10-13 16:48:56 +02:00
|
|
|
|
|
|
|
/* ==== CENGINETRACE ======================================================================================================================================================= */
|
2023-01-21 16:24:36 +01:00
|
|
|
#ifndef CLIENT_DLL
|
|
|
|
class CEngineTraceServer : public CEngineTrace
|
|
|
|
{};
|
|
|
|
inline CEngineTraceServer* g_pEngineTraceServer = nullptr;
|
|
|
|
inline CEngineTraceServer* g_pEngineTraceServerVFTable = nullptr;
|
|
|
|
#endif // CLIENT_DLL
|
|
|
|
#ifndef DEDICATED
|
2022-10-13 16:48:56 +02:00
|
|
|
|
2023-01-21 16:24:36 +01:00
|
|
|
class CEngineTraceClient : public CEngineTrace
|
|
|
|
{};
|
|
|
|
inline CEngineTraceClient* g_pEngineTraceClient = nullptr;
|
|
|
|
#endif // DEDICATED
|
2022-10-13 16:48:56 +02:00
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2023-01-20 17:20:50 +01:00
|
|
|
class VEngineTrace : public IDetour
|
2022-10-13 16:48:56 +02:00
|
|
|
{
|
2023-01-21 16:24:36 +01:00
|
|
|
virtual void GetAdr(void) const
|
|
|
|
{
|
|
|
|
#ifndef CLIENT_DLL
|
2024-01-02 15:21:36 +01:00
|
|
|
LogVarAdr("g_pEngineTraceServer", g_pEngineTraceServer);
|
2023-01-21 16:24:36 +01:00
|
|
|
#endif // CLIENT_DLL
|
|
|
|
#ifndef DEDICATED
|
2024-01-02 15:21:36 +01:00
|
|
|
LogVarAdr("g_pEngineTraceClient", g_pEngineTraceClient);
|
2023-01-21 16:24:36 +01:00
|
|
|
#endif // DEDICATED
|
|
|
|
}
|
2022-10-13 16:48:56 +02:00
|
|
|
virtual void GetFun(void) const { }
|
|
|
|
virtual void GetVar(void) const { }
|
2023-01-21 16:24:36 +01:00
|
|
|
virtual void GetCon(void) const
|
|
|
|
{
|
|
|
|
#ifndef CLIENT_DLL
|
|
|
|
g_pEngineTraceServerVFTable = g_GameDll.GetVirtualMethodTable(".?AVCEngineTraceServer@@").RCast<CEngineTraceServer*>();
|
|
|
|
g_pEngineTraceServer = reinterpret_cast<CEngineTraceServer*>(&g_pEngineTraceServerVFTable); // Must be done for virtual calls.
|
|
|
|
#endif // CLIENT_DLL
|
|
|
|
}
|
2023-11-26 13:21:20 +01:00
|
|
|
virtual void Detour(const bool bAttach) const { }
|
2022-10-13 16:48:56 +02:00
|
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|