mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-10 22:51:57 +00:00
fix high fps particles on classic r_particlesystem, don't pass trailstate to fallback system, fix trail names in particle sets
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3823 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
9d4586b532
commit
9d87fd127c
5 changed files with 81 additions and 48 deletions
|
@ -231,10 +231,30 @@ static void PClassic_ShutdownParticles(void)
|
||||||
particles = NULL;
|
particles = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// a classic trailstate is really just a float stored in a pointer variable...
|
||||||
|
// assuming float alignment/size is more strict than pointer
|
||||||
|
static float Classic_GetLeftover(trailstate_t **tsk)
|
||||||
|
{
|
||||||
|
float *f = (float *)tsk;
|
||||||
|
|
||||||
|
if (!f)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return *f;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Classic_SetLeftover(trailstate_t **tsk, float leftover)
|
||||||
|
{
|
||||||
|
float *f = (float *)tsk;
|
||||||
|
|
||||||
|
if (f)
|
||||||
|
*f = leftover;
|
||||||
|
}
|
||||||
|
|
||||||
//called when an entity is removed from the world, taking its trailstate with it.
|
//called when an entity is removed from the world, taking its trailstate with it.
|
||||||
static void PClassic_DelinkTrailstate(trailstate_t **tsk)
|
static void PClassic_DelinkTrailstate(trailstate_t **tsk)
|
||||||
{
|
{
|
||||||
//classic has no concept of trail states.
|
*tsk = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
//wipes all the particles ready for the next map.
|
//wipes all the particles ready for the next map.
|
||||||
|
@ -599,10 +619,10 @@ static void Classic_TeleportSplash (vec3_t org)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Classic_ParticleTrail (vec3_t start, vec3_t end, vec3_t *trail_origin, effect_type_t type)
|
static float Classic_ParticleTrail (vec3_t start, vec3_t end, float leftover, effect_type_t type)
|
||||||
{
|
{
|
||||||
vec3_t point, delta, dir;
|
vec3_t point, delta, dir;
|
||||||
float len;
|
float len, rlen, scale;
|
||||||
int i, j, num_particles;
|
int i, j, num_particles;
|
||||||
cparticle_t *p;
|
cparticle_t *p;
|
||||||
static int tracercount;
|
static int tracercount;
|
||||||
|
@ -613,16 +633,22 @@ static void Classic_ParticleTrail (vec3_t start, vec3_t end, vec3_t *trail_origi
|
||||||
goto done;
|
goto done;
|
||||||
VectorScale(delta, 1 / len, dir); //unit vector in direction of trail
|
VectorScale(delta, 1 / len, dir); //unit vector in direction of trail
|
||||||
|
|
||||||
|
len += leftover;
|
||||||
|
rlen = len;
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case ALT_ROCKET_TRAIL:
|
case ALT_ROCKET_TRAIL:
|
||||||
len /= 1.5; break;
|
scale = 1.5; break;
|
||||||
case BLOOD_TRAIL:
|
case BLOOD_TRAIL:
|
||||||
len /= 6; break;
|
scale = 6; break;
|
||||||
default:
|
default:
|
||||||
len /= 3; break;
|
scale = 3; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
len /= scale;
|
||||||
|
leftover = rlen - ((int)(len) * scale);
|
||||||
|
|
||||||
if (!(num_particles = (int) len))
|
if (!(num_particles = (int) len))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
@ -708,8 +734,7 @@ static void Classic_ParticleTrail (vec3_t start, vec3_t end, vec3_t *trail_origi
|
||||||
VectorAdd (point, delta, point);
|
VectorAdd (point, delta, point);
|
||||||
}
|
}
|
||||||
done:
|
done:
|
||||||
if (trail_origin)
|
return leftover;
|
||||||
VectorCopy(point, *trail_origin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -717,10 +742,13 @@ done:
|
||||||
//builds a trail from here to there. The trail state can be used to remember how far you got last frame.
|
//builds a trail from here to there. The trail state can be used to remember how far you got last frame.
|
||||||
static int PClassic_ParticleTrail (vec3_t startpos, vec3_t end, int type, trailstate_t **tsk)
|
static int PClassic_ParticleTrail (vec3_t startpos, vec3_t end, int type, trailstate_t **tsk)
|
||||||
{
|
{
|
||||||
|
float leftover;
|
||||||
|
|
||||||
if (type == P_INVALID)
|
if (type == P_INVALID)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
Classic_ParticleTrail(startpos, end, NULL, type);
|
leftover = Classic_ParticleTrail(startpos, end, Classic_GetLeftover(tsk), type);
|
||||||
|
Classic_SetLeftover(tsk, leftover);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,10 @@ static void PNULL_ShutdownParticles(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PNULL_DelinkTrailstate(trailstate_t **tsk){}
|
static void PNULL_DelinkTrailstate(trailstate_t **tsk)
|
||||||
|
{
|
||||||
|
*tsk = NULL;
|
||||||
|
}
|
||||||
static void PNULL_ClearParticles (void){}
|
static void PNULL_ClearParticles (void){}
|
||||||
static void PNULL_DrawParticles(void)
|
static void PNULL_DrawParticles(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2328,7 +2328,7 @@ static int PScript_RunParticleEffectState (vec3_t org, vec3_t dir, float count,
|
||||||
trailstate_t *ts;
|
trailstate_t *ts;
|
||||||
|
|
||||||
if (typenum >= FALLBACKBIAS && fallback)
|
if (typenum >= FALLBACKBIAS && fallback)
|
||||||
return fallback->RunParticleEffectState(org, dir, count, typenum-FALLBACKBIAS, tsk);
|
return fallback->RunParticleEffectState(org, dir, count, typenum-FALLBACKBIAS, NULL);
|
||||||
|
|
||||||
if (typenum < 0 || typenum >= numparticletypes)
|
if (typenum < 0 || typenum >= numparticletypes)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -3613,8 +3613,10 @@ static int PScript_ParticleTrail (vec3_t startpos, vec3_t end, int type, trailst
|
||||||
{
|
{
|
||||||
part_type_t *ptype = &part_type[type];
|
part_type_t *ptype = &part_type[type];
|
||||||
|
|
||||||
|
// TODO: fallback particle system won't have a decent trailstate which will mess up
|
||||||
|
// high fps trails
|
||||||
if (type >= FALLBACKBIAS && fallback)
|
if (type >= FALLBACKBIAS && fallback)
|
||||||
return fallback->ParticleTrail(startpos, end, type-FALLBACKBIAS, tsk);
|
return fallback->ParticleTrail(startpos, end, type-FALLBACKBIAS, NULL);
|
||||||
|
|
||||||
if (type < 0 || type >= numparticletypes)
|
if (type < 0 || type >= numparticletypes)
|
||||||
return 1; //bad value
|
return 1; //bad value
|
||||||
|
|
|
@ -346,7 +346,7 @@ void P_SelectableTrail(model_t *model, cvar_t *selection, int mdleffect, int mdl
|
||||||
model->traildefaultindex = 154;
|
model->traildefaultindex = 154;
|
||||||
break;
|
break;
|
||||||
case 9: // rail trail
|
case 9: // rail trail
|
||||||
model->particletrail = P_FindParticleType("TR_RAILTRAIL");
|
model->particletrail = P_FindParticleType("TE_RAILTRAIL");
|
||||||
model->traildefaultindex = 15;
|
model->traildefaultindex = 15;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -393,57 +393,57 @@ void P_DefaultTrail (model_t *model)
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_BLOODSHOT) //these are the hexen2 ones.
|
else if (model->flags & EFH2_BLOODSHOT) //these are the hexen2 ones.
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_bloodshot");
|
model->particletrail = P_FindParticleType("tr_bloodshot");
|
||||||
model->traildefaultindex = 136;
|
model->traildefaultindex = 136;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_FIREBALL)
|
else if (model->flags & EFH2_FIREBALL)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_fireball");
|
model->particletrail = P_FindParticleType("tr_fireball");
|
||||||
model->traildefaultindex = 424;
|
model->traildefaultindex = 424;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_ACIDBALL)
|
else if (model->flags & EFH2_ACIDBALL)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_acidball");
|
model->particletrail = P_FindParticleType("tr_acidball");
|
||||||
model->traildefaultindex = 440;
|
model->traildefaultindex = 440;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_ICE)
|
else if (model->flags & EFH2_ICE)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_ice");
|
model->particletrail = P_FindParticleType("tr_ice");
|
||||||
model->traildefaultindex = 408;
|
model->traildefaultindex = 408;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_SPIT)
|
else if (model->flags & EFH2_SPIT)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_spit");
|
model->particletrail = P_FindParticleType("tr_spit");
|
||||||
model->traildefaultindex = 260;
|
model->traildefaultindex = 260;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_SPELL)
|
else if (model->flags & EFH2_SPELL)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_spell");
|
model->particletrail = P_FindParticleType("tr_spell");
|
||||||
model->traildefaultindex = 260;
|
model->traildefaultindex = 260;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_VORP_MISSILE)
|
else if (model->flags & EFH2_VORP_MISSILE)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_vorpmissile");
|
model->particletrail = P_FindParticleType("tr_vorpmissile");
|
||||||
model->traildefaultindex = 302;
|
model->traildefaultindex = 302;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_SET_STAFF)
|
else if (model->flags & EFH2_SET_STAFF)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_setstaff");
|
model->particletrail = P_FindParticleType("tr_setstaff");
|
||||||
model->traildefaultindex = 424;
|
model->traildefaultindex = 424;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_MAGICMISSILE)
|
else if (model->flags & EFH2_MAGICMISSILE)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_magicmissile");
|
model->particletrail = P_FindParticleType("tr_magicmissile");
|
||||||
model->traildefaultindex = 149;
|
model->traildefaultindex = 149;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_BONESHARD)
|
else if (model->flags & EFH2_BONESHARD)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_boneshard");
|
model->particletrail = P_FindParticleType("tr_boneshard");
|
||||||
model->traildefaultindex = 384;
|
model->traildefaultindex = 384;
|
||||||
}
|
}
|
||||||
else if (model->flags & EFH2_SCARAB)
|
else if (model->flags & EFH2_SCARAB)
|
||||||
{
|
{
|
||||||
model->particletrail = P_FindParticleType("t_scarab");
|
model->particletrail = P_FindParticleType("tr_scarab");
|
||||||
model->traildefaultindex = 254;
|
model->traildefaultindex = 254;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -47,7 +47,7 @@ char *particle_set_spikeset =
|
||||||
"spawnvel 10\n"
|
"spawnvel 10\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_rocket\n"
|
"r_part tr_rocket\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 97 97 191 191 256\n"
|
"tcoords 97 97 191 191 256\n"
|
||||||
|
@ -78,7 +78,7 @@ char *particle_set_spikeset =
|
||||||
"cliptype rockettail\n"
|
"cliptype rockettail\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_altrocket\n"
|
"r_part tr_altrocket\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 97 97 191 191 256\n"
|
"tcoords 97 97 191 191 256\n"
|
||||||
|
@ -188,7 +188,7 @@ char *particle_set_spikeset =
|
||||||
"rgb 150 150 150\n"
|
"rgb 150 150 150\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_grenade\n"
|
"r_part tr_grenade\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 97 97 191 191 256\n"
|
"tcoords 97 97 191 191 256\n"
|
||||||
|
@ -207,7 +207,7 @@ char *particle_set_spikeset =
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
//cool's blood trails (cos they're cooler)
|
//cool's blood trails (cos they're cooler)
|
||||||
"r_part t_gib\n"
|
"r_part tr_gib\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 1 1 63 63 256 2 64\n"
|
"tcoords 1 1 63 63 256 2 64\n"
|
||||||
|
@ -226,7 +226,7 @@ char *particle_set_spikeset =
|
||||||
"stains 5\n"
|
"stains 5\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_zomgib\n"
|
"r_part tr_slightblood\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 1 1 63 63 256 2 64\n"
|
"tcoords 1 1 63 63 256 2 64\n"
|
||||||
|
@ -245,7 +245,7 @@ char *particle_set_spikeset =
|
||||||
"stains 5\n"
|
"stains 5\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer\n"
|
"r_part tr_wizspike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 1 97 95 191 256\n"
|
"tcoords 1 97 95 191 256\n"
|
||||||
|
@ -260,7 +260,7 @@ char *particle_set_spikeset =
|
||||||
"scalefactor 0.825\n"
|
"scalefactor 0.825\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer2\n"
|
"r_part tr_knightspike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 1 97 95 191 256\n"
|
"tcoords 1 97 95 191 256\n"
|
||||||
|
@ -275,7 +275,7 @@ char *particle_set_spikeset =
|
||||||
"scalefactor 0.825\n"
|
"scalefactor 0.825\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer3\n"
|
"r_part tr_vorespike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/fteparticlefont.tga\"\n"
|
"texture \"particles/fteparticlefont.tga\"\n"
|
||||||
"tcoords 1 97 95 191 256\n"
|
"tcoords 1 97 95 191 256\n"
|
||||||
|
@ -727,7 +727,7 @@ char *particle_set_spikeset =
|
||||||
|
|
||||||
char *particle_set_faithful =
|
char *particle_set_faithful =
|
||||||
// faithful, by TimeServ
|
// faithful, by TimeServ
|
||||||
"r_part t_gib\n"
|
"r_part tr_gib\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -742,7 +742,7 @@ char *particle_set_faithful =
|
||||||
"stains 1\n"
|
"stains 1\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_zomgib\n"
|
"r_part tr_slightblood\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 6\n"
|
"step 6\n"
|
||||||
|
@ -757,7 +757,7 @@ char *particle_set_faithful =
|
||||||
"stains 1\n"
|
"stains 1\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer3\n"
|
"r_part tr_vorespike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -768,7 +768,7 @@ char *particle_set_faithful =
|
||||||
"spawnorg 8\n"
|
"spawnorg 8\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer\n"
|
"r_part tr_wizspike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -781,7 +781,7 @@ char *particle_set_faithful =
|
||||||
"spawnmode tracer\n"
|
"spawnmode tracer\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer2\n"
|
"r_part tr_knightspike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -794,7 +794,7 @@ char *particle_set_faithful =
|
||||||
"spawnmode tracer\n"
|
"spawnmode tracer\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_rocket\n"
|
"r_part tr_rocket\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -812,7 +812,7 @@ char *particle_set_faithful =
|
||||||
"gravity -40\n"
|
"gravity -40\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_altrocket\n"
|
"r_part tr_altrocket\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -825,7 +825,7 @@ char *particle_set_faithful =
|
||||||
"gravity -40\n"
|
"gravity -40\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_grenade\n"
|
"r_part tr_grenade\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/quake\"\n"
|
"texture \"particles/quake\"\n"
|
||||||
"step 3\n"
|
"step 3\n"
|
||||||
|
@ -1031,7 +1031,7 @@ char *particle_set_faithful =
|
||||||
char *particle_set_highfps =
|
char *particle_set_highfps =
|
||||||
// highfps, originally submitted by 'ShadowWalker'
|
// highfps, originally submitted by 'ShadowWalker'
|
||||||
// rehashed by TimeServ
|
// rehashed by TimeServ
|
||||||
"r_part t_gib\n"
|
"r_part tr_gib\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/bloodtrail\"\n"
|
"texture \"particles/bloodtrail\"\n"
|
||||||
"step 12\n"
|
"step 12\n"
|
||||||
|
@ -1042,7 +1042,7 @@ char *particle_set_highfps =
|
||||||
"rgb 64 0 0\n"
|
"rgb 64 0 0\n"
|
||||||
"rgbdelta -128 0 0\n"
|
"rgbdelta -128 0 0\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
"r_part t_zomgib\n"
|
"r_part tr_slightblood\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/bloodtrail\"\n"
|
"texture \"particles/bloodtrail\"\n"
|
||||||
"step 16\n"
|
"step 16\n"
|
||||||
|
@ -1054,7 +1054,7 @@ char *particle_set_highfps =
|
||||||
"rgbdelta -128 0 0\n"
|
"rgbdelta -128 0 0\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer\n"
|
"r_part tr_wizspike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/tracer\"\n"
|
"texture \"particles/tracer\"\n"
|
||||||
"scale 23\n"
|
"scale 23\n"
|
||||||
|
@ -1063,7 +1063,7 @@ char *particle_set_highfps =
|
||||||
"die 0.5\n"
|
"die 0.5\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer2\n"
|
"r_part tr_knightspike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/tracer\"\n"
|
"texture \"particles/tracer\"\n"
|
||||||
"scale 23\n"
|
"scale 23\n"
|
||||||
|
@ -1072,7 +1072,7 @@ char *particle_set_highfps =
|
||||||
"rgb 192 96 0\n"
|
"rgb 192 96 0\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_tracer3\n"
|
"r_part tr_vorespike\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/tracer\"\n"
|
"texture \"particles/tracer\"\n"
|
||||||
"scale 23\n"
|
"scale 23\n"
|
||||||
|
@ -1212,7 +1212,7 @@ char *particle_set_highfps =
|
||||||
"spawnvel 25 4\n"
|
"spawnvel 25 4\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_grenade\n"
|
"r_part tr_grenade\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/smoke\"\n"
|
"texture \"particles/smoke\"\n"
|
||||||
"step 20\n"
|
"step 20\n"
|
||||||
|
@ -1222,7 +1222,7 @@ char *particle_set_highfps =
|
||||||
"rgb 128 128 128\n"
|
"rgb 128 128 128\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_rocket\n"
|
"r_part tr_rocket\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/rocket\"\n"
|
"texture \"particles/rocket\"\n"
|
||||||
"step 15\n"
|
"step 15\n"
|
||||||
|
@ -1233,7 +1233,7 @@ char *particle_set_highfps =
|
||||||
"assoc t_grenade\n"
|
"assoc t_grenade\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
|
|
||||||
"r_part t_altrocket\n"
|
"r_part tr_altrocket\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"texture \"particles/rocket\"\n"
|
"texture \"particles/rocket\"\n"
|
||||||
"step 15\n"
|
"step 15\n"
|
||||||
|
|
Loading…
Reference in a new issue