Counter Strike : Global Offensive Source Code
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.

57 lines
1.7 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //
  7. //=============================================================================//
  8. #ifndef IHLTV_H
  9. #define IHLTV_H
  10. #ifdef _WIN32
  11. #pragma once
  12. #endif
  13. #include "interface.h"
  14. class IServer;
  15. class IHLTVDirector;
  16. class IGameEvent;
  17. class CGameInfo;
  18. struct netadr_s;
  19. #define HLTV_REPLAY_ENABLED 1
  20. //-----------------------------------------------------------------------------
  21. // Interface the HLTV module exposes to the engine
  22. //-----------------------------------------------------------------------------
  23. #define INTERFACEVERSION_HLTVSERVER "HLTVServer001"
  24. class IHLTVServer : public IBaseInterface
  25. {
  26. public:
  27. virtual ~IHLTVServer() {}
  28. virtual IServer *GetBaseServer( void ) = 0; // get HLTV base server interface
  29. virtual IHLTVDirector *GetDirector( void ) = 0; // get director interface
  30. virtual int GetHLTVSlot( void ) = 0; // return entity index-1 of HLTV in game
  31. virtual float GetOnlineTime( void ) = 0; // seconds since broadcast started
  32. virtual void GetLocalStats( int &proxies, int &slots, int &specs ) = 0;
  33. virtual void GetGlobalStats( int &proxies, int &slots, int &specs ) = 0;
  34. virtual const netadr_s *GetRelayAddress( void ) = 0; // returns relay address
  35. virtual bool IsMasterProxy( void ) = 0; // true, if this is the HLTV master proxy
  36. virtual bool IsDemoPlayback( void ) = 0; // true if this is a HLTV demo
  37. virtual void BroadcastEvent(IGameEvent *event) = 0; // send a director command to all specs
  38. virtual bool IsRecording() = 0;
  39. virtual const char* GetRecordingDemoFilename() = 0;
  40. virtual void StartAutoRecording() = 0;
  41. virtual void StopRecording( const CGameInfo *pGameInfo = NULL ) = 0;
  42. };
  43. #endif