aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/episodic/episodic_screenspaceeffects.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/client/episodic/episodic_screenspaceeffects.h')
-rw-r--r--mp/src/game/client/episodic/episodic_screenspaceeffects.h119
1 files changed, 119 insertions, 0 deletions
diff --git a/mp/src/game/client/episodic/episodic_screenspaceeffects.h b/mp/src/game/client/episodic/episodic_screenspaceeffects.h
new file mode 100644
index 00000000..0ed6687e
--- /dev/null
+++ b/mp/src/game/client/episodic/episodic_screenspaceeffects.h
@@ -0,0 +1,119 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================
+
+#ifndef EPISODIC_SCREENSPACEEFFECTS_H
+#define EPISODIC_SCREENSPACEEFFECTS_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "ScreenSpaceEffects.h"
+
+class CStunEffect : public IScreenSpaceEffect
+{
+public:
+ CStunEffect( void ) :
+ m_flDuration( 0.0f ),
+ m_flFinishTime( 0.0f ),
+ m_bUpdateView( true ) {}
+
+ virtual void Init( void );
+ virtual void Shutdown( void );
+ virtual void SetParameters( KeyValues *params );
+ virtual void Enable( bool bEnable ) {};
+ virtual bool IsEnabled( ) { return true; }
+
+ virtual void Render( int x, int y, int w, int h );
+
+private:
+ CTextureReference m_StunTexture;
+ CMaterialReference m_EffectMaterial;
+ float m_flDuration;
+ float m_flFinishTime;
+ bool m_bUpdateView;
+};
+
+ADD_SCREENSPACE_EFFECT( CStunEffect, episodic_stun );
+
+//
+// EP1 Intro Blur
+//
+
+class CEP1IntroEffect : public IScreenSpaceEffect
+{
+public:
+ CEP1IntroEffect( void ) :
+ m_flDuration( 0.0f ),
+ m_flFinishTime( 0.0f ),
+ m_bUpdateView( true ),
+ m_bEnabled( false ),
+ m_bFadeOut( false ) {}
+
+ virtual void Init( void );
+ virtual void Shutdown( void );
+ virtual void SetParameters( KeyValues *params );
+ virtual void Enable( bool bEnable ) { m_bEnabled = bEnable; }
+ virtual bool IsEnabled( ) { return m_bEnabled; }
+
+ virtual void Render( int x, int y, int w, int h );
+
+private:
+
+ inline unsigned char GetFadeAlpha( void );
+
+ CTextureReference m_StunTexture;
+ CMaterialReference m_EffectMaterial;
+ float m_flDuration;
+ float m_flFinishTime;
+ bool m_bUpdateView;
+ bool m_bEnabled;
+ bool m_bFadeOut;
+};
+
+ADD_SCREENSPACE_EFFECT( CEP1IntroEffect, episodic_intro );
+
+//
+// EP2 Player Stunned Effect
+//
+
+//
+// EP1 Intro Blur
+//
+
+class CEP2StunEffect : public IScreenSpaceEffect
+{
+public:
+ CEP2StunEffect( void ) :
+ m_flDuration( 0.0f ),
+ m_flFinishTime( 0.0f ),
+ m_bUpdateView( true ),
+ m_bEnabled( false ),
+ m_bFadeOut( false ) {}
+
+ virtual void Init( void );
+ virtual void Shutdown( void );
+ virtual void SetParameters( KeyValues *params );
+ virtual void Enable( bool bEnable ) { m_bEnabled = bEnable; }
+ virtual bool IsEnabled( ) { return m_bEnabled; }
+
+ virtual void Render( int x, int y, int w, int h );
+
+private:
+
+ inline unsigned char GetFadeAlpha( void );
+
+ CTextureReference m_StunTexture;
+ CMaterialReference m_EffectMaterial;
+ float m_flDuration;
+ float m_flFinishTime;
+ bool m_bUpdateView;
+ bool m_bEnabled;
+ bool m_bFadeOut;
+};
+
+ADD_SCREENSPACE_EFFECT( CEP2StunEffect, ep2_groggy );
+
+#endif // EPISODIC_SCREENSPACEEFFECTS_H