mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-23 12:22:42 +00:00
Spinning particles should be feeling better now.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@278 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
6f52211bb2
commit
d47895df56
1 changed files with 25 additions and 10 deletions
|
@ -153,8 +153,8 @@ typedef struct part_type_s {
|
|||
float randscale;
|
||||
enum {BM_MERGE, BM_ADD, BM_SUBTRACT} blendmode;
|
||||
|
||||
float rotationstartmin, rotationstartmax;
|
||||
float rotationmin, rotationmax;
|
||||
float rotationstartmin, rotationstartrand;
|
||||
float rotationmin, rotationrand;
|
||||
|
||||
float scaledelta;
|
||||
float count;
|
||||
|
@ -336,9 +336,9 @@ void R_ParticleEffect_f(void)
|
|||
ptype->alphachange = 1;
|
||||
ptype->colorindex = -1;
|
||||
ptype->rotationstartmin = -M_PI; //start with a random angle
|
||||
ptype->rotationstartmax = M_PI;
|
||||
ptype->rotationstartrand = M_PI-ptype->rotationstartmin;
|
||||
ptype->rotationmin = 0; //but don't spin
|
||||
ptype->rotationmax = 0;
|
||||
ptype->rotationrand = 0-ptype->rotationmin;
|
||||
|
||||
while(1)
|
||||
{
|
||||
|
@ -362,19 +362,19 @@ void R_ParticleEffect_f(void)
|
|||
|
||||
else if (!strcmp(var, "rotationstart"))
|
||||
{
|
||||
ptype->rotationstartmin = atof(value);
|
||||
ptype->rotationstartmin = atof(value)*M_PI/180;
|
||||
if (Cmd_Argc()>2)
|
||||
ptype->rotationstartmax = atof(Cmd_Argv(2));
|
||||
ptype->rotationstartrand = atof(Cmd_Argv(2))*M_PI/180-ptype->rotationstartmin;
|
||||
else
|
||||
ptype->rotationstartmax = ptype->rotationstartmin;
|
||||
ptype->rotationstartrand = 0;
|
||||
}
|
||||
else if (!strcmp(var, "rotationspeed"))
|
||||
{
|
||||
ptype->rotationmin = atof(value);
|
||||
ptype->rotationmin = atof(value)*M_PI/180;
|
||||
if (Cmd_Argc()>2)
|
||||
ptype->rotationmax = atof(Cmd_Argv(2));
|
||||
ptype->rotationrand = atof(Cmd_Argv(2))*M_PI/180-ptype->rotationmin;
|
||||
else
|
||||
ptype->rotationmax = ptype->rotationmin;
|
||||
ptype->rotationrand = 0;
|
||||
}
|
||||
|
||||
else if (!strcmp(var, "scale"))
|
||||
|
@ -1418,6 +1418,9 @@ int R_RunParticleEffectType (vec3_t org, vec3_t dir, float count, int typenum)
|
|||
p->color = 0;
|
||||
p->nextemit = particletime + ptype->emitstart - p->die;
|
||||
|
||||
p->rotationspeed = ptype->rotationmin + frandom()*ptype->rotationrand;
|
||||
p->alpha = ptype->rotationstartmin + frandom()*ptype->rotationstartrand;
|
||||
|
||||
if (ptype->colorindex >= 0)
|
||||
{
|
||||
int cidx;
|
||||
|
@ -1489,6 +1492,9 @@ int R_RunParticleEffectType (vec3_t org, vec3_t dir, float count, int typenum)
|
|||
p->color = 0;
|
||||
p->nextemit = particletime + ptype->emitstart - p->die;
|
||||
|
||||
p->rotationspeed = ptype->rotationmin + frandom()*ptype->rotationrand;
|
||||
p->alpha = ptype->rotationstartmin + frandom()*ptype->rotationstartrand;
|
||||
|
||||
if (ptype->colorindex >= 0)
|
||||
{
|
||||
int cidx;
|
||||
|
@ -1579,6 +1585,9 @@ int R_RunParticleEffectType (vec3_t org, vec3_t dir, float count, int typenum)
|
|||
p->color = 0;
|
||||
p->nextemit = particletime + ptype->emitstart - p->die;
|
||||
|
||||
p->rotationspeed = ptype->rotationmin + frandom()*ptype->rotationrand;
|
||||
p->alpha = ptype->rotationstartmin + frandom()*ptype->rotationstartrand;
|
||||
|
||||
if (ptype->colorindex >= 0)
|
||||
{
|
||||
int cidx;
|
||||
|
@ -1668,6 +1677,9 @@ int R_RunParticleEffectType (vec3_t org, vec3_t dir, float count, int typenum)
|
|||
p->color = 0;
|
||||
p->nextemit = particletime + ptype->emitstart - p->die;
|
||||
|
||||
p->rotationspeed = ptype->rotationmin + frandom()*ptype->rotationrand;
|
||||
p->alpha = ptype->rotationstartmin + frandom()*ptype->rotationstartrand;
|
||||
|
||||
if (ptype->colorindex >= 0)
|
||||
{
|
||||
int cidx;
|
||||
|
@ -2006,6 +2018,9 @@ float R_RocketTrail (vec3_t start, vec3_t end, int type, float lastdistance)
|
|||
p->color = 0;
|
||||
p->nextemit = particletime + ptype->emitstart - p->die;
|
||||
|
||||
p->rotationspeed = ptype->rotationmin + frandom()*ptype->rotationrand;
|
||||
p->alpha = ptype->rotationstartmin + frandom()*ptype->rotationstartrand;
|
||||
|
||||
if (ptype->spawnmode == SM_TRACER)
|
||||
tcount = (int)(len * ptype->count);
|
||||
|
||||
|
|
Loading…
Reference in a new issue