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.
88 lines
2.5 KiB
88 lines
2.5 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef HLTVCLIENTSTATE_H
|
||
|
#define HLTVCLIENTSTATE_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#include "baseclientstate.h"
|
||
|
|
||
|
class CClientFrame;
|
||
|
class CHLTVServer;
|
||
|
|
||
|
extern ConVar tv_name;
|
||
|
|
||
|
class CHLTVClientState : public CBaseClientState
|
||
|
{
|
||
|
|
||
|
friend class CHLTVServer;
|
||
|
|
||
|
public:
|
||
|
CHLTVClientState();
|
||
|
virtual ~CHLTVClientState();
|
||
|
|
||
|
public:
|
||
|
|
||
|
const char *GetCDKeyHash() { return "HLTVHLTVHLTVHLTVHLTVHLTVHLTVHLTV"; }; // haha
|
||
|
bool SetSignonState ( int state, int count );
|
||
|
void SendClientInfo( void );
|
||
|
void PacketEnd( void );
|
||
|
void Clear( void );
|
||
|
void RunFrame ( void );
|
||
|
void InstallStringTableCallback( char const *tableName );
|
||
|
virtual bool HookClientStringTable( char const *tableName );
|
||
|
virtual const char *GetClientName() { return tv_name.GetString(); }
|
||
|
|
||
|
void ConnectionCrashed( const char * reason );
|
||
|
void ConnectionClosing( const char * reason );
|
||
|
int GetConnectionRetryNumber() const;
|
||
|
|
||
|
void ReadEnterPVS( CEntityReadInfo &u );
|
||
|
void ReadLeavePVS( CEntityReadInfo &u );
|
||
|
void ReadDeltaEnt( CEntityReadInfo &u );
|
||
|
void ReadPreserveEnt( CEntityReadInfo &u );
|
||
|
void ReadDeletions( CEntityReadInfo &u );
|
||
|
|
||
|
void CopyNewEntity( CEntityReadInfo &u, int iClass, int iSerialNum );
|
||
|
|
||
|
public: // IServerMessageHandlers
|
||
|
|
||
|
PROCESS_NET_MESSAGE( StringCmd );
|
||
|
PROCESS_NET_MESSAGE( SetConVar );
|
||
|
|
||
|
PROCESS_SVC_MESSAGE( ServerInfo );
|
||
|
PROCESS_SVC_MESSAGE( ClassInfo );
|
||
|
PROCESS_SVC_MESSAGE( VoiceInit );
|
||
|
PROCESS_SVC_MESSAGE( VoiceData );
|
||
|
PROCESS_SVC_MESSAGE( Sounds );
|
||
|
PROCESS_SVC_MESSAGE( FixAngle );
|
||
|
PROCESS_SVC_MESSAGE( CrosshairAngle );
|
||
|
PROCESS_SVC_MESSAGE( BSPDecal );
|
||
|
PROCESS_SVC_MESSAGE( GameEvent );
|
||
|
PROCESS_SVC_MESSAGE( UserMessage );
|
||
|
PROCESS_SVC_MESSAGE( EntityMessage );
|
||
|
PROCESS_SVC_MESSAGE( SetView );
|
||
|
PROCESS_SVC_MESSAGE( PacketEntities );
|
||
|
PROCESS_SVC_MESSAGE( TempEntities );
|
||
|
PROCESS_SVC_MESSAGE( Prefetch );
|
||
|
PROCESS_SVC_MESSAGE( GameEventList );
|
||
|
PROCESS_SVC_MESSAGE( Menu );
|
||
|
|
||
|
public:
|
||
|
void SendPacket();
|
||
|
void UpdateStats();
|
||
|
|
||
|
CClientFrame *m_pNewClientFrame; // not NULL if we just got a packet with a new entity frame
|
||
|
CClientFrame *m_pCurrentClientFrame; // NULL or pointer to last entity frame
|
||
|
bool m_bSaveMemory; //compress data as much as possible to keep whole demos in memory
|
||
|
float m_fNextSendUpdateTime;
|
||
|
CHLTVServer *m_pHLTV; // HLTV server this client state belongs too.
|
||
|
};
|
||
|
|
||
|
#endif // HLTVCLIENTSTATE_H
|