hl2_src-leak-2017/src/game/client/episodic/episodic_screenspaceeffects.h

120 lines
2.6 KiB
C++

//========= 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