From 7dcbe155872db3ddf5fe63b395cc632040b12690 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Tue, 24 Jan 2017 14:57:07 -0900 Subject: delete some duplicated code --- src/client/effects.c | 111 ++++++++------------------------------------------- 1 file changed, 16 insertions(+), 95 deletions(-) diff --git a/src/client/effects.c b/src/client/effects.c index 54c67f2..f917222 100644 --- a/src/client/effects.c +++ b/src/client/effects.c @@ -1131,14 +1131,10 @@ void CL_BlasterParticles(vec3_t org, vec3_t dir) } } - -/* -=============== -CL_BlasterTrail - -=============== -*/ -void CL_BlasterTrail(vec3_t start, vec3_t end) +static void trail_effect(vec3_t start, vec3_t end, + float alpha_scale, + unsigned color, + unsigned velocity) { vec3_t move; vec3_t vec; @@ -1152,9 +1148,8 @@ void CL_BlasterTrail(vec3_t start, vec3_t end) len = VectorNormalizeLen(vec); dec = 5; - VectorScale(vec, 5, vec); + VectorScale(vec, dec, vec); - // FIXME: this is a really silly way to have a loop while (len > 0) { len -= dec; @@ -1166,106 +1161,32 @@ void CL_BlasterTrail(vec3_t start, vec3_t end) p->time = cl.time; p->alpha = 1.0; - p->alphavel = -1.0 / (0.3 + frand() * 0.2); - p->color = 0xe0; + p->alphavel = -1.0 / (alpha_scale + frand() * 0.2); + p->color = color; for (j = 0; j < 3; j++) { - p->org[j] = move[j] + crand(); - p->vel[j] = crand() * 5; + p->org[j] = move[j] + crand() * 16; + p->vel[j] = crand() * velocity; p->accel[j] = 0; } VectorAdd(move, vec, move); } + } -/* -=============== -CL_QuadTrail +void CL_BlasterTrail(vec3_t start, vec3_t end) +{ + trail_effect(start, end, 0.3, 0xe0, 5); +} -=============== -*/ void CL_QuadTrail(vec3_t start, vec3_t end) { - vec3_t move; - vec3_t vec; - float len; - int j; - cparticle_t *p; - int dec; - - VectorCopy(start, move); - VectorSubtract(end, start, vec); - len = VectorNormalizeLen(vec); - - dec = 5; - VectorScale(vec, 5, vec); - - while (len > 0) { - len -= dec; - - p = CL_AllocParticle(); - if (!p) - return; - VectorClear(p->accel); - - p->time = cl.time; - - p->alpha = 1.0; - p->alphavel = -1.0 / (0.8 + frand() * 0.2); - p->color = 115; - for (j = 0; j < 3; j++) { - p->org[j] = move[j] + crand() * 16; - p->vel[j] = crand() * 5; - p->accel[j] = 0; - } - - VectorAdd(move, vec, move); - } + trail_effect(start, end, 0.8, 115, 5); } -/* -=============== -CL_FlagTrail - -=============== -*/ void CL_FlagTrail(vec3_t start, vec3_t end, int color) { - vec3_t move; - vec3_t vec; - float len; - int j; - cparticle_t *p; - int dec; - - VectorCopy(start, move); - VectorSubtract(end, start, vec); - len = VectorNormalizeLen(vec); - - dec = 5; - VectorScale(vec, 5, vec); - - while (len > 0) { - len -= dec; - - p = CL_AllocParticle(); - if (!p) - return; - VectorClear(p->accel); - - p->time = cl.time; - - p->alpha = 1.0; - p->alphavel = -1.0 / (0.8 + frand() * 0.2); - p->color = color; - for (j = 0; j < 3; j++) { - p->org[j] = move[j] + crand() * 16; - p->vel[j] = crand() * 5; - p->accel[j] = 0; - } - - VectorAdd(move, vec, move); - } + trail_effect(start, end, 0.8, color, 5); } /* -- cgit v1.2.3