29 #ifndef __GAME_PLAYERVIEW_H__ 
   30 #define __GAME_PLAYERVIEW_H__ 
   50 #define MAX_SCREEN_BLOBS        8 
   90 class FullscreenFXManager;
 
  115         bool                                    SetTriggerState( 
bool active );
 
  121         void                                    SetFadeTime( 
int t )            { msec = 
t; };
 
  122         int                                             GetFadeTime()                           { 
return msec; };
 
  125         float                                   GetAlpha()                                      { 
return alpha; };
 
  138         FullscreenFXManager             *fxman;
 
  141                                                         FullscreenFX()                                                  { fxman = 
NULL; };
 
  142         virtual                                 ~FullscreenFX()                                                 { };
 
  144         virtual void                    Initialize()                                                    = 0;
 
  145         virtual bool                    Active()                                                                = 0;
 
  146         virtual void                    HighQuality()                                                   = 0;
 
  147         virtual void                    LowQuality()                                                    { };
 
  149         virtual bool                    HasAccum()                                                              { 
return false; };
 
  154         void                                    SetFXManager( FullscreenFXManager *fx ) { fxman = fx; };
 
  156         bool                                    SetTriggerState( 
bool state )                   { 
return fader.SetTriggerState( state ); };
 
  157         void                                    SetFadeSpeed( 
int msec )                                { fader.SetFadeTime( msec ); };
 
  158         float                                   GetFadeAlpha()                                                  { 
return fader.GetAlpha(); };
 
  169 class FullscreenFX_Helltime : 
public FullscreenFX {
 
  175         bool                                    clearAccumBuffer;
 
  177         int                                             DetermineLevel();
 
  180         virtual void                    Initialize();
 
  181         virtual bool                    Active();
 
  182         virtual void                    HighQuality();
 
  184         virtual bool                    HasAccum()              { 
return true; };
 
  194 class FullscreenFX_Multiplayer : 
public FullscreenFX {
 
  200         bool                                    clearAccumBuffer;
 
  202         int                                             DetermineLevel();
 
  205         virtual void                    Initialize();
 
  206         virtual bool                    Active();
 
  207         virtual void                    HighQuality();
 
  209         virtual bool                    HasAccum()              { 
return true; };
 
  219 class FullscreenFX_Warp : 
public FullscreenFX {
 
  224         void                                    DrawWarp( WarpPolygon_t wp, 
float interp );
 
  227         virtual void                    Initialize();
 
  228         virtual bool                    Active();
 
  229         virtual void                    HighQuality();
 
  231         void                                    EnableGrabber( 
bool active )                    { grabberEnabled = active; startWarpTime = 
gameLocal.slow.
time; };
 
  242 class FullscreenFX_EnviroSuit : 
public FullscreenFX {
 
  246         virtual void                    Initialize();
 
  247         virtual bool                    Active();
 
  248         virtual void                    HighQuality();
 
  256 class FullscreenFX_DoubleVision : 
public FullscreenFX {
 
  260         virtual void                    Initialize();
 
  261         virtual bool                    Active();
 
  262         virtual void                    HighQuality();
 
  270 class FullscreenFX_InfluenceVision : 
public FullscreenFX {
 
  273         virtual void                    Initialize();
 
  274         virtual bool                    Active();
 
  275         virtual void                    HighQuality();
 
  283 class FullscreenFX_Bloom : 
public FullscreenFX {
 
  288         float                                   currentIntensity;
 
  289         float                                   targetIntensity;
 
  292         virtual void                    Initialize();
 
  293         virtual bool                    Active();
 
  294         virtual void                    HighQuality();
 
  307 class FullscreenFXManager {
 
  309         bool                                    highQualityMode;
 
  318                                                         FullscreenFXManager();
 
  319         virtual                                 ~FullscreenFXManager();
 
  324         void                                    CaptureCurrentRender();
 
  325         void                                    Blendback( 
float alpha );
 
  327         idVec2                                  GetShiftScale()                 { 
return shiftScale; };
 
  331         int                                             GetNum()                                { 
return fx.Num(); };
 
  332         FullscreenFX*                   GetFX( 
int index )              { 
return fx[
index]; };
 
  421         FullscreenFXManager     *fxManager;
 
  424         int                                     AddWarp( 
idVec3 worldOrigin, 
float centerx, 
float centery, 
float initialRadius, 
float durationMsec );
 
  425         void                            FreeWarp( 
int id );
 
idPlayer * GetLocalPlayer() const 
const idMaterial * lagoMaterial
void SetPlayerEntity(class idPlayer *playerEnt)
const idMaterial * material
void RenderPlayerView(idUserInterface *hud)
idAngles AngleOffset(void) const 
void Save(idSaveGame *savefile) const 
GLclampf GLclampf GLclampf alpha
idMat3 ShakeAxis(void) const 
void Flash(idVec4 color, int time)
const idMaterial * bfgMaterial
void AddBloodSpray(float duration)
const idMaterial * bloodSprayMaterial
screenBlob_t * GetScreenBlob()
GLubyte GLubyte GLubyte GLubyte w
void DamageImpulse(idVec3 localKickDir, const idDict *damageDef)
const idMaterial * armorMaterial
void WeaponFireFeedback(const idDict *weaponDef)
void Fade(idVec4 color, int time)
void SingleView(idUserInterface *hud, const renderView_t *view)
const idMaterial * irGogglesMaterial
void Restore(idRestoreGame *savefile)
const idMaterial * berserkMaterial
screenBlob_t screenBlobs[MAX_SCREEN_BLOBS]
const idMaterial * dvMaterial
void EnableBFGVision(bool b)
void CalculateShake(void)
const idMaterial * tunnelMaterial