mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-24 21:02:26 +00:00
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3489 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
4062c0b387
commit
e411c79c49
1 changed files with 273 additions and 0 deletions
273
specs/particles.txt
Normal file
273
specs/particles.txt
Normal file
|
@ -0,0 +1,273 @@
|
|||
Example:
|
||||
r_part blah
|
||||
{
|
||||
texture textures/particles/myimage.tga
|
||||
tcoords 0 0 64 64 64
|
||||
die 2
|
||||
scalefactor 1
|
||||
scale 20
|
||||
alpha 0.5
|
||||
rgb 255 0 0
|
||||
rgbdelta 0 128 128
|
||||
spawnmode ball
|
||||
spawnorg 32
|
||||
}
|
||||
|
||||
will give transparent (0.5) red particles that will fade to fully white when they go fully transparent 2 seconds later.
|
||||
they will spawn within a ball of 32 units radius.
|
||||
|
||||
|
||||
|
||||
|
||||
texture <TEXTURENAME>
|
||||
specifies to use an image named TEXTURENAME for this effect.
|
||||
|
||||
tcoords <s1> <t1> <s2> <t2> [tscale] [rsmax] [rsstep]
|
||||
specifies to use a subsection of the image.
|
||||
if tscale is set, all units are divided by this. it is the virtual size of your texture. So a value of 1 means that your texture coords must be between 0 and 1. But if it properly matches your texture's size, the coords are in pixels.
|
||||
if rsmax is present, each particle will use a random image. These images must be on a single row in your particle font.
|
||||
rsstep specifies the stride (gap from one to the next) in your particle font, and is only needed if rsmax is present and greater than 1.
|
||||
|
||||
rotationstart <min> [max]
|
||||
the particle will start with a rotation rotated between min and max.
|
||||
if max is missing, the particle will always start with the min value.
|
||||
|
||||
beamtexstep <value>
|
||||
only valid if the effect is a beam.
|
||||
specifies the number of quake units per beam texture repitition.
|
||||
|
||||
beamtexspeed <value>
|
||||
only valid if the effect is a beam.
|
||||
controls how fast the texture scrolls on the beam.
|
||||
|
||||
scale <min> [max]
|
||||
particles will start with a diameter of this many quake units.
|
||||
actual scale will be randomly chosen between min and max (max defaults to equal min is missing)
|
||||
|
||||
scalerand <extra>
|
||||
obsolete
|
||||
overrides the scale max value
|
||||
actual scale will be now be randomly chosen between min and min+extra
|
||||
|
||||
scalefactor <frac>
|
||||
controls how the particle scales with distance.
|
||||
1 makes the particle scale the same as anything else
|
||||
0 makes the particle not change size no matter how far it is
|
||||
|
||||
scaledelta <value>
|
||||
controls how the particle scales over time
|
||||
specifies the change in the particle scale per second.
|
||||
|
||||
step <min> <max>
|
||||
trails/beams only
|
||||
specifies the distance between each particle in the trail (or beam).
|
||||
|
||||
count <min> <max>
|
||||
point/box effects only (not trails or beams)
|
||||
specifies how many particles are spawned per effect (some classic effects contain an extra scaler which is multiplied by the resulting value)
|
||||
|
||||
alpha <value>
|
||||
specifies the initial alpha value of the effect
|
||||
|
||||
alphadelta <value>
|
||||
specifies how much the alpha value of the effect changes per second (subtracted)
|
||||
|
||||
die <value>
|
||||
specifies the maximum age of the particle
|
||||
|
||||
diesubrand <value>
|
||||
specifies the maximum starting age of the particle.
|
||||
basically the particle will live up to this much less time. the alpha value will also be aged by the amount chosen by this value
|
||||
|
||||
randomvel <horiz> [vert]
|
||||
controls how fast the particle moves when it spawns. This works regardless of any requested velocities.
|
||||
if vert is not specified, horiz is used instead.
|
||||
|
||||
veladd <value>
|
||||
controls how much of the effect's spawn velocity is used, can be greater than 1, or negative.
|
||||
|
||||
orgadd <value>
|
||||
biases how much to add to the starting origin relative to the requested velocity.
|
||||
|
||||
friction <1> <2> <3>
|
||||
FIXME
|
||||
|
||||
gravity <value>
|
||||
amount that the particle's velocity changes per second, in quake units.
|
||||
|
||||
clipbounce <value>
|
||||
how much of the particle's velocity to use if the particle is clipped. See cliptype.
|
||||
Defaults to 0.8
|
||||
|
||||
cliptype <effectname>
|
||||
Specifies which new effect to spawn when the particle hits something.
|
||||
The origin and velocity of the particle are used to spawn the new effect.
|
||||
The clipbounce value is used as a scaler for the reflected velocity.
|
||||
If the effect named is the effect itself, the particle will merely bounce, instead of spawning a new effect.
|
||||
FIXME: make default to bounce if clipbounce is set without cliptype.
|
||||
|
||||
clipcount <count>
|
||||
The scaler to use for the number of particles to spawn upon a clip event.
|
||||
Only valid in conjunction with cliptype.
|
||||
|
||||
assoc <effectname>
|
||||
Specifies another effect to spawn at the same time that this effect is spawned.
|
||||
Thus allowing two sets of particles from one effect.
|
||||
|
||||
inwater <effectname>
|
||||
Specifies a replacement effect to use when this one is spawned underwater.
|
||||
assoc used is the replacement effect. the assoc value from the replaced effect is ignored.
|
||||
|
||||
colorindex <index> [rand]
|
||||
Specifies a palette index to spawn the particle with.
|
||||
The index used is between index and index+rand.
|
||||
overrides the normal starting colours.
|
||||
|
||||
colorrand <rand>
|
||||
obsolete.
|
||||
replaces the [rand] part of the colorindex setting.
|
||||
|
||||
citracer
|
||||
only valid if colorindex is set.
|
||||
adds a palette index between 0 and 3, based on the particle index in the effect or trail.
|
||||
|
||||
red <value>
|
||||
green <value>
|
||||
blue <value>
|
||||
rgb <red> <green> <blue>
|
||||
rgb <value>
|
||||
Specifies the initial red, green, and/or blue values for each particle.
|
||||
Fully opaque is 255 or above.
|
||||
Values above 255 are valid, but will remain opaque until the value drops below 255 from the colour deltas.
|
||||
|
||||
redrand <value>
|
||||
greenrand <value>
|
||||
bluerand <value>
|
||||
rgbrand <red> <green> <blue>
|
||||
rgbrand <value>
|
||||
Specifies how much extra red, green, and/or blue there may be for particles.
|
||||
The initial colour will be multiplied by this amount before addition.
|
||||
Each componant is separately randomized. EG, red might add nothing, while the full green is added, and only half the blue.
|
||||
Fully opaque is 255 or above.
|
||||
|
||||
redrandsync <value>
|
||||
greenrandsync <value>
|
||||
bluerandsync <value>
|
||||
rgbrandsync <red> <green> <blue>
|
||||
rgbrandsync <value>
|
||||
Specifies how much extra red, green, and/or blue there may be for particles.
|
||||
The initial colour will be multiplied by this amount before addition.
|
||||
Componants are syncronised. EG, if the full amount of red is added, the full amount of green and blue will also be added.
|
||||
Fully opaque is 255 or above.
|
||||
|
||||
reddelta <value>
|
||||
greendelta <value>
|
||||
bluedelta <value>
|
||||
rgbdelta <red> <green> <blue>
|
||||
rgbdelta <value>
|
||||
Specifies how much the red, green, and/or blue values of each particle change over time.
|
||||
The value 255 is the value required to go from opaque to invisible in 1 second.
|
||||
|
||||
rgbdeltatime <value>
|
||||
Specifies for how long the particle may change colours for. After this many seconds, the particle may no longer change colours (delta becomes 0).
|
||||
|
||||
rampmode <mode>
|
||||
mode may be one of:
|
||||
none: uses rgb+rand+sync+delta+scale+scaledelta values.
|
||||
absolute: the ramp overrides all colour+scale values. The effect moves from one absolute ramp index to the next.
|
||||
delta: uses rgb+rand+sync+scale, but not delta values. All delta values come from the colour ramp instead.
|
||||
|
||||
if not none, the ramp index used is based upon the particle's age, its lifetime, and how many ramp elements there are.
|
||||
|
||||
rampindexlist <idx1> [<idx2> [idx3 ...]]
|
||||
Scale used is the currently set scale value.
|
||||
Specifies a set of palette index values to use for the effect as part of the effect's colour ramp.
|
||||
|
||||
rampindex <idx> <scale>
|
||||
Specifies an individual palette index value and particle scale to use for the effect as part of the effect's colour ramp
|
||||
|
||||
ramp <red> <green> <blue> [alpha] [scale]
|
||||
Specifies a ramp index in rgb terms, regardless of palette.
|
||||
|
||||
stains <value>
|
||||
How much the effect discolours the wall upon impact.
|
||||
The stained colour is based upon the colour of the particle upon impact.
|
||||
|
||||
blend <mode>
|
||||
mode may be one of: add, subtract, blendcolour/blendcolor, blend
|
||||
if the texture used is actually a shader, this is ignored.
|
||||
|
||||
spawnmode <mode> [arg1] [arg2]
|
||||
This affects how particles are positioned when they first spawn, and their initial velocities.
|
||||
for point effects, mode may be one of:
|
||||
circle: particles spawn within a ball with uniform distance from the center
|
||||
ball: particles spawn randomly within a ball.
|
||||
telebox: matches quake's telebox
|
||||
lavasplash: like chthon's lava splash
|
||||
uniformcircle: particles are spawned in a circle with uniform distance between and from the center. z=0.
|
||||
syncfield: particles spawn at predictable locations based upon time within a rough sphere. Only useful for effects that are regenerated+replaced every frame.
|
||||
distball:
|
||||
*default*: regular box. particles are spawned inside an axially aligned box.
|
||||
|
||||
for trail effects, mode may be one of:
|
||||
spiral: particles are given velocities perpendicular to the direction based on the distance moved.
|
||||
tracer: particles spawn with alternating horizontal velocities (a wake effect).
|
||||
*default*: particles spawn as a regular trail.
|
||||
|
||||
spawnparam1 <value>
|
||||
obsolete
|
||||
|
||||
spawnparam2 <value>
|
||||
obsolete
|
||||
|
||||
up <value>
|
||||
the particle's origin is moved upwards by this amount
|
||||
|
||||
type <mode>
|
||||
How the particles look.
|
||||
mode may be:
|
||||
beam: valid only for trails. Particles form a single textured beam acting as nodes along it.
|
||||
spark: particles are lines, their length depending upon their speed.
|
||||
sparkfan: particles are non-planar triangle fans, their length depending upon their speed.
|
||||
texturedspark: textured particles are aligned along their direction of movement, their length depending upon their speed.
|
||||
decal: particles are spawned only upon bsp geometry. They are clipped by it.
|
||||
*default*: Particles are regular, rotating, 2d images.
|
||||
|
||||
isbeam
|
||||
obsolete.
|
||||
please use 'type beam' instead.
|
||||
|
||||
spawntime <value>
|
||||
spawnchance <value>
|
||||
|
||||
|
||||
emit <effectname>
|
||||
Specifies the effect to periodically emit.
|
||||
|
||||
emitinterval <min>
|
||||
Particles will not emit additional effects for this duration after emitting one.
|
||||
|
||||
emitintervalrand <extra>
|
||||
FIXME: fold into emitinterval
|
||||
|
||||
|
||||
emitstart <seconds>
|
||||
Prevents the particle from emitting anything for this duration when it first spawns.
|
||||
|
||||
spawnorg <horiz> [vert]
|
||||
spawnvel <horiz> [vert]
|
||||
|
||||
perframe
|
||||
apply inverse frametime to count (causes emits to be per frame)
|
||||
|
||||
averageout
|
||||
average trail points from start to end, useful with t_lightning, etc
|
||||
|
||||
nostate
|
||||
Causes the particle system to ignore all state information.
|
||||
|
||||
nospreadfirst
|
||||
don't randomize org/vel for first generated particle
|
||||
|
||||
nospreadlast
|
||||
don't randomize org/vel for last generated particle
|
Loading…
Reference in a new issue