summaryrefslogtreecommitdiff
path: root/src/cgame
diff options
context:
space:
mode:
Diffstat (limited to 'src/cgame')
-rw-r--r--src/cgame/cg_local.h1
-rw-r--r--src/cgame/cg_main.c2
-rw-r--r--src/cgame/cg_particles.c6
3 files changed, 9 insertions, 0 deletions
diff --git a/src/cgame/cg_local.h b/src/cgame/cg_local.h
index 66aea83e..b0ce4b6d 100644
--- a/src/cgame/cg_local.h
+++ b/src/cgame/cg_local.h
@@ -1476,6 +1476,7 @@ extern vmCvar_t cg_wwSmoothTime;
extern vmCvar_t cg_wwFollow;
extern vmCvar_t cg_wwToggle;
extern vmCvar_t cg_depthSortParticles;
+extern vmCvar_t cg_bounceParticles;
extern vmCvar_t cg_consoleLatency;
extern vmCvar_t cg_lightFlare;
extern vmCvar_t cg_debugParticles;
diff --git a/src/cgame/cg_main.c b/src/cgame/cg_main.c
index 7c868b56..f5402537 100644
--- a/src/cgame/cg_main.c
+++ b/src/cgame/cg_main.c
@@ -209,6 +209,7 @@ vmCvar_t cg_wwSmoothTime;
vmCvar_t cg_wwFollow;
vmCvar_t cg_wwToggle;
vmCvar_t cg_depthSortParticles;
+vmCvar_t cg_bounceParticles;
vmCvar_t cg_consoleLatency;
vmCvar_t cg_lightFlare;
vmCvar_t cg_debugParticles;
@@ -325,6 +326,7 @@ static cvarTable_t cvarTable[ ] =
{ &cg_wwFollow, "cg_wwFollow", "1", CVAR_ARCHIVE|CVAR_USERINFO },
{ &cg_wwToggle, "cg_wwToggle", "1", CVAR_ARCHIVE|CVAR_USERINFO },
{ &cg_depthSortParticles, "cg_depthSortParticles", "1", CVAR_ARCHIVE },
+ { &cg_bounceParticles, "cg_bounceParticles", "0", CVAR_ARCHIVE },
{ &cg_consoleLatency, "cg_consoleLatency", "3000", CVAR_ARCHIVE },
{ &cg_lightFlare, "cg_lightFlare", "3", CVAR_ARCHIVE },
{ &cg_debugParticles, "cg_debugParticles", "0", CVAR_CHEAT },
diff --git a/src/cgame/cg_particles.c b/src/cgame/cg_particles.c
index ce407549..9be34bd9 100644
--- a/src/cgame/cg_particles.c
+++ b/src/cgame/cg_particles.c
@@ -2101,6 +2101,12 @@ static void CG_EvaluateParticlePhysics( particle_t *p )
VectorMA( p->velocity, deltaTime, acceleration, p->velocity );
VectorMA( p->origin, deltaTime, p->velocity, newOrigin );
p->lastEvalTime = cg.time;
+
+ if( !cg_bounceParticles.integer )
+ {
+ VectorCopy( newOrigin, p->origin );
+ return;
+ }
CG_Trace( &trace, p->origin, mins, maxs, newOrigin,
CG_AttachmentCentNum( &ps->attachment ), CONTENTS_SOLID );