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_tonemap_controller.cpp | 498 +++++++++++++------------- 1 file changed, 249 insertions(+), 249 deletions(-) (limited to 'mp/src/game/server/env_tonemap_controller.cpp') diff --git a/mp/src/game/server/env_tonemap_controller.cpp b/mp/src/game/server/env_tonemap_controller.cpp index b4d3e43a..807e39ac 100644 --- a/mp/src/game/server/env_tonemap_controller.cpp +++ b/mp/src/game/server/env_tonemap_controller.cpp @@ -1,249 +1,249 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -//============================================================================= - -#include "cbase.h" -#include "baseentity.h" -#include "entityoutput.h" -#include "convar.h" -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -ConVar mat_hdr_tonemapscale( "mat_hdr_tonemapscale", "1.0", FCVAR_CHEAT, "The HDR tonemap scale. 1 = Use autoexposure, 0 = eyes fully closed, 16 = eyes wide open." ); - -// 0 - eyes fully closed / fully black -// 1 - nominal -// 16 - eyes wide open / fully white - -//----------------------------------------------------------------------------- -// Purpose: Entity that controls player's tonemap -//----------------------------------------------------------------------------- -class CEnvTonemapController : public CPointEntity -{ - DECLARE_CLASS( CEnvTonemapController, CPointEntity ); -public: - DECLARE_DATADESC(); - DECLARE_SERVERCLASS(); - - void Spawn( void ); - int UpdateTransmitState( void ); - void UpdateTonemapScaleBlend( void ); - - // Inputs - void InputSetTonemapScale( inputdata_t &inputdata ); - void InputBlendTonemapScale( inputdata_t &inputdata ); - void InputSetTonemapRate( inputdata_t &inputdata ); - void InputSetAutoExposureMin( inputdata_t &inputdata ); - void InputSetAutoExposureMax( inputdata_t &inputdata ); - void InputUseDefaultAutoExposure( inputdata_t &inputdata ); - void InputSetBloomScale( inputdata_t &inputdata ); - void InputUseDefaultBloomScale( inputdata_t &inputdata ); - void InputSetBloomScaleRange( inputdata_t &inputdata ); - -private: - float m_flBlendTonemapStart; // HDR Tonemap at the start of the blend - float m_flBlendTonemapEnd; // Target HDR Tonemap at the end of the blend - float m_flBlendEndTime; // Time at which the blend ends - float m_flBlendStartTime; // Time at which the blend started - - CNetworkVar( bool, m_bUseCustomAutoExposureMin ); - CNetworkVar( bool, m_bUseCustomAutoExposureMax ); - CNetworkVar( bool, m_bUseCustomBloomScale ); - CNetworkVar( float, m_flCustomAutoExposureMin ); - CNetworkVar( float, m_flCustomAutoExposureMax ); - CNetworkVar( float, m_flCustomBloomScale); - CNetworkVar( float, m_flCustomBloomScaleMinimum); -}; - -LINK_ENTITY_TO_CLASS( env_tonemap_controller, CEnvTonemapController ); - -BEGIN_DATADESC( CEnvTonemapController ) - DEFINE_FIELD( m_flBlendTonemapStart, FIELD_FLOAT ), - DEFINE_FIELD( m_flBlendTonemapEnd, FIELD_FLOAT ), - DEFINE_FIELD( m_flBlendEndTime, FIELD_TIME ), - DEFINE_FIELD( m_flBlendStartTime, FIELD_TIME ), - DEFINE_FIELD( m_bUseCustomAutoExposureMin, FIELD_BOOLEAN ), - DEFINE_FIELD( m_bUseCustomAutoExposureMax, FIELD_BOOLEAN ), - DEFINE_FIELD( m_flCustomAutoExposureMin, FIELD_FLOAT ), - DEFINE_FIELD( m_flCustomAutoExposureMax, FIELD_FLOAT ), - DEFINE_FIELD( m_flCustomBloomScale, FIELD_FLOAT ), - DEFINE_FIELD( m_flCustomBloomScaleMinimum, FIELD_FLOAT ), - DEFINE_FIELD( m_bUseCustomBloomScale, FIELD_BOOLEAN ), - - DEFINE_THINKFUNC( UpdateTonemapScaleBlend ), - - // Inputs - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetTonemapScale", InputSetTonemapScale ), - DEFINE_INPUTFUNC( FIELD_STRING, "BlendTonemapScale", InputBlendTonemapScale ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetTonemapRate", InputSetTonemapRate ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetAutoExposureMin", InputSetAutoExposureMin ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetAutoExposureMax", InputSetAutoExposureMax ), - DEFINE_INPUTFUNC( FIELD_VOID, "UseDefaultAutoExposure", InputUseDefaultAutoExposure ), - DEFINE_INPUTFUNC( FIELD_VOID, "UseDefaultBloomScale", InputUseDefaultBloomScale ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetBloomScale", InputSetBloomScale ), - DEFINE_INPUTFUNC( FIELD_FLOAT, "SetBloomScaleRange", InputSetBloomScaleRange ), -END_DATADESC() - -IMPLEMENT_SERVERCLASS_ST( CEnvTonemapController, DT_EnvTonemapController ) - SendPropInt( SENDINFO(m_bUseCustomAutoExposureMin), 1, SPROP_UNSIGNED ), - SendPropInt( SENDINFO(m_bUseCustomAutoExposureMax), 1, SPROP_UNSIGNED ), - SendPropInt( SENDINFO(m_bUseCustomBloomScale), 1, SPROP_UNSIGNED ), - SendPropFloat( SENDINFO(m_flCustomAutoExposureMin), 0, SPROP_NOSCALE), - SendPropFloat( SENDINFO(m_flCustomAutoExposureMax), 0, SPROP_NOSCALE), - SendPropFloat( SENDINFO(m_flCustomBloomScale), 0, SPROP_NOSCALE), - SendPropFloat( SENDINFO(m_flCustomBloomScaleMinimum), 0, SPROP_NOSCALE), -END_SEND_TABLE() - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CEnvTonemapController::Spawn( void ) -{ - SetSolid( SOLID_NONE ); - SetMoveType( MOVETYPE_NONE ); -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -int CEnvTonemapController::UpdateTransmitState() -{ - return SetTransmitState( FL_EDICT_ALWAYS ); -} - -//----------------------------------------------------------------------------- -// Purpose: Set the tonemap scale to the specified value -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputSetTonemapScale( inputdata_t &inputdata ) -{ - float flRemapped = inputdata.value.Float(); - mat_hdr_tonemapscale.SetValue( flRemapped ); -} - -//----------------------------------------------------------------------------- -// Purpose: Blend the tonemap scale to the specified value -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputBlendTonemapScale( inputdata_t &inputdata ) -{ - char parseString[255]; - Q_strncpy(parseString, inputdata.value.String(), sizeof(parseString)); - - // Get the target tonemap scale - char *pszParam = strtok(parseString," "); - if ( !pszParam || !pszParam[0] ) - { - Warning("%s (%s) received BlendTonemapScale input without a target tonemap scale. Syntax: \n", GetClassname(), GetDebugName() ); - return; - } - m_flBlendTonemapEnd = atof( pszParam ); - - // Get the blend time - pszParam = strtok(NULL," "); - if ( !pszParam || !pszParam[0] ) - { - Warning("%s (%s) received BlendTonemapScale input without a blend time. Syntax: \n", GetClassname(), GetDebugName() ); - return; - } - m_flBlendEndTime = gpGlobals->curtime + atof( pszParam ); - - m_flBlendStartTime = gpGlobals->curtime; - m_flBlendTonemapStart = mat_hdr_tonemapscale.GetFloat(); - - // Start thinking - SetNextThink( gpGlobals->curtime + 0.1 ); - SetThink( &CEnvTonemapController::UpdateTonemapScaleBlend ); -} - -//----------------------------------------------------------------------------- -// Purpose: set a base and minimum bloom scale -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputSetBloomScaleRange( inputdata_t &inputdata ) -{ - float bloom_max=1, bloom_min=1; - int nargs=sscanf("%f %f",inputdata.value.String(), bloom_max, bloom_min ); - if (nargs != 2) - { - Warning("%s (%s) received SetBloomScaleRange input without 2 arguments. Syntax: \n", GetClassname(), GetDebugName() ); - return; - } - m_flCustomBloomScale=bloom_max; - m_flCustomBloomScale=bloom_min; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputSetTonemapRate( inputdata_t &inputdata ) -{ - // TODO: There should be a better way to do this. - ConVarRef mat_hdr_manual_tonemap_rate( "mat_hdr_manual_tonemap_rate" ); - if ( mat_hdr_manual_tonemap_rate.IsValid() ) - { - float flTonemapRate = inputdata.value.Float(); - mat_hdr_manual_tonemap_rate.SetValue( flTonemapRate ); - } -} - -//----------------------------------------------------------------------------- -// Purpose: Blend the tonemap scale to the specified value -//----------------------------------------------------------------------------- -void CEnvTonemapController::UpdateTonemapScaleBlend( void ) -{ - float flRemapped = RemapValClamped( gpGlobals->curtime, m_flBlendStartTime, m_flBlendEndTime, m_flBlendTonemapStart, m_flBlendTonemapEnd ); - mat_hdr_tonemapscale.SetValue( flRemapped ); - - //Msg("Setting tonemap scale to %f (curtime %f, %f -> %f)\n", flRemapped, gpGlobals->curtime, m_flBlendStartTime, m_flBlendEndTime ); - - // Stop when we're out of the blend range - if ( gpGlobals->curtime >= m_flBlendEndTime ) - return; - - SetNextThink( gpGlobals->curtime + 0.1 ); -} - -//----------------------------------------------------------------------------- -// Purpose: Set the auto exposure min to the specified value -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputSetAutoExposureMin( inputdata_t &inputdata ) -{ - m_flCustomAutoExposureMin = inputdata.value.Float(); - m_bUseCustomAutoExposureMin = true; -} - -//----------------------------------------------------------------------------- -// Purpose: Set the auto exposure max to the specified value -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputSetAutoExposureMax( inputdata_t &inputdata ) -{ - m_flCustomAutoExposureMax = inputdata.value.Float(); - m_bUseCustomAutoExposureMax = true; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputUseDefaultAutoExposure( inputdata_t &inputdata ) -{ - m_bUseCustomAutoExposureMin = false; - m_bUseCustomAutoExposureMax = false; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputSetBloomScale( inputdata_t &inputdata ) -{ - m_flCustomBloomScale = inputdata.value.Float(); - m_flCustomBloomScaleMinimum = m_flCustomBloomScale; - m_bUseCustomBloomScale = true; -} - -//----------------------------------------------------------------------------- -// Purpose: -//----------------------------------------------------------------------------- -void CEnvTonemapController::InputUseDefaultBloomScale( inputdata_t &inputdata ) -{ - m_bUseCustomBloomScale = false; -} +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#include "cbase.h" +#include "baseentity.h" +#include "entityoutput.h" +#include "convar.h" +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +ConVar mat_hdr_tonemapscale( "mat_hdr_tonemapscale", "1.0", FCVAR_CHEAT, "The HDR tonemap scale. 1 = Use autoexposure, 0 = eyes fully closed, 16 = eyes wide open." ); + +// 0 - eyes fully closed / fully black +// 1 - nominal +// 16 - eyes wide open / fully white + +//----------------------------------------------------------------------------- +// Purpose: Entity that controls player's tonemap +//----------------------------------------------------------------------------- +class CEnvTonemapController : public CPointEntity +{ + DECLARE_CLASS( CEnvTonemapController, CPointEntity ); +public: + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); + + void Spawn( void ); + int UpdateTransmitState( void ); + void UpdateTonemapScaleBlend( void ); + + // Inputs + void InputSetTonemapScale( inputdata_t &inputdata ); + void InputBlendTonemapScale( inputdata_t &inputdata ); + void InputSetTonemapRate( inputdata_t &inputdata ); + void InputSetAutoExposureMin( inputdata_t &inputdata ); + void InputSetAutoExposureMax( inputdata_t &inputdata ); + void InputUseDefaultAutoExposure( inputdata_t &inputdata ); + void InputSetBloomScale( inputdata_t &inputdata ); + void InputUseDefaultBloomScale( inputdata_t &inputdata ); + void InputSetBloomScaleRange( inputdata_t &inputdata ); + +private: + float m_flBlendTonemapStart; // HDR Tonemap at the start of the blend + float m_flBlendTonemapEnd; // Target HDR Tonemap at the end of the blend + float m_flBlendEndTime; // Time at which the blend ends + float m_flBlendStartTime; // Time at which the blend started + + CNetworkVar( bool, m_bUseCustomAutoExposureMin ); + CNetworkVar( bool, m_bUseCustomAutoExposureMax ); + CNetworkVar( bool, m_bUseCustomBloomScale ); + CNetworkVar( float, m_flCustomAutoExposureMin ); + CNetworkVar( float, m_flCustomAutoExposureMax ); + CNetworkVar( float, m_flCustomBloomScale); + CNetworkVar( float, m_flCustomBloomScaleMinimum); +}; + +LINK_ENTITY_TO_CLASS( env_tonemap_controller, CEnvTonemapController ); + +BEGIN_DATADESC( CEnvTonemapController ) + DEFINE_FIELD( m_flBlendTonemapStart, FIELD_FLOAT ), + DEFINE_FIELD( m_flBlendTonemapEnd, FIELD_FLOAT ), + DEFINE_FIELD( m_flBlendEndTime, FIELD_TIME ), + DEFINE_FIELD( m_flBlendStartTime, FIELD_TIME ), + DEFINE_FIELD( m_bUseCustomAutoExposureMin, FIELD_BOOLEAN ), + DEFINE_FIELD( m_bUseCustomAutoExposureMax, FIELD_BOOLEAN ), + DEFINE_FIELD( m_flCustomAutoExposureMin, FIELD_FLOAT ), + DEFINE_FIELD( m_flCustomAutoExposureMax, FIELD_FLOAT ), + DEFINE_FIELD( m_flCustomBloomScale, FIELD_FLOAT ), + DEFINE_FIELD( m_flCustomBloomScaleMinimum, FIELD_FLOAT ), + DEFINE_FIELD( m_bUseCustomBloomScale, FIELD_BOOLEAN ), + + DEFINE_THINKFUNC( UpdateTonemapScaleBlend ), + + // Inputs + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetTonemapScale", InputSetTonemapScale ), + DEFINE_INPUTFUNC( FIELD_STRING, "BlendTonemapScale", InputBlendTonemapScale ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetTonemapRate", InputSetTonemapRate ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetAutoExposureMin", InputSetAutoExposureMin ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetAutoExposureMax", InputSetAutoExposureMax ), + DEFINE_INPUTFUNC( FIELD_VOID, "UseDefaultAutoExposure", InputUseDefaultAutoExposure ), + DEFINE_INPUTFUNC( FIELD_VOID, "UseDefaultBloomScale", InputUseDefaultBloomScale ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetBloomScale", InputSetBloomScale ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetBloomScaleRange", InputSetBloomScaleRange ), +END_DATADESC() + +IMPLEMENT_SERVERCLASS_ST( CEnvTonemapController, DT_EnvTonemapController ) + SendPropInt( SENDINFO(m_bUseCustomAutoExposureMin), 1, SPROP_UNSIGNED ), + SendPropInt( SENDINFO(m_bUseCustomAutoExposureMax), 1, SPROP_UNSIGNED ), + SendPropInt( SENDINFO(m_bUseCustomBloomScale), 1, SPROP_UNSIGNED ), + SendPropFloat( SENDINFO(m_flCustomAutoExposureMin), 0, SPROP_NOSCALE), + SendPropFloat( SENDINFO(m_flCustomAutoExposureMax), 0, SPROP_NOSCALE), + SendPropFloat( SENDINFO(m_flCustomBloomScale), 0, SPROP_NOSCALE), + SendPropFloat( SENDINFO(m_flCustomBloomScaleMinimum), 0, SPROP_NOSCALE), +END_SEND_TABLE() + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvTonemapController::Spawn( void ) +{ + SetSolid( SOLID_NONE ); + SetMoveType( MOVETYPE_NONE ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int CEnvTonemapController::UpdateTransmitState() +{ + return SetTransmitState( FL_EDICT_ALWAYS ); +} + +//----------------------------------------------------------------------------- +// Purpose: Set the tonemap scale to the specified value +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputSetTonemapScale( inputdata_t &inputdata ) +{ + float flRemapped = inputdata.value.Float(); + mat_hdr_tonemapscale.SetValue( flRemapped ); +} + +//----------------------------------------------------------------------------- +// Purpose: Blend the tonemap scale to the specified value +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputBlendTonemapScale( inputdata_t &inputdata ) +{ + char parseString[255]; + Q_strncpy(parseString, inputdata.value.String(), sizeof(parseString)); + + // Get the target tonemap scale + char *pszParam = strtok(parseString," "); + if ( !pszParam || !pszParam[0] ) + { + Warning("%s (%s) received BlendTonemapScale input without a target tonemap scale. Syntax: \n", GetClassname(), GetDebugName() ); + return; + } + m_flBlendTonemapEnd = atof( pszParam ); + + // Get the blend time + pszParam = strtok(NULL," "); + if ( !pszParam || !pszParam[0] ) + { + Warning("%s (%s) received BlendTonemapScale input without a blend time. Syntax: \n", GetClassname(), GetDebugName() ); + return; + } + m_flBlendEndTime = gpGlobals->curtime + atof( pszParam ); + + m_flBlendStartTime = gpGlobals->curtime; + m_flBlendTonemapStart = mat_hdr_tonemapscale.GetFloat(); + + // Start thinking + SetNextThink( gpGlobals->curtime + 0.1 ); + SetThink( &CEnvTonemapController::UpdateTonemapScaleBlend ); +} + +//----------------------------------------------------------------------------- +// Purpose: set a base and minimum bloom scale +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputSetBloomScaleRange( inputdata_t &inputdata ) +{ + float bloom_max=1, bloom_min=1; + int nargs=sscanf("%f %f",inputdata.value.String(), bloom_max, bloom_min ); + if (nargs != 2) + { + Warning("%s (%s) received SetBloomScaleRange input without 2 arguments. Syntax: \n", GetClassname(), GetDebugName() ); + return; + } + m_flCustomBloomScale=bloom_max; + m_flCustomBloomScale=bloom_min; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputSetTonemapRate( inputdata_t &inputdata ) +{ + // TODO: There should be a better way to do this. + ConVarRef mat_hdr_manual_tonemap_rate( "mat_hdr_manual_tonemap_rate" ); + if ( mat_hdr_manual_tonemap_rate.IsValid() ) + { + float flTonemapRate = inputdata.value.Float(); + mat_hdr_manual_tonemap_rate.SetValue( flTonemapRate ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: Blend the tonemap scale to the specified value +//----------------------------------------------------------------------------- +void CEnvTonemapController::UpdateTonemapScaleBlend( void ) +{ + float flRemapped = RemapValClamped( gpGlobals->curtime, m_flBlendStartTime, m_flBlendEndTime, m_flBlendTonemapStart, m_flBlendTonemapEnd ); + mat_hdr_tonemapscale.SetValue( flRemapped ); + + //Msg("Setting tonemap scale to %f (curtime %f, %f -> %f)\n", flRemapped, gpGlobals->curtime, m_flBlendStartTime, m_flBlendEndTime ); + + // Stop when we're out of the blend range + if ( gpGlobals->curtime >= m_flBlendEndTime ) + return; + + SetNextThink( gpGlobals->curtime + 0.1 ); +} + +//----------------------------------------------------------------------------- +// Purpose: Set the auto exposure min to the specified value +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputSetAutoExposureMin( inputdata_t &inputdata ) +{ + m_flCustomAutoExposureMin = inputdata.value.Float(); + m_bUseCustomAutoExposureMin = true; +} + +//----------------------------------------------------------------------------- +// Purpose: Set the auto exposure max to the specified value +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputSetAutoExposureMax( inputdata_t &inputdata ) +{ + m_flCustomAutoExposureMax = inputdata.value.Float(); + m_bUseCustomAutoExposureMax = true; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputUseDefaultAutoExposure( inputdata_t &inputdata ) +{ + m_bUseCustomAutoExposureMin = false; + m_bUseCustomAutoExposureMax = false; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputSetBloomScale( inputdata_t &inputdata ) +{ + m_flCustomBloomScale = inputdata.value.Float(); + m_flCustomBloomScaleMinimum = m_flCustomBloomScale; + m_bUseCustomBloomScale = true; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvTonemapController::InputUseDefaultBloomScale( inputdata_t &inputdata ) +{ + m_bUseCustomBloomScale = false; +} -- cgit v1.2.3