18 #ifndef INC_C4GameControlNetwork
19 #define INC_C4GameControlNetwork
130 void SetRunning(
bool fnRunning, int32_t inTargetTick = -1);
162 void ClearCtrl(int32_t iBeforeTick = -1);
const int32_t C4ClientIDUnknown
const int32_t C4ControlOverflowLimit
const int32_t C4ClientIDAll
const int32_t C4MaxPreSend
const uint32_t C4ControlRequestInterval
const int32_t C4ControlBacklog
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
C4GameControlClient * pNext
void AddPerf(int32_t iTime)
int32_t getNextControl() const
const char * getName() const
int32_t getPerfStat() const
void SetNextControl(int32_t inNextControl)
int32_t getClientID() const
void Set(int32_t iClientID, const char *szName)
C4GameControlPacket * PackCompleteCtrl(int32_t iTick)
C4GameControlPacket * pSyncCtrlQueue
void ExecQueuedSyncCtrl()
void AddClient(int32_t iClientID, const char *szName)
C4TimeMilliseconds tNextControlRequest
C4GameControlNetworkMode eMode
int32_t ClientNextControl(int32_t iClientID)
C4GameControl *const pParent
int32_t ClientPerfStat(int32_t iClientID)
volatile int32_t iControlPreSend
C4TimeMilliseconds tWaitStart
void HandleControlPkt(C4PacketType eCtrlType, C4ControlPacket *pPkt, enum C4ControlDeliveryType eType)
void ClearCtrl(int32_t iBeforeTick=-1)
bool CtrlNeeded(int32_t iTick) const
void setControlPreSend(int32_t iToVal)
void CalcPerformance(int32_t iCtrlTick)
void DoInput(const C4Control &Input)
C4GameControlClient * getClient(int32_t iID)
int32_t getAvgControlSendTime() const
void SetCtrlMode(C4GameControlNetworkMode enMode)
C4GameControlClient * pClients
int32_t getControlPreSend() const
C4GameControlNetwork(class C4GameControl *pParent)
bool CtrlOverflow(int32_t iTick) const
void SetActivated(bool fnActivated)
void CopyClientList(const C4ClientList &rClients)
void SetRunning(bool fnRunning, int32_t inTargetTick=-1)
int32_t GetBehind(int32_t iTick) const
bool Init(int32_t iClientID, bool fHost, int32_t iStartTick, bool fActivated, C4Network2 *pNetwork)
void HandlePacket(char cStatus, const C4PacketBase *pPacket, C4Network2IOConnection *pConn)
bool CtrlReady(int32_t iTick)
void setTargetFPS(int32_t iToVal)
C4GameControlPacket * getCtrl(int32_t iClientID, int32_t iCtrlTick)
void AddSyncCtrlToQueue(const C4Control &Ctrl, int32_t iTick)
C4ControlDeliveryType DecideControlDelivery() const
void HandleControlReq(const C4PacketControlReq &rPkt, C4Network2IOConnection *pConn)
bool GetControl(C4Control *pCtrl, int32_t iTick)
bool ClientReady(int32_t iClientID, int32_t iTick)
void AddCtrl(C4GameControlPacket *pCtrl)
void CheckCompleteCtrl(bool fSetEvent)
void RemoveClient(int32_t iClientID)
void HandleControl(int32_t iByClientID, const C4GameControlPacket &rPkt)
C4GameControlPacket * pCtrlStack
volatile int32_t iControlReady
volatile int32_t iControlSent
void OnResComplete(C4Network2Res *pRes)
int32_t iAvgControlSendTime
C4GameControlNetworkMode GetCtrlMode() const
int32_t getClientID() const
const C4Control & getControl() const
void Add(const C4GameControlPacket &Ctrl)
void Set(int32_t iClientID, int32_t iCtrlTick)
C4TimeMilliseconds getTime() const
C4GameControlPacket * pNext
void CompileFunc(StdCompiler *pComp) override
int32_t getCtrlTick() const
C4GameControlPacket & operator=(const C4GameControlPacket &Pkt2)
const C4IDPacket & getCtrl() const
void CompileFunc(StdCompiler *pComp) override
C4PacketControlPkt(enum C4ControlDeliveryType eDelivery, const C4IDPacket &Ctrl)
C4PacketControlPkt()=default
C4ControlDeliveryType getDelivery() const
int32_t getCtrlTick() const
void CompileFunc(StdCompiler *pComp) override
C4PacketControlReq(int32_t iCtrlTick=-1)
void CompileFunc(StdCompiler *pComp) override
C4PacketExecSyncCtrl(int32_t iControlTick=~0)
int32_t getControlTick() const
void Value(const T &rStruct)