mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-29 17:43:01 +00:00
120 lines
2.6 KiB
C
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
|