This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/csgo/sdk/IBaseClientDLL.h
2020-08-04 13:13:01 -04:00

78 lines
1.6 KiB
C++

#pragma once
struct RecvProp;
struct DVariant {
union {
float m_Float;
long m_Int;
char* m_pString;
void* m_pData;
float m_Vector[3];
int64_t m_Int64;
};
int m_Type;
};
struct CRecvProxyData {
const RecvProp* m_pRecvProp;
DVariant m_Value;
int m_iElement;
int m_ObjectID;
};
struct RecvTable {
RecvProp* m_pProps;
int m_nProps;
void* m_pDecoder;
char* m_pNetTableName;
bool m_bInitialized;
bool m_bInMainList;
};
typedef void (*RecvVarProxyFn)(const CRecvProxyData* pData, void* pStruct,
void* pOut);
struct RecvProp {
char* m_pVarName;
int m_RecvType;
int m_Flags;
int m_StringBufferSize;
bool m_bInsideArray;
const void* m_pExtraData;
RecvProp* m_pArrayProp;
void* m_ArrayLengthProxy;
RecvVarProxyFn m_ProxyFn;
void* m_DataTableProxyFn;
RecvTable* m_pDataTable;
int m_Offset;
int m_ElementStride;
int m_nElements;
const char* m_pParentArrayPropName;
};
class IClientNetworkable;
typedef IClientNetworkable* (*CreateClientClassFn)(int entnum, int serialNum);
typedef IClientNetworkable* (*CreateEventFn)();
class ClientClass {
public:
CreateClientClassFn m_pCreateFn;
CreateEventFn* m_pCreateEventFn;
char* m_pNetworkName;
RecvTable* m_pRecvTable;
ClientClass* m_pNext;
int m_ClassID;
};
class IBaseClientDLL {
public:
ClientClass* GetAllClasses() {
typedef ClientClass* (*oGetAllClasses)(void*);
return getvfunc<oGetAllClasses>(this, 8)(this);
}
};