aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/c_env_screenoverlay.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/client/c_env_screenoverlay.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/client/c_env_screenoverlay.cpp')
-rw-r--r--mp/src/game/client/c_env_screenoverlay.cpp654
1 files changed, 327 insertions, 327 deletions
diff --git a/mp/src/game/client/c_env_screenoverlay.cpp b/mp/src/game/client/c_env_screenoverlay.cpp
index 8768c852..5496d453 100644
--- a/mp/src/game/client/c_env_screenoverlay.cpp
+++ b/mp/src/game/client/c_env_screenoverlay.cpp
@@ -1,327 +1,327 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#include "cbase.h"
-#include "shareddefs.h"
-#include "materialsystem/imesh.h"
-#include "materialsystem/imaterial.h"
-#include "view.h"
-#include "iviewrender.h"
-#include "view_shared.h"
-#include "texture_group_names.h"
-#include "tier0/icommandline.h"
-#include "KeyValues.h"
-#include "ScreenSpaceEffects.h"
-#include "materialsystem/imaterialsystemhardwareconfig.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-class C_EnvScreenOverlay : public C_BaseEntity
-{
- DECLARE_CLASS( C_EnvScreenOverlay, C_BaseEntity );
-public:
- DECLARE_CLIENTCLASS();
-
- void PreDataUpdate( DataUpdateType_t updateType );
- void PostDataUpdate( DataUpdateType_t updateType );
-
- void HandleOverlaySwitch( void );
- void StartOverlays( void );
- void StopOverlays( void );
- void StartCurrentOverlay( void );
- void ClientThink( void );
-
-protected:
- char m_iszOverlayNames[ MAX_SCREEN_OVERLAYS ][255];
- float m_flOverlayTimes[ MAX_SCREEN_OVERLAYS ];
- float m_flStartTime;
- int m_iDesiredOverlay;
- bool m_bIsActive;
- bool m_bWasActive;
- int m_iCachedDesiredOverlay;
- int m_iCurrentOverlay;
- float m_flCurrentOverlayTime;
-};
-
-IMPLEMENT_CLIENTCLASS_DT( C_EnvScreenOverlay, DT_EnvScreenOverlay, CEnvScreenOverlay )
- RecvPropArray( RecvPropString( RECVINFO( m_iszOverlayNames[0]) ), m_iszOverlayNames ),
- RecvPropArray( RecvPropFloat( RECVINFO( m_flOverlayTimes[0] ) ), m_flOverlayTimes ),
- RecvPropFloat( RECVINFO( m_flStartTime ) ),
- RecvPropInt( RECVINFO( m_iDesiredOverlay ) ),
- RecvPropBool( RECVINFO( m_bIsActive ) ),
-END_RECV_TABLE()
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : updateType -
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::PreDataUpdate( DataUpdateType_t updateType )
-{
- BaseClass::PreDataUpdate( updateType );
-
- m_bWasActive = m_bIsActive;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::PostDataUpdate( DataUpdateType_t updateType )
-{
- BaseClass::PostDataUpdate( updateType );
-
- // If we have a start time now, start the overlays going
- if ( m_bIsActive && m_flStartTime > 0 && view->GetScreenOverlayMaterial() == NULL )
- {
- StartOverlays();
- }
-
- if ( m_flStartTime == -1 )
- {
- StopOverlays();
- }
-
- HandleOverlaySwitch();
-
- if ( updateType == DATA_UPDATE_CREATED &&
- CommandLine()->FindParm( "-makereslists" ) )
- {
- for ( int i = 0; i < MAX_SCREEN_OVERLAYS; ++i )
- {
- if ( m_iszOverlayNames[ i ] && m_iszOverlayNames[ i ][ 0 ] )
- {
- materials->FindMaterial( m_iszOverlayNames[ i ], TEXTURE_GROUP_CLIENT_EFFECTS, false );
- }
- }
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::StopOverlays( void )
-{
- SetNextClientThink( CLIENT_THINK_NEVER );
-
- if ( m_bWasActive && !m_bIsActive )
- {
- view->SetScreenOverlayMaterial( NULL );
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::StartOverlays( void )
-{
- m_iCurrentOverlay = 0;
- m_flCurrentOverlayTime = 0;
- m_iCachedDesiredOverlay = 0;
- SetNextClientThink( CLIENT_THINK_ALWAYS );
-
- StartCurrentOverlay();
- HandleOverlaySwitch();
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::HandleOverlaySwitch( void )
-{
- if( m_iCachedDesiredOverlay != m_iDesiredOverlay )
- {
- m_iCurrentOverlay = m_iDesiredOverlay;
- m_iCachedDesiredOverlay = m_iDesiredOverlay;
- StartCurrentOverlay();
- }
-}
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::StartCurrentOverlay( void )
-{
- if ( m_iCurrentOverlay == MAX_SCREEN_OVERLAYS || !m_iszOverlayNames[m_iCurrentOverlay] || !m_iszOverlayNames[m_iCurrentOverlay][0] )
- {
- // Hit the end of our overlays, so stop.
- m_flStartTime = 0;
- StopOverlays();
- return;
- }
-
- if ( m_flOverlayTimes[m_iCurrentOverlay] == -1 )
- m_flCurrentOverlayTime = -1;
- else
- m_flCurrentOverlayTime = gpGlobals->curtime + m_flOverlayTimes[m_iCurrentOverlay];
-
- // Bring up the current overlay
- IMaterial *pMaterial = materials->FindMaterial( m_iszOverlayNames[m_iCurrentOverlay], TEXTURE_GROUP_CLIENT_EFFECTS, false );
- if ( !IsErrorMaterial( pMaterial ) )
- {
- view->SetScreenOverlayMaterial( pMaterial );
- }
- else
- {
- Warning("env_screenoverlay couldn't find overlay %s.\n", m_iszOverlayNames[m_iCurrentOverlay] );
- StopOverlays();
- }
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_EnvScreenOverlay::ClientThink( void )
-{
- // If the current overlay's run out, go to the next one
- if ( m_flCurrentOverlayTime != -1 && m_flCurrentOverlayTime < gpGlobals->curtime )
- {
- m_iCurrentOverlay++;
- StartCurrentOverlay();
- }
-}
-
-// Effect types
-enum
-{
- SCREENEFFECT_EP2_ADVISOR_STUN,
- SCREENEFFECT_EP1_INTRO,
- SCREENEFFECT_EP2_GROGGY,
-};
-
-// ============================================================================
-// Screenspace effect
-// ============================================================================
-
-class C_EnvScreenEffect : public C_BaseEntity
-{
- DECLARE_CLASS( C_EnvScreenEffect, C_BaseEntity );
-public:
- DECLARE_CLIENTCLASS();
-
- virtual void ReceiveMessage( int classID, bf_read &msg );
-
-private:
- float m_flDuration;
- int m_nType;
-};
-
-IMPLEMENT_CLIENTCLASS_DT( C_EnvScreenEffect, DT_EnvScreenEffect, CEnvScreenEffect )
- RecvPropFloat( RECVINFO( m_flDuration ) ),
- RecvPropInt( RECVINFO( m_nType ) ),
-END_RECV_TABLE()
-
-//-----------------------------------------------------------------------------
-// Purpose:
-// Input : classID -
-// &msg -
-//-----------------------------------------------------------------------------
-void C_EnvScreenEffect::ReceiveMessage( int classID, bf_read &msg )
-{
- // Make sure our IDs match
- if ( classID != GetClientClass()->m_ClassID )
- {
- // Message is for subclass
- BaseClass::ReceiveMessage( classID, msg );
- return;
- }
-
- int messageType = msg.ReadByte();
- switch( messageType )
- {
- // Effect turning on
- case 0: // FIXME: Declare
- {
- // Create a keyvalue block to set these params
- KeyValues *pKeys = new KeyValues( "keys" );
- if ( pKeys == NULL )
- return;
-
- if ( m_nType == SCREENEFFECT_EP1_INTRO )
- {
- if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
- {
- return;
- }
-
- // Set our keys
- pKeys->SetFloat( "duration", m_flDuration );
- pKeys->SetInt( "fadeout", 0 );
-
- g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "episodic_intro", pKeys );
- g_pScreenSpaceEffects->EnableScreenSpaceEffect( "episodic_intro" );
- }
- else if ( m_nType == SCREENEFFECT_EP2_ADVISOR_STUN )
- {
- // Set our keys
- pKeys->SetFloat( "duration", m_flDuration );
-
- g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "episodic_stun", pKeys );
- g_pScreenSpaceEffects->EnableScreenSpaceEffect( "episodic_stun" );
- }
- else if ( m_nType == SCREENEFFECT_EP2_GROGGY )
- {
- if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
- return;
-
- // Set our keys
- pKeys->SetFloat( "duration", m_flDuration );
- pKeys->SetInt( "fadeout", 0 );
-
- g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "ep2_groggy", pKeys );
- g_pScreenSpaceEffects->EnableScreenSpaceEffect( "ep2_groggy" );
- }
-
- pKeys->deleteThis();
- }
- break;
-
- // Effect turning off
- case 1: // FIXME: Declare
-
- if ( m_nType == SCREENEFFECT_EP1_INTRO )
- {
- if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
- {
- return;
- }
- // Create a keyvalue block to set these params
- KeyValues *pKeys = new KeyValues( "keys" );
- if ( pKeys == NULL )
- return;
-
- // Set our keys
- pKeys->SetFloat( "duration", m_flDuration );
- pKeys->SetInt( "fadeout", 1 );
-
- g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "episodic_intro", pKeys );
- }
- else if ( m_nType == SCREENEFFECT_EP2_ADVISOR_STUN )
- {
- g_pScreenSpaceEffects->DisableScreenSpaceEffect( "episodic_stun" );
- }
- else if ( m_nType == SCREENEFFECT_EP2_GROGGY )
- {
- if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
- {
- return;
- }
- // Create a keyvalue block to set these params
- KeyValues *pKeys = new KeyValues( "keys" );
- if ( pKeys == NULL )
- return;
-
- // Set our keys
- pKeys->SetFloat( "duration", m_flDuration );
- pKeys->SetInt( "fadeout", 1 );
-
- g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "ep2_groggy", pKeys );
- }
-
- break;
- }
-}
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#include "cbase.h"
+#include "shareddefs.h"
+#include "materialsystem/imesh.h"
+#include "materialsystem/imaterial.h"
+#include "view.h"
+#include "iviewrender.h"
+#include "view_shared.h"
+#include "texture_group_names.h"
+#include "tier0/icommandline.h"
+#include "KeyValues.h"
+#include "ScreenSpaceEffects.h"
+#include "materialsystem/imaterialsystemhardwareconfig.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+class C_EnvScreenOverlay : public C_BaseEntity
+{
+ DECLARE_CLASS( C_EnvScreenOverlay, C_BaseEntity );
+public:
+ DECLARE_CLIENTCLASS();
+
+ void PreDataUpdate( DataUpdateType_t updateType );
+ void PostDataUpdate( DataUpdateType_t updateType );
+
+ void HandleOverlaySwitch( void );
+ void StartOverlays( void );
+ void StopOverlays( void );
+ void StartCurrentOverlay( void );
+ void ClientThink( void );
+
+protected:
+ char m_iszOverlayNames[ MAX_SCREEN_OVERLAYS ][255];
+ float m_flOverlayTimes[ MAX_SCREEN_OVERLAYS ];
+ float m_flStartTime;
+ int m_iDesiredOverlay;
+ bool m_bIsActive;
+ bool m_bWasActive;
+ int m_iCachedDesiredOverlay;
+ int m_iCurrentOverlay;
+ float m_flCurrentOverlayTime;
+};
+
+IMPLEMENT_CLIENTCLASS_DT( C_EnvScreenOverlay, DT_EnvScreenOverlay, CEnvScreenOverlay )
+ RecvPropArray( RecvPropString( RECVINFO( m_iszOverlayNames[0]) ), m_iszOverlayNames ),
+ RecvPropArray( RecvPropFloat( RECVINFO( m_flOverlayTimes[0] ) ), m_flOverlayTimes ),
+ RecvPropFloat( RECVINFO( m_flStartTime ) ),
+ RecvPropInt( RECVINFO( m_iDesiredOverlay ) ),
+ RecvPropBool( RECVINFO( m_bIsActive ) ),
+END_RECV_TABLE()
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : updateType -
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::PreDataUpdate( DataUpdateType_t updateType )
+{
+ BaseClass::PreDataUpdate( updateType );
+
+ m_bWasActive = m_bIsActive;
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::PostDataUpdate( DataUpdateType_t updateType )
+{
+ BaseClass::PostDataUpdate( updateType );
+
+ // If we have a start time now, start the overlays going
+ if ( m_bIsActive && m_flStartTime > 0 && view->GetScreenOverlayMaterial() == NULL )
+ {
+ StartOverlays();
+ }
+
+ if ( m_flStartTime == -1 )
+ {
+ StopOverlays();
+ }
+
+ HandleOverlaySwitch();
+
+ if ( updateType == DATA_UPDATE_CREATED &&
+ CommandLine()->FindParm( "-makereslists" ) )
+ {
+ for ( int i = 0; i < MAX_SCREEN_OVERLAYS; ++i )
+ {
+ if ( m_iszOverlayNames[ i ] && m_iszOverlayNames[ i ][ 0 ] )
+ {
+ materials->FindMaterial( m_iszOverlayNames[ i ], TEXTURE_GROUP_CLIENT_EFFECTS, false );
+ }
+ }
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::StopOverlays( void )
+{
+ SetNextClientThink( CLIENT_THINK_NEVER );
+
+ if ( m_bWasActive && !m_bIsActive )
+ {
+ view->SetScreenOverlayMaterial( NULL );
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::StartOverlays( void )
+{
+ m_iCurrentOverlay = 0;
+ m_flCurrentOverlayTime = 0;
+ m_iCachedDesiredOverlay = 0;
+ SetNextClientThink( CLIENT_THINK_ALWAYS );
+
+ StartCurrentOverlay();
+ HandleOverlaySwitch();
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::HandleOverlaySwitch( void )
+{
+ if( m_iCachedDesiredOverlay != m_iDesiredOverlay )
+ {
+ m_iCurrentOverlay = m_iDesiredOverlay;
+ m_iCachedDesiredOverlay = m_iDesiredOverlay;
+ StartCurrentOverlay();
+ }
+}
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::StartCurrentOverlay( void )
+{
+ if ( m_iCurrentOverlay == MAX_SCREEN_OVERLAYS || !m_iszOverlayNames[m_iCurrentOverlay] || !m_iszOverlayNames[m_iCurrentOverlay][0] )
+ {
+ // Hit the end of our overlays, so stop.
+ m_flStartTime = 0;
+ StopOverlays();
+ return;
+ }
+
+ if ( m_flOverlayTimes[m_iCurrentOverlay] == -1 )
+ m_flCurrentOverlayTime = -1;
+ else
+ m_flCurrentOverlayTime = gpGlobals->curtime + m_flOverlayTimes[m_iCurrentOverlay];
+
+ // Bring up the current overlay
+ IMaterial *pMaterial = materials->FindMaterial( m_iszOverlayNames[m_iCurrentOverlay], TEXTURE_GROUP_CLIENT_EFFECTS, false );
+ if ( !IsErrorMaterial( pMaterial ) )
+ {
+ view->SetScreenOverlayMaterial( pMaterial );
+ }
+ else
+ {
+ Warning("env_screenoverlay couldn't find overlay %s.\n", m_iszOverlayNames[m_iCurrentOverlay] );
+ StopOverlays();
+ }
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_EnvScreenOverlay::ClientThink( void )
+{
+ // If the current overlay's run out, go to the next one
+ if ( m_flCurrentOverlayTime != -1 && m_flCurrentOverlayTime < gpGlobals->curtime )
+ {
+ m_iCurrentOverlay++;
+ StartCurrentOverlay();
+ }
+}
+
+// Effect types
+enum
+{
+ SCREENEFFECT_EP2_ADVISOR_STUN,
+ SCREENEFFECT_EP1_INTRO,
+ SCREENEFFECT_EP2_GROGGY,
+};
+
+// ============================================================================
+// Screenspace effect
+// ============================================================================
+
+class C_EnvScreenEffect : public C_BaseEntity
+{
+ DECLARE_CLASS( C_EnvScreenEffect, C_BaseEntity );
+public:
+ DECLARE_CLIENTCLASS();
+
+ virtual void ReceiveMessage( int classID, bf_read &msg );
+
+private:
+ float m_flDuration;
+ int m_nType;
+};
+
+IMPLEMENT_CLIENTCLASS_DT( C_EnvScreenEffect, DT_EnvScreenEffect, CEnvScreenEffect )
+ RecvPropFloat( RECVINFO( m_flDuration ) ),
+ RecvPropInt( RECVINFO( m_nType ) ),
+END_RECV_TABLE()
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : classID -
+// &msg -
+//-----------------------------------------------------------------------------
+void C_EnvScreenEffect::ReceiveMessage( int classID, bf_read &msg )
+{
+ // Make sure our IDs match
+ if ( classID != GetClientClass()->m_ClassID )
+ {
+ // Message is for subclass
+ BaseClass::ReceiveMessage( classID, msg );
+ return;
+ }
+
+ int messageType = msg.ReadByte();
+ switch( messageType )
+ {
+ // Effect turning on
+ case 0: // FIXME: Declare
+ {
+ // Create a keyvalue block to set these params
+ KeyValues *pKeys = new KeyValues( "keys" );
+ if ( pKeys == NULL )
+ return;
+
+ if ( m_nType == SCREENEFFECT_EP1_INTRO )
+ {
+ if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
+ {
+ return;
+ }
+
+ // Set our keys
+ pKeys->SetFloat( "duration", m_flDuration );
+ pKeys->SetInt( "fadeout", 0 );
+
+ g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "episodic_intro", pKeys );
+ g_pScreenSpaceEffects->EnableScreenSpaceEffect( "episodic_intro" );
+ }
+ else if ( m_nType == SCREENEFFECT_EP2_ADVISOR_STUN )
+ {
+ // Set our keys
+ pKeys->SetFloat( "duration", m_flDuration );
+
+ g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "episodic_stun", pKeys );
+ g_pScreenSpaceEffects->EnableScreenSpaceEffect( "episodic_stun" );
+ }
+ else if ( m_nType == SCREENEFFECT_EP2_GROGGY )
+ {
+ if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
+ return;
+
+ // Set our keys
+ pKeys->SetFloat( "duration", m_flDuration );
+ pKeys->SetInt( "fadeout", 0 );
+
+ g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "ep2_groggy", pKeys );
+ g_pScreenSpaceEffects->EnableScreenSpaceEffect( "ep2_groggy" );
+ }
+
+ pKeys->deleteThis();
+ }
+ break;
+
+ // Effect turning off
+ case 1: // FIXME: Declare
+
+ if ( m_nType == SCREENEFFECT_EP1_INTRO )
+ {
+ if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
+ {
+ return;
+ }
+ // Create a keyvalue block to set these params
+ KeyValues *pKeys = new KeyValues( "keys" );
+ if ( pKeys == NULL )
+ return;
+
+ // Set our keys
+ pKeys->SetFloat( "duration", m_flDuration );
+ pKeys->SetInt( "fadeout", 1 );
+
+ g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "episodic_intro", pKeys );
+ }
+ else if ( m_nType == SCREENEFFECT_EP2_ADVISOR_STUN )
+ {
+ g_pScreenSpaceEffects->DisableScreenSpaceEffect( "episodic_stun" );
+ }
+ else if ( m_nType == SCREENEFFECT_EP2_GROGGY )
+ {
+ if( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() < 80 )
+ {
+ return;
+ }
+ // Create a keyvalue block to set these params
+ KeyValues *pKeys = new KeyValues( "keys" );
+ if ( pKeys == NULL )
+ return;
+
+ // Set our keys
+ pKeys->SetFloat( "duration", m_flDuration );
+ pKeys->SetInt( "fadeout", 1 );
+
+ g_pScreenSpaceEffects->SetScreenSpaceEffectParams( "ep2_groggy", pKeys );
+ }
+
+ break;
+ }
+}