From f56bb35301836e56582a575a75864392a0177875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Mon, 2 Dec 2013 19:31:46 -0800 Subject: Fix line endings. WHAMMY. --- mp/src/game/server/env_projectedtexture.cpp | 540 ++++++++++++++-------------- 1 file changed, 270 insertions(+), 270 deletions(-) (limited to 'mp/src/game/server/env_projectedtexture.cpp') diff --git a/mp/src/game/server/env_projectedtexture.cpp b/mp/src/game/server/env_projectedtexture.cpp index eada4e2a..3cdacb40 100644 --- a/mp/src/game/server/env_projectedtexture.cpp +++ b/mp/src/game/server/env_projectedtexture.cpp @@ -1,270 +1,270 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Purpose: Entity to control screen overlays on a player -// -//============================================================================= - -#include "cbase.h" -#include "shareddefs.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -#define ENV_PROJECTEDTEXTURE_STARTON (1<<0) - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -class CEnvProjectedTexture : public CPointEntity -{ - DECLARE_CLASS( CEnvProjectedTexture, CPointEntity ); -public: - DECLARE_DATADESC(); - DECLARE_SERVERCLASS(); - - CEnvProjectedTexture(); - bool KeyValue( const char *szKeyName, const char *szValue ); - - // Always transmit to clients - virtual int UpdateTransmitState(); - virtual void Activate( void ); - - void InputTurnOn( inputdata_t &inputdata ); - void InputTurnOff( inputdata_t &inputdata ); - void InputSetFOV( inputdata_t &inputdata ); - void InputSetTarget( inputdata_t &inputdata ); - void InputSetCameraSpace( inputdata_t &inputdata ); - void InputSetLightOnlyTarget( inputdata_t &inputdata ); - void InputSetLightWorld( inputdata_t &inputdata ); - void InputSetEnableShadows( inputdata_t &inputdata ); -// void InputSetLightColor( inputdata_t &inputdata ); - void InputSetSpotlightTexture( inputdata_t &inputdata ); - void InputSetAmbient( inputdata_t &inputdata ); - - void InitialThink( void ); - - CNetworkHandle( CBaseEntity, m_hTargetEntity ); - -private: - - CNetworkVar( bool, m_bState ); - CNetworkVar( float, m_flLightFOV ); - CNetworkVar( bool, m_bEnableShadows ); - CNetworkVar( bool, m_bLightOnlyTarget ); - CNetworkVar( bool, m_bLightWorld ); - CNetworkVar( bool, m_bCameraSpace ); - CNetworkVector( m_LinearFloatLightColor ); - CNetworkVar( float, m_flAmbient ); - CNetworkString( m_SpotlightTextureName, MAX_PATH ); - CNetworkVar( int, m_nSpotlightTextureFrame ); - CNetworkVar( float, m_flNearZ ); - CNetworkVar( float, m_flFarZ ); - CNetworkVar( int, m_nShadowQuality ); -}; - -LINK_ENTITY_TO_CLASS( env_projectedtexture, CEnvProjectedTexture ); - -BEGIN_DATADESC( CEnvProjectedTexture ) - DEFINE_FIELD( m_hTargetEntity, FIELD_EHANDLE ), - DEFINE_FIELD( m_bState, FIELD_BOOLEAN ), - DEFINE_KEYFIELD( m_flLightFOV, FIELD_FLOAT, "lightfov" ), - DEFINE_KEYFIELD( m_bEnableShadows, FIELD_BOOLEAN, "enableshadows" ), - DEFINE_KEYFIELD( m_bLightOnlyTarget, FIELD_BOOLEAN, "lightonlytarget" ), - DEFINE_KEYFIELD( m_bLightWorld, FIELD_BOOLEAN, "lightworld" ), - DEFINE_KEYFIELD( m_bCameraSpace, FIELD_BOOLEAN, "cameraspace" ), - DEFINE_KEYFIELD( m_flAmbient, FIELD_FLOAT, "ambient" ), - DEFINE_AUTO_ARRAY_KEYFIELD( m_SpotlightTextureName, FIELD_CHARACTER, "texturename" ), - DEFINE_KEYFIELD( m_nSpotlightTextureFrame, FIELD_INTEGER, "textureframe" ), - DEFINE_KEYFIELD( m_flNearZ, FIELD_FLOAT, "nearz" ), - DEFINE_KEYFIELD( m_flFarZ, FIELD_FLOAT, "farz" ), - DEFINE_KEYFIELD( m_nShadowQuality, FIELD_INTEGER, "shadowquality" ), - DEFINE_FIELD( m_LinearFloatLightColor, FIELD_VECTOR ), - - DEFINE_INPUTFUNC( FIELD_VOID, "TurnOn", InputTurnOn ), - DEFINE_INPUTFUNC( FIELD_VOID, "TurnOff", InputTurnOff ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "FOV", InputSetFOV ), - DEFINE_INPUTFUNC( FIELD_EHANDLE, "Target", InputSetTarget ), - DEFINE_INPUTFUNC( FIELD_BOOLEAN, "CameraSpace", InputSetCameraSpace ), - DEFINE_INPUTFUNC( FIELD_BOOLEAN, "LightOnlyTarget", InputSetLightOnlyTarget ), - DEFINE_INPUTFUNC( FIELD_BOOLEAN, "LightWorld", InputSetLightWorld ), - DEFINE_INPUTFUNC( FIELD_BOOLEAN, "EnableShadows", InputSetEnableShadows ), - // this is broken . . need to be able to set color and intensity like light_dynamic -// DEFINE_INPUTFUNC( FIELD_COLOR32, "LightColor", InputSetLightColor ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "Ambient", InputSetAmbient ), - DEFINE_INPUTFUNC( FIELD_STRING, "SpotlightTexture", InputSetSpotlightTexture ), - DEFINE_THINKFUNC( InitialThink ), -END_DATADESC() - -IMPLEMENT_SERVERCLASS_ST( CEnvProjectedTexture, DT_EnvProjectedTexture ) - SendPropEHandle( SENDINFO( m_hTargetEntity ) ), - SendPropBool( SENDINFO( m_bState ) ), - SendPropFloat( SENDINFO( m_flLightFOV ) ), - SendPropBool( SENDINFO( m_bEnableShadows ) ), - SendPropBool( SENDINFO( m_bLightOnlyTarget ) ), - SendPropBool( SENDINFO( m_bLightWorld ) ), - SendPropBool( SENDINFO( m_bCameraSpace ) ), - SendPropVector( SENDINFO( m_LinearFloatLightColor ) ), - SendPropFloat( SENDINFO( m_flAmbient ) ), - SendPropString( SENDINFO( m_SpotlightTextureName ) ), - SendPropInt( SENDINFO( m_nSpotlightTextureFrame ) ), - SendPropFloat( SENDINFO( m_flNearZ ), 16, SPROP_ROUNDDOWN, 0.0f, 500.0f ), - SendPropFloat( SENDINFO( m_flFarZ ), 18, SPROP_ROUNDDOWN, 0.0f, 1500.0f ), - SendPropInt( SENDINFO( m_nShadowQuality ), 1, SPROP_UNSIGNED ), // Just one bit for now -END_SEND_TABLE() - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -CEnvProjectedTexture::CEnvProjectedTexture( void ) -{ - m_bState = true; - m_flLightFOV = 45.0f; - m_bEnableShadows = false; - m_bLightOnlyTarget = false; - m_bLightWorld = true; - m_bCameraSpace = false; - -// if ( g_pHardwareConfig->SupportsBorderColor() ) -#if defined( _X360 ) - Q_strcpy( m_SpotlightTextureName.GetForModify(), "effects/flashlight_border" ); -#else - Q_strcpy( m_SpotlightTextureName.GetForModify(), "effects/flashlight001" ); -#endif - - m_nSpotlightTextureFrame = 0; - m_LinearFloatLightColor.Init( 1.0f, 1.0f, 1.0f ); - m_flAmbient = 0.0f; - m_flNearZ = 4.0f; - m_flFarZ = 750.0f; - m_nShadowQuality = 0; -} - -void UTIL_ColorStringToLinearFloatColor( Vector &color, const char *pString ) -{ - float tmp[4]; - UTIL_StringToFloatArray( tmp, 4, pString ); - if( tmp[3] <= 0.0f ) - { - tmp[3] = 255.0f; - } - tmp[3] *= ( 1.0f / 255.0f ); - color.x = GammaToLinear( tmp[0] * ( 1.0f / 255.0f ) ) * tmp[3]; - color.y = GammaToLinear( tmp[1] * ( 1.0f / 255.0f ) ) * tmp[3]; - color.z = GammaToLinear( tmp[2] * ( 1.0f / 255.0f ) ) * tmp[3]; -} - -bool CEnvProjectedTexture::KeyValue( const char *szKeyName, const char *szValue ) -{ - if ( FStrEq( szKeyName, "lightcolor" ) ) - { - Vector tmp; - UTIL_ColorStringToLinearFloatColor( tmp, szValue ); - m_LinearFloatLightColor = tmp; - } - else - { - return BaseClass::KeyValue( szKeyName, szValue ); - } - - return true; -} - -void CEnvProjectedTexture::InputTurnOn( inputdata_t &inputdata ) -{ - m_bState = true; -} - -void CEnvProjectedTexture::InputTurnOff( inputdata_t &inputdata ) -{ - m_bState = false; -} - -void CEnvProjectedTexture::InputSetFOV( inputdata_t &inputdata ) -{ - m_flLightFOV = inputdata.value.Float(); -} - -void CEnvProjectedTexture::InputSetTarget( inputdata_t &inputdata ) -{ - m_hTargetEntity = inputdata.value.Entity(); -} - -void CEnvProjectedTexture::InputSetCameraSpace( inputdata_t &inputdata ) -{ - m_bCameraSpace = inputdata.value.Bool(); -} - -void CEnvProjectedTexture::InputSetLightOnlyTarget( inputdata_t &inputdata ) -{ - m_bLightOnlyTarget = inputdata.value.Bool(); -} - -void CEnvProjectedTexture::InputSetLightWorld( inputdata_t &inputdata ) -{ - m_bLightWorld = inputdata.value.Bool(); -} - -void CEnvProjectedTexture::InputSetEnableShadows( inputdata_t &inputdata ) -{ - m_bEnableShadows = inputdata.value.Bool(); -} - -//void CEnvProjectedTexture::InputSetLightColor( inputdata_t &inputdata ) -//{ -// m_cLightColor = inputdata.value.Color32(); -//} - -void CEnvProjectedTexture::InputSetAmbient( inputdata_t &inputdata ) -{ - m_flAmbient = inputdata.value.Float(); -} - -void CEnvProjectedTexture::InputSetSpotlightTexture( inputdata_t &inputdata ) -{ - Q_strcpy( m_SpotlightTextureName.GetForModify(), inputdata.value.String() ); -} - -void CEnvProjectedTexture::Activate( void ) -{ - if ( GetSpawnFlags() & ENV_PROJECTEDTEXTURE_STARTON ) - { - m_bState = true; - } - - SetThink( &CEnvProjectedTexture::InitialThink ); - SetNextThink( gpGlobals->curtime + 0.1f ); - - BaseClass::Activate(); -} - -void CEnvProjectedTexture::InitialThink( void ) -{ - m_hTargetEntity = gEntList.FindEntityByName( NULL, m_target ); -} - -int CEnvProjectedTexture::UpdateTransmitState() -{ - return SetTransmitState( FL_EDICT_ALWAYS ); -} - - -// Console command for creating env_projectedtexture entities -void CC_CreateFlashlight( const CCommand &args ) -{ - CBasePlayer *pPlayer = UTIL_GetCommandClient(); - if( !pPlayer ) - return; - - QAngle angles = pPlayer->EyeAngles(); - Vector origin = pPlayer->EyePosition(); - - CEnvProjectedTexture *pFlashlight = dynamic_cast< CEnvProjectedTexture * >( CreateEntityByName("env_projectedtexture") ); - if( args.ArgC() > 1 ) - { - pFlashlight->SetName( AllocPooledString( args[1] ) ); - } - - pFlashlight->Teleport( &origin, &angles, NULL ); - -} -static ConCommand create_flashlight("create_flashlight", CC_CreateFlashlight, 0, FCVAR_CHEAT); +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Entity to control screen overlays on a player +// +//============================================================================= + +#include "cbase.h" +#include "shareddefs.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +#define ENV_PROJECTEDTEXTURE_STARTON (1<<0) + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CEnvProjectedTexture : public CPointEntity +{ + DECLARE_CLASS( CEnvProjectedTexture, CPointEntity ); +public: + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); + + CEnvProjectedTexture(); + bool KeyValue( const char *szKeyName, const char *szValue ); + + // Always transmit to clients + virtual int UpdateTransmitState(); + virtual void Activate( void ); + + void InputTurnOn( inputdata_t &inputdata ); + void InputTurnOff( inputdata_t &inputdata ); + void InputSetFOV( inputdata_t &inputdata ); + void InputSetTarget( inputdata_t &inputdata ); + void InputSetCameraSpace( inputdata_t &inputdata ); + void InputSetLightOnlyTarget( inputdata_t &inputdata ); + void InputSetLightWorld( inputdata_t &inputdata ); + void InputSetEnableShadows( inputdata_t &inputdata ); +// void InputSetLightColor( inputdata_t &inputdata ); + void InputSetSpotlightTexture( inputdata_t &inputdata ); + void InputSetAmbient( inputdata_t &inputdata ); + + void InitialThink( void ); + + CNetworkHandle( CBaseEntity, m_hTargetEntity ); + +private: + + CNetworkVar( bool, m_bState ); + CNetworkVar( float, m_flLightFOV ); + CNetworkVar( bool, m_bEnableShadows ); + CNetworkVar( bool, m_bLightOnlyTarget ); + CNetworkVar( bool, m_bLightWorld ); + CNetworkVar( bool, m_bCameraSpace ); + CNetworkVector( m_LinearFloatLightColor ); + CNetworkVar( float, m_flAmbient ); + CNetworkString( m_SpotlightTextureName, MAX_PATH ); + CNetworkVar( int, m_nSpotlightTextureFrame ); + CNetworkVar( float, m_flNearZ ); + CNetworkVar( float, m_flFarZ ); + CNetworkVar( int, m_nShadowQuality ); +}; + +LINK_ENTITY_TO_CLASS( env_projectedtexture, CEnvProjectedTexture ); + +BEGIN_DATADESC( CEnvProjectedTexture ) + DEFINE_FIELD( m_hTargetEntity, FIELD_EHANDLE ), + DEFINE_FIELD( m_bState, FIELD_BOOLEAN ), + DEFINE_KEYFIELD( m_flLightFOV, FIELD_FLOAT, "lightfov" ), + DEFINE_KEYFIELD( m_bEnableShadows, FIELD_BOOLEAN, "enableshadows" ), + DEFINE_KEYFIELD( m_bLightOnlyTarget, FIELD_BOOLEAN, "lightonlytarget" ), + DEFINE_KEYFIELD( m_bLightWorld, FIELD_BOOLEAN, "lightworld" ), + DEFINE_KEYFIELD( m_bCameraSpace, FIELD_BOOLEAN, "cameraspace" ), + DEFINE_KEYFIELD( m_flAmbient, FIELD_FLOAT, "ambient" ), + DEFINE_AUTO_ARRAY_KEYFIELD( m_SpotlightTextureName, FIELD_CHARACTER, "texturename" ), + DEFINE_KEYFIELD( m_nSpotlightTextureFrame, FIELD_INTEGER, "textureframe" ), + DEFINE_KEYFIELD( m_flNearZ, FIELD_FLOAT, "nearz" ), + DEFINE_KEYFIELD( m_flFarZ, FIELD_FLOAT, "farz" ), + DEFINE_KEYFIELD( m_nShadowQuality, FIELD_INTEGER, "shadowquality" ), + DEFINE_FIELD( m_LinearFloatLightColor, FIELD_VECTOR ), + + DEFINE_INPUTFUNC( FIELD_VOID, "TurnOn", InputTurnOn ), + DEFINE_INPUTFUNC( FIELD_VOID, "TurnOff", InputTurnOff ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "FOV", InputSetFOV ), + DEFINE_INPUTFUNC( FIELD_EHANDLE, "Target", InputSetTarget ), + DEFINE_INPUTFUNC( FIELD_BOOLEAN, "CameraSpace", InputSetCameraSpace ), + DEFINE_INPUTFUNC( FIELD_BOOLEAN, "LightOnlyTarget", InputSetLightOnlyTarget ), + DEFINE_INPUTFUNC( FIELD_BOOLEAN, "LightWorld", InputSetLightWorld ), + DEFINE_INPUTFUNC( FIELD_BOOLEAN, "EnableShadows", InputSetEnableShadows ), + // this is broken . . need to be able to set color and intensity like light_dynamic +// DEFINE_INPUTFUNC( FIELD_COLOR32, "LightColor", InputSetLightColor ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "Ambient", InputSetAmbient ), + DEFINE_INPUTFUNC( FIELD_STRING, "SpotlightTexture", InputSetSpotlightTexture ), + DEFINE_THINKFUNC( InitialThink ), +END_DATADESC() + +IMPLEMENT_SERVERCLASS_ST( CEnvProjectedTexture, DT_EnvProjectedTexture ) + SendPropEHandle( SENDINFO( m_hTargetEntity ) ), + SendPropBool( SENDINFO( m_bState ) ), + SendPropFloat( SENDINFO( m_flLightFOV ) ), + SendPropBool( SENDINFO( m_bEnableShadows ) ), + SendPropBool( SENDINFO( m_bLightOnlyTarget ) ), + SendPropBool( SENDINFO( m_bLightWorld ) ), + SendPropBool( SENDINFO( m_bCameraSpace ) ), + SendPropVector( SENDINFO( m_LinearFloatLightColor ) ), + SendPropFloat( SENDINFO( m_flAmbient ) ), + SendPropString( SENDINFO( m_SpotlightTextureName ) ), + SendPropInt( SENDINFO( m_nSpotlightTextureFrame ) ), + SendPropFloat( SENDINFO( m_flNearZ ), 16, SPROP_ROUNDDOWN, 0.0f, 500.0f ), + SendPropFloat( SENDINFO( m_flFarZ ), 18, SPROP_ROUNDDOWN, 0.0f, 1500.0f ), + SendPropInt( SENDINFO( m_nShadowQuality ), 1, SPROP_UNSIGNED ), // Just one bit for now +END_SEND_TABLE() + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CEnvProjectedTexture::CEnvProjectedTexture( void ) +{ + m_bState = true; + m_flLightFOV = 45.0f; + m_bEnableShadows = false; + m_bLightOnlyTarget = false; + m_bLightWorld = true; + m_bCameraSpace = false; + +// if ( g_pHardwareConfig->SupportsBorderColor() ) +#if defined( _X360 ) + Q_strcpy( m_SpotlightTextureName.GetForModify(), "effects/flashlight_border" ); +#else + Q_strcpy( m_SpotlightTextureName.GetForModify(), "effects/flashlight001" ); +#endif + + m_nSpotlightTextureFrame = 0; + m_LinearFloatLightColor.Init( 1.0f, 1.0f, 1.0f ); + m_flAmbient = 0.0f; + m_flNearZ = 4.0f; + m_flFarZ = 750.0f; + m_nShadowQuality = 0; +} + +void UTIL_ColorStringToLinearFloatColor( Vector &color, const char *pString ) +{ + float tmp[4]; + UTIL_StringToFloatArray( tmp, 4, pString ); + if( tmp[3] <= 0.0f ) + { + tmp[3] = 255.0f; + } + tmp[3] *= ( 1.0f / 255.0f ); + color.x = GammaToLinear( tmp[0] * ( 1.0f / 255.0f ) ) * tmp[3]; + color.y = GammaToLinear( tmp[1] * ( 1.0f / 255.0f ) ) * tmp[3]; + color.z = GammaToLinear( tmp[2] * ( 1.0f / 255.0f ) ) * tmp[3]; +} + +bool CEnvProjectedTexture::KeyValue( const char *szKeyName, const char *szValue ) +{ + if ( FStrEq( szKeyName, "lightcolor" ) ) + { + Vector tmp; + UTIL_ColorStringToLinearFloatColor( tmp, szValue ); + m_LinearFloatLightColor = tmp; + } + else + { + return BaseClass::KeyValue( szKeyName, szValue ); + } + + return true; +} + +void CEnvProjectedTexture::InputTurnOn( inputdata_t &inputdata ) +{ + m_bState = true; +} + +void CEnvProjectedTexture::InputTurnOff( inputdata_t &inputdata ) +{ + m_bState = false; +} + +void CEnvProjectedTexture::InputSetFOV( inputdata_t &inputdata ) +{ + m_flLightFOV = inputdata.value.Float(); +} + +void CEnvProjectedTexture::InputSetTarget( inputdata_t &inputdata ) +{ + m_hTargetEntity = inputdata.value.Entity(); +} + +void CEnvProjectedTexture::InputSetCameraSpace( inputdata_t &inputdata ) +{ + m_bCameraSpace = inputdata.value.Bool(); +} + +void CEnvProjectedTexture::InputSetLightOnlyTarget( inputdata_t &inputdata ) +{ + m_bLightOnlyTarget = inputdata.value.Bool(); +} + +void CEnvProjectedTexture::InputSetLightWorld( inputdata_t &inputdata ) +{ + m_bLightWorld = inputdata.value.Bool(); +} + +void CEnvProjectedTexture::InputSetEnableShadows( inputdata_t &inputdata ) +{ + m_bEnableShadows = inputdata.value.Bool(); +} + +//void CEnvProjectedTexture::InputSetLightColor( inputdata_t &inputdata ) +//{ +// m_cLightColor = inputdata.value.Color32(); +//} + +void CEnvProjectedTexture::InputSetAmbient( inputdata_t &inputdata ) +{ + m_flAmbient = inputdata.value.Float(); +} + +void CEnvProjectedTexture::InputSetSpotlightTexture( inputdata_t &inputdata ) +{ + Q_strcpy( m_SpotlightTextureName.GetForModify(), inputdata.value.String() ); +} + +void CEnvProjectedTexture::Activate( void ) +{ + if ( GetSpawnFlags() & ENV_PROJECTEDTEXTURE_STARTON ) + { + m_bState = true; + } + + SetThink( &CEnvProjectedTexture::InitialThink ); + SetNextThink( gpGlobals->curtime + 0.1f ); + + BaseClass::Activate(); +} + +void CEnvProjectedTexture::InitialThink( void ) +{ + m_hTargetEntity = gEntList.FindEntityByName( NULL, m_target ); +} + +int CEnvProjectedTexture::UpdateTransmitState() +{ + return SetTransmitState( FL_EDICT_ALWAYS ); +} + + +// Console command for creating env_projectedtexture entities +void CC_CreateFlashlight( const CCommand &args ) +{ + CBasePlayer *pPlayer = UTIL_GetCommandClient(); + if( !pPlayer ) + return; + + QAngle angles = pPlayer->EyeAngles(); + Vector origin = pPlayer->EyePosition(); + + CEnvProjectedTexture *pFlashlight = dynamic_cast< CEnvProjectedTexture * >( CreateEntityByName("env_projectedtexture") ); + if( args.ArgC() > 1 ) + { + pFlashlight->SetName( AllocPooledString( args[1] ) ); + } + + pFlashlight->Teleport( &origin, &angles, NULL ); + +} +static ConCommand create_flashlight("create_flashlight", CC_CreateFlashlight, 0, FCVAR_CHEAT); -- cgit v1.2.3