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.

82 lines
2.7 KiB

  1. #ifndef ENV_PROJECTEDTEXTURE_H
  2. #define ENV_PROJECTEDTEXTURE_H
  3. #ifdef _WIN32
  4. #pragma once
  5. #endif
  6. #define ENV_PROJECTEDTEXTURE_STARTON (1<<0)
  7. #define ENV_PROJECTEDTEXTURE_ALWAYSUPDATE (1<<1)
  8. //-----------------------------------------------------------------------------
  9. // Purpose:
  10. //-----------------------------------------------------------------------------
  11. class CEnvProjectedTexture : public CPointEntity
  12. {
  13. DECLARE_CLASS( CEnvProjectedTexture, CPointEntity );
  14. public:
  15. DECLARE_DATADESC();
  16. DECLARE_SERVERCLASS();
  17. CEnvProjectedTexture();
  18. bool KeyValue( const char *szKeyName, const char *szValue );
  19. virtual bool GetKeyValue( const char *szKeyName, char *szValue, int iMaxLen );
  20. // Always transmit to clients
  21. virtual int UpdateTransmitState();
  22. virtual void Activate( void );
  23. virtual void Spawn( void );
  24. void InputTurnOn( inputdata_t &inputdata );
  25. void InputTurnOff( inputdata_t &inputdata );
  26. void InputAlwaysUpdateOn( inputdata_t &inputdata );
  27. void InputAlwaysUpdateOff( inputdata_t &inputdata );
  28. void InputSetFOV( inputdata_t &inputdata );
  29. void InputSetTarget( inputdata_t &inputdata );
  30. void InputSetCameraSpace( inputdata_t &inputdata );
  31. void InputSetLightOnlyTarget( inputdata_t &inputdata );
  32. void InputSetLightWorld( inputdata_t &inputdata );
  33. void InputSetEnableShadows( inputdata_t &inputdata );
  34. void InputSetLightColor( inputdata_t &inputdata );
  35. void InputSetSpotlightTexture( inputdata_t &inputdata );
  36. void InputSetAmbient( inputdata_t &inputdata );
  37. void InputSetLightStyle( inputdata_t &inputdata );
  38. void InputSetPattern( inputdata_t &inputdata );
  39. void InputSetNearZ( inputdata_t &inputdata );
  40. void InputSetFarZ( inputdata_t &inputdata );
  41. void InitialThink( void );
  42. CNetworkHandle( CBaseEntity, m_hTargetEntity );
  43. private:
  44. void EnforceSingleProjectionRules( bool bWarnOnEnforcement = false );
  45. CNetworkVar( bool, m_bState );
  46. CNetworkVar( bool, m_bAlwaysUpdate );
  47. CNetworkVar( float, m_flLightFOV );
  48. CNetworkVar( bool, m_bEnableShadows );
  49. CNetworkVar( bool, m_bSimpleProjection );
  50. CNetworkVar( bool, m_bLightOnlyTarget );
  51. CNetworkVar( bool, m_bLightWorld );
  52. CNetworkVar( bool, m_bCameraSpace );
  53. CNetworkVar( float, m_flBrightnessScale );
  54. CNetworkColor32( m_LightColor );
  55. CNetworkVar( float, m_flColorTransitionTime );
  56. CNetworkVar( float, m_flAmbient );
  57. CNetworkString( m_SpotlightTextureName, MAX_PATH );
  58. CNetworkVar( int, m_nSpotlightTextureFrame );
  59. CNetworkVar( float, m_flNearZ );
  60. CNetworkVar( float, m_flFarZ );
  61. CNetworkVar( int, m_nShadowQuality );
  62. CNetworkVar( float, m_flProjectionSize );
  63. CNetworkVar( float, m_flRotation );
  64. // Light style
  65. CNetworkVar( int, m_iStyle );
  66. int m_iDefaultStyle;
  67. string_t m_iszPattern;
  68. };
  69. #endif // ENV_PROJECTEDTEXTURE_H