mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 04:42:32 +00:00
Use ramps for spark showers, so they fade in color as well as alpha.
Lightning doesn't have a ramp, so it doesn't use this feature yet.
This commit is contained in:
parent
b94077200f
commit
d6a2b54252
2 changed files with 19 additions and 5 deletions
|
@ -59,6 +59,7 @@ typedef enum {
|
||||||
pt_bloodcloud,
|
pt_bloodcloud,
|
||||||
pt_fadespark,
|
pt_fadespark,
|
||||||
pt_fadespark2,
|
pt_fadespark2,
|
||||||
|
pt_fallfade,
|
||||||
pt_fallfadespark,
|
pt_fallfadespark,
|
||||||
pt_flame
|
pt_flame
|
||||||
} ptype_t;
|
} ptype_t;
|
||||||
|
|
|
@ -267,10 +267,12 @@ R_RunSparkEffect_QF (const vec3_t org, int count, int ofuzz)
|
||||||
|
|
||||||
if (numparticles + count >= r_maxparticles)
|
if (numparticles + count >= r_maxparticles)
|
||||||
count = r_maxparticles - numparticles;
|
count = r_maxparticles - numparticles;
|
||||||
while (count--)
|
while (count--) {
|
||||||
|
int color = rand () & 7;
|
||||||
particle_new_random (pt_fallfadespark, part_tex_dot, org,
|
particle_new_random (pt_fallfadespark, part_tex_dot, org,
|
||||||
ofuzz * 0.75, 0.7, 96, r_realtime + 5.0,
|
ofuzz * 0.75, 0.7, 96, r_realtime + 5.0,
|
||||||
ramp1[rand () & 7], 1.0, 0.0);
|
ramp1[color], 1.0, color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
@ -315,7 +317,7 @@ R_LightningBloodEffect_QF (const vec3_t org)
|
||||||
if (numparticles + count >= r_maxparticles)
|
if (numparticles + count >= r_maxparticles)
|
||||||
count = r_maxparticles - numparticles;
|
count = r_maxparticles - numparticles;
|
||||||
while (count--)
|
while (count--)
|
||||||
particle_new_random (pt_fallfadespark, part_tex_spark, org, 12, 2.0,
|
particle_new_random (pt_fallfade, part_tex_spark, org, 12, 2.0,
|
||||||
128, r_realtime + 5.0, 244 + (rand () % 3), 1.0,
|
128, r_realtime + 5.0, 244 + (rand () % 3), 1.0,
|
||||||
0.0);
|
0.0);
|
||||||
}
|
}
|
||||||
|
@ -372,7 +374,7 @@ R_KnightSpikeEffect_QF (const vec3_t org)
|
||||||
if (numparticles + count >= r_maxparticles)
|
if (numparticles + count >= r_maxparticles)
|
||||||
count = r_maxparticles - numparticles;
|
count = r_maxparticles - numparticles;
|
||||||
while (count--)
|
while (count--)
|
||||||
particle_new_random (pt_fallfadespark, part_tex_dot, org, 6, 0.7, 96,
|
particle_new_random (pt_fallfade, part_tex_dot, org, 6, 0.7, 96,
|
||||||
r_realtime + 5.0, 234, 1.0, 0.0);
|
r_realtime + 5.0, 234, 1.0, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -389,7 +391,7 @@ R_WizSpikeEffect_QF (const vec3_t org)
|
||||||
if (numparticles + count >= r_maxparticles)
|
if (numparticles + count >= r_maxparticles)
|
||||||
count = r_maxparticles - numparticles;
|
count = r_maxparticles - numparticles;
|
||||||
while (count--)
|
while (count--)
|
||||||
particle_new_random (pt_fallfadespark, part_tex_dot, org, 12, 0.7, 96,
|
particle_new_random (pt_fallfade, part_tex_dot, org, 12, 0.7, 96,
|
||||||
r_realtime + 5.0, 63, 1.0, 0.0);
|
r_realtime + 5.0, 63, 1.0, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1474,7 +1476,18 @@ R_DrawParticles (void)
|
||||||
part->scale += time4;
|
part->scale += time4;
|
||||||
part->vel[2] -= grav;
|
part->vel[2] -= grav;
|
||||||
break;
|
break;
|
||||||
|
case pt_fallfade:
|
||||||
|
if ((part->alpha -= r_frametime) <= 0.0)
|
||||||
|
part->die = -1;
|
||||||
|
part->vel[2] -= fast_grav;
|
||||||
|
break;
|
||||||
case pt_fallfadespark:
|
case pt_fallfadespark:
|
||||||
|
part->ramp += time10;
|
||||||
|
if (part->ramp >= 8) {
|
||||||
|
part->die = -1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
part->color = ramp1[(int) part->ramp];
|
||||||
if ((part->alpha -= r_frametime) <= 0.0)
|
if ((part->alpha -= r_frametime) <= 0.0)
|
||||||
part->die = -1;
|
part->die = -1;
|
||||||
part->vel[2] -= fast_grav;
|
part->vel[2] -= fast_grav;
|
||||||
|
|
Loading…
Reference in a new issue