summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2017-01-24 14:57:07 -0900
committerKent Overstreet <kent.overstreet@gmail.com>2017-01-24 14:57:07 -0900
commit7dcbe155872db3ddf5fe63b395cc632040b12690 (patch)
tree363526597b913ba9dcb7e735203bb5a2bd68c1bf
parent2c5d063a01adbf40e124645548a79b0c2f5b4ee5 (diff)
delete some duplicated codeHEADmaster
-rw-r--r--src/client/effects.c111
1 files 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);
}
/*