From 91a9cbf2b2bbeb711012464d811b65e4df345bf4 Mon Sep 17 00:00:00 2001 From: Samual Date: Sun, 28 Aug 2011 20:28:45 -0400 Subject: [PATCH] Update hud_powerup code to disable effect when player dies, plus enhance the effect so it doesn't make the screen totally dark (You forgot to use the brighten feature, otherwise it drowns out all the color with black) --- qcsrc/client/View.qc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index cb077390c3..ec3240bad6 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -803,7 +803,6 @@ void CSQC_UpdateView(float w, float h) } if(autocvar_hud_damage && !autocvar_chase_active) - { splash_size_x = max(vid_conwidth, vid_conheight); splash_size_y = max(vid_conwidth, vid_conheight); @@ -914,19 +913,19 @@ void CSQC_UpdateView(float w, float h) old_bluralpha = 0; } - float sharpen_intensity; - if (getstatf(STAT_STRENGTH_FINISHED) - time > 0) - sharpen_intensity += (getstatf(STAT_STRENGTH_FINISHED) - time); - if (getstatf(STAT_INVINCIBLE_FINISHED) - time > 0) - sharpen_intensity += (getstatf(STAT_INVINCIBLE_FINISHED) - time); + float sharpen_intensity, strength_finished = getstatf(STAT_STRENGTH_FINISHED), invincible_finished = getstatf(STAT_INVINCIBLE_FINISHED); + if (strength_finished - time > 0) { sharpen_intensity += (strength_finished - time); } + if (invincible_finished - time > 0) { sharpen_intensity += (invincible_finished - time); } + + // Check the health stat to see whether the player is still alive, then remove the effect if they are dead so it isn't there when they respawn... + // then bound the given value since powerup warning time is 5 seconds, so fade the effect from 5 seconds down. + sharpen_intensity = bound(0, ((getstati(STAT_HEALTH) > 0) ? sharpen_intensity : 0), 5); if(autocvar_hud_powerup && sharpen_intensity > 0 && autocvar_chase_active >= 0) // not while the event chase camera is active { - sharpen_intensity = bound(0, sharpen_intensity, 5); // powerup warning time is 5 seconds, so fade the effect from there - if(sharpen_intensity != old_sharpen_intensity) // reduce cvar_set spam as much as possible { - cvar_set("r_glsl_postprocess_uservec2", strcat("0 ", ftos(-sharpen_intensity * cvar("hud_powerup")), " 0 0")); + cvar_set("r_glsl_postprocess_uservec2", strcat(ftos((sharpen_intensity / 5) * cvar("hud_powerup")), " ", ftos(-sharpen_intensity * cvar("hud_powerup")), " 0 0")); old_sharpen_intensity = sharpen_intensity; } } -- 2.39.2