float a;
hud = getstati(STAT_HUD);
+ if(checkextension("DP_CSQC_MINFPS_QUALITY"))
+ view_quality = R_SetView(VF_MINFPS_QUALITY);
+ else
+ view_quality = 1;
+
button_attack2 = (input_buttons & BUTTON_3);
button_zoom = (input_buttons & BUTTON_4);
//only the "MD4" digest is always supported!
//if the given digest is not supported, string_null is returned
//the digest string is matched case sensitively, use "MD4", not "md4"!
+
+//DP_CSQC_MINFPS_QUALITY
+//idea: divVerent
+//darkplaces implementation: divVerent
+//constant definitions:
+const float VF_MINFPS_QUALITY = 213;
+//use getproperty(VF_MINFPS_QUALITY); to do CSQC based LOD based on cl_minfps
+//1 should lead to an unmodified view
trailparticles(self, particleeffectnum(strcat(species_prefix(self.cnt), "TR_BLOOD")), oldorg, self.origin);
self.renderflags = 0;
+
+ // make gibs die faster at low view quality
+ // if view_quality is 0.5, we want to have them die twice as fast
+ self.nextthink -= frametime * (1 / bound(0.01, view_quality, 1.00) - 1);
+
self.alpha = bound(0, self.nextthink - time, 1);
if(self.alpha < ALPHA_MIN_VISIBLE)
entity entcs_receiver[255]; // 255 is the engine limit on maxclients
float hud;
+float view_quality;
void cvar_clientsettemp(string cv, string val);