mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
CClient array is part of the CPlayer class. The array has been added, filling up most of the 'unknown' gap. Vtable override functions have been added as the array is static, and therefore requires an implementation of the vtable, these are just stubs however, since the vtable pointer points to the implementation in the engine.
81 lines
2.3 KiB
C++
81 lines
2.3 KiB
C++
#ifndef INETCHANNEL_H
|
|
#define INETCHANNEL_H
|
|
|
|
#define NET_FRAMES_BACKUP 128
|
|
#define FLOW_OUTGOING 0
|
|
#define FLOW_INCOMING 1
|
|
#define MAX_FLOWS 2 // in & out
|
|
#include "tier1/NetAdr.h"
|
|
|
|
class IClientMessageHandler
|
|
{
|
|
public:
|
|
virtual ~IClientMessageHandler(void) {};
|
|
virtual void* ProcessStringCmd(void) = 0;
|
|
virtual void* ProcessScriptMessage(void) = 0;
|
|
virtual void* ProcessSetConVar(void) = 0;
|
|
virtual bool nullsub_0(void) = 0;
|
|
virtual char ProcessSignonState(void* msg) = 0; // NET_SignonState
|
|
virtual void* ProcessMove(void) = 0;
|
|
virtual void* ProcessVoiceData(void) = 0;
|
|
virtual void* ProcessDurangoVoiceData(void) = 0;
|
|
virtual bool nullsub_1(void) = 0;
|
|
virtual void* ProcessLoadingProgress(void) = 0;
|
|
virtual void* ProcessPersistenceRequestSave(void) = 0;
|
|
virtual bool nullsub_2(void) = 0;
|
|
virtual bool nullsub_3(void) = 0;
|
|
virtual void* ProcessSetPlaylistVarOverride(void) = 0;
|
|
virtual void* ProcessClaimClientSidePickup(void) = 0;
|
|
virtual void* ProcessCmdKeyValues(void) = 0;
|
|
virtual void* ProcessClientTick(void) = 0;
|
|
virtual void* ProcessClientSayText(void) = 0;
|
|
virtual bool nullsub_4(void) = 0;
|
|
virtual bool nullsub_5(void) = 0;
|
|
virtual bool nullsub_6(void) = 0;
|
|
virtual void* ProcessScriptMessageChecksum(void) = 0;
|
|
};
|
|
|
|
class INetChannelHandler
|
|
{
|
|
public:
|
|
virtual ~INetChannelHandler(void) {};
|
|
virtual void*ConnectionStart(INetChannelHandler* chan) = 0;
|
|
virtual void ConnectionClosing(const char* reason, int unk) = 0;
|
|
virtual void ConnectionCrashed(const char* reason) = 0;
|
|
virtual void PacketStart(int incoming_sequence, int outgoing_acknowledged) = 0;
|
|
virtual void PacketEnd(void) = 0;
|
|
virtual void FileRequested(const char* fileName, unsigned int transferID) = 0;
|
|
virtual void ChannelDisconnect(const char* fileName) = 0;
|
|
};
|
|
|
|
struct CS_INetChannelHandler : INetChannelHandler
|
|
{};
|
|
|
|
typedef struct netpacket_s
|
|
{
|
|
netadr_t from;
|
|
int source;
|
|
double received;
|
|
uint8_t* pData;
|
|
bf_read message;
|
|
int size;
|
|
int wiresize;
|
|
char stream;
|
|
netpacket_s* pNext;
|
|
} netpacket_t;
|
|
static_assert(sizeof(netpacket_t) == 0x88);
|
|
|
|
typedef struct nettick_s
|
|
{
|
|
int m_nServerTick;
|
|
int m_nClientTick;
|
|
float m_flHostFrameTime;
|
|
float m_flHostFrameTimeStdDeviation;
|
|
bool m_bStruggling;
|
|
uint8_t m_nServerCPU;
|
|
int m_nCommandTick;
|
|
} nettick_t;
|
|
static_assert(sizeof(nettick_s) == 0x18);
|
|
|
|
#endif // !INETCHANNEL_H
|