31 #pragma warning (disable: 4355)
233 bool is_input_prepared =
false;
256 is_input_prepared =
true;
296 LogFatal(
"Network: could not retrieve control from C4GameControlNetwork!");
388 assert(!pPkt->
Sync());
477 if (!rCtrl.
PreExecute())
Log(
"Control: PreExecute failed for sync control!");
487 if (!pPkt->
PreExecute())
Log(
"Control: PreExecute failed for direct control!");
const int32_t C4ClientIDUnknown
const int C4MaxControlRate
const int32_t C4SyncCheckMaxKeep
const int32_t C4SyncCheckRate
C4Application Application
C4MouseControl MouseControl
const char * LoadResStr(const char *id)
bool Log(const char *szMessage)
bool LogFatal(const char *szMessage)
C4GamePadControl * pGamePadControl
void SetActivated(bool fnActivated)
C4Client * getLocal() const
C4IDPacket * firstPkt() const
void Add(C4PacketType eType, C4ControlPacket *pCtrl)
void Delete(C4IDPacket *pPkt)
C4IDPacket * nextPkt(C4IDPacket *pPkt) const
virtual bool PreExecute() const
virtual void Execute() const =0
virtual bool Sync() const
virtual bool Lobby() const
void RequestRuntimeRecord()
bool IsRuntimeRecordPossible() const
void ExecControlPacket(C4PacketType eCtrlType, class C4ControlPacket *pPkt)
C4GameControlNetwork Network
bool InitLocal(C4Client *pLocal)
bool StartRecord(bool fInitial, bool fStreaming)
C4Control * pExecutingControl
void OnGameSynchronizing()
void AdjustControlRate(int32_t iBy)
void ExecControl(const C4Control &rCtrl)
void RemoveOldSyncChecks()
bool InitNetwork(C4Client *pLocal)
bool CtrlTickReached(int32_t iTick)
int32_t getCtrlTick(int32_t iFrame) const
bool RecAddFile(const char *szLocalFilename, const char *szAddAs)
void DbgRec(C4RecordChunkType eType, const uint8_t *pData=nullptr, size_t iSize=0)
C4ControlSyncCheck * GetSyncCheck(int32_t iTick)
void DoInput(C4PacketType eCtrlType, C4ControlPacket *pPkt, C4ControlDeliveryType eDelivery)
int32_t getNextControlTick() const
void StopRecord(StdStrBuf *pRecordName=nullptr, BYTE *pRecordSHA1=nullptr)
friend class C4ControlSyncCheck
C4ControlDeliveryType DecideControlDelivery()
bool InitReplay(C4Group &rGroup)
void SetActivated(bool fActivated)
bool CtrlNeeded(int32_t iTick) const
void DoInput(const C4Control &Input)
bool CtrlOverflow(int32_t iTick) const
void SetActivated(bool fnActivated)
int32_t GetBehind(int32_t iTick) const
bool CtrlReady(int32_t iTick)
C4ControlDeliveryType DecideControlDelivery() const
bool GetControl(C4Control *pCtrl, int32_t iTick)
std::unique_ptr< C4Network2Stats > pNetworkStatistics
C4PlayerInfoList & PlayerInfos
C4GameParameters & Parameters
void Check(C4RecordChunkType eType, const uint8_t *pData, int iSize)
bool ExecuteControl(C4Control *pCtrl, int iFrame)
C4Player * GetLocalByIndex(int iIndex) const
bool StartStreaming(bool fInitial)
bool AddFile(const char *szLocalFilename, const char *szAddAs, bool fDelete=false)
bool Stop(StdStrBuf *pRecordName=nullptr, BYTE *pRecordSHA1=nullptr)
bool Rec(const C4Control &Ctrl, int iFrame)
bool Start(bool fInitial)