Exit early on common case, rather than go through all checks. Minor speedup, but measurable on higher framerate demos.

This commit is contained in:
Ragnvald Maartmann-Moe IV 2001-08-07 18:53:22 +00:00
parent b3d20d834a
commit 2ccebbfd5c
4 changed files with 57 additions and 56 deletions

View file

@ -104,7 +104,8 @@ void
V_CalcPowerupCshift (void)
{
if (!cl_cshift_powerup->int_val)
// || (atoi (Info_ValueForKey (cl.serverinfo, "cshifts")) & INFO_CSHIFT_POWERUP))
// || (atoi (Info_ValueForKey (cl.serverinfo, "cshifts"))
// & INFO_CSHIFT_POWERUP))
return;
if (gl_dlight_polyblend->int_val

View file

@ -31,7 +31,6 @@
#endif
#include "QF/cmd.h"
#include "compat.h"
#include "QF/console.h"
#include "QF/cvar.h"
#include "QF/draw.h"
@ -40,6 +39,7 @@
#include "chase.h"
#include "client.h"
#include "compat.h"
#include "host.h"
#include "r_local.h"
#include "view.h"
@ -129,12 +129,10 @@ V_CalcBob (void)
void
V_StartPitchDrift (void)
{
#if 1
if (cl.laststop == cl.time) {
return; // something else is keeping it from
// drifting
}
#endif
if (cl.nodrift || !cl.pitchvel) {
cl.pitchvel = v_centerspeed->value;
cl.nodrift = false;
@ -322,12 +320,12 @@ V_SetContentsColor (int contents)
switch (contents) {
case CONTENTS_EMPTY:
case CONTENTS_SOLID:
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
break;
case CONTENTS_LAVA:
cl.cshifts[CSHIFT_CONTENTS] = cshift_lava;
break;
case CONTENTS_SOLID:
case CONTENTS_SLIME:
cl.cshifts[CSHIFT_CONTENTS] = cshift_slime;
break;
@ -358,33 +356,34 @@ V_CalcItemCshift (void)
void
V_CalcGlowCshift (void)
{
if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY ||
if (!cl.stats[STAT_ITEMS] & (IT_SUIT || IT_INVISIBILITY || IT_QUAD || IT_INVULNERABILITY))
{
cl.cshifts[CSHIFT_POWERUP].percent = 0;
return;
}
if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY &&
cl.stats[STAT_ITEMS] & IT_QUAD) {
if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY &&
cl.stats[STAT_ITEMS] & IT_QUAD) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_QUAD) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
}
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_QUAD) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else {
V_CalcItemCshift ();
}
}
/*
VIEW RENDERING
/*
VIEW RENDERING
*/

View file

@ -105,8 +105,8 @@ void
V_CalcPowerupCshift (void)
{
if (!cl_cshift_powerup->int_val
|| (atoi (Info_ValueForKey (cl.serverinfo, "cshifts")) &
INFO_CSHIFT_POWERUP))
|| (atoi (Info_ValueForKey (cl.serverinfo, "cshifts"))
& INFO_CSHIFT_POWERUP))
return;
if (gl_dlight_polyblend->int_val

View file

@ -34,7 +34,6 @@
#include <math.h>
#include "QF/cmd.h"
#include "compat.h"
#include "QF/cvar.h"
#include "QF/msg.h"
#include "QF/screen.h"
@ -42,6 +41,7 @@
#include "bothdefs.h"
#include "client.h"
#include "compat.h"
#include "host.h"
#include "pmove.h"
#include "view.h"
@ -65,6 +65,9 @@ cvar_t *cl_bob;
cvar_t *cl_bobcycle;
cvar_t *cl_bobup;
cvar_t *v_centermove;
cvar_t *v_centerspeed;
cvar_t *v_kicktime;
cvar_t *v_kickroll;
cvar_t *v_kickpitch;
@ -155,18 +158,13 @@ V_CalcBob (void)
}
cvar_t *v_centermove;
cvar_t *v_centerspeed;
void
V_StartPitchDrift (void)
{
#if 1
if (cl.laststop == cl.time) {
return; // something else is keeping it from
// drifting
}
#endif
if (cl.nodrift || !cl.pitchvel) {
cl.pitchvel = v_centerspeed->value;
cl.nodrift = false;
@ -352,7 +350,8 @@ void
V_SetContentsColor (int contents)
{
if (!cl_cshift_contents->int_val
&& !(atoi (Info_ValueForKey (cl.serverinfo, "cshifts")) & INFO_CSHIFT_CONTENTS)) {
&& !(atoi (Info_ValueForKey (cl.serverinfo, "cshifts")) &
INFO_CSHIFT_CONTENTS)) {
cl.cshifts[CSHIFT_CONTENTS] = cshift_empty;
return;
}
@ -395,33 +394,35 @@ V_CalcItemCshift (void)
void
V_CalcGlowCshift (void)
{
if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY ||
if (!cl.stats[STAT_ITEMS] & (IT_SUIT || IT_INVISIBILITY || IT_QUAD || IT_INVULNERABILITY))
{
cl.cshifts[CSHIFT_POWERUP].percent = 0;
return;
}
if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY &&
cl.stats[STAT_ITEMS] & IT_QUAD) {
if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY &&
cl.stats[STAT_ITEMS] & IT_QUAD) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_QUAD) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
}
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_QUAD) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else if (cl.stats[STAT_ITEMS] & IT_INVULNERABILITY) {
cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
cl.cshifts[CSHIFT_POWERUP].percent = 30;
} else {
V_CalcItemCshift ();
}
}
/*
VIEW RENDERING
/*
VIEW RENDERING
*/