summaryrefslogtreecommitdiff
path: root/engine/hltvclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine/hltvclient.h')
-rw-r--r--engine/hltvclient.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/engine/hltvclient.h b/engine/hltvclient.h
new file mode 100644
index 0000000..75326f4
--- /dev/null
+++ b/engine/hltvclient.h
@@ -0,0 +1,74 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef HLTVCLIENT_H
+#define HLTVCLIENT_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "baseclient.h"
+
+class CHLTVServer;
+
+class CHLTVClient : public CBaseClient
+{
+public:
+ CHLTVClient(int slot, CBaseServer *pServer);
+ virtual ~CHLTVClient();
+
+ // INetMsgHandler interface
+ void ConnectionClosing( const char *reason );
+ void ConnectionCrashed(const char *reason);
+
+ void PacketStart(int incoming_sequence, int outgoing_acknowledged);
+ void PacketEnd( void );
+
+ void FileReceived( const char *fileName, unsigned int transferID );
+ void FileRequested(const char *fileName, unsigned int transferID );
+ void FileDenied(const char *fileName, unsigned int transferID );
+ void FileSent(const char *fileName, unsigned int transferID );
+
+ bool ProcessConnectionlessPacket( netpacket_t *packet );
+
+ // IClient interface
+ bool ExecuteStringCommand( const char *s );
+ void SpawnPlayer( void );
+ bool ShouldSendMessages( void );
+ void SendSnapshot( CClientFrame * pFrame );
+ bool SendSignonData( void );
+
+ void SetRate( int nRate, bool bForce );
+ void SetUpdateRate(int udpaterate, bool bForce);
+ void UpdateUserSettings();
+
+public: // IClientMessageHandlers
+
+ PROCESS_NET_MESSAGE( SetConVar );
+ PROCESS_CLC_MESSAGE( ClientInfo );
+ PROCESS_CLC_MESSAGE( Move );
+ PROCESS_CLC_MESSAGE( VoiceData );
+ PROCESS_CLC_MESSAGE( ListenEvents );
+ PROCESS_CLC_MESSAGE( RespondCvarValue );
+ PROCESS_CLC_MESSAGE( FileCRCCheck );
+ PROCESS_CLC_MESSAGE( FileMD5Check ) { return true; }
+ PROCESS_CLC_MESSAGE( SaveReplay );
+
+public:
+ CClientFrame *GetDeltaFrame( int nTick );
+
+public:
+ int m_nLastSendTick; // last send tick, don't send ticks twice
+ double m_fLastSendTime; // last net time we send a packet
+ char m_szPassword[64]; // client password
+ double m_flLastChatTime; // last time user send a chat text
+ bool m_bNoChat; // if true don't send chat message to this client
+ char m_szChatGroup[64]; // client password
+ CHLTVServer *m_pHLTV;
+};
+
+
+#endif // HLTVCLIENT_H