DDraceNetwork Docs
CClient Class Reference

#include <client.h>

Inheritance diagram for CClient:
[legend]
Collaboration diagram for CClient:
[legend]

Classes

struct  CVersionInfo
 

Public Member Functions

IConfigManagerConfigManager ()
 
CConfigConfig ()
 
IDiscordDiscord ()
 
IEngineEngine ()
 
IGameClientGameClient ()
 
IEngineGraphicsGraphics ()
 
IEngineInputInput ()
 
IEngineSoundSound ()
 
ISteamSteam ()
 
INotificationsNotifications ()
 
IStorageStorage ()
 
IEngineTextRenderTextRender ()
 
IUpdaterUpdater ()
 
IHttpHttp ()
 
 CClient ()
 
int SendMsg (int Conn, CMsgPacker *pMsg, int Flags) override
 
int SendMsgActive (CMsgPacker *pMsg, int Flags) override
 
void SendInfo (int Conn)
 
void SendEnterGame (int Conn)
 
void SendReady (int Conn)
 
void SendMapRequest ()
 
bool RconAuthed () const override
 
bool UseTempRconCommands () const override
 
void RconAuth (const char *pName, const char *pPassword, bool Dummy=g_Config.m_ClDummy) override
 
void Rcon (const char *pCmd) override
 
bool ReceivingRconCommands () const override
 
float GotRconCommandsPercentage () const override
 
bool ConnectionProblems () const override
 
IGraphics::CTextureHandle GetDebugFont () const override
 
void SendInput ()
 
int * GetInput (int Tick, int IsDummy) const override
 
const char * LatestVersion () const override
 
void SetState (EClientState State)
 
void OnEnterGame (bool Dummy)
 
void EnterGame (int Conn) override
 
void Connect (const char *pAddress, const char *pPassword=nullptr) override
 
void DisconnectWithReason (const char *pReason)
 
void Disconnect () override
 
void DummyDisconnect (const char *pReason) override
 
void DummyConnect () override
 
bool DummyConnected () const override
 
bool DummyConnecting () const override
 
bool DummyConnectingDelayed () const override
 
bool DummyAllowed () const override
 
void GetServerInfo (CServerInfo *pServerInfo) const override
 
void ServerInfoRequest ()
 
void LoadDebugFont ()
 
int GetPredictionTime () override
 
CSnapItem SnapGetItem (int SnapId, int Index) const override
 
const void * SnapFindItem (int SnapId, int Type, int Id) const override
 
int SnapNumItems (int SnapId) const override
 
void SnapSetStaticsize (int ItemType, int Size) override
 
void SnapSetStaticsize7 (int ItemType, int Size) override
 
void Render ()
 
void DebugRender ()
 
void Restart () override
 
void Quit () override
 
const char * PlayerName () const override
 
const char * DummyName () override
 
const char * ErrorString () const override
 
const char * LoadMap (const char *pName, const char *pFilename, SHA256_DIGEST *pWantedSha256, unsigned WantedCrc)
 
const char * LoadMapSearch (const char *pMapName, SHA256_DIGEST *pWantedSha256, int WantedCrc)
 
int TranslateSysMsg (int *pMsgId, bool System, CUnpacker *pUnpacker, CPacker *pPacker, CNetChunk *pPacket, bool *pIsExMsg)
 
void ProcessConnlessPacket (CNetChunk *pPacket)
 
void ProcessServerInfo (int Type, NETADDR *pFrom, const void *pData, int DataSize)
 
void ProcessServerPacket (CNetChunk *pPacket, int Conn, bool Dummy)
 
int UnpackAndValidateSnapshot (CSnapshot *pFrom, CSnapshot *pTo)
 
void ResetMapDownload (bool ResetActive)
 
void FinishMapDownload ()
 
void RequestDDNetInfo () override
 
void ResetDDNetInfoTask ()
 
void FinishDDNetInfo ()
 
void LoadDDNetInfo ()
 
bool IsSixup () const override
 
const NETADDRServerAddress () const override
 
int ConnectNetTypes () const override
 
const char * ConnectAddressString () const override
 
const char * MapDownloadName () const override
 
int MapDownloadAmount () const override
 
int MapDownloadTotalsize () const override
 
void PumpNetwork ()
 
void OnDemoPlayerSnapshot (void *pData, int Size) override
 
void OnDemoPlayerMessage (void *pData, int Size) override
 
void Update ()
 
void RegisterInterfaces ()
 
void InitInterfaces ()
 
void Run ()
 
bool InitNetworkClient (char *pError, size_t ErrorSize)
 
bool CtrlShiftKey (int Key, bool &Last)
 
void StartVideo (const char *pFilename, bool WithTimestamp)
 
const char * DemoPlayer_Render (const char *pFilename, int StorageType, const char *pVideoName, int SpeedIndex, bool StartPaused=false) override
 
void RegisterCommands ()
 
const char * DemoPlayer_Play (const char *pFilename, int StorageType) override
 
void DemoRecorder_Start (const char *pFilename, bool WithTimestamp, int Recorder, bool Verbose=false) override
 
void DemoRecorder_HandleAutoStart () override
 
void DemoRecorder_UpdateReplayRecorder () override
 
void DemoRecorder_AddDemoMarker (int Recorder)
 
IDemoRecorderDemoRecorder (int Recorder) override
 
void AutoScreenshot_Start () override
 
void AutoStatScreenshot_Start () override
 
void AutoScreenshot_Cleanup ()
 
void AutoStatScreenshot_Cleanup ()
 
void AutoCSV_Start () override
 
void AutoCSV_Cleanup ()
 
void ServerBrowserUpdate () override
 
void HandleConnectAddress (const NETADDR *pAddr)
 
void HandleConnectLink (const char *pLink)
 
void HandleDemoPath (const char *pPath)
 
void HandleMapPath (const char *pPath)
 
virtual void InitChecksum ()
 
virtual int HandleChecksum (int Conn, CUuid Uuid, CUnpacker *pUnpacker)
 
void SwitchWindowScreen (int Index) override
 
void SetWindowParams (int FullscreenMode, bool IsBorderless) override
 
void ToggleWindowVSync () override
 
void Notify (const char *pTitle, const char *pMessage) override
 
void OnWindowResize () override
 
void BenchmarkQuit (int Seconds, const char *pFilename)
 
void UpdateAndSwap () override
 
void GenerateTimeoutSeed () override
 
void GenerateTimeoutCodes (const NETADDR *pAddrs, int NumAddrs)
 
const char * GetCurrentMap () const override
 
const char * GetCurrentMapPath () const override
 
SHA256_DIGEST GetCurrentMapSha256 () const override
 
unsigned GetCurrentMapCrc () const override
 
void RaceRecord_Start (const char *pFilename) override
 
void RaceRecord_Stop () override
 
bool RaceRecord_IsRecording () override
 
void DemoSliceBegin () override
 
void DemoSliceEnd () override
 
void DemoSlice (const char *pDstPath, CLIENTFUNC_FILTER pfnFilter, void *pUser) override
 
virtual void SaveReplay (int Length, const char *pFilename="")
 
bool EditorHasUnsavedData () const override
 
IFriendsFoes () override
 
void GetSmoothTick (int *pSmoothTick, float *pSmoothIntraTick, float MixAmount) override
 
void AddWarning (const SWarning &Warning) override
 
SWarningGetCurWarning () override
 
std::vector< SWarning > && QuittingWarnings ()
 
CChecksumDataChecksumData () override
 
int UdpConnectivity (int NetType) override
 
bool ViewLink (const char *pLink) override
 
bool ViewFile (const char *pFilename) override
 
void ShowMessageBox (const char *pTitle, const char *pMessage, EMessageBoxType Type=MESSAGE_BOX_TYPE_ERROR) override
 
void GetGpuInfoString (char(&aGpuInfo)[256]) override
 
void SetLoggers (std::shared_ptr< ILogger > &&pFileLogger, std::shared_ptr< ILogger > &&pStdoutLogger)
 
- Public Member Functions inherited from IClient
EClientState State () const
 
ELoadingStateDetail LoadingStateDetail () const
 
int64_t StateStartTime () const
 
void SetLoadingStateDetail (ELoadingStateDetail LoadingStateDetail)
 
void SetLoadingCallback (TLoadingCallback &&Func)
 
int PrevGameTick (int Conn) const
 
int GameTick (int Conn) const
 
int PredGameTick (int Conn) const
 
float IntraGameTick (int Conn) const
 
float PredIntraGameTick (int Conn) const
 
float IntraGameTickSincePrev (int Conn) const
 
float GameTickTime (int Conn) const
 
int GameTickSpeed () const
 
float RenderFrameTime () const
 
float LocalTime () const
 
float GlobalTime () const
 
float FrameTimeAvg () const
 
virtual void Connect (const char *pAddress, const char *pPassword=nullptr)=0
 
virtual void Disconnect ()=0
 
virtual void DummyDisconnect (const char *pReason)=0
 
virtual void DummyConnect ()=0
 
virtual bool DummyConnected () const =0
 
virtual bool DummyConnecting () const =0
 
virtual bool DummyConnectingDelayed () const =0
 
virtual bool DummyAllowed () const =0
 
virtual void Restart ()=0
 
virtual void Quit ()=0
 
virtual const char * DemoPlayer_Play (const char *pFilename, int StorageType)=0
 
virtual const char * DemoPlayer_Render (const char *pFilename, int StorageType, const char *pVideoName, int SpeedIndex, bool StartPaused=false)=0
 
virtual void DemoRecorder_Start (const char *pFilename, bool WithTimestamp, int Recorder, bool Verbose=false)=0
 
virtual void DemoRecorder_HandleAutoStart ()=0
 
virtual void DemoRecorder_UpdateReplayRecorder ()=0
 
virtual class IDemoRecorderDemoRecorder (int Recorder)=0
 
virtual void AutoScreenshot_Start ()=0
 
virtual void AutoStatScreenshot_Start ()=0
 
virtual void AutoCSV_Start ()=0
 
virtual void ServerBrowserUpdate ()=0
 
virtual void SwitchWindowScreen (int Index)=0
 
virtual void SetWindowParams (int FullscreenMode, bool IsBorderless)=0
 
virtual void ToggleWindowVSync ()=0
 
virtual void Notify (const char *pTitle, const char *pMessage)=0
 
virtual void OnWindowResize ()=0
 
virtual void UpdateAndSwap ()=0
 
virtual void EnterGame (int Conn)=0
 
virtual const NETADDRServerAddress () const =0
 
virtual int ConnectNetTypes () const =0
 
virtual const char * ConnectAddressString () const =0
 
virtual const char * MapDownloadName () const =0
 
virtual int MapDownloadAmount () const =0
 
virtual int MapDownloadTotalsize () const =0
 
virtual int * GetInput (int Tick, int IsDummy=0) const =0
 
virtual void RconAuth (const char *pUsername, const char *pPassword, bool Dummy)=0
 
virtual bool RconAuthed () const =0
 
virtual bool UseTempRconCommands () const =0
 
virtual void Rcon (const char *pLine)=0
 
virtual bool ReceivingRconCommands () const =0
 
virtual float GotRconCommandsPercentage () const =0
 
virtual void GetServerInfo (class CServerInfo *pServerInfo) const =0
 
virtual bool ServerCapAnyPlayerFlag () const =0
 
virtual int GetPredictionTime ()=0
 
virtual int SnapNumItems (int SnapId) const =0
 
virtual const void * SnapFindItem (int SnapId, int Type, int Id) const =0
 
virtual CSnapItem SnapGetItem (int SnapId, int Index) const =0
 
virtual void SnapSetStaticsize (int ItemType, int Size)=0
 
virtual void SnapSetStaticsize7 (int ItemType, int Size)=0
 
virtual int SendMsg (int Conn, CMsgPacker *pMsg, int Flags)=0
 
virtual int SendMsgActive (CMsgPacker *pMsg, int Flags)=0
 
template<class T >
int SendPackMsgActive (T *pMsg, int Flags, bool NoTranslate=false)
 
template<class T >
int SendPackMsg (int Conn, T *pMsg, int Flags, bool NoTranslate=false)
 
virtual const char * PlayerName () const =0
 
virtual const char * DummyName ()=0
 
virtual const char * ErrorString () const =0
 
virtual const char * LatestVersion () const =0
 
virtual bool ConnectionProblems () const =0
 
virtual IGraphics::CTextureHandle GetDebugFont () const =0
 
virtual const char * GetCurrentMap () const =0
 
virtual const char * GetCurrentMapPath () const =0
 
virtual SHA256_DIGEST GetCurrentMapSha256 () const =0
 
virtual unsigned GetCurrentMapCrc () const =0
 
const char * News () const
 
int Points () const
 
int64_t ReconnectTime () const
 
void SetReconnectTime (int64_t ReconnectTime)
 
virtual bool IsSixup () const =0
 
virtual void RaceRecord_Start (const char *pFilename)=0
 
virtual void RaceRecord_Stop ()=0
 
virtual bool RaceRecord_IsRecording ()=0
 
virtual void DemoSliceBegin ()=0
 
virtual void DemoSliceEnd ()=0
 
virtual void DemoSlice (const char *pDstPath, CLIENTFUNC_FILTER pfnFilter, void *pUser)=0
 
virtual void RequestDDNetInfo ()=0
 
virtual bool EditorHasUnsavedData () const =0
 
virtual void GenerateTimeoutSeed ()=0
 
virtual IFriendsFoes ()=0
 
virtual void GetSmoothTick (int *pSmoothTick, float *pSmoothIntraTick, float MixAmount)=0
 
virtual void AddWarning (const SWarning &Warning)=0
 
virtual SWarningGetCurWarning ()=0
 
virtual CChecksumDataChecksumData ()=0
 
virtual int UdpConnectivity (int NetType)=0
 
virtual bool ViewLink (const char *pLink)=0
 
virtual bool ViewFile (const char *pFilename)=0
 
virtual void ShowMessageBox (const char *pTitle, const char *pMessage, EMessageBoxType Type=MESSAGE_BOX_TYPE_ERROR)=0
 
virtual void GetGpuInfoString (char(&aGpuInfo)[256])=0
 
- Public Member Functions inherited from IInterface
 IInterface ()
 
virtual void Shutdown ()
 
virtual ~IInterface ()
 
- Public Member Functions inherited from CDemoPlayer::IListener
virtual ~IListener ()
 
virtual void OnDemoPlayerSnapshot (void *pData, int Size)=0
 
virtual void OnDemoPlayerMessage (void *pData, int Size)=0
 

Static Public Member Functions

static void Con_Connect (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Disconnect (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DummyConnect (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DummyDisconnect (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DummyResetInput (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Quit (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Restart (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DemoPlay (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DemoSpeed (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Minimize (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Ping (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Screenshot (IConsole::IResult *pResult, void *pUserData)
 
static void Con_StartVideo (IConsole::IResult *pResult, void *pUserData)
 
static void Con_StopVideo (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Rcon (IConsole::IResult *pResult, void *pUserData)
 
static void Con_RconAuth (IConsole::IResult *pResult, void *pUserData)
 
static void Con_RconLogin (IConsole::IResult *pResult, void *pUserData)
 
static void Con_BeginFavoriteGroup (IConsole::IResult *pResult, void *pUserData)
 
static void Con_EndFavoriteGroup (IConsole::IResult *pResult, void *pUserData)
 
static void Con_AddFavorite (IConsole::IResult *pResult, void *pUserData)
 
static void Con_RemoveFavorite (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Play (IConsole::IResult *pResult, void *pUserData)
 
static void Con_Record (IConsole::IResult *pResult, void *pUserData)
 
static void Con_StopRecord (IConsole::IResult *pResult, void *pUserData)
 
static void Con_AddDemoMarker (IConsole::IResult *pResult, void *pUserData)
 
static void Con_BenchmarkQuit (IConsole::IResult *pResult, void *pUserData)
 
static void ConchainServerBrowserUpdate (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainFullscreen (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainWindowBordered (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainWindowScreen (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainWindowVSync (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainWindowResize (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainTimeoutSeed (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainPassword (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainReplays (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainLoglevel (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void ConchainStdoutOutputLevel (IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData)
 
static void Con_DemoSlice (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DemoSliceBegin (IConsole::IResult *pResult, void *pUserData)
 
static void Con_DemoSliceEnd (IConsole::IResult *pResult, void *pUserData)
 
static void Con_SaveReplay (IConsole::IResult *pResult, void *pUserData)
 
- Static Public Member Functions inherited from IClient
static const char * InterfaceName ()
 

Private Member Functions

bool ServerCapAnyPlayerFlag () const override
 
void UpdateDemoIntraTimers ()
 
int MaxLatencyTicks () const
 
int PredictionMargin () const
 

Private Attributes

IConfigManagerm_pConfigManager = nullptr
 
CConfigm_pConfig = nullptr
 
IConsolem_pConsole = nullptr
 
IDiscordm_pDiscord = nullptr
 
IEditorm_pEditor = nullptr
 
IEnginem_pEngine = nullptr
 
IFavoritesm_pFavorites = nullptr
 
IGameClientm_pGameClient = nullptr
 
IEngineGraphicsm_pGraphics = nullptr
 
IEngineInputm_pInput = nullptr
 
IEngineMapm_pMap = nullptr
 
IEngineSoundm_pSound = nullptr
 
ISteamm_pSteam = nullptr
 
INotificationsm_pNotifications = nullptr
 
IStoragem_pStorage = nullptr
 
IEngineTextRenderm_pTextRender = nullptr
 
IUpdaterm_pUpdater = nullptr
 
CHttp m_Http
 
CNetClient m_aNetClient [NUM_CONNS]
 
CDemoPlayer m_DemoPlayer
 
CDemoRecorder m_aDemoRecorder [RECORDER_MAX]
 
CDemoEditor m_DemoEditor
 
CGhostRecorder m_GhostRecorder
 
CGhostLoader m_GhostLoader
 
CServerBrowser m_ServerBrowser
 
CUpdater m_Updater
 
CFriends m_Friends
 
CFriends m_Foes
 
char m_aConnectAddressStr [MAX_SERVER_ADDRESSES *NETADDR_MAXSTRSIZE] = ""
 
CUuid m_ConnectionId = UUID_ZEROED
 
bool m_Sixup
 
bool m_HaveGlobalTcpAddr = false
 
NETADDR m_GlobalTcpAddr = NETADDR_ZEROED
 
uint64_t m_aSnapshotParts [NUM_DUMMIES] = {0, 0}
 
int64_t m_LocalStartTime = 0
 
int64_t m_GlobalStartTime = 0
 
IGraphics::CTextureHandle m_DebugFont
 
int64_t m_LastRenderTime
 
int m_SnapCrcErrors = 0
 
bool m_AutoScreenshotRecycle = false
 
bool m_AutoStatScreenshotRecycle = false
 
bool m_AutoCSVRecycle = false
 
bool m_EditorActive = false
 
int m_aAckGameTick [NUM_DUMMIES] = {-1, -1}
 
int m_aCurrentRecvTick [NUM_DUMMIES] = {0, 0}
 
int m_aRconAuthed [NUM_DUMMIES] = {0, 0}
 
char m_aRconUsername [32] = ""
 
char m_aRconPassword [sizeof(g_Config.m_SvRconPassword)] = ""
 
int m_UseTempRconCommands = 0
 
int m_ExpectedRconCommands = -1
 
int m_GotRconCommands = 0
 
char m_aPassword [sizeof(g_Config.m_Password)] = ""
 
bool m_SendPassword = false
 
char m_aVersionStr [10] = "0"
 
int64_t m_PingStartTime = 0
 
char m_aCurrentMap [IO_MAX_PATH_LENGTH] = ""
 
char m_aCurrentMapPath [IO_MAX_PATH_LENGTH] = ""
 
char m_aTimeoutCodes [NUM_DUMMIES][32] = {"", ""}
 
bool m_aCodeRunAfterJoin [NUM_DUMMIES] = {false, false}
 
bool m_GenerateTimeoutSeed = true
 
char m_aCmdConnect [256] = ""
 
char m_aCmdPlayDemo [IO_MAX_PATH_LENGTH] = ""
 
char m_aCmdEditMap [IO_MAX_PATH_LENGTH] = ""
 
char m_aMapDownloadUrl [256] = ""
 
std::shared_ptr< CHttpRequestm_pMapdownloadTask = nullptr
 
char m_aMapdownloadFilename [256] = ""
 
char m_aMapdownloadFilenameTemp [256] = ""
 
char m_aMapdownloadName [256] = ""
 
IOHANDLE m_MapdownloadFileTemp = 0
 
int m_MapdownloadChunk = 0
 
int m_MapdownloadCrc = 0
 
int m_MapdownloadAmount = -1
 
int m_MapdownloadTotalsize = -1
 
bool m_MapdownloadSha256Present = false
 
SHA256_DIGEST m_MapdownloadSha256 = SHA256_ZEROED
 
bool m_MapDetailsPresent = false
 
char m_aMapDetailsName [256] = ""
 
int m_MapDetailsCrc = 0
 
SHA256_DIGEST m_MapDetailsSha256 = SHA256_ZEROED
 
char m_aMapDetailsUrl [256] = ""
 
std::shared_ptr< CHttpRequestm_pDDNetInfoTask = nullptr
 
CSmoothTime m_aGameTime [NUM_DUMMIES]
 
CSmoothTime m_PredictedTime
 
struct {
   int   m_aData [MAX_INPUT_SIZE]
 
   int   m_Tick
 
   int64_t   m_PredictedTime
 
   int64_t   m_PredictionMargin
 
   int64_t   m_Time
 
m_aInputs [NUM_DUMMIES][200]
 
int m_aCurrentInput [NUM_DUMMIES] = {0, 0}
 
bool m_LastDummy = false
 
bool m_DummySendConnInfo = false
 
bool m_DummyConnecting = false
 
bool m_DummyConnected = false
 
float m_LastDummyConnectTime = 0.0f
 
bool m_DummyReconnectOnReload = false
 
bool m_DummyDeactivateOnReconnect = false
 
CGraph m_InputtimeMarginGraph
 
CGraph m_GametimeMarginGraph
 
CGraph m_FpsGraph
 
CSnapshotStorage m_aSnapshotStorage [NUM_DUMMIES]
 
CSnapshotStorage::CHolderm_aapSnapshots [NUM_DUMMIES][NUM_SNAPSHOT_TYPES]
 
int m_aReceivedSnapshots [NUM_DUMMIES] = {0, 0}
 
char m_aaSnapshotIncomingData [NUM_DUMMIES][CSnapshot::MAX_SIZE]
 
int m_aSnapshotIncomingDataSize [NUM_DUMMIES] = {0, 0}
 
CSnapshotStorage::CHolder m_aDemorecSnapshotHolders [NUM_SNAPSHOT_TYPES]
 
char m_aaaDemorecSnapshotData [NUM_SNAPSHOT_TYPES][2][CSnapshot::MAX_SIZE]
 
CSnapshotDelta m_SnapshotDelta
 
std::deque< std::shared_ptr< CDemoEdit > > m_EditJobs
 
bool m_CanReceiveServerCapabilities = false
 
bool m_ServerSentCapabilities = false
 
CServerCapabilities m_ServerCapabilities
 
CServerInfo m_CurrentServerInfo
 
int64_t m_CurrentServerInfoRequestTime = -1
 
int m_CurrentServerPingInfoType = -1
 
int m_CurrentServerPingBasicToken = -1
 
int m_CurrentServerPingToken = -1
 
CUuid m_CurrentServerPingUuid = UUID_ZEROED
 
int64_t m_CurrentServerCurrentPingTime = -1
 
int64_t m_CurrentServerNextPingTime = -1
 
struct CClient::CVersionInfo m_VersionInfo
 
std::vector< SWarningm_vWarnings
 
std::vector< SWarningm_vQuittingWarnings
 
CFifo m_Fifo
 
IOHANDLE m_BenchmarkFile = 0
 
int64_t m_BenchmarkStopTime = 0
 
CChecksum m_Checksum
 
int m_OwnExecutableSize = 0
 
IOHANDLE m_OwnExecutable = 0
 
bool m_FavoritesGroup = false
 
bool m_FavoritesGroupAllowPing = false
 
int m_FavoritesGroupNum = 0
 
NETADDR m_aFavoritesGroupAddresses [MAX_SERVER_ADDRESSES]
 
std::shared_ptr< ILoggerm_pFileLogger = nullptr
 
std::shared_ptr< ILoggerm_pStdoutLogger = nullptr
 
char m_aAutomaticDummyName [MAX_NAME_LENGTH]
 

Additional Inherited Members

- Public Types inherited from IClient
enum  EClientState {
  STATE_OFFLINE = 0 , STATE_CONNECTING , STATE_LOADING , STATE_ONLINE ,
  STATE_DEMOPLAYBACK , STATE_QUITTING , STATE_RESTARTING
}
 
enum  ELoadingStateDetail {
  LOADING_STATE_DETAIL_INITIAL , LOADING_STATE_DETAIL_LOADING_MAP , LOADING_STATE_DETAIL_LOADING_DEMO , LOADING_STATE_DETAIL_SENDING_READY ,
  LOADING_STATE_DETAIL_GETTING_READY
}
 
enum  ELoadingCallbackDetail { LOADING_CALLBACK_DETAIL_MAP , LOADING_CALLBACK_DETAIL_DEMO }
 
enum  { CONN_MAIN = 0 , CONN_DUMMY , CONN_CONTACT , NUM_CONNS }
 
enum  {
  CONNECTIVITY_UNKNOWN , CONNECTIVITY_CHECKING , CONNECTIVITY_UNREACHABLE , CONNECTIVITY_REACHABLE ,
  CONNECTIVITY_DIFFERING_UDP_TCP_IP_ADDRESSES
}
 
enum  { SNAP_CURRENT = 0 , SNAP_PREV = 1 , NUM_SNAPSHOT_TYPES = 2 }
 
enum  EMessageBoxType { MESSAGE_BOX_TYPE_ERROR , MESSAGE_BOX_TYPE_WARNING , MESSAGE_BOX_TYPE_INFO }
 
typedef std::function< void(ELoadingCallbackDetail Detail)> TLoadingCallback
 
- Public Attributes inherited from IClient
CTranslationContext m_TranslationContext
 
- Protected Member Functions inherited from IInterface
IKernelKernel ()
 
- Protected Attributes inherited from IClient
EClientState m_State = IClient::STATE_OFFLINE
 
ELoadingStateDetail m_LoadingStateDetail = LOADING_STATE_DETAIL_INITIAL
 
int64_t m_StateStartTime
 
int m_aPrevGameTick [NUM_DUMMIES] = {0, 0}
 
int m_aCurGameTick [NUM_DUMMIES] = {0, 0}
 
float m_aGameIntraTick [NUM_DUMMIES] = {0.0f, 0.0f}
 
float m_aGameTickTime [NUM_DUMMIES] = {0.0f, 0.0f}
 
float m_aGameIntraTickSincePrev [NUM_DUMMIES] = {0.0f, 0.0f}
 
int m_aPredTick [NUM_DUMMIES] = {0, 0}
 
float m_aPredIntraTick [NUM_DUMMIES] = {0.0f, 0.0f}
 
float m_LocalTime = 0.0f
 
float m_GlobalTime = 0.0f
 
float m_RenderFrameTime = 0.0001f
 
float m_FrameTimeAvg = 0.0001f
 
TLoadingCallback m_LoadingCallback = nullptr
 
char m_aNews [3000] = ""
 
int m_Points = -1
 
int64_t m_ReconnectTime = 0
 

Constructor & Destructor Documentation

◆ CClient()

CClient::CClient ( )

Member Function Documentation

◆ AddWarning()

void CClient::AddWarning ( const SWarning Warning)
overridevirtual

Implements IClient.

◆ AutoCSV_Cleanup()

void CClient::AutoCSV_Cleanup ( )

◆ AutoCSV_Start()

void CClient::AutoCSV_Start ( )
overridevirtual

Implements IClient.

◆ AutoScreenshot_Cleanup()

void CClient::AutoScreenshot_Cleanup ( )

◆ AutoScreenshot_Start()

void CClient::AutoScreenshot_Start ( )
overridevirtual

Implements IClient.

◆ AutoStatScreenshot_Cleanup()

void CClient::AutoStatScreenshot_Cleanup ( )

◆ AutoStatScreenshot_Start()

void CClient::AutoStatScreenshot_Start ( )
overridevirtual

Implements IClient.

◆ BenchmarkQuit()

void CClient::BenchmarkQuit ( int  Seconds,
const char *  pFilename 
)

◆ ChecksumData()

CChecksumData * CClient::ChecksumData ( )
inlineoverridevirtual

Implements IClient.

◆ Con_AddDemoMarker()

void CClient::Con_AddDemoMarker ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_AddFavorite()

void CClient::Con_AddFavorite ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_BeginFavoriteGroup()

void CClient::Con_BeginFavoriteGroup ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_BenchmarkQuit()

void CClient::Con_BenchmarkQuit ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Connect()

void CClient::Con_Connect ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DemoPlay()

void CClient::Con_DemoPlay ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DemoSlice()

static void CClient::Con_DemoSlice ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DemoSliceBegin()

void CClient::Con_DemoSliceBegin ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DemoSliceEnd()

void CClient::Con_DemoSliceEnd ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DemoSpeed()

void CClient::Con_DemoSpeed ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Disconnect()

void CClient::Con_Disconnect ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DummyConnect()

void CClient::Con_DummyConnect ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DummyDisconnect()

void CClient::Con_DummyDisconnect ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_DummyResetInput()

void CClient::Con_DummyResetInput ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_EndFavoriteGroup()

void CClient::Con_EndFavoriteGroup ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Minimize()

void CClient::Con_Minimize ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Ping()

void CClient::Con_Ping ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Play()

void CClient::Con_Play ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Quit()

void CClient::Con_Quit ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Rcon()

void CClient::Con_Rcon ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_RconAuth()

void CClient::Con_RconAuth ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_RconLogin()

void CClient::Con_RconLogin ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Record()

void CClient::Con_Record ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_RemoveFavorite()

void CClient::Con_RemoveFavorite ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Restart()

void CClient::Con_Restart ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_SaveReplay()

void CClient::Con_SaveReplay ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_Screenshot()

void CClient::Con_Screenshot ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_StartVideo()

void CClient::Con_StartVideo ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_StopRecord()

void CClient::Con_StopRecord ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ Con_StopVideo()

void CClient::Con_StopVideo ( IConsole::IResult pResult,
void *  pUserData 
)
static

◆ ConchainFullscreen()

void CClient::ConchainFullscreen ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainLoglevel()

void CClient::ConchainLoglevel ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainPassword()

void CClient::ConchainPassword ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainReplays()

void CClient::ConchainReplays ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainServerBrowserUpdate()

void CClient::ConchainServerBrowserUpdate ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainStdoutOutputLevel()

void CClient::ConchainStdoutOutputLevel ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainTimeoutSeed()

void CClient::ConchainTimeoutSeed ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainWindowBordered()

void CClient::ConchainWindowBordered ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainWindowResize()

void CClient::ConchainWindowResize ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainWindowScreen()

void CClient::ConchainWindowScreen ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ ConchainWindowVSync()

void CClient::ConchainWindowVSync ( IConsole::IResult pResult,
void *  pUserData,
IConsole::FCommandCallback  pfnCallback,
void *  pCallbackUserData 
)
static

◆ Config()

CConfig * CClient::Config ( )
inline

◆ ConfigManager()

IConfigManager * CClient::ConfigManager ( )
inline

◆ Connect()

void CClient::Connect ( const char *  pAddress,
const char *  pPassword = nullptr 
)
overridevirtual

Implements IClient.

◆ ConnectAddressString()

const char * CClient::ConnectAddressString ( ) const
inlineoverridevirtual

Implements IClient.

◆ ConnectionProblems()

bool CClient::ConnectionProblems ( ) const
overridevirtual

Implements IClient.

◆ ConnectNetTypes()

int CClient::ConnectNetTypes ( ) const
overridevirtual

Implements IClient.

◆ CtrlShiftKey()

bool CClient::CtrlShiftKey ( int  Key,
bool &  Last 
)

◆ DebugRender()

void CClient::DebugRender ( )

◆ DemoPlayer_Play()

const char * CClient::DemoPlayer_Play ( const char *  pFilename,
int  StorageType 
)
overridevirtual

Implements IClient.

◆ DemoPlayer_Render()

const char * CClient::DemoPlayer_Render ( const char *  pFilename,
int  StorageType,
const char *  pVideoName,
int  SpeedIndex,
bool  StartPaused = false 
)
overridevirtual

Implements IClient.

◆ DemoRecorder()

class IDemoRecorder * CClient::DemoRecorder ( int  Recorder)
overridevirtual

Implements IClient.

◆ DemoRecorder_AddDemoMarker()

void CClient::DemoRecorder_AddDemoMarker ( int  Recorder)

◆ DemoRecorder_HandleAutoStart()

void CClient::DemoRecorder_HandleAutoStart ( )
overridevirtual

Implements IClient.

◆ DemoRecorder_Start()

void CClient::DemoRecorder_Start ( const char *  pFilename,
bool  WithTimestamp,
int  Recorder,
bool  Verbose = false 
)
overridevirtual

Implements IClient.

◆ DemoRecorder_UpdateReplayRecorder()

void CClient::DemoRecorder_UpdateReplayRecorder ( )
overridevirtual

Implements IClient.

◆ DemoSlice()

void CClient::DemoSlice ( const char *  pDstPath,
CLIENTFUNC_FILTER  pfnFilter,
void *  pUser 
)
overridevirtual

Implements IClient.

◆ DemoSliceBegin()

void CClient::DemoSliceBegin ( )
overridevirtual

Implements IClient.

◆ DemoSliceEnd()

void CClient::DemoSliceEnd ( )
overridevirtual

Implements IClient.

◆ Disconnect()

void CClient::Disconnect ( )
overridevirtual

Implements IClient.

◆ DisconnectWithReason()

void CClient::DisconnectWithReason ( const char *  pReason)

◆ Discord()

IDiscord * CClient::Discord ( )
inline

◆ DummyAllowed()

bool CClient::DummyAllowed ( ) const
overridevirtual

Implements IClient.

◆ DummyConnect()

void CClient::DummyConnect ( )
overridevirtual

Implements IClient.

◆ DummyConnected()

bool CClient::DummyConnected ( ) const
overridevirtual

Implements IClient.

◆ DummyConnecting()

bool CClient::DummyConnecting ( ) const
overridevirtual

Implements IClient.

◆ DummyConnectingDelayed()

bool CClient::DummyConnectingDelayed ( ) const
overridevirtual

Implements IClient.

◆ DummyDisconnect()

void CClient::DummyDisconnect ( const char *  pReason)
overridevirtual

Implements IClient.

◆ DummyName()

const char * CClient::DummyName ( )
overridevirtual

Implements IClient.

◆ EditorHasUnsavedData()

bool CClient::EditorHasUnsavedData ( ) const
inlineoverridevirtual

Implements IClient.

◆ Engine()

IEngine * CClient::Engine ( )
inline

◆ EnterGame()

void CClient::EnterGame ( int  Conn)
overridevirtual

Implements IClient.

◆ ErrorString()

const char * CClient::ErrorString ( ) const
overridevirtual

Implements IClient.

◆ FinishDDNetInfo()

void CClient::FinishDDNetInfo ( )

◆ FinishMapDownload()

void CClient::FinishMapDownload ( )

◆ Foes()

IFriends * CClient::Foes ( )
inlineoverridevirtual

Implements IClient.

◆ GameClient()

IGameClient * CClient::GameClient ( )
inline

◆ GenerateTimeoutCodes()

void CClient::GenerateTimeoutCodes ( const NETADDR pAddrs,
int  NumAddrs 
)

◆ GenerateTimeoutSeed()

void CClient::GenerateTimeoutSeed ( )
overridevirtual

Implements IClient.

◆ GetCurrentMap()

const char * CClient::GetCurrentMap ( ) const
overridevirtual

Implements IClient.

◆ GetCurrentMapCrc()

unsigned CClient::GetCurrentMapCrc ( ) const
overridevirtual

Implements IClient.

◆ GetCurrentMapPath()

const char * CClient::GetCurrentMapPath ( ) const
overridevirtual

Implements IClient.

◆ GetCurrentMapSha256()

SHA256_DIGEST CClient::GetCurrentMapSha256 ( ) const
overridevirtual

Implements IClient.

◆ GetCurWarning()

SWarning * CClient::GetCurWarning ( )
overridevirtual

Implements IClient.

◆ GetDebugFont()

IGraphics::CTextureHandle CClient::GetDebugFont ( ) const
inlineoverridevirtual

Implements IClient.

◆ GetGpuInfoString()

void CClient::GetGpuInfoString ( char(&)  aGpuInfo[256])
overridevirtual

Implements IClient.

◆ GetInput()

int * CClient::GetInput ( int  Tick,
int  IsDummy 
) const
overridevirtual

Implements IClient.

◆ GetPredictionTime()

int CClient::GetPredictionTime ( )
overridevirtual

Implements IClient.

◆ GetServerInfo()

void CClient::GetServerInfo ( CServerInfo pServerInfo) const
overridevirtual

Implements IClient.

◆ GetSmoothTick()

void CClient::GetSmoothTick ( int *  pSmoothTick,
float *  pSmoothIntraTick,
float  MixAmount 
)
overridevirtual

Implements IClient.

◆ GotRconCommandsPercentage()

float CClient::GotRconCommandsPercentage ( ) const
overridevirtual

Implements IClient.

◆ Graphics()

IEngineGraphics * CClient::Graphics ( )
inline

◆ HandleChecksum()

int CClient::HandleChecksum ( int  Conn,
CUuid  Uuid,
CUnpacker pUnpacker 
)
virtual

◆ HandleConnectAddress()

void CClient::HandleConnectAddress ( const NETADDR pAddr)

◆ HandleConnectLink()

void CClient::HandleConnectLink ( const char *  pLink)

◆ HandleDemoPath()

void CClient::HandleDemoPath ( const char *  pPath)

◆ HandleMapPath()

void CClient::HandleMapPath ( const char *  pPath)

◆ Http()

IHttp * CClient::Http ( )
inline

◆ InitChecksum()

void CClient::InitChecksum ( )
virtual

◆ InitInterfaces()

void CClient::InitInterfaces ( )

◆ InitNetworkClient()

bool CClient::InitNetworkClient ( char *  pError,
size_t  ErrorSize 
)

◆ Input()

IEngineInput * CClient::Input ( )
inline

◆ IsSixup()

bool CClient::IsSixup ( ) const
inlineoverridevirtual

Implements IClient.

◆ LatestVersion()

const char * CClient::LatestVersion ( ) const
overridevirtual

Implements IClient.

◆ LoadDDNetInfo()

void CClient::LoadDDNetInfo ( )

◆ LoadDebugFont()

void CClient::LoadDebugFont ( )

◆ LoadMap()

const char * CClient::LoadMap ( const char *  pName,
const char *  pFilename,
SHA256_DIGEST pWantedSha256,
unsigned  WantedCrc 
)

◆ LoadMapSearch()

const char * CClient::LoadMapSearch ( const char *  pMapName,
SHA256_DIGEST pWantedSha256,
int  WantedCrc 
)

◆ MapDownloadAmount()

int CClient::MapDownloadAmount ( ) const
inlineoverridevirtual

Implements IClient.

◆ MapDownloadName()

const char * CClient::MapDownloadName ( ) const
inlineoverridevirtual

Implements IClient.

◆ MapDownloadTotalsize()

int CClient::MapDownloadTotalsize ( ) const
inlineoverridevirtual

Implements IClient.

◆ MaxLatencyTicks()

int CClient::MaxLatencyTicks ( ) const
private

◆ Notifications()

INotifications * CClient::Notifications ( )
inline

◆ Notify()

void CClient::Notify ( const char *  pTitle,
const char *  pMessage 
)
overridevirtual

Implements IClient.

◆ OnDemoPlayerMessage()

void CClient::OnDemoPlayerMessage ( void *  pData,
int  Size 
)
overridevirtual

◆ OnDemoPlayerSnapshot()

void CClient::OnDemoPlayerSnapshot ( void *  pData,
int  Size 
)
overridevirtual

◆ OnEnterGame()

void CClient::OnEnterGame ( bool  Dummy)

◆ OnWindowResize()

void CClient::OnWindowResize ( )
overridevirtual

Implements IClient.

◆ PlayerName()

const char * CClient::PlayerName ( ) const
overridevirtual

Implements IClient.

◆ PredictionMargin()

int CClient::PredictionMargin ( ) const
private

◆ ProcessConnlessPacket()

void CClient::ProcessConnlessPacket ( CNetChunk pPacket)

◆ ProcessServerInfo()

void CClient::ProcessServerInfo ( int  Type,
NETADDR pFrom,
const void *  pData,
int  DataSize 
)

◆ ProcessServerPacket()

void CClient::ProcessServerPacket ( CNetChunk pPacket,
int  Conn,
bool  Dummy 
)

◆ PumpNetwork()

void CClient::PumpNetwork ( )

◆ Quit()

void CClient::Quit ( )
overridevirtual

Implements IClient.

◆ QuittingWarnings()

std::vector< SWarning > && CClient::QuittingWarnings ( )
inline

◆ RaceRecord_IsRecording()

bool CClient::RaceRecord_IsRecording ( )
overridevirtual

Implements IClient.

◆ RaceRecord_Start()

void CClient::RaceRecord_Start ( const char *  pFilename)
overridevirtual

Implements IClient.

◆ RaceRecord_Stop()

void CClient::RaceRecord_Stop ( )
overridevirtual

Implements IClient.

◆ Rcon()

void CClient::Rcon ( const char *  pCmd)
overridevirtual

Implements IClient.

◆ RconAuth()

void CClient::RconAuth ( const char *  pName,
const char *  pPassword,
bool  Dummy = g_Config.m_ClDummy 
)
overridevirtual

Implements IClient.

◆ RconAuthed()

bool CClient::RconAuthed ( ) const
inlineoverridevirtual

Implements IClient.

◆ ReceivingRconCommands()

bool CClient::ReceivingRconCommands ( ) const
inlineoverridevirtual

Implements IClient.

◆ RegisterCommands()

void CClient::RegisterCommands ( )

◆ RegisterInterfaces()

void CClient::RegisterInterfaces ( )

◆ Render()

void CClient::Render ( )

◆ RequestDDNetInfo()

void CClient::RequestDDNetInfo ( )
overridevirtual

Implements IClient.

◆ ResetDDNetInfoTask()

void CClient::ResetDDNetInfoTask ( )

◆ ResetMapDownload()

void CClient::ResetMapDownload ( bool  ResetActive)

◆ Restart()

void CClient::Restart ( )
overridevirtual

Implements IClient.

◆ Run()

void CClient::Run ( )

◆ SaveReplay()

void CClient::SaveReplay ( int  Length,
const char *  pFilename = "" 
)
virtual

◆ SendEnterGame()

void CClient::SendEnterGame ( int  Conn)

◆ SendInfo()

void CClient::SendInfo ( int  Conn)

◆ SendInput()

void CClient::SendInput ( )

◆ SendMapRequest()

void CClient::SendMapRequest ( )

◆ SendMsg()

int CClient::SendMsg ( int  Conn,
CMsgPacker pMsg,
int  Flags 
)
overridevirtual

Implements IClient.

◆ SendMsgActive()

int CClient::SendMsgActive ( CMsgPacker pMsg,
int  Flags 
)
overridevirtual

Implements IClient.

◆ SendReady()

void CClient::SendReady ( int  Conn)

◆ ServerAddress()

const NETADDR & CClient::ServerAddress ( ) const
inlineoverridevirtual

Implements IClient.

◆ ServerBrowserUpdate()

void CClient::ServerBrowserUpdate ( )
overridevirtual

Implements IClient.

◆ ServerCapAnyPlayerFlag()

bool CClient::ServerCapAnyPlayerFlag ( ) const
inlineoverrideprivatevirtual

Implements IClient.

◆ ServerInfoRequest()

void CClient::ServerInfoRequest ( )

◆ SetLoggers()

void CClient::SetLoggers ( std::shared_ptr< ILogger > &&  pFileLogger,
std::shared_ptr< ILogger > &&  pStdoutLogger 
)

◆ SetState()

void CClient::SetState ( EClientState  State)

◆ SetWindowParams()

void CClient::SetWindowParams ( int  FullscreenMode,
bool  IsBorderless 
)
overridevirtual

Implements IClient.

◆ ShowMessageBox()

void CClient::ShowMessageBox ( const char *  pTitle,
const char *  pMessage,
EMessageBoxType  Type = MESSAGE_BOX_TYPE_ERROR 
)
overridevirtual

Implements IClient.

◆ SnapFindItem()

const void * CClient::SnapFindItem ( int  SnapId,
int  Type,
int  Id 
) const
overridevirtual

Implements IClient.

◆ SnapGetItem()

IClient::CSnapItem CClient::SnapGetItem ( int  SnapId,
int  Index 
) const
overridevirtual

Implements IClient.

◆ SnapNumItems()

int CClient::SnapNumItems ( int  SnapId) const
overridevirtual

Implements IClient.

◆ SnapSetStaticsize()

void CClient::SnapSetStaticsize ( int  ItemType,
int  Size 
)
overridevirtual

Implements IClient.

◆ SnapSetStaticsize7()

void CClient::SnapSetStaticsize7 ( int  ItemType,
int  Size 
)
overridevirtual

Implements IClient.

◆ Sound()

IEngineSound * CClient::Sound ( )
inline

◆ StartVideo()

void CClient::StartVideo ( const char *  pFilename,
bool  WithTimestamp 
)

◆ Steam()

ISteam * CClient::Steam ( )
inline

◆ Storage()

IStorage * CClient::Storage ( )
inline

◆ SwitchWindowScreen()

void CClient::SwitchWindowScreen ( int  Index)
overridevirtual

Implements IClient.

◆ TextRender()

IEngineTextRender * CClient::TextRender ( )
inline

◆ ToggleWindowVSync()

void CClient::ToggleWindowVSync ( )
overridevirtual

Implements IClient.

◆ TranslateSysMsg()

int CClient::TranslateSysMsg ( int *  pMsgId,
bool  System,
CUnpacker pUnpacker,
CPacker pPacker,
CNetChunk pPacket,
bool *  pIsExMsg 
)

◆ UdpConnectivity()

int CClient::UdpConnectivity ( int  NetType)
overridevirtual

Implements IClient.

◆ UnpackAndValidateSnapshot()

int CClient::UnpackAndValidateSnapshot ( CSnapshot pFrom,
CSnapshot pTo 
)

◆ Update()

void CClient::Update ( )

◆ UpdateAndSwap()

void CClient::UpdateAndSwap ( )
overridevirtual

Implements IClient.

◆ UpdateDemoIntraTimers()

void CClient::UpdateDemoIntraTimers ( )
private

◆ Updater()

IUpdater * CClient::Updater ( )
inline

◆ UseTempRconCommands()

bool CClient::UseTempRconCommands ( ) const
inlineoverridevirtual

Implements IClient.

◆ ViewFile()

bool CClient::ViewFile ( const char *  pFilename)
overridevirtual

Opens a file or directory with the default program.

Parameters
pFilenameThe file or folder to open with the default program.
Returns
true on success, false on failure.
Remarks
This may not be called with untrusted input or it'll result in arbitrary code execution, especially on Windows.

Implements IClient.

◆ ViewLink()

bool CClient::ViewLink ( const char *  pLink)
overridevirtual

Opens a link in the browser.

Parameters
pLinkThe link to open in a browser.
Returns
true on success, false on failure.
Remarks
This may not be called with untrusted input or it'll result in arbitrary code execution, especially on Windows.

Implements IClient.

Member Data Documentation

◆ m_aaaDemorecSnapshotData

char CClient::m_aaaDemorecSnapshotData[NUM_SNAPSHOT_TYPES][2][CSnapshot::MAX_SIZE]
private

◆ m_aAckGameTick

int CClient::m_aAckGameTick[NUM_DUMMIES] = {-1, -1}
private

◆ m_aapSnapshots

CSnapshotStorage::CHolder* CClient::m_aapSnapshots[NUM_DUMMIES][NUM_SNAPSHOT_TYPES]
private

◆ m_aaSnapshotIncomingData

char CClient::m_aaSnapshotIncomingData[NUM_DUMMIES][CSnapshot::MAX_SIZE]
private

◆ m_aAutomaticDummyName

char CClient::m_aAutomaticDummyName[MAX_NAME_LENGTH]
private

◆ m_aCmdConnect

char CClient::m_aCmdConnect[256] = ""
private

◆ m_aCmdEditMap

char CClient::m_aCmdEditMap[IO_MAX_PATH_LENGTH] = ""
private

◆ m_aCmdPlayDemo

char CClient::m_aCmdPlayDemo[IO_MAX_PATH_LENGTH] = ""
private

◆ m_aCodeRunAfterJoin

bool CClient::m_aCodeRunAfterJoin[NUM_DUMMIES] = {false, false}
private

◆ m_aConnectAddressStr

char CClient::m_aConnectAddressStr[MAX_SERVER_ADDRESSES *NETADDR_MAXSTRSIZE] = ""
private

◆ m_aCurrentInput

int CClient::m_aCurrentInput[NUM_DUMMIES] = {0, 0}
private

◆ m_aCurrentMap

char CClient::m_aCurrentMap[IO_MAX_PATH_LENGTH] = ""
private

◆ m_aCurrentMapPath

char CClient::m_aCurrentMapPath[IO_MAX_PATH_LENGTH] = ""
private

◆ m_aCurrentRecvTick

int CClient::m_aCurrentRecvTick[NUM_DUMMIES] = {0, 0}
private

◆ m_aData

int CClient::m_aData[MAX_INPUT_SIZE]

◆ m_aDemoRecorder

CDemoRecorder CClient::m_aDemoRecorder[RECORDER_MAX]
private

◆ m_aDemorecSnapshotHolders

CSnapshotStorage::CHolder CClient::m_aDemorecSnapshotHolders[NUM_SNAPSHOT_TYPES]
private

◆ m_aFavoritesGroupAddresses

NETADDR CClient::m_aFavoritesGroupAddresses[MAX_SERVER_ADDRESSES]
private

◆ m_aGameTime

CSmoothTime CClient::m_aGameTime[NUM_DUMMIES]
private

◆ 

struct { ... } CClient::m_aInputs[NUM_DUMMIES][200]

◆ m_aMapDetailsName

char CClient::m_aMapDetailsName[256] = ""
private

◆ m_aMapDetailsUrl

char CClient::m_aMapDetailsUrl[256] = ""
private

◆ m_aMapdownloadFilename

char CClient::m_aMapdownloadFilename[256] = ""
private

◆ m_aMapdownloadFilenameTemp

char CClient::m_aMapdownloadFilenameTemp[256] = ""
private

◆ m_aMapdownloadName

char CClient::m_aMapdownloadName[256] = ""
private

◆ m_aMapDownloadUrl

char CClient::m_aMapDownloadUrl[256] = ""
private

◆ m_aNetClient

CNetClient CClient::m_aNetClient[NUM_CONNS]
private

◆ m_aPassword

char CClient::m_aPassword[sizeof(g_Config.m_Password)] = ""
private

◆ m_aRconAuthed

int CClient::m_aRconAuthed[NUM_DUMMIES] = {0, 0}
private

◆ m_aRconPassword

char CClient::m_aRconPassword[sizeof(g_Config.m_SvRconPassword)] = ""
private

◆ m_aRconUsername

char CClient::m_aRconUsername[32] = ""
private

◆ m_aReceivedSnapshots

int CClient::m_aReceivedSnapshots[NUM_DUMMIES] = {0, 0}
private

◆ m_aSnapshotIncomingDataSize

int CClient::m_aSnapshotIncomingDataSize[NUM_DUMMIES] = {0, 0}
private

◆ m_aSnapshotParts

uint64_t CClient::m_aSnapshotParts[NUM_DUMMIES] = {0, 0}
private

◆ m_aSnapshotStorage

CSnapshotStorage CClient::m_aSnapshotStorage[NUM_DUMMIES]
private

◆ m_aTimeoutCodes

char CClient::m_aTimeoutCodes[NUM_DUMMIES][32] = {"", ""}
private

◆ m_AutoCSVRecycle

bool CClient::m_AutoCSVRecycle = false
private

◆ m_AutoScreenshotRecycle

bool CClient::m_AutoScreenshotRecycle = false
private

◆ m_AutoStatScreenshotRecycle

bool CClient::m_AutoStatScreenshotRecycle = false
private

◆ m_aVersionStr

char CClient::m_aVersionStr[10] = "0"
private

◆ m_BenchmarkFile

IOHANDLE CClient::m_BenchmarkFile = 0
private

◆ m_BenchmarkStopTime

int64_t CClient::m_BenchmarkStopTime = 0
private

◆ m_CanReceiveServerCapabilities

bool CClient::m_CanReceiveServerCapabilities = false
private

◆ m_Checksum

CChecksum CClient::m_Checksum
private

◆ m_ConnectionId

CUuid CClient::m_ConnectionId = UUID_ZEROED
private

◆ m_CurrentServerCurrentPingTime

int64_t CClient::m_CurrentServerCurrentPingTime = -1
private

◆ m_CurrentServerInfo

CServerInfo CClient::m_CurrentServerInfo
private

◆ m_CurrentServerInfoRequestTime

int64_t CClient::m_CurrentServerInfoRequestTime = -1
private

◆ m_CurrentServerNextPingTime

int64_t CClient::m_CurrentServerNextPingTime = -1
private

◆ m_CurrentServerPingBasicToken

int CClient::m_CurrentServerPingBasicToken = -1
private

◆ m_CurrentServerPingInfoType

int CClient::m_CurrentServerPingInfoType = -1
private

◆ m_CurrentServerPingToken

int CClient::m_CurrentServerPingToken = -1
private

◆ m_CurrentServerPingUuid

CUuid CClient::m_CurrentServerPingUuid = UUID_ZEROED
private

◆ m_DebugFont

IGraphics::CTextureHandle CClient::m_DebugFont
private

◆ m_DemoEditor

CDemoEditor CClient::m_DemoEditor
private

◆ m_DemoPlayer

CDemoPlayer CClient::m_DemoPlayer
private

◆ m_DummyConnected

bool CClient::m_DummyConnected = false
private

◆ m_DummyConnecting

bool CClient::m_DummyConnecting = false
private

◆ m_DummyDeactivateOnReconnect

bool CClient::m_DummyDeactivateOnReconnect = false
private

◆ m_DummyReconnectOnReload

bool CClient::m_DummyReconnectOnReload = false
private

◆ m_DummySendConnInfo

bool CClient::m_DummySendConnInfo = false
private

◆ m_EditJobs

std::deque<std::shared_ptr<CDemoEdit> > CClient::m_EditJobs
private

◆ m_EditorActive

bool CClient::m_EditorActive = false
private

◆ m_ExpectedRconCommands

int CClient::m_ExpectedRconCommands = -1
private

◆ m_FavoritesGroup

bool CClient::m_FavoritesGroup = false
private

◆ m_FavoritesGroupAllowPing

bool CClient::m_FavoritesGroupAllowPing = false
private

◆ m_FavoritesGroupNum

int CClient::m_FavoritesGroupNum = 0
private

◆ m_Fifo

CFifo CClient::m_Fifo
private

◆ m_Foes

CFriends CClient::m_Foes
private

◆ m_FpsGraph

CGraph CClient::m_FpsGraph
private

◆ m_Friends

CFriends CClient::m_Friends
private

◆ m_GametimeMarginGraph

CGraph CClient::m_GametimeMarginGraph
private

◆ m_GenerateTimeoutSeed

bool CClient::m_GenerateTimeoutSeed = true
private

◆ m_GhostLoader

CGhostLoader CClient::m_GhostLoader
private

◆ m_GhostRecorder

CGhostRecorder CClient::m_GhostRecorder
private

◆ m_GlobalStartTime

int64_t CClient::m_GlobalStartTime = 0
private

◆ m_GlobalTcpAddr

NETADDR CClient::m_GlobalTcpAddr = NETADDR_ZEROED
private

◆ m_GotRconCommands

int CClient::m_GotRconCommands = 0
private

◆ m_HaveGlobalTcpAddr

bool CClient::m_HaveGlobalTcpAddr = false
private

◆ m_Http

CHttp CClient::m_Http
private

◆ m_InputtimeMarginGraph

CGraph CClient::m_InputtimeMarginGraph
private

◆ m_LastDummy

bool CClient::m_LastDummy = false
private

◆ m_LastDummyConnectTime

float CClient::m_LastDummyConnectTime = 0.0f
private

◆ m_LastRenderTime

int64_t CClient::m_LastRenderTime
private

◆ m_LocalStartTime

int64_t CClient::m_LocalStartTime = 0
private

◆ m_MapDetailsCrc

int CClient::m_MapDetailsCrc = 0
private

◆ m_MapDetailsPresent

bool CClient::m_MapDetailsPresent = false
private

◆ m_MapDetailsSha256

SHA256_DIGEST CClient::m_MapDetailsSha256 = SHA256_ZEROED
private

◆ m_MapdownloadAmount

int CClient::m_MapdownloadAmount = -1
private

◆ m_MapdownloadChunk

int CClient::m_MapdownloadChunk = 0
private

◆ m_MapdownloadCrc

int CClient::m_MapdownloadCrc = 0
private

◆ m_MapdownloadFileTemp

IOHANDLE CClient::m_MapdownloadFileTemp = 0
private

◆ m_MapdownloadSha256

SHA256_DIGEST CClient::m_MapdownloadSha256 = SHA256_ZEROED
private

◆ m_MapdownloadSha256Present

bool CClient::m_MapdownloadSha256Present = false
private

◆ m_MapdownloadTotalsize

int CClient::m_MapdownloadTotalsize = -1
private

◆ m_OwnExecutable

IOHANDLE CClient::m_OwnExecutable = 0
private

◆ m_OwnExecutableSize

int CClient::m_OwnExecutableSize = 0
private

◆ m_pConfig

CConfig* CClient::m_pConfig = nullptr
private

◆ m_pConfigManager

IConfigManager* CClient::m_pConfigManager = nullptr
private

◆ m_pConsole

IConsole* CClient::m_pConsole = nullptr
private

◆ m_pDDNetInfoTask

std::shared_ptr<CHttpRequest> CClient::m_pDDNetInfoTask = nullptr
private

◆ m_pDiscord

IDiscord* CClient::m_pDiscord = nullptr
private

◆ m_pEditor

IEditor* CClient::m_pEditor = nullptr
private

◆ m_pEngine

IEngine* CClient::m_pEngine = nullptr
private

◆ m_pFavorites

IFavorites* CClient::m_pFavorites = nullptr
private

◆ m_pFileLogger

std::shared_ptr<ILogger> CClient::m_pFileLogger = nullptr
private

◆ m_pGameClient

IGameClient* CClient::m_pGameClient = nullptr
private

◆ m_pGraphics

IEngineGraphics* CClient::m_pGraphics = nullptr
private

◆ m_PingStartTime

int64_t CClient::m_PingStartTime = 0
private

◆ m_pInput

IEngineInput* CClient::m_pInput = nullptr
private

◆ m_pMap

IEngineMap* CClient::m_pMap = nullptr
private

◆ m_pMapdownloadTask

std::shared_ptr<CHttpRequest> CClient::m_pMapdownloadTask = nullptr
private

◆ m_pNotifications

INotifications* CClient::m_pNotifications = nullptr
private

◆ m_PredictedTime [1/2]

CSmoothTime CClient::m_PredictedTime
private

◆ m_PredictedTime [2/2]

int64_t CClient::m_PredictedTime

◆ m_PredictionMargin

int64_t CClient::m_PredictionMargin

◆ m_pSound

IEngineSound* CClient::m_pSound = nullptr
private

◆ m_pStdoutLogger

std::shared_ptr<ILogger> CClient::m_pStdoutLogger = nullptr
private

◆ m_pSteam

ISteam* CClient::m_pSteam = nullptr
private

◆ m_pStorage

IStorage* CClient::m_pStorage = nullptr
private

◆ m_pTextRender

IEngineTextRender* CClient::m_pTextRender = nullptr
private

◆ m_pUpdater

IUpdater* CClient::m_pUpdater = nullptr
private

◆ m_SendPassword

bool CClient::m_SendPassword = false
private

◆ m_ServerBrowser

CServerBrowser CClient::m_ServerBrowser
private

◆ m_ServerCapabilities

CServerCapabilities CClient::m_ServerCapabilities
private

◆ m_ServerSentCapabilities

bool CClient::m_ServerSentCapabilities = false
private

◆ m_Sixup

bool CClient::m_Sixup
private

◆ m_SnapCrcErrors

int CClient::m_SnapCrcErrors = 0
private

◆ m_SnapshotDelta

CSnapshotDelta CClient::m_SnapshotDelta
private

◆ m_Tick

int CClient::m_Tick

◆ m_Time

int64_t CClient::m_Time

◆ m_Updater

CUpdater CClient::m_Updater
private

◆ m_UseTempRconCommands

int CClient::m_UseTempRconCommands = 0
private

◆ m_VersionInfo

struct CClient::CVersionInfo CClient::m_VersionInfo
private

◆ m_vQuittingWarnings

std::vector<SWarning> CClient::m_vQuittingWarnings
private

◆ m_vWarnings

std::vector<SWarning> CClient::m_vWarnings
private

The documentation for this class was generated from the following files: