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