mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Start of C_Player reversing
This commit is contained in:
parent
65cbdb5465
commit
f314b9b4e7
@ -30,6 +30,7 @@ class HVEngineClient : public IDetour
|
||||
virtual void GetAdr(void) const
|
||||
{
|
||||
spdlog::debug("| FUN: IVEngineClient::CommandExecute : {:#18x} |\n", p_CEngineClient_CommandExecute.GetPtr());
|
||||
spdlog::debug("| FUN: IVEngineClient::GetLocalPlayer : {:#18x} |\n", p_CEngineClient_GetLocalPlayer.GetPtr());
|
||||
spdlog::debug("| VAR: m_bRestrictServerCommands : {:#18x} |\n", reinterpret_cast<uintptr_t>(m_bRestrictServerCommands));
|
||||
spdlog::debug("| VAR: m_bRestrictClientCommands : {:#18x} |\n", reinterpret_cast<uintptr_t>(m_bRestrictClientCommands));
|
||||
spdlog::debug("| CON: g_ppEngineClient : {:#18x} |\n", reinterpret_cast<uintptr_t>(g_ppEngineClient));
|
||||
|
0
r5dev/game/client/animationlayer.h
Normal file
0
r5dev/game/client/animationlayer.h
Normal file
0
r5dev/game/client/c_baseanimating.h
Normal file
0
r5dev/game/client/c_baseanimating.h
Normal file
0
r5dev/game/client/c_basecharacter.h
Normal file
0
r5dev/game/client/c_basecharacter.h
Normal file
11
r5dev/game/client/c_baseentity.cpp
Normal file
11
r5dev/game/client/c_baseentity.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
//====== Copyright 1996-2005, Valve Corporation, All rights reserved. =======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//===========================================================================//
|
||||
|
||||
#include "core/stdafx.h"
|
||||
#include "game/client/c_baseentity.h"
|
||||
#include "game/client/c_baseplayer.h"
|
||||
|
51
r5dev/game/client/c_baseplayer.h
Normal file
51
r5dev/game/client/c_baseplayer.h
Normal file
@ -0,0 +1,51 @@
|
||||
#ifndef C_BASEPLAYER_H
|
||||
#define C_BASEPLAYER_H
|
||||
|
||||
#include "public/include/icliententity.h"
|
||||
#include "public/include/icliententitylist.h"
|
||||
#include "public/include/iclientnetworkable.h"
|
||||
#include "public/include/iclientrenderable.h"
|
||||
#include "public/include/iclientthinkable.h"
|
||||
#include "public/include/iclientunknown.h"
|
||||
#include "public/include/ihandleentity.h"
|
||||
#include "public/include/ivscript.h"
|
||||
|
||||
|
||||
class C_BaseCombatCharacter
|
||||
{
|
||||
int m_nPredictionData; // Unk
|
||||
//int unk; // Padding?
|
||||
};
|
||||
|
||||
class C_BaseEntity : public IClientEntity
|
||||
{
|
||||
const char* m_pszModelName;
|
||||
int unk0;
|
||||
char pad[4]; // unk;
|
||||
HSCRIPT m_hScriptInstance;
|
||||
const char* m_iszScriptId;
|
||||
};
|
||||
|
||||
|
||||
class C_BaseAnimating : public C_BaseEntity
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class C_BaseAnimatingOverlay : public C_BaseAnimating
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class C_Player : public C_BaseCombatCharacter, public C_BaseAnimatingOverlay
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
void F()
|
||||
{
|
||||
sizeof(C_Player);
|
||||
}
|
||||
|
||||
#endif // C_BASEPLAYER_H
|
@ -1,6 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
class IClientNetworkable;
|
||||
#include "public/include/iclientnetworkable.h"
|
||||
|
||||
typedef IClientNetworkable* (*CreateClientClassFn)(int entNum, int serialNum);
|
||||
typedef IClientNetworkable* (*CreateEventFn)();
|
||||
|
15
r5dev/public/include/icliententity.h
Normal file
15
r5dev/public/include/icliententity.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef ICLIENTENTITY_H
|
||||
#define ICLIENTENTITY_H
|
||||
|
||||
#include "iclientunknown.h"
|
||||
#include "iclientrenderable.h"
|
||||
#include "iclientnetworkable.h"
|
||||
#include "iclientthinkable.h"
|
||||
|
||||
class IClientEntity : public IClientUnknown, public IClientRenderable, public IClientNetworkable, public IClientThinkable
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
|
||||
#endif // ICLIENTENTITY_H
|
@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
#include "iclientnetworkable.h"
|
||||
#include "icliententity.h"
|
||||
|
||||
using CBaseHandle = unsigned long;
|
||||
class IClientNetworkable;
|
||||
class IClientEntity;
|
||||
|
||||
class IClientEntityList // Fully reversed beside index 0 which is probably a destructor.
|
||||
{
|
||||
|
9
r5dev/public/include/iclientnetworkable.h
Normal file
9
r5dev/public/include/iclientnetworkable.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef ICLIENTNETWORKABLE_H
|
||||
#define ICLIENTNETWORKABLE_H
|
||||
|
||||
class IClientNetworkable
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
#endif // ICLIENTNETWORKABLE_H
|
25
r5dev/public/include/iclientrenderable.h
Normal file
25
r5dev/public/include/iclientrenderable.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef ICLIENTRENDERABLE_H
|
||||
#define ICLIENTRENDERABLE_H
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Handle to an renderable in the client leaf system
|
||||
//-----------------------------------------------------------------------------
|
||||
typedef unsigned short ClientRenderHandle_t;
|
||||
|
||||
enum
|
||||
{
|
||||
INVALID_CLIENT_RENDER_HANDLE = (ClientRenderHandle_t)0xffff,
|
||||
};
|
||||
|
||||
class IClientRenderable
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
class IClientModelRenderable
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
|
||||
#endif // ICLIENTRENDERABLE_H
|
9
r5dev/public/include/iclientthinkable.h
Normal file
9
r5dev/public/include/iclientthinkable.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef ICLIENTTHINKABLE_H
|
||||
#define ICLIENTTHINKABLE_H
|
||||
|
||||
class IClientThinkable
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
#endif // ICLIENTTHINKABLE_H
|
10
r5dev/public/include/iclientunknown.h
Normal file
10
r5dev/public/include/iclientunknown.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef ICLIENTUNKNOWN_H
|
||||
#define ICLIENTUNKNOWN_H
|
||||
|
||||
class IClientUnknown
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
|
||||
#endif // ICLIENTUNKNOWN_H
|
9
r5dev/public/include/ihandleentity.h
Normal file
9
r5dev/public/include/ihandleentity.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef IHANDLEENTITY_H
|
||||
#define IHANDLEENTITY_H
|
||||
|
||||
class IHandleEntity
|
||||
{
|
||||
void* __vftable /*VFT*/;
|
||||
};
|
||||
|
||||
#endif // IHANDLEENTITY_H
|
22
r5dev/public/include/ivscript.h
Normal file
22
r5dev/public/include/ivscript.h
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef IVSCRIPT_H
|
||||
#define IVSCRIPT_H
|
||||
|
||||
enum ScriptLanguage_t
|
||||
{
|
||||
SL_NONE,
|
||||
SL_GAMEMONKEY,
|
||||
SL_SQUIRREL,
|
||||
SL_LUA,
|
||||
SL_PYTHON,
|
||||
|
||||
SL_DEFAULT = SL_SQUIRREL
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
DECLARE_POINTER_HANDLE(HSCRIPT);
|
||||
#define INVALID_HSCRIPT ((HSCRIPT)-1)
|
||||
|
||||
#endif // IVSCRIPT_H
|
@ -268,3 +268,78 @@ struct vrect_t
|
||||
|
||||
constexpr int MAX_NETCONSOLE_INPUT_LEN = 4096;
|
||||
constexpr int MSG_NOSIGNAL = 0;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Declares a type-safe handle type; you can't assign one handle to the next
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// 32-bit pointer handles.
|
||||
|
||||
// Typesafe 8-bit and 16-bit handles.
|
||||
template< class HandleType >
|
||||
class CBaseIntHandle
|
||||
{
|
||||
public:
|
||||
|
||||
inline bool operator==(const CBaseIntHandle& other) { return m_Handle == other.m_Handle; }
|
||||
inline bool operator!=(const CBaseIntHandle& other) { return m_Handle != other.m_Handle; }
|
||||
|
||||
// Only the code that doles out these handles should use these functions.
|
||||
// Everyone else should treat them as a transparent type.
|
||||
inline HandleType GetHandleValue() { return m_Handle; }
|
||||
inline void SetHandleValue(HandleType val) { m_Handle = val; }
|
||||
|
||||
typedef HandleType HANDLE_TYPE;
|
||||
|
||||
protected:
|
||||
|
||||
HandleType m_Handle;
|
||||
};
|
||||
|
||||
template< class DummyType >
|
||||
class CIntHandle16 : public CBaseIntHandle< unsigned short >
|
||||
{
|
||||
public:
|
||||
inline CIntHandle16() {}
|
||||
|
||||
static inline CIntHandle16<DummyType> MakeHandle(HANDLE_TYPE val)
|
||||
{
|
||||
return CIntHandle16<DummyType>(val);
|
||||
}
|
||||
|
||||
protected:
|
||||
inline CIntHandle16(HANDLE_TYPE val)
|
||||
{
|
||||
m_Handle = val;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
template< class DummyType >
|
||||
class CIntHandle32 : public CBaseIntHandle< uint32 >
|
||||
{
|
||||
public:
|
||||
inline CIntHandle32() {}
|
||||
|
||||
static inline CIntHandle32<DummyType> MakeHandle(HANDLE_TYPE val)
|
||||
{
|
||||
return CIntHandle32<DummyType>(val);
|
||||
}
|
||||
|
||||
protected:
|
||||
inline CIntHandle32(HANDLE_TYPE val)
|
||||
{
|
||||
m_Handle = val;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// NOTE: This macro is the same as windows uses; so don't change the guts of it
|
||||
#define DECLARE_HANDLE_16BIT(name) typedef CIntHandle16< struct name##__handle * > name;
|
||||
#define DECLARE_HANDLE_32BIT(name) typedef CIntHandle32< struct name##__handle * > name;
|
||||
|
||||
#define DECLARE_POINTER_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
|
||||
#define FORWARD_DECLARE_HANDLE(name) typedef struct name##__ *name
|
||||
|
||||
#define DECLARE_DERIVED_POINTER_HANDLE( _name, _basehandle ) struct _name##__ : public _basehandle##__ {}; typedef struct _name##__ *_name
|
||||
#define DECLARE_ALIASED_POINTER_HANDLE( _name, _alias ) typedef struct _alias##__ *name
|
@ -51,6 +51,7 @@
|
||||
<ClCompile Include="..\filesystem\filesystem.cpp" />
|
||||
<ClCompile Include="..\gameui\IConsole.cpp" />
|
||||
<ClCompile Include="..\gameui\IBrowser.cpp" />
|
||||
<ClCompile Include="..\game\client\c_baseentity.cpp" />
|
||||
<ClCompile Include="..\game\client\spritemodel.cpp" />
|
||||
<ClCompile Include="..\game\shared\animation.cpp" />
|
||||
<ClCompile Include="..\inputsystem\inputsystem.cpp" />
|
||||
@ -190,6 +191,7 @@
|
||||
<ClInclude Include="..\gameui\IConsole.h" />
|
||||
<ClInclude Include="..\gameui\IBrowser.h" />
|
||||
<ClInclude Include="..\game\client\c_baseentity.h" />
|
||||
<ClInclude Include="..\game\client\c_baseplayer.h" />
|
||||
<ClInclude Include="..\game\client\enginesprite.h" />
|
||||
<ClInclude Include="..\game\client\hud.h" />
|
||||
<ClInclude Include="..\game\shared\animation.h" />
|
||||
@ -233,11 +235,18 @@
|
||||
<ClInclude Include="..\public\include\const.h" />
|
||||
<ClInclude Include="..\public\include\edict.h" />
|
||||
<ClInclude Include="..\public\include\globalvars_base.h" />
|
||||
<ClInclude Include="..\public\include\icliententity.h" />
|
||||
<ClInclude Include="..\public\include\iclientnetworkable.h" />
|
||||
<ClInclude Include="..\public\include\iclientrenderable.h" />
|
||||
<ClInclude Include="..\public\include\iclientthinkable.h" />
|
||||
<ClInclude Include="..\public\include\iclientunknown.h" />
|
||||
<ClInclude Include="..\public\include\icommandline.h" />
|
||||
<ClInclude Include="..\public\include\idebugoverlay.h" />
|
||||
<ClInclude Include="..\public\include\ihandleentity.h" />
|
||||
<ClInclude Include="..\public\include\inetchannel.h" />
|
||||
<ClInclude Include="..\public\include\inetmsghandler.h" />
|
||||
<ClInclude Include="..\public\include\ivrenderview.h" />
|
||||
<ClInclude Include="..\public\include\ivscript.h" />
|
||||
<ClInclude Include="..\public\include\memaddr.h" />
|
||||
<ClInclude Include="..\public\include\binstream.h" />
|
||||
<ClInclude Include="..\public\include\httplib.h" />
|
||||
|
@ -555,6 +555,9 @@
|
||||
<ClCompile Include="..\tier0\threadtools.cpp">
|
||||
<Filter>sdk\tier0</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\game\client\c_baseentity.cpp">
|
||||
<Filter>sdk\game\client</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\client\cdll_engine_int.h">
|
||||
@ -1613,6 +1616,30 @@
|
||||
<ClInclude Include="..\tier0\memstd.h">
|
||||
<Filter>sdk\tier0</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\game\client\c_baseplayer.h">
|
||||
<Filter>sdk\game\client</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientrenderable.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientthinkable.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientunknown.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\ihandleentity.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientnetworkable.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\icliententity.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\ivscript.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="..\shared\resource\lockedserver.png">
|
||||
|
@ -219,6 +219,7 @@
|
||||
<ClInclude Include="..\public\include\inetchannel.h" />
|
||||
<ClInclude Include="..\public\include\inetmsghandler.h" />
|
||||
<ClInclude Include="..\public\include\iserver.h" />
|
||||
<ClInclude Include="..\public\include\ivscript.h" />
|
||||
<ClInclude Include="..\public\include\memaddr.h" />
|
||||
<ClInclude Include="..\public\include\bansystem.h" />
|
||||
<ClInclude Include="..\public\include\binstream.h" />
|
||||
|
@ -1173,6 +1173,9 @@
|
||||
<ClInclude Include="..\tier0\memstd.h">
|
||||
<Filter>sdk\tier0</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\ivscript.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\common\opcodes.cpp">
|
||||
|
@ -53,6 +53,7 @@
|
||||
<ClCompile Include="..\filesystem\filesystem.cpp" />
|
||||
<ClCompile Include="..\gameui\IConsole.cpp" />
|
||||
<ClCompile Include="..\gameui\IBrowser.cpp" />
|
||||
<ClCompile Include="..\game\client\c_baseentity.cpp" />
|
||||
<ClCompile Include="..\game\client\spritemodel.cpp" />
|
||||
<ClCompile Include="..\game\server\ai_network.cpp" />
|
||||
<ClCompile Include="..\game\server\ai_networkmanager.cpp" />
|
||||
@ -201,6 +202,7 @@
|
||||
<ClInclude Include="..\gameui\IConsole.h" />
|
||||
<ClInclude Include="..\gameui\IBrowser.h" />
|
||||
<ClInclude Include="..\game\client\c_baseentity.h" />
|
||||
<ClInclude Include="..\game\client\c_baseplayer.h" />
|
||||
<ClInclude Include="..\game\client\enginesprite.h" />
|
||||
<ClInclude Include="..\game\client\hud.h" />
|
||||
<ClInclude Include="..\game\server\ai_network.h" />
|
||||
@ -254,13 +256,20 @@
|
||||
<ClInclude Include="..\public\include\const.h" />
|
||||
<ClInclude Include="..\public\include\edict.h" />
|
||||
<ClInclude Include="..\public\include\globalvars_base.h" />
|
||||
<ClInclude Include="..\public\include\icliententity.h" />
|
||||
<ClInclude Include="..\public\include\icliententitylist.h" />
|
||||
<ClInclude Include="..\public\include\iclientnetworkable.h" />
|
||||
<ClInclude Include="..\public\include\iclientrenderable.h" />
|
||||
<ClInclude Include="..\public\include\iclientthinkable.h" />
|
||||
<ClInclude Include="..\public\include\iclientunknown.h" />
|
||||
<ClInclude Include="..\public\include\icommandline.h" />
|
||||
<ClInclude Include="..\public\include\idebugoverlay.h" />
|
||||
<ClInclude Include="..\public\include\ihandleentity.h" />
|
||||
<ClInclude Include="..\public\include\inetchannel.h" />
|
||||
<ClInclude Include="..\public\include\inetmsghandler.h" />
|
||||
<ClInclude Include="..\public\include\iserver.h" />
|
||||
<ClInclude Include="..\public\include\ivrenderview.h" />
|
||||
<ClInclude Include="..\public\include\ivscript.h" />
|
||||
<ClInclude Include="..\public\include\memaddr.h" />
|
||||
<ClInclude Include="..\public\include\bansystem.h" />
|
||||
<ClInclude Include="..\public\include\binstream.h" />
|
||||
|
@ -591,6 +591,9 @@
|
||||
<ClCompile Include="..\server\persistence.cpp">
|
||||
<Filter>sdk\server</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\game\client\c_baseentity.cpp">
|
||||
<Filter>sdk\game\client</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\client\cdll_engine_int.h">
|
||||
@ -1697,6 +1700,30 @@
|
||||
<ClInclude Include="..\tier0\memstd.h">
|
||||
<Filter>sdk\tier0</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\game\client\c_baseplayer.h">
|
||||
<Filter>sdk\game\client</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\icliententity.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientthinkable.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientunknown.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\ihandleentity.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientnetworkable.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\iclientrenderable.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\public\include\ivscript.h">
|
||||
<Filter>sdk\public\include</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="..\shared\resource\lockedserver.png">
|
||||
|
Loading…
x
Reference in New Issue
Block a user