From a6377582295799b7b7aa7c293c3af2f130576a14 Mon Sep 17 00:00:00 2001 From: div0 Date: Wed, 23 Sep 2009 06:12:41 +0000 Subject: [PATCH] better visuals for the rifle git-svn-id: svn://svn.icculus.org/nexuiz/trunk@7868 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/effectinfo.txt | 36 +++++++++++++++++++++++++++++++++ data/qcsrc/client/projectile.qc | 6 +++++- data/qcsrc/server/w_common.qc | 11 ++++++++-- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/data/effectinfo.txt b/data/effectinfo.txt index 5d714e33b..1ac3b8a53 100644 --- a/data/effectinfo.txt +++ b/data/effectinfo.txt @@ -4415,3 +4415,39 @@ count 1 lightradius 200 lightradiusfade 10000 lightcolor 0.9 0.9 0.2 + +// rifle bullet trail (somewhat like a tracer) +// used in qcsrc/server/w_common.qc: zcurveparticles_from_tracetoss(particleeffectnum("tr_bullet"), self.origin, trace_endpos, self.velocity) +// used in qcsrc/client/projectile.qc: trailparticles(self, particleeffectnum("tr_bullet"), from, to) +effect tr_rifle +trailspacing 128 +type spark +color 0x800000 0xFF8020 +alpha 256 256 2560 +size 3 3 +stretchfactor 0.6 +velocitymultiplier 0.7 +effect tr_rifle +notunderwater +tex 0 8 +trailspacing 2 +type static +color 0x202020 0x404040 +size 2 2 +sizeincrease 2 +alpha 256 256 512 +airfriction -4 +velocityjitter 4 4 4 +type smoke +effect tr_rifle +underwater +trailspacing 8 +type bubble +tex 62 62 +color 0x404040 0x808080 +size 1 1 +alpha 256 256 256 +gravity -0.125 +bounce 1.5 +liquidfriction 4 +velocityjitter 16 16 16 diff --git a/data/qcsrc/client/projectile.qc b/data/qcsrc/client/projectile.qc index 50fb95888..c321d0fa8 100644 --- a/data/qcsrc/client/projectile.qc +++ b/data/qcsrc/client/projectile.qc @@ -78,9 +78,11 @@ void Projectile_DrawTrail(vector to) trailparticles(self, particleeffectnum("TR_GRENADE"), from, to); break; case PROJECTILE_BULLET: - case PROJECTILE_BULLET_GLOWING: trailparticles(self, particleeffectnum("tr_bullet"), from, to); break; + case PROJECTILE_BULLET_GLOWING: + trailparticles(self, particleeffectnum("tr_rifle"), from, to); + break; case PROJECTILE_FIREMINE: trailparticles(self, particleeffectnum("firemine"), from, to); break; @@ -172,9 +174,11 @@ void Projectile_Draw() switch(self.cnt) { + /* case PROJECTILE_BULLET_GLOWING: R_AddDynamicLight(self.origin, 50, '1 1 0'); break; + */ default: break; } diff --git a/data/qcsrc/server/w_common.qc b/data/qcsrc/server/w_common.qc index fcd5d6e7b..f54974632 100644 --- a/data/qcsrc/server/w_common.qc +++ b/data/qcsrc/server/w_common.qc @@ -396,6 +396,13 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f if(cvar("g_antilag_bullets")) if(pSpeed >= cvar("g_antilag_bullets")) { + float eff; + + if(tracereffects & EF_RED) + eff = particleeffectnum("tr_rifle"); + else + eff = particleeffectnum("tr_bullet"); + // NOTE: this may severely throw off weapon balance lag = ANTILAG_LATENCY(self); if(lag < 0.001) @@ -438,8 +445,8 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f self.maxdamage_fired = self.weapon + 64 * rint(self.bullets_fired[self.weapon]); } - if(vlen(trace_endpos - self.origin) > 32) - zcurveparticles_from_tracetoss(particleeffectnum("tr_bullet"), self.origin, trace_endpos, self.velocity); + if(vlen(trace_endpos - self.origin) > 16) + zcurveparticles_from_tracetoss(eff, self.origin, trace_endpos, self.velocity); if(trace_fraction == 1) break; // won't hit anything anytime soon (DP's -- 2.39.2