Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.1 KiB

5 years ago
//========= 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