You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
2.6 KiB
119 lines
2.6 KiB
//========= 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
|
|
|