Team Fortress 2 Source Code as on 22/4/2020
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.

59 lines
1.9 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. //=============================================================================
  6. #ifndef ICLIENTENGINETOOLS_H
  7. #define ICLIENTENGINETOOLS_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "interface.h"
  12. #include "toolframework/itoolentity.h" // HTOOLHANDLE
  13. //-----------------------------------------------------------------------------
  14. // Forward declarations
  15. //-----------------------------------------------------------------------------
  16. class KeyValues;
  17. struct AudioState_t;
  18. //-----------------------------------------------------------------------------
  19. // Purpose: Exported from engine to client .dll to marshall tool framework calls
  20. // into IToolSystems
  21. //-----------------------------------------------------------------------------
  22. class IClientEngineTools : public IBaseInterface
  23. {
  24. public:
  25. // Level init, shutdown
  26. virtual void LevelInitPreEntityAllTools() = 0;
  27. // entities are created / spawned / precached here
  28. virtual void LevelInitPostEntityAllTools() = 0;
  29. virtual void LevelShutdownPreEntityAllTools() = 0;
  30. // Entities are deleted / released here...
  31. virtual void LevelShutdownPostEntityAllTools() = 0;
  32. virtual void PreRenderAllTools() = 0;
  33. virtual void PostRenderAllTools() = 0;
  34. virtual void PostToolMessage( HTOOLHANDLE hEntity, KeyValues *msg ) = 0;
  35. virtual void AdjustEngineViewport( int& x, int& y, int& width, int& height ) = 0;
  36. virtual bool SetupEngineView( Vector &origin, QAngle &angles, float &fov ) = 0;
  37. virtual bool SetupAudioState( AudioState_t &audioState ) = 0;
  38. // Paintmode is an enum declared in ienginevgui.h
  39. virtual void VGui_PreRenderAllTools( int paintMode ) = 0;
  40. virtual void VGui_PostRenderAllTools( int paintMode ) = 0;
  41. virtual bool IsThirdPersonCamera( ) = 0;
  42. virtual bool InToolMode() = 0;
  43. };
  44. #define VCLIENTENGINETOOLS_INTERFACE_VERSION "VCLIENTENGINETOOLS001"
  45. #endif // ICLIENTENGINETOOLS_H