entity structs

This commit is contained in:
quaK 2022-06-11 03:51:06 +03:00
parent 9e9428997a
commit 745486e18c
2 changed files with 63 additions and 2 deletions

View File

@ -115,8 +115,7 @@ namespace game
dvar_limits domain; // 64
char unk2; // 80 always 0?
void* unk3; // 88 some pointer related to hash?
};
static_assert(sizeof(dvar_t) == 96);
}; static_assert(sizeof(dvar_t) == 96);
enum svscmd_type
{
@ -340,6 +339,60 @@ namespace game
unsigned int addrHandleIndex;
};
namespace entity
{
struct entityState_t
{
__int16 number; // 0
}; // sizeof = ?
struct gclient_s
{
char __pad0[19376];
char name[32]; // 19376
char __pad1[1516];
int flags; // 20924
}; // sizeof = 29208?
static_assert(offsetof(gclient_s, name) == 19376);
static_assert(offsetof(gclient_s, flags) == 20924);
#pragma pack(push, 1)
struct gentity_s
{
entityState_t s; // 0
char __pad0[368 - sizeof(entityState_t)];
gclient_s* client; // 368
char __pad1[80];
int flags; // 456
char __pad3[556];
}; static_assert(sizeof(gentity_s) == 1016);
#pragma pack(pop)
static_assert(offsetof(gentity_s, client) == 368);
static_assert(offsetof(gentity_s, flags) == 456);
struct clientHeader_t
{
char __pad0[8];
int state; // 8
}; // sizeof = ?
struct client_t
{
clientHeader_t header; // 0
char __pad0[124];
gentity_s* gentity; // 136
char __pad1[1044];
char name[32]; // 1188
char __pad2[714196];
}; static_assert(sizeof(client_t) == 715416);
static_assert(offsetof(client_t, gentity) == 136);
static_assert(offsetof(client_t, name) == 1188);
}
using namespace entity;
namespace assets
{
enum XAssetType : std::int32_t

View File

@ -70,7 +70,10 @@ namespace game
WEAK symbol<ScreenPlacement* ()> ScrPlace_GetViewPlacement{ 0x9E4090 };
WEAK symbol<void(const char* string)> SV_Cmd_TokenizeString{ 0xB7DD00 };
WEAK symbol<void()> SV_Cmd_EndTokenizedString{ 0xB7DCC0 };
WEAK symbol<void(int clientNum, svscmd_type type, const char* text)> SV_GameSendServerCommand{ 0xC54780 };
WEAK symbol<bool()> SV_Loaded{ 0xC114C0 };
/***************************************************************
* Variables
@ -85,4 +88,9 @@ namespace game
WEAK symbol<int> dvarCount{ 0x7595E54 };
WEAK symbol<dvar_t*> dvarPool{ 0x7595E60 };
WEAK symbol<gentity_s> g_entities{ 0x3D22610 };
WEAK symbol<int> svs_numclients{ 0x6B229E0 };
WEAK symbol<client_t> svs_clients{ 0x6B22950 };
}