1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-01-05 17:13:36 +08:00
hl2sdk/public/iclient.h
Scott Ehlert db8a44c299 Initial set of changes from reversed engineered l4d binaries
* Bumped IVEngineServer to version 022
 * Bumped ICvar to version 007
 * Added/Removed various functions to/from the following interfaces: IVEngineServer, ICvar, IServerGameDLL, IServerGameEnts, IServerGameClients, IFileSystem, IEngineSound, IEngineTrace, IClient, IConvar, and INetworkStringTableContainer
 * Added unknown extra int ptr param to IGameEventManager2::CreateEvent
 * Added GetDebugEventID to IGameEventListener2
 * Added two new members of CGlobalVars: serverCount and baseEdict
 * Added new functions to ConCommandBase and ConVar classes in tier1
 * Recompiled tier1 static library for Windows
 * Updated notes.txt to reflect the nature of this SDK
2008-11-09 02:40:03 -06:00

92 lines
3.4 KiB
C++

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef ICLIENT_H
#define ICLIENT_H
#ifdef _WIN32
#pragma once
#endif
#include <inetmsghandler.h>
#include "tier0/platform.h"
class IServer;
class INetMessage;
struct USERID_t;
abstract_class IClient : public INetChannelHandler
{
public:
virtual ~IClient() {}
// connect client
virtual void Connect(const char * szName, int nUserID, INetChannel *pNetChannel, bool bFakePlayer, CUtlVector< NetMessageCvar_t > *) = 0;
// set the client in a pending state waiting for a new game
virtual void Inactivate( void ) = 0;
// Reconnect without dropiing the netchannel
virtual void Reconnect( void ) = 0; // froce reconnect
// disconnects a client with a given reason
virtual void Disconnect( const char *reason, ... ) = 0;
virtual int GetPlayerSlot() const = 0; // returns client slot (usually entity number-1)
virtual int GetUserID() const = 0; // unique ID on this server
virtual const USERID_t GetNetworkID() const = 0; // network wide ID
virtual const char *GetClientName() const = 0; // returns client name
virtual INetChannel *GetNetChannel() = 0; // returns client netchannel
virtual IServer *GetServer() = 0; // returns the object server the client belongs to
virtual const char *GetUserSetting(const char *cvar) const = 0; // returns a clients FCVAR_USERINFO setting
virtual const char *GetNetworkIDString() const = 0; // returns a human readable representation of the network id
// set/get client data rate in bytes/second
virtual void SetRate( int nRate, bool bForce ) = 0;
virtual int GetRate( void ) const = 0;
// set/get updates/second rate
virtual void SetUpdateRate( int nUpdateRate, bool bForce ) = 0;
virtual int GetUpdateRate( void ) const = 0;
// clear complete object & free all memory
virtual void Clear( void ) = 0;
// returns the highest world tick number acknowledge by client
virtual int GetMaxAckTickCount() const = 0;
// execute a client command
virtual bool ExecuteStringCommand( const char *s ) = 0;
// send client a network message
virtual bool SendNetMsg(INetMessage &msg, bool bForceReliable = false) = 0;
// send client a text message
virtual void ClientPrintf (const char *fmt, ...) = 0;
// client has established network channels, nothing else
virtual bool IsConnected( void ) const = 0;
// client is downloading signon data
virtual bool IsSpawned( void ) const = 0;
// client active is ingame, receiving snapshots
virtual bool IsActive( void ) const = 0;
// returns true, if client is not a real player
virtual bool IsFakeClient( void ) const = 0;
// returns true, if client is a HLTV proxy
virtual bool IsHLTV( void ) const = 0;
// returns true, if client hears this player
virtual bool IsHearingClient(int index) const = 0;
// returns true, if client hears this player by proximity
virtual bool IsProximityHearingClient(int index) const = 0;
virtual void SetMaxRoutablePayloadSize( int nMaxRoutablePayloadSize ) = 0;
virtual bool IsSplitScreenUser( void ) = 0;
virtual bool CheckConnect ( void ) = 0;
virtual bool IsLowViolenceClient( void ) = 0;
virtual int GetSplitScreenOwner( void ) = 0;
virtual int GetNumPlayers( void ) = 0;
};
#endif // ICLIENT_H