r5sdk/r5dev/client/vengineclient_impl.h
Amos d76ed1098a Improve VFTable address logging
More standardized VFTable address logging.
2023-01-25 11:19:53 +01:00

36 lines
1.3 KiB
C++

#pragma once
class CEngineClient
{
public:
void SetRestrictServerCommands(bool bRestrict);
bool GetRestrictServerCommands() const;
void SetRestrictClientCommands(bool bRestrict);
bool GetRestrictClientCommands() const;
int GetLocalPlayer(); // Local player index.
};
/* ==== CVENGINECLIENT ================================================================================================================================================== */
///////////////////////////////////////////////////////////////////////////////
inline CMemory g_pEngineClientVFTable = nullptr;
inline CEngineClient* g_pEngineClient = nullptr;
///////////////////////////////////////////////////////////////////////////////
class HVEngineClient : public IDetour
{
virtual void GetAdr(void) const
{
LogConAdr("CEngineClient::`vftable'", g_pEngineClientVFTable.GetPtr());
}
virtual void GetFun(void) const { }
virtual void GetVar(void) const { }
virtual void GetCon(void) const
{
g_pEngineClientVFTable = g_GameDll.GetVirtualMethodTable(".?AVCEngineClient@@");
g_pEngineClient = g_pEngineClientVFTable.RCast<CEngineClient*>();
}
virtual void Attach(void) const { }
virtual void Detach(void) const { }
};
///////////////////////////////////////////////////////////////////////////////