Implement sharpen effect when having the shield or strength powerup. Not fully finished.
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 26 Feb 2011 01:04:42 +0000 (03:04 +0200)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Sat, 26 Feb 2011 01:04:42 +0000 (03:04 +0200)
data/defaultVoretournament.cfg
data/qcsrc/client/View.qc

index ff241d3..984d53b 100644 (file)
@@ -1091,6 +1091,7 @@ seta hud_stomach_fade_out 0.03 "how quickly the stomach splash disappears when y
 seta hud_postprocessing 1 "enables the ability for effects such as hud_damage_blur and hud_contents to apply a postprocessing method upon the screen - enabling this disables manual editing of the postprocess cvars"\r
 seta hud_postprocessing_maxbluralpha 0.5 "maximum alpha which the blur postprocess can be"\r
 seta hud_postprocessing_maxblurradius 10 "maximum radius which the blur postprocess can be"\r
+seta hud_postprocessing_maxsharpenalpha 0.75 "maximum alpha which the sharpen postprocess can be"\r
 \r
 seta hud_contents 1 "an improved version of gl_polyblend for liquids such as water/lava/slime, draw a filler when inside the liquid"\r
 seta hud_contents_factor 1 "factor at which to multiply the current faded value."\r
index 42a6852..aabe319 100644 (file)
@@ -634,6 +634,27 @@ void CSQC_UpdateView(float w, float h)
                        cvar_set("r_glsl_postprocess_uservec1", "0 0 0 0");\r
                        cvar_set("r_glsl_postprocess_uservec1_enable", "0");\r
                }\r
+\r
+               if(cvar("hud_postprocessing_maxsharpenalpha"))\r
+               {\r
+                       float sharpen_intensity;\r
+                       if (getstatf(STAT_STRENGTH_FINISHED) - time > 0)\r
+                               sharpen_intensity += (getstatf(STAT_STRENGTH_FINISHED) - time);\r
+                       if (getstatf(STAT_INVINCIBLE_FINISHED) - time > 0)\r
+                               sharpen_intensity += (getstatf(STAT_INVINCIBLE_FINISHED) - time);\r
+                       sharpen_intensity = bound(0, sharpen_intensity, 5); // powerup warning time is 5 seconds, so match it\r
+\r
+                       if(sharpen_intensity > 0)\r
+                       {\r
+                               cvar_set("r_glsl_postprocess_uservec2", strcat("1 ", ftos(-sharpen_intensity * cvar("hud_postprocessing_maxsharpenalpha")), " 0 0"));\r
+                               cvar_set("r_glsl_postprocess_uservec2_enable", "1");\r
+                       }\r
+                       else\r
+                       {\r
+                               cvar_set("r_glsl_postprocess_uservec2", "0 0 0 0");\r
+                               cvar_set("r_glsl_postprocess_uservec2_enable", "0");\r
+                       }\r
+               }\r
        }\r
 \r
        if not(cvar("hud_damage") && cvar("hud_postprocessing"))\r
@@ -642,6 +663,12 @@ void CSQC_UpdateView(float w, float h)
                cvar_set("r_glsl_postprocess_uservec1", "0 0 0 0");\r
                cvar_set("r_glsl_postprocess_uservec1_enable", "0");\r
        }\r
+       if not(cvar("hud_postprocessing_maxsharpenalpha") && cvar("hud_postprocessing"))\r
+       {\r
+               // don't allow sharpen to get stuck on if we disable the cvar while powered up\r
+               cvar_set("r_glsl_postprocess_uservec2", "0 0 0 0");\r
+               cvar_set("r_glsl_postprocess_uservec2_enable", "0");\r
+       }\r
 \r
        // Draw the mouse cursor\r
        // NOTE: drawpic must happen after R_RenderScene for some reason\r