diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/server/env_screenoverlay.cpp | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/server/env_screenoverlay.cpp')
| -rw-r--r-- | mp/src/game/server/env_screenoverlay.cpp | 538 |
1 files changed, 269 insertions, 269 deletions
diff --git a/mp/src/game/server/env_screenoverlay.cpp b/mp/src/game/server/env_screenoverlay.cpp index d643c111..07bbf08d 100644 --- a/mp/src/game/server/env_screenoverlay.cpp +++ b/mp/src/game/server/env_screenoverlay.cpp @@ -1,269 +1,269 @@ -//========= 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"
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-class CEnvScreenOverlay : public CPointEntity
-{
- DECLARE_CLASS( CEnvScreenOverlay, CPointEntity );
-public:
- DECLARE_DATADESC();
- DECLARE_SERVERCLASS();
-
- CEnvScreenOverlay();
-
- // Always transmit to clients
- virtual int UpdateTransmitState();
- virtual void Spawn( void );
- virtual void Precache( void );
-
- void InputStartOverlay( inputdata_t &inputdata );
- void InputStopOverlay( inputdata_t &inputdata );
- void InputSwitchOverlay( inputdata_t &inputdata );
-
- void SetActive( bool bActive ) { m_bIsActive = bActive; }
-
-protected:
- CNetworkArray( string_t, m_iszOverlayNames, MAX_SCREEN_OVERLAYS );
- CNetworkArray( float, m_flOverlayTimes, MAX_SCREEN_OVERLAYS );
- CNetworkVar( float, m_flStartTime );
- CNetworkVar( int, m_iDesiredOverlay );
- CNetworkVar( bool, m_bIsActive );
-};
-
-LINK_ENTITY_TO_CLASS( env_screenoverlay, CEnvScreenOverlay );
-
-BEGIN_DATADESC( CEnvScreenOverlay )
-
-// Silence, Classcheck!
-// DEFINE_ARRAY( m_iszOverlayNames, FIELD_STRING, MAX_SCREEN_OVERLAYS ),
-// DEFINE_ARRAY( m_flOverlayTimes, FIELD_FLOAT, MAX_SCREEN_OVERLAYS ),
-
- DEFINE_KEYFIELD( m_iszOverlayNames[0], FIELD_STRING, "OverlayName1" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[1], FIELD_STRING, "OverlayName2" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[2], FIELD_STRING, "OverlayName3" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[3], FIELD_STRING, "OverlayName4" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[4], FIELD_STRING, "OverlayName5" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[5], FIELD_STRING, "OverlayName6" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[6], FIELD_STRING, "OverlayName7" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[7], FIELD_STRING, "OverlayName8" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[8], FIELD_STRING, "OverlayName9" ),
- DEFINE_KEYFIELD( m_iszOverlayNames[9], FIELD_STRING, "OverlayName10" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[0], FIELD_FLOAT, "OverlayTime1" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[1], FIELD_FLOAT, "OverlayTime2" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[2], FIELD_FLOAT, "OverlayTime3" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[3], FIELD_FLOAT, "OverlayTime4" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[4], FIELD_FLOAT, "OverlayTime5" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[5], FIELD_FLOAT, "OverlayTime6" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[6], FIELD_FLOAT, "OverlayTime7" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[7], FIELD_FLOAT, "OverlayTime8" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[8], FIELD_FLOAT, "OverlayTime9" ),
- DEFINE_KEYFIELD( m_flOverlayTimes[9], FIELD_FLOAT, "OverlayTime10" ),
-
- // Class CEnvScreenOverlay:
- DEFINE_FIELD( m_iDesiredOverlay, FIELD_INTEGER ),
- DEFINE_FIELD( m_flStartTime, FIELD_TIME ),
- DEFINE_FIELD( m_bIsActive, FIELD_BOOLEAN ),
-
- DEFINE_INPUTFUNC( FIELD_VOID, "StartOverlays", InputStartOverlay ),
- DEFINE_INPUTFUNC( FIELD_VOID, "StopOverlays", InputStopOverlay ),
- DEFINE_INPUTFUNC( FIELD_INTEGER, "SwitchOverlay", InputSwitchOverlay ),
-
-END_DATADESC()
-
-void SendProxy_String_tToString( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID )
-{
- string_t *pString = (string_t*)pData;
- pOut->m_pString = (char*)STRING( *pString );
-}
-
-IMPLEMENT_SERVERCLASS_ST( CEnvScreenOverlay, DT_EnvScreenOverlay )
- SendPropArray( SendPropString( SENDINFO_ARRAY( m_iszOverlayNames ), 0, SendProxy_String_tToString ), m_iszOverlayNames ),
- SendPropArray( SendPropFloat( SENDINFO_ARRAY( m_flOverlayTimes ), 11, SPROP_ROUNDDOWN, -1.0f, 63.0f ), m_flOverlayTimes ),
- SendPropFloat( SENDINFO( m_flStartTime ), 32, SPROP_NOSCALE ),
- SendPropInt( SENDINFO( m_iDesiredOverlay ), 5 ),
- SendPropBool( SENDINFO( m_bIsActive ) ),
-END_SEND_TABLE()
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-CEnvScreenOverlay::CEnvScreenOverlay( void )
-{
- m_flStartTime = 0;
- m_iDesiredOverlay = 0;
- m_bIsActive = false;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CEnvScreenOverlay::Spawn( void )
-{
- Precache();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CEnvScreenOverlay::Precache( void )
-{
- for ( int i = 0; i < 10; i++ )
- {
- if ( m_iszOverlayNames[i] == NULL_STRING )
- continue;
-
- PrecacheMaterial( STRING( m_iszOverlayNames[i] ) );
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : &inputdata -
-//-----------------------------------------------------------------------------
-void CEnvScreenOverlay::InputStartOverlay( inputdata_t &inputdata )
-{
- if ( m_iszOverlayNames[0] == NULL_STRING )
- {
- Warning("env_screenoverlay %s has no overlays to display.\n", STRING(GetEntityName()) );
- return;
- }
-
- m_flStartTime = gpGlobals->curtime;
- m_bIsActive = true;
-
- // Turn off any other screen overlays out there
- CBaseEntity *pEnt = NULL;
- while ( (pEnt = gEntList.FindEntityByClassname( pEnt, "env_screenoverlay" )) != NULL )
- {
- if ( pEnt != this )
- {
- CEnvScreenOverlay *pOverlay = assert_cast<CEnvScreenOverlay*>(pEnt);
- pOverlay->SetActive( false );
- }
- }
-}
-
-int CEnvScreenOverlay::UpdateTransmitState()
-{
- return SetTransmitState( FL_EDICT_ALWAYS );
-}
-
-
-void CEnvScreenOverlay::InputSwitchOverlay( inputdata_t &inputdata )
-{
- int iNewOverlay = inputdata.value.Int() - 1;
- iNewOverlay = abs( iNewOverlay );
-
- if ( m_iszOverlayNames[iNewOverlay] == NULL_STRING )
- {
- Warning("env_screenoverlay %s has no overlays to display.\n", STRING(GetEntityName()) );
- return;
- }
-
- m_iDesiredOverlay = iNewOverlay;
- m_flStartTime = gpGlobals->curtime;
-}
-
-void CEnvScreenOverlay::InputStopOverlay( inputdata_t &inputdata )
-{
- if ( m_iszOverlayNames[0] == NULL_STRING )
- {
- Warning("env_screenoverlay %s has no overlays to display.\n", STRING(GetEntityName()) );
- return;
- }
-
- m_flStartTime = -1;
- m_bIsActive = false;
-}
-
-// ====================================================================================
-//
-// Screen-space effects
-//
-// ====================================================================================
-
-class CEnvScreenEffect : public CPointEntity
-{
- DECLARE_CLASS( CEnvScreenEffect, CPointEntity );
-public:
- DECLARE_DATADESC();
- DECLARE_SERVERCLASS();
-
- // We always want to be sent to the client
- CEnvScreenEffect( void ) { AddEFlags( EFL_FORCE_CHECK_TRANSMIT ); }
- virtual int UpdateTransmitState( void ) { return SetTransmitState( FL_EDICT_ALWAYS ); }
- virtual void Spawn( void );
- virtual void Precache( void );
-
-private:
-
- void InputStartEffect( inputdata_t &inputdata );
- void InputStopEffect( inputdata_t &inputdata );
-
- CNetworkVar( float, m_flDuration );
- CNetworkVar( int, m_nType );
-};
-
-LINK_ENTITY_TO_CLASS( env_screeneffect, CEnvScreenEffect );
-
-// CEnvScreenEffect
-BEGIN_DATADESC( CEnvScreenEffect )
- DEFINE_FIELD( m_flDuration, FIELD_FLOAT ),
- DEFINE_KEYFIELD( m_nType, FIELD_INTEGER, "type" ),
- DEFINE_FIELD( m_flDuration, FIELD_FLOAT ),
- DEFINE_INPUTFUNC( FIELD_FLOAT, "StartEffect", InputStartEffect ),
- DEFINE_INPUTFUNC( FIELD_FLOAT, "StopEffect", InputStopEffect ),
-END_DATADESC()
-
-IMPLEMENT_SERVERCLASS_ST( CEnvScreenEffect, DT_EnvScreenEffect )
- SendPropFloat( SENDINFO( m_flDuration ), 0, SPROP_NOSCALE ),
- SendPropInt( SENDINFO( m_nType ), 32, SPROP_UNSIGNED ),
-END_SEND_TABLE()
-
-void CEnvScreenEffect::Spawn( void )
-{
- Precache();
-}
-
-void CEnvScreenEffect::Precache( void )
-{
- PrecacheMaterial( "effects/stun" );
- PrecacheMaterial( "effects/introblur" );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CEnvScreenEffect::InputStartEffect( inputdata_t &inputdata )
-{
- // Take the duration as our value
- m_flDuration = inputdata.value.Float();
-
- EntityMessageBegin( this );
- WRITE_BYTE( 0 );
- MessageEnd();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CEnvScreenEffect::InputStopEffect( inputdata_t &inputdata )
-{
- m_flDuration = inputdata.value.Float();
-
- // Send the stop notification
- EntityMessageBegin( this );
- WRITE_BYTE( 1 );
- MessageEnd();
-}
+//========= 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" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +class CEnvScreenOverlay : public CPointEntity +{ + DECLARE_CLASS( CEnvScreenOverlay, CPointEntity ); +public: + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); + + CEnvScreenOverlay(); + + // Always transmit to clients + virtual int UpdateTransmitState(); + virtual void Spawn( void ); + virtual void Precache( void ); + + void InputStartOverlay( inputdata_t &inputdata ); + void InputStopOverlay( inputdata_t &inputdata ); + void InputSwitchOverlay( inputdata_t &inputdata ); + + void SetActive( bool bActive ) { m_bIsActive = bActive; } + +protected: + CNetworkArray( string_t, m_iszOverlayNames, MAX_SCREEN_OVERLAYS ); + CNetworkArray( float, m_flOverlayTimes, MAX_SCREEN_OVERLAYS ); + CNetworkVar( float, m_flStartTime ); + CNetworkVar( int, m_iDesiredOverlay ); + CNetworkVar( bool, m_bIsActive ); +}; + +LINK_ENTITY_TO_CLASS( env_screenoverlay, CEnvScreenOverlay ); + +BEGIN_DATADESC( CEnvScreenOverlay ) + +// Silence, Classcheck! +// DEFINE_ARRAY( m_iszOverlayNames, FIELD_STRING, MAX_SCREEN_OVERLAYS ), +// DEFINE_ARRAY( m_flOverlayTimes, FIELD_FLOAT, MAX_SCREEN_OVERLAYS ), + + DEFINE_KEYFIELD( m_iszOverlayNames[0], FIELD_STRING, "OverlayName1" ), + DEFINE_KEYFIELD( m_iszOverlayNames[1], FIELD_STRING, "OverlayName2" ), + DEFINE_KEYFIELD( m_iszOverlayNames[2], FIELD_STRING, "OverlayName3" ), + DEFINE_KEYFIELD( m_iszOverlayNames[3], FIELD_STRING, "OverlayName4" ), + DEFINE_KEYFIELD( m_iszOverlayNames[4], FIELD_STRING, "OverlayName5" ), + DEFINE_KEYFIELD( m_iszOverlayNames[5], FIELD_STRING, "OverlayName6" ), + DEFINE_KEYFIELD( m_iszOverlayNames[6], FIELD_STRING, "OverlayName7" ), + DEFINE_KEYFIELD( m_iszOverlayNames[7], FIELD_STRING, "OverlayName8" ), + DEFINE_KEYFIELD( m_iszOverlayNames[8], FIELD_STRING, "OverlayName9" ), + DEFINE_KEYFIELD( m_iszOverlayNames[9], FIELD_STRING, "OverlayName10" ), + DEFINE_KEYFIELD( m_flOverlayTimes[0], FIELD_FLOAT, "OverlayTime1" ), + DEFINE_KEYFIELD( m_flOverlayTimes[1], FIELD_FLOAT, "OverlayTime2" ), + DEFINE_KEYFIELD( m_flOverlayTimes[2], FIELD_FLOAT, "OverlayTime3" ), + DEFINE_KEYFIELD( m_flOverlayTimes[3], FIELD_FLOAT, "OverlayTime4" ), + DEFINE_KEYFIELD( m_flOverlayTimes[4], FIELD_FLOAT, "OverlayTime5" ), + DEFINE_KEYFIELD( m_flOverlayTimes[5], FIELD_FLOAT, "OverlayTime6" ), + DEFINE_KEYFIELD( m_flOverlayTimes[6], FIELD_FLOAT, "OverlayTime7" ), + DEFINE_KEYFIELD( m_flOverlayTimes[7], FIELD_FLOAT, "OverlayTime8" ), + DEFINE_KEYFIELD( m_flOverlayTimes[8], FIELD_FLOAT, "OverlayTime9" ), + DEFINE_KEYFIELD( m_flOverlayTimes[9], FIELD_FLOAT, "OverlayTime10" ), + + // Class CEnvScreenOverlay: + DEFINE_FIELD( m_iDesiredOverlay, FIELD_INTEGER ), + DEFINE_FIELD( m_flStartTime, FIELD_TIME ), + DEFINE_FIELD( m_bIsActive, FIELD_BOOLEAN ), + + DEFINE_INPUTFUNC( FIELD_VOID, "StartOverlays", InputStartOverlay ), + DEFINE_INPUTFUNC( FIELD_VOID, "StopOverlays", InputStopOverlay ), + DEFINE_INPUTFUNC( FIELD_INTEGER, "SwitchOverlay", InputSwitchOverlay ), + +END_DATADESC() + +void SendProxy_String_tToString( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ) +{ + string_t *pString = (string_t*)pData; + pOut->m_pString = (char*)STRING( *pString ); +} + +IMPLEMENT_SERVERCLASS_ST( CEnvScreenOverlay, DT_EnvScreenOverlay ) + SendPropArray( SendPropString( SENDINFO_ARRAY( m_iszOverlayNames ), 0, SendProxy_String_tToString ), m_iszOverlayNames ), + SendPropArray( SendPropFloat( SENDINFO_ARRAY( m_flOverlayTimes ), 11, SPROP_ROUNDDOWN, -1.0f, 63.0f ), m_flOverlayTimes ), + SendPropFloat( SENDINFO( m_flStartTime ), 32, SPROP_NOSCALE ), + SendPropInt( SENDINFO( m_iDesiredOverlay ), 5 ), + SendPropBool( SENDINFO( m_bIsActive ) ), +END_SEND_TABLE() + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CEnvScreenOverlay::CEnvScreenOverlay( void ) +{ + m_flStartTime = 0; + m_iDesiredOverlay = 0; + m_bIsActive = false; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvScreenOverlay::Spawn( void ) +{ + Precache(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvScreenOverlay::Precache( void ) +{ + for ( int i = 0; i < 10; i++ ) + { + if ( m_iszOverlayNames[i] == NULL_STRING ) + continue; + + PrecacheMaterial( STRING( m_iszOverlayNames[i] ) ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &inputdata - +//----------------------------------------------------------------------------- +void CEnvScreenOverlay::InputStartOverlay( inputdata_t &inputdata ) +{ + if ( m_iszOverlayNames[0] == NULL_STRING ) + { + Warning("env_screenoverlay %s has no overlays to display.\n", STRING(GetEntityName()) ); + return; + } + + m_flStartTime = gpGlobals->curtime; + m_bIsActive = true; + + // Turn off any other screen overlays out there + CBaseEntity *pEnt = NULL; + while ( (pEnt = gEntList.FindEntityByClassname( pEnt, "env_screenoverlay" )) != NULL ) + { + if ( pEnt != this ) + { + CEnvScreenOverlay *pOverlay = assert_cast<CEnvScreenOverlay*>(pEnt); + pOverlay->SetActive( false ); + } + } +} + +int CEnvScreenOverlay::UpdateTransmitState() +{ + return SetTransmitState( FL_EDICT_ALWAYS ); +} + + +void CEnvScreenOverlay::InputSwitchOverlay( inputdata_t &inputdata ) +{ + int iNewOverlay = inputdata.value.Int() - 1; + iNewOverlay = abs( iNewOverlay ); + + if ( m_iszOverlayNames[iNewOverlay] == NULL_STRING ) + { + Warning("env_screenoverlay %s has no overlays to display.\n", STRING(GetEntityName()) ); + return; + } + + m_iDesiredOverlay = iNewOverlay; + m_flStartTime = gpGlobals->curtime; +} + +void CEnvScreenOverlay::InputStopOverlay( inputdata_t &inputdata ) +{ + if ( m_iszOverlayNames[0] == NULL_STRING ) + { + Warning("env_screenoverlay %s has no overlays to display.\n", STRING(GetEntityName()) ); + return; + } + + m_flStartTime = -1; + m_bIsActive = false; +} + +// ==================================================================================== +// +// Screen-space effects +// +// ==================================================================================== + +class CEnvScreenEffect : public CPointEntity +{ + DECLARE_CLASS( CEnvScreenEffect, CPointEntity ); +public: + DECLARE_DATADESC(); + DECLARE_SERVERCLASS(); + + // We always want to be sent to the client + CEnvScreenEffect( void ) { AddEFlags( EFL_FORCE_CHECK_TRANSMIT ); } + virtual int UpdateTransmitState( void ) { return SetTransmitState( FL_EDICT_ALWAYS ); } + virtual void Spawn( void ); + virtual void Precache( void ); + +private: + + void InputStartEffect( inputdata_t &inputdata ); + void InputStopEffect( inputdata_t &inputdata ); + + CNetworkVar( float, m_flDuration ); + CNetworkVar( int, m_nType ); +}; + +LINK_ENTITY_TO_CLASS( env_screeneffect, CEnvScreenEffect ); + +// CEnvScreenEffect +BEGIN_DATADESC( CEnvScreenEffect ) + DEFINE_FIELD( m_flDuration, FIELD_FLOAT ), + DEFINE_KEYFIELD( m_nType, FIELD_INTEGER, "type" ), + DEFINE_FIELD( m_flDuration, FIELD_FLOAT ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "StartEffect", InputStartEffect ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "StopEffect", InputStopEffect ), +END_DATADESC() + +IMPLEMENT_SERVERCLASS_ST( CEnvScreenEffect, DT_EnvScreenEffect ) + SendPropFloat( SENDINFO( m_flDuration ), 0, SPROP_NOSCALE ), + SendPropInt( SENDINFO( m_nType ), 32, SPROP_UNSIGNED ), +END_SEND_TABLE() + +void CEnvScreenEffect::Spawn( void ) +{ + Precache(); +} + +void CEnvScreenEffect::Precache( void ) +{ + PrecacheMaterial( "effects/stun" ); + PrecacheMaterial( "effects/introblur" ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvScreenEffect::InputStartEffect( inputdata_t &inputdata ) +{ + // Take the duration as our value + m_flDuration = inputdata.value.Float(); + + EntityMessageBegin( this ); + WRITE_BYTE( 0 ); + MessageEnd(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CEnvScreenEffect::InputStopEffect( inputdata_t &inputdata ) +{ + m_flDuration = inputdata.value.Float(); + + // Send the stop notification + EntityMessageBegin( this ); + WRITE_BYTE( 1 ); + MessageEnd(); +} |