Initial commit.

* Beginning reconstruction of Source SDK.

Signed-off-by: aixxe <me@aixxe.net>
This commit is contained in:
aixxe
2016-12-19 16:52:02 +00:00
commit 5d3e60ddd3
19 changed files with 568 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
#pragma once
class CSaveRestoreData;
class CGlobalVarsBase {
public:
float realtime;
int framecount;
float absoluteframetime;
float curtime;
float frametime;
int maxClients;
int tickcount;
float interval_per_tick;
float interpolation_amount;
int simTicksThisFrame;
int network_protocol;
CSaveRestoreData* pSaveData;
private:
bool m_bClient;
int nTimestampNetworkingBase;
int nTimestampRandomizeWindow;
};

View File

@@ -0,0 +1,10 @@
#pragma once
class CUserCmd;
class CInput {
public:
CUserCmd* GetUserCmd(int index) {
return GetVirtualFunction<CUserCmd*(*)(CInput*, int)>(this, 8)(this, index);
}
};

View File

@@ -0,0 +1,21 @@
#pragma once
class CUserCmd {
virtual ~CUserCmd() {};
public:
int command_number;
int tick_count;
QAngle viewangles;
float forwardmove;
float sidemove;
float upmove;
int buttons;
unsigned char impulse;
int weaponselect;
int weaponsubtype;
int random_seed;
short mousedx;
short mousedy;
bool hasbeenpredicted;
};

View File

@@ -0,0 +1,20 @@
#pragma once
class IClientNetworkable;
class RecvTable;
typedef IClientNetworkable* (*CreateClientClassFn) (int, int);
typedef IClientNetworkable* (*CreateEventFn) (void);
class ClientClass {
public:
CreateClientClassFn m_pCreateFn;
CreateEventFn m_pCreateEventFn;
char* m_pNetworkName;
RecvTable* m_pRecvTable;
ClientClass* m_pNext;
int m_nClassID;
};

View File

@@ -0,0 +1,11 @@
#pragma once
typedef void* (*CreateInterfaceFn) (const char*, int*);
typedef void* (*InstantiateInterfaceFn) ();
class InterfaceReg {
public:
InstantiateInterfaceFn m_CreateFn;
const char* m_pName;
InterfaceReg* m_pNext;
};

View File

@@ -0,0 +1,67 @@
#pragma once
class RecvTable;
struct CRecvProxyData;
typedef void (*RecvVarProxyFn) (const CRecvProxyData*, void*, void*);
enum SendPropType: int {
DPT_Int = 0,
DPT_Float,
DPT_Vector,
DPT_VectorXY,
DPT_String,
DPT_Array,
DPT_DataTable,
DPT_Int64,
DPT_NUMSendPropTypes
};
class RecvProp {
public:
char* m_pVarName;
SendPropType m_RecvType;
int m_Flags;
int m_StringBufferSize;
bool m_bInsideArray;
const void* m_pExtraData;
RecvProp* m_pArrayProp;
void* m_ArrayLengthProxy;
void* m_ProxyFn;
void* m_DataTableProxyFn;
RecvTable* m_pDataTable;
int m_Offset;
int m_ElementStride;
int m_nElements;
const char* m_pParentArrayPropName;
};
class RecvTable {
public:
RecvProp* m_pProps;
int m_nProps;
void* m_pDecoder;
char* m_pNetTableName;
bool m_bInitialized;
bool m_bInMainList;
};
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;
};