Difference between revisions of "ParticleFields"

From FTE
Jump to: navigation, search
 
 
Line 1: Line 1:
List of particle fields:
+
List of particle fields:<br>
 
+
<br>
! Note: all fields default to 0 or "" unless otherwise indicated or inherited from special case particle types.
+
! Note: all fields default to 0 or "" unless otherwise indicated or inherited from special case particle types.<br>
 
+
<br>
Spawn Related Fields
+
Spawn Related Fields<br>
 
+
<br>
. *count (count)*
+
. *count (count)*<br>
 
+
- count: specifies number of particles to spawn with point effects<br>
- count: specifies number of particles to spawn with point effects
+
<br>
 
+
. *step (step)*<br>
 
+
- step: specifies Quake units per particle to spawn with trails<br>
. *step (step)*
+
! Note: step (x) is a synomyn for count 1/(x)<br>
 
+
<br>
- step: specifies Quake units per particle to spawn with trails
+
. *die (die)*<br>
 
+
<br>
! Note: step (x) is a synomyn for count 1/(x)
+
- die: specifies time in seconds it takes for the particle to die. A value of 0 means that the particle will be rendered for a duration of 1 frame.<br>
 
+
<br>
 
+
. *diesubrand (rand)*<br>
 
+
<br>
. *die (die)*
+
- rand: subtracts a random value from 0 to rand from the die time on particle spawn, and causes the particle to "decay" for that amount of time<br>
 
+
<br>
- die: specifies time in seconds it takes for the particle to die. A value of 0 means that the particle will be rendered for a duration of 1 frame.
+
! Note: Using diesubrand with delta ramps will cause weird things to happen.<br>
 
+
<br>
 
+
. *assoc (particleeffectname)*<br>
. *diesubrand (rand)*
+
- particleeffectname: name of other particle effect to execute when the current particle effect is executed<br>
 
+
! Note: Using assoc to loop back to the same particle effect is invalid.<br>
- rand: subtracts a random value from 0 to rand from the die time on particle spawn, and causes the particle to "decay" for that amount of time
+
<br>
 
+
. *emit (particleeffectname)*<br>
! Note: Using diesubrand with delta ramps will cause weird things to happen.
+
- particleeffectname: specifies the particle effect that the current particles should emit<br>
 
+
<br>
 
+
. *emitinterval (time)*<br>
 
+
- time: specifies the time between the emitting of the chosen effect (a value of less than 0 means to emit the chosen effect as a trail)<br>
. *assoc (particleeffectname)*
+
<br>
- particleeffectname: name of other particle effect to execute when the current particle effect is executed
+
. *emitintervalrand (timerand)*<br>
! Note: Using assoc to loop back to the same particle effect is invalid.
+
- timerand: adds a value between 0 and timerand to the time interval on emit<br>
 
+
<br>
. *emit (particleeffectname)*
+
. *emitstart (time)*<br>
- particleeffectname: specifies the particle effect that the current particles should emit
+
- time: specifies time that emitting of the chosen effect should start after particle spawn<br>
 
+
<br>
. *emitinterval (time)*
+
Render Related Fields<br>
- time: specifies the time between the emitting of the chosen effect (a value of less than 0 means to emit the chosen effect as a trail)
+
<br>
 
+
. *type (type)*<br>
. *emitintervalrand (timerand)*
+
- type: specifies the type of particles to use for the effect, possible types are "normal", "beam", and "decal".<br>
- timerand: adds a value between 0 and timerand to the time interval on emit
+
! Note: type defaults to "normal"<br>
 
+
! Note: "decal" is currently experimental. Use at your own risk.<br>
. *emitstart (time)*
+
<br>
- time: specifies time that emitting of the chosen effect should start after particle spawn
+
. *colorindex (colorindex)*<br>
 
+
- colorindex: specifies the current loaded palette index to use with the particle<br>
Render Related Fields
+
! Note: colorindex overrides red/green/blue values<br>
 
+
! Note: A colorindex with a value greater than 255 means to apply an alpha value of 0.5 and use the remainder of colorindex / 256 for the actual colorindex. This is to mimic Hexen 2 behavior.<br>
. *type (type)*
+
! Note: colorindex defaults to -1, meaning not to use a colorindex.<br>
- type: specifies the type of particles to use for the effect, possible types are "normal", "beam", and "decal".
+
<br>
! Note: type defaults to "normal"
+
. *colorrand (colorrand)*<br>
! Note: "decal" is currently experimental. Use at your own risk.
+
- colorrand: adds a random value between 0 and colorrand-1 to the colorindex field on particle spawn<br>
 
+
<br>
. *colorindex (colorindex)*
+
. *citracer (citracer)*<br>
- colorindex: specifies the current loaded palette index to use with the particle
+
- citracer: 1 enables Quake tracer-like index changes<br>
! Note: colorindex overrides red/green/blue values
+
! Note: Do not use this for any sane particle configs. This is bound to change.<br>
! Note: A colorindex with a value greater than 255 means to apply an alpha value of 0.5 and use the remainder of colorindex / 256 for the actual colorindex. This is to mimic Hexen 2 behavior.
+
<br>
! Note: colorindex defaults to -1, meaning not to use a colorindex.
+
. *red (red)*<br>
 
+
- red: changes the red color value with the range of 0-255<br>
. *colorrand (colorrand)*
+
<br>
- colorrand: adds a random value between 0 and colorrand-1 to the colorindex field on particle spawn
+
. *green (green)*<br>
 
+
- green: changes the green color value with the range of 0-255<br>
. *citracer (citracer)*
+
<br>
- citracer: 1 enables Quake tracer-like index changes
+
. *blue (blue)*<br>
! Note: Do not use this for any sane particle configs. This is bound to change.
+
- blue: changes the blue color value with the range of 0-255<br>
 
+
<br>
. *red (red)*
+
. *rgb (r) (g) (b)*<br>
- red: changes the red color value with the range of 0-255
+
- r: changes the red color value with the range of 0-255<br>
 
+
- g: changes the green color value with the range of 0-255<br>
. *green (green)*
+
- b: changes the blue color value with the range of 0-255<br>
- green: changes the green color value with the range of 0-255
+
- Note: If b is excluded, g and b are assumed to be r<br>
 
+
<br>
. *blue (blue)*
+
. *reddelta (reddelta)*<br>
- blue: changes the blue color value with the range of 0-255
+
- reddelta: specifies the rate of change of the red color value to reddelta per second<br>
 
+
<br>
. *rgb (r) (g) (b)*
+
. *greendelta (greendelta)*<br>
- r: changes the red color value with the range of 0-255
+
- greendelta: specifies the rate of change of the green color value to greendelta per second<br>
- g: changes the green color value with the range of 0-255
+
<br>
- b: changes the blue color value with the range of 0-255
+
. *bluedelta (bluedelta)*<br>
- Note: If b is excluded, g and b are assumed to be r
+
- bluedelta: specifies the rate of change of the blue color value to bluedelta per second<br>
 
+
<br>
. *reddelta (reddelta)*
+
. *rgbdelta (r) (g) (b)*<br>
- reddelta: specifies the rate of change of the red color value to reddelta per second
+
- r: specifies the rate of change of the red color value to r per second<br>
 
+
- g (optional): specifies the rate of change of the green color value to g per second<br>
. *greendelta (greendelta)*
+
- b (optional): specifies the rate of change of the blue color value to b per second<br>
- greendelta: specifies the rate of change of the green color value to greendelta per second
+
! Note: If b is excluded, g and b are assumed to be r<br>
 
+
<br>
. *bluedelta (bluedelta)*
+
. *rgbchangetime (time)*<br>
- bluedelta: specifies the rate of change of the blue color value to bluedelta per second
+
- time: specifies the time that reddelta/greendelta/bluedelta will remain in effect<br>
 
+
! Note: defaults to die time<br>
. *rgbdelta (r) (g) (b)*
+
<br>
- r: specifies the rate of change of the red color value to r per second
+
. *redrand (redrand)*<br>
- g (optional): specifies the rate of change of the green color value to g per second
+
- redrand: adds a random value between 0 and redrand to the red color value on particle spawn<br>
- b (optional): specifies the rate of change of the blue color value to b per second
+
<br>
! Note: If b is excluded, g and b are assumed to be r
+
. *greenrand (greenrand)*<br>
 
+
- greenrand: adds a random value between 0 and redrand to the green color value on particle spawn<br>
. *rgbchangetime (time)*
+
<br>
- time: specifies the time that reddelta/greendelta/bluedelta will remain in effect
+
. *bluerand (bluerand)*<br>
! Note: defaults to die time
+
- bluerand: adds a random value between 0 and bluerand to the blue color value on particle spawn<br>
 
+
<br>
. *redrand (redrand)*
+
. *rgbrand (r) (g) (b)*<br>
- redrand: adds a random value between 0 and redrand to the red color value on particle spawn
+
- r: adds a random value between 0 and r to the red color value on particle spawn<br>
 
+
- g (optional): adds a random value between 0 and g to the green color value on particle spawn<br>
. *greenrand (greenrand)*
+
- b (optional): adds a random value between 0 and b to the blue color value on particle spawn<br>
- greenrand: adds a random value between 0 and redrand to the green color value on particle spawn
+
! Note: If b is excluded, g and b are assumed to be r<br>
 
+
<br>
. *bluerand (bluerand)*
+
. *redrandsync (redrandsync)*<br>
- bluerand: adds a random value between 0 and bluerand to the blue color value on particle spawn
+
- redrandsync: specifies how much of the red random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)<br>
 
+
<br>
. *rgbrand (r) (g) (b)*
+
. *greenrandsync (greenrandsync)*<br>
- r: adds a random value between 0 and r to the red color value on particle spawn
+
- greenrandsync: specifies how much of the green random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)<br>
- g (optional): adds a random value between 0 and g to the green color value on particle spawn
+
<br>
- b (optional): adds a random value between 0 and b to the blue color value on particle spawn
+
. *bluerandsync (bluerandsync)*<br>
! Note: If b is excluded, g and b are assumed to be r
+
- bluerandsync: specifies how much of the blue random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)<br>
 
+
<br>
. *redrandsync (redrandsync)*
+
. *rgbrandsync (r) (g) (b)*<br>
- redrandsync: specifies how much of the red random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)
+
- r: specifies how much of the red random value should be in sync with a common random value<br>
 
+
- g: specifies how much of the green random value should be in sync with a common random value<br>
. *greenrandsync (greenrandsync)*
+
- b: specifies how much of the blue random value should be in sync with a common random value<br>
- greenrandsync: specifies how much of the green random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)
+
! Note: 0 means no synchronization, 1 means full synchronization<br>
 
+
! Note: If b is excluded, g and b are assumed to be r<br>
. *bluerandsync (bluerandsync)*
+
<br>
- bluerandsync: specifies how much of the blue random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)
+
. *isbeam*<br>
 
+
- Specifying this field with no parameters means all particles represents points in beams.<br>
. *rgbrandsync (r) (g) (b)*
+
! Note: This field is obsolete, use "type" instead<br>
- r: specifies how much of the red random value should be in sync with a common random value
+
<br>
- g: specifies how much of the green random value should be in sync with a common random value
+
. *stains (stain)*<br>
- b: specifies how much of the blue random value should be in sync with a common random value
+
- stain: specifies if the particle should leave stains (0 meaning no, 1 meaning yes)<br>
! Note: 0 means no synchronization, 1 means full synchronization
+
<br>
! Note: If b is excluded, g and b are assumed to be r
+
. *blend (mode)*<br>
 
+
- mode: specifies blend mode for the particles, valid modes are "add", "subtract", and "merge"<br>
. *isbeam*
+
! Note: mode defaults to "merge"<br>
- Specifying this field with no parameters means all particles represents points in beams.
+
! Note: "blend add" will remove the black in .png particle texture images (and possibly other image file formats too).<br>
! Note: This field is obsolete, use "type" instead
+
<br>
 
+
. *rotationstart (angle) (anglerand)*<br>
. *stains (stain)*
+
- angle: specifies angle the sprite should be rendered<br>
- stain: specifies if the particle should leave stains (0 meaning no, 1 meaning yes)
+
- anglerand (optional): adds a random number between 0 and anglerand to the angle on particle spawn<br>
 
+
! Note: angle defaults to -180, and anglerand defaults to 360<br>
. *blend (mode)*
+
<br>
- mode: specifies blend mode for the particles, valid modes are "add", "subtract", and "merge"
+
. *rotationspeed (anglespeed) (anglespeedrand)*<br>
! Note: mode defaults to "merge"
+
- anglespeed: specifies angles per second the sprite should rotate<br>
! Note: "blend add" will remove the black in .png particle texture images (and possibly other image file formats too).
+
- anglespeedrand (optional): adds a random number between 0 and anglespeedrand to the angle speed on particle spawn<br>
 
+
<br>
. *rotationstart (angle) (anglerand)*
+
. *alpha (alpha)*<br>
- angle: specifies angle the sprite should be rendered
+
- alpha: specifies starting transparency of the particle (0 meaning invisible, 1 meaning fully visible)<br>
- anglerand (optional): adds a random number between 0 and anglerand to the angle on particle spawn
+
! Note: alpha defaults to 1<br>
! Note: angle defaults to -180, and anglerand defaults to 360
+
<br>
 
+
. *alphachange (alphachange)*<br>
. *rotationspeed (anglespeed) (anglespeedrand)*
+
- alphachange: specifies alpha change due to time (0 meaning no change in alpha over time, 1 meaning alpha change to 0 according to die time and starting alpha)<br>
- anglespeed: specifies angles per second the sprite should rotate
+
! Note: alphachange defaults to 1<br>
- anglespeedrand (optional): adds a random number between 0 and anglespeedrand to the angle speed on particle spawn
+
<br>
 
+
. *texture (texturename)*<br>
. *alpha (alpha)*
+
- texturename: the texture name to apply to this particle. If no texture is applied, the particle is drawn as a spark, or a shaded beam if isbeam is set.<br>
- alpha: specifies starting transparency of the particle (0 meaning invisible, 1 meaning fully visible)
+
<br>
! Note: alpha defaults to 1
+
. *scale (scale)*<br>
 
+
- scale: sets scale of the particle<br>
. *alphachange (alphachange)*
+
<br>
- alphachange: specifies alpha change due to time (0 meaning no change in alpha over time, 1 meaning alpha change to 0 according to die time and starting alpha)
+
. *scalerand (scalerand)*<br>
! Note: alphachange defaults to 1
+
- scalerand: adds a random value between 0 and scalerand to the scale on particle spawn<br>
 
+
<br>
. *texture (texturename)*
+
. *scalefactor (scalefactor)*<br>
- texturename: the texture name to apply to this particle. If no texture is applied, the particle is drawn as a spark, or a shaded beam if isbeam is set.
+
- scalefactor: the factor that the particle scales due to distance. 0 means no scaling to distance, and 1 means normal scaling due to distance.<br>
 
+
<br>
. *scale (scale)*
+
. *scaledelta (scaledelta)*<br>
- scale: sets scale of the particle
+
- scaledelta: specifies the scale per second change of the particle<br>
 
+
<br>
. *scalerand (scalerand)*
+
Movement/Placement Fields<br>
- scalerand: adds a random value between 0 and scalerand to the scale on particle spawn
+
<br>
 
+
. *spawnmode (mode)*<br>
. *scalefactor (scalefactor)*
+
- mode: specifies spawn mode to use for the particles, valid modes are "circle", "ball", "spiral", "tracer", "telebox", "lavasplash", "uniformcircle", "syncfield", and "box"<br>
- scalefactor: the factor that the particle scales due to distance. 0 means no scaling to distance, and 1 means normal scaling due to distance.
+
! Note: mode defaults to "box"<br>
 
+
<br>
. *scaledelta (scaledelta)*
+
. *spawnorg (xy) (z)*<br>
- scaledelta: specifies the scale per second change of the particle
+
- xy: specifies origin range in the x and y components that the spawn mode should effect<br>
 
+
- z (optional): specifies origin range in the z component that the spawn mode should effect<br>
Movement/Placement Fields
+
! Note: If z is excluded, z is assumed to be xy<br>
 
+
<br>
. *spawnmode (mode)*
+
. *spawnvel (xy) (z)*<br>
- mode: specifies spawn mode to use for the particles, valid modes are "circle", "ball", "spiral", "tracer", "telebox", "lavasplash", "uniformcircle", "syncfield", and "box"
+
- xy: specifies velocity range in the x and y components that the spawn mode should effect<br>
! Note: mode defaults to "box"
+
- z (optional): specifies velocity range in the z component that the spawn mode should effect<br>
 
+
! Note: If z is excluded, z is assumed to be xy<br>
. *spawnorg (xy) (z)*
+
<br>
- xy: specifies origin range in the x and y components that the spawn mode should effect
+
. *spawnparam1 (param)*<br>
- z (optional): specifies origin range in the z component that the spawn mode should effect
+
- param: passes a parameter which changes spawn behavior based on spawn mode<br>
! Note: If z is excluded, z is assumed to be xy
+
<br>
 
+
. *spawnparam2 (param)*<br>
. *spawnvel (xy) (z)*
+
- param: passes a parameter which changes spawn behavior based on spawn mode<br>
- xy: specifies velocity range in the x and y components that the spawn mode should effect
+
<br>
- z (optional): specifies velocity range in the z component that the spawn mode should effect
+
. *cliptype (particleeffectname)*<br>
! Note: If z is excluded, z is assumed to be xy
+
- particleeffectname: specifies particle effect to spawn when a particle clips an object, specifying itself means that no effect will be spawned and the current particle will be maintained<br>
 
+
<br>
. *spawnparam1 (param)*
+
. *clipcount (count)*<br>
- param: passes a parameter which changes spawn behavior based on spawn mode
+
- count: amount of particle effects to spawn when a particle clips an object<br>
 
+
<br>
. *spawnparam2 (param)*
+
. *areaspread (areaspread)*<br>
- param: passes a parameter which changes spawn behavior based on spawn mode
+
- areaspread: specifies origin range in the x and y components that the spawn mode should effect<br>
 
+
! Note: This field is obsolete, use spawnorg instead.<br>
. *cliptype (particleeffectname)*
+
<br>
- particleeffectname: specifies particle effect to spawn when a particle clips an object, specifying itself means that no effect will be spawned and the current particle will be maintained
+
. *areaspreadvert (areaspreadvert)*<br>
 
+
- areaspreadvert: specifies origin range in the z component that the spawn mode should effect<br>
. *clipcount (count)*
+
! Note: This field is obsolete, use spawnorg instead.<br>
- count: amount of particle effects to spawn when a particle clips an object
+
<br>
 
+
. *offsetspread (offsetspread)*<br>
. *areaspread (areaspread)*
+
- offsetspread: specifies velocity range in the x and y components that the spawn mode should effect<br>
- areaspread: specifies origin range in the x and y components that the spawn mode should effect
+
! Note: This field is obsolete, use spawnvel instead.<br>
! Note: This field is obsolete, use spawnorg instead.
+
<br>
 
+
. *offsetspreadvert (offsetspreadvert)*<br>
. *areaspreadvert (areaspreadvert)*
+
- offsetspreadvert: specifies velocity range in the z component that the spawn mode should effect<br>
- areaspreadvert: specifies origin range in the z component that the spawn mode should effect
+
! Note: This field is obsolete, use spawnvel instead.<br>
! Note: This field is obsolete, use spawnorg instead.
+
<br>
 
+
. *up (z)*<br>
. *offsetspread (offsetspread)*
+
- z: adds z to the z component of the origin for all particles<br>
- offsetspread: specifies velocity range in the x and y components that the spawn mode should effect
+
<br>
! Note: This field is obsolete, use spawnvel instead.
+
. *gravity (gravity)*<br>
 
+
- gravity: applies an acceleration of -gravity per second^2 to the particle<br>
. *offsetspreadvert (offsetspreadvert)*
+
! Note: this is not effected by [sv_gravity]<br>
- offsetspreadvert: specifies velocity range in the z component that the spawn mode should effect
+
<br>
! Note: This field is obsolete, use spawnvel instead.
+
. *randomvel (randomvel) (vert)*<br>
 
+
- randomvel: adds a random value from -randomvel to randomvel to the x and y components of the particle velocity<br>
. *up (z)*
+
- vert (optional): adds a random value from -vert to vert to the z component of the particle velocity<br>
- z: adds z to the z component of the origin for all particles
+
! Note: if vert is excluded, vert is assumed to be randomvel<br>
 
+
<br>
. *gravity (gravity)*
+
. *veladd (veladd)*<br>
- gravity: applies an acceleration of -gravity per second^2 to the particle
+
- veladd: if a direction is associated with the effect, veladd*direction is added to the particle velocity, otherwise veladd is added to the z component of the particle velocity<br>
! Note: this is not effected by [sv_gravity]
+
<br>
 
+
. *friction (x) (y) (z)*<br>
. *randomvel (randomvel) (vert)*
+
- x: applies friction to the x axis of the particles, slowing down by a factor of x per second<br>
- randomvel: adds a random value from -randomvel to randomvel to the x and y components of the particle velocity
+
- y (optional): applies friction to the x axis of the particles, slowing down by a factor of y per second<br>
- vert (optional): adds a random value from -vert to vert to the z component of the particle velocity
+
- z (optional): applies friction to the x axis of the particles, slowing down by a factor of z per second<br>
! Note: if vert is excluded, vert is assumed to be randomvel
+
! Note: if 2 parameters are given, the format is assumed to be friction (xy) (z), with x and y assumed to be xy <br>
 
+
! Note: if 1 parameter is given, x, y, and z are all assumed to be that 1 parameter<br>
. *veladd (veladd)*
+
<br>
- veladd: if a direction is associated with the effect, veladd*direction is added to the particle velocity, otherwise veladd is added to the z component of the particle velocity
+
. *clipbounce (factor)*<br>
 
+
- factor: the velocity maintained after a particle bounces off of an object (0 meaning no velocity maintained, 1 meaning all velocity maintained)<br>
. *friction (x) (y) (z)*
+
! Note: factor defaults to 0.8<br>
- x: applies friction to the x axis of the particles, slowing down by a factor of x per second
+
<br>
- y (optional): applies friction to the x axis of the particles, slowing down by a factor of y per second
+
Ramp Fields<br>
- z (optional): applies friction to the x axis of the particles, slowing down by a factor of z per second
+
<br>
! Note: if 2 parameters are given, the format is assumed to be friction (xy) (z), with x and y assumed to be xy  
+
. *rampmode (mode)*<br>
! Note: if 1 parameter is given, x, y, and z are all assumed to be that 1 parameter
+
- mode: specifies the ramp style to be used, possible modes are "none", "absolute", and "delta"<br>
 
+
! Note: mode defaults to "none"<br>
. *clipbounce (factor)*
+
<br>
- factor: the velocity maintained after a particle bounces off of an object (0 meaning no velocity maintained, 1 meaning all velocity maintained)
+
. *rampindexlist (index1)...(indexn)*<br>
! Note: factor defaults to 0.8
+
- Adds a point in the ramp per number of color indexes<br>
 
+
- index1...indexn: list of color indexes to be used with the ramps<br>
Ramp Fields
+
! Note: Alpha values are assumed to be 1 or 0.5 if the colorindex is greater than 255.<br>
 
+
<br>
. *rampmode (mode)*
+
. *rampindex (index) (alpha) (scale)*<br>
- mode: specifies the ramp style to be used, possible modes are "none", "absolute", and "delta"
+
- Adds a new point in the ramp<br>
! Note: mode defaults to "none"
+
- index: index to be used with this point of the ramp<br>
 
+
- alpha (optional): alpha value to be used with this point of the ramp<br>
. *rampindexlist (index1)...(indexn)*
+
- scale (optional): scale value to be used with this point of the ramp<br>
- Adds a point in the ramp per number of color indexes
+
! Note: If alpha is excluded, alpha is assumed to be 1 or 0.5 if the colorindex is greater than 255.<br>
- index1...indexn: list of color indexes to be used with the ramps
+
! Note: If scale is excluded, scale is assumed to be the scale given in the scale field.<br>
! Note: Alpha values are assumed to be 1 or 0.5 if the colorindex is greater than 255.
+
<br>
 
+
. *ramp (r) (g) (b) (alpha) (scale)*<br>
. *rampindex (index) (alpha) (scale)*
+
- Adds a new point in the ramp<br>
- Adds a new point in the ramp
+
- r: red color value to be used with this point of the ramp, with range 0-255<br>
- index: index to be used with this point of the ramp
+
- g (optional): green color value to be used with this point of the ramp, with range 0-255<br>
- alpha (optional): alpha value to be used with this point of the ramp
+
- b (optional): blue color value to be used with this point of the ramp, with range 0-255<br>
- scale (optional): scale value to be used with this point of the ramp
+
- alpha (optional): alpha value to be used with this point of the ramp<br>
! Note: If alpha is excluded, alpha is assumed to be 1 or 0.5 if the colorindex is greater than 255.
+
- scale (optional): scale value to be used with this point of the ramp<br>
! Note: If scale is excluded, scale is assumed to be the scale given in the scale field.
+
! Note: If b is excluded, g and b are assumed to be r.<br>
 
+
! Note: If alpha is excluded, alpha is assumed to be the alpha given in the alpha field.<br>
. *ramp (r) (g) (b) (alpha) (scale)*
+
! Note: If scale is excluded, scale is assumed to be the scale given in the scale field.<br>
- Adds a new point in the ramp
 
- r: red color value to be used with this point of the ramp, with range 0-255
 
- g (optional): green color value to be used with this point of the ramp, with range 0-255
 
- b (optional): blue color value to be used with this point of the ramp, with range 0-255
 
- alpha (optional): alpha value to be used with this point of the ramp
 
- scale (optional): scale value to be used with this point of the ramp
 
! Note: If b is excluded, g and b are assumed to be r.
 
! Note: If alpha is excluded, alpha is assumed to be the alpha given in the alpha field.
 
! Note: If scale is excluded, scale is assumed to be the scale given in the scale field.
 

Latest revision as of 08:11, 29 October 2005

List of particle fields:

! Note: all fields default to 0 or "" unless otherwise indicated or inherited from special case particle types.

Spawn Related Fields

. *count (count)*
- count: specifies number of particles to spawn with point effects

. *step (step)*
- step: specifies Quake units per particle to spawn with trails
! Note: step (x) is a synomyn for count 1/(x)

. *die (die)*

- die: specifies time in seconds it takes for the particle to die. A value of 0 means that the particle will be rendered for a duration of 1 frame.

. *diesubrand (rand)*

- rand: subtracts a random value from 0 to rand from the die time on particle spawn, and causes the particle to "decay" for that amount of time

! Note: Using diesubrand with delta ramps will cause weird things to happen.

. *assoc (particleeffectname)*
- particleeffectname: name of other particle effect to execute when the current particle effect is executed
! Note: Using assoc to loop back to the same particle effect is invalid.

. *emit (particleeffectname)*
- particleeffectname: specifies the particle effect that the current particles should emit

. *emitinterval (time)*
- time: specifies the time between the emitting of the chosen effect (a value of less than 0 means to emit the chosen effect as a trail)

. *emitintervalrand (timerand)*
- timerand: adds a value between 0 and timerand to the time interval on emit

. *emitstart (time)*
- time: specifies time that emitting of the chosen effect should start after particle spawn

Render Related Fields

. *type (type)*
- type: specifies the type of particles to use for the effect, possible types are "normal", "beam", and "decal".
! Note: type defaults to "normal"
! Note: "decal" is currently experimental. Use at your own risk.

. *colorindex (colorindex)*
- colorindex: specifies the current loaded palette index to use with the particle
! Note: colorindex overrides red/green/blue values
! Note: A colorindex with a value greater than 255 means to apply an alpha value of 0.5 and use the remainder of colorindex / 256 for the actual colorindex. This is to mimic Hexen 2 behavior.
! Note: colorindex defaults to -1, meaning not to use a colorindex.

. *colorrand (colorrand)*
- colorrand: adds a random value between 0 and colorrand-1 to the colorindex field on particle spawn

. *citracer (citracer)*
- citracer: 1 enables Quake tracer-like index changes
! Note: Do not use this for any sane particle configs. This is bound to change.

. *red (red)*
- red: changes the red color value with the range of 0-255

. *green (green)*
- green: changes the green color value with the range of 0-255

. *blue (blue)*
- blue: changes the blue color value with the range of 0-255

. *rgb (r) (g) (b)*
- r: changes the red color value with the range of 0-255
- g: changes the green color value with the range of 0-255
- b: changes the blue color value with the range of 0-255
- Note: If b is excluded, g and b are assumed to be r

. *reddelta (reddelta)*
- reddelta: specifies the rate of change of the red color value to reddelta per second

. *greendelta (greendelta)*
- greendelta: specifies the rate of change of the green color value to greendelta per second

. *bluedelta (bluedelta)*
- bluedelta: specifies the rate of change of the blue color value to bluedelta per second

. *rgbdelta (r) (g) (b)*
- r: specifies the rate of change of the red color value to r per second
- g (optional): specifies the rate of change of the green color value to g per second
- b (optional): specifies the rate of change of the blue color value to b per second
! Note: If b is excluded, g and b are assumed to be r

. *rgbchangetime (time)*
- time: specifies the time that reddelta/greendelta/bluedelta will remain in effect
! Note: defaults to die time

. *redrand (redrand)*
- redrand: adds a random value between 0 and redrand to the red color value on particle spawn

. *greenrand (greenrand)*
- greenrand: adds a random value between 0 and redrand to the green color value on particle spawn

. *bluerand (bluerand)*
- bluerand: adds a random value between 0 and bluerand to the blue color value on particle spawn

. *rgbrand (r) (g) (b)*
- r: adds a random value between 0 and r to the red color value on particle spawn
- g (optional): adds a random value between 0 and g to the green color value on particle spawn
- b (optional): adds a random value between 0 and b to the blue color value on particle spawn
! Note: If b is excluded, g and b are assumed to be r

. *redrandsync (redrandsync)*
- redrandsync: specifies how much of the red random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)

. *greenrandsync (greenrandsync)*
- greenrandsync: specifies how much of the green random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)

. *bluerandsync (bluerandsync)*
- bluerandsync: specifies how much of the blue random value should be in sync with a common random value (0 meaning no synchronization, 1 meaning full synchronization)

. *rgbrandsync (r) (g) (b)*
- r: specifies how much of the red random value should be in sync with a common random value
- g: specifies how much of the green random value should be in sync with a common random value
- b: specifies how much of the blue random value should be in sync with a common random value
! Note: 0 means no synchronization, 1 means full synchronization
! Note: If b is excluded, g and b are assumed to be r

. *isbeam*
- Specifying this field with no parameters means all particles represents points in beams.
! Note: This field is obsolete, use "type" instead

. *stains (stain)*
- stain: specifies if the particle should leave stains (0 meaning no, 1 meaning yes)

. *blend (mode)*
- mode: specifies blend mode for the particles, valid modes are "add", "subtract", and "merge"
! Note: mode defaults to "merge"
! Note: "blend add" will remove the black in .png particle texture images (and possibly other image file formats too).

. *rotationstart (angle) (anglerand)*
- angle: specifies angle the sprite should be rendered
- anglerand (optional): adds a random number between 0 and anglerand to the angle on particle spawn
! Note: angle defaults to -180, and anglerand defaults to 360

. *rotationspeed (anglespeed) (anglespeedrand)*
- anglespeed: specifies angles per second the sprite should rotate
- anglespeedrand (optional): adds a random number between 0 and anglespeedrand to the angle speed on particle spawn

. *alpha (alpha)*
- alpha: specifies starting transparency of the particle (0 meaning invisible, 1 meaning fully visible)
! Note: alpha defaults to 1

. *alphachange (alphachange)*
- alphachange: specifies alpha change due to time (0 meaning no change in alpha over time, 1 meaning alpha change to 0 according to die time and starting alpha)
! Note: alphachange defaults to 1

. *texture (texturename)*
- texturename: the texture name to apply to this particle. If no texture is applied, the particle is drawn as a spark, or a shaded beam if isbeam is set.

. *scale (scale)*
- scale: sets scale of the particle

. *scalerand (scalerand)*
- scalerand: adds a random value between 0 and scalerand to the scale on particle spawn

. *scalefactor (scalefactor)*
- scalefactor: the factor that the particle scales due to distance. 0 means no scaling to distance, and 1 means normal scaling due to distance.

. *scaledelta (scaledelta)*
- scaledelta: specifies the scale per second change of the particle

Movement/Placement Fields

. *spawnmode (mode)*
- mode: specifies spawn mode to use for the particles, valid modes are "circle", "ball", "spiral", "tracer", "telebox", "lavasplash", "uniformcircle", "syncfield", and "box"
! Note: mode defaults to "box"

. *spawnorg (xy) (z)*
- xy: specifies origin range in the x and y components that the spawn mode should effect
- z (optional): specifies origin range in the z component that the spawn mode should effect
! Note: If z is excluded, z is assumed to be xy

. *spawnvel (xy) (z)*
- xy: specifies velocity range in the x and y components that the spawn mode should effect
- z (optional): specifies velocity range in the z component that the spawn mode should effect
! Note: If z is excluded, z is assumed to be xy

. *spawnparam1 (param)*
- param: passes a parameter which changes spawn behavior based on spawn mode

. *spawnparam2 (param)*
- param: passes a parameter which changes spawn behavior based on spawn mode

. *cliptype (particleeffectname)*
- particleeffectname: specifies particle effect to spawn when a particle clips an object, specifying itself means that no effect will be spawned and the current particle will be maintained

. *clipcount (count)*
- count: amount of particle effects to spawn when a particle clips an object

. *areaspread (areaspread)*
- areaspread: specifies origin range in the x and y components that the spawn mode should effect
! Note: This field is obsolete, use spawnorg instead.

. *areaspreadvert (areaspreadvert)*
- areaspreadvert: specifies origin range in the z component that the spawn mode should effect
! Note: This field is obsolete, use spawnorg instead.

. *offsetspread (offsetspread)*
- offsetspread: specifies velocity range in the x and y components that the spawn mode should effect
! Note: This field is obsolete, use spawnvel instead.

. *offsetspreadvert (offsetspreadvert)*
- offsetspreadvert: specifies velocity range in the z component that the spawn mode should effect
! Note: This field is obsolete, use spawnvel instead.

. *up (z)*
- z: adds z to the z component of the origin for all particles

. *gravity (gravity)*
- gravity: applies an acceleration of -gravity per second^2 to the particle
! Note: this is not effected by [sv_gravity]

. *randomvel (randomvel) (vert)*
- randomvel: adds a random value from -randomvel to randomvel to the x and y components of the particle velocity
- vert (optional): adds a random value from -vert to vert to the z component of the particle velocity
! Note: if vert is excluded, vert is assumed to be randomvel

. *veladd (veladd)*
- veladd: if a direction is associated with the effect, veladd*direction is added to the particle velocity, otherwise veladd is added to the z component of the particle velocity

. *friction (x) (y) (z)*
- x: applies friction to the x axis of the particles, slowing down by a factor of x per second
- y (optional): applies friction to the x axis of the particles, slowing down by a factor of y per second
- z (optional): applies friction to the x axis of the particles, slowing down by a factor of z per second
! Note: if 2 parameters are given, the format is assumed to be friction (xy) (z), with x and y assumed to be xy
! Note: if 1 parameter is given, x, y, and z are all assumed to be that 1 parameter

. *clipbounce (factor)*
- factor: the velocity maintained after a particle bounces off of an object (0 meaning no velocity maintained, 1 meaning all velocity maintained)
! Note: factor defaults to 0.8

Ramp Fields

. *rampmode (mode)*
- mode: specifies the ramp style to be used, possible modes are "none", "absolute", and "delta"
! Note: mode defaults to "none"

. *rampindexlist (index1)...(indexn)*
- Adds a point in the ramp per number of color indexes
- index1...indexn: list of color indexes to be used with the ramps
! Note: Alpha values are assumed to be 1 or 0.5 if the colorindex is greater than 255.

. *rampindex (index) (alpha) (scale)*
- Adds a new point in the ramp
- index: index to be used with this point of the ramp
- alpha (optional): alpha value to be used with this point of the ramp
- scale (optional): scale value to be used with this point of the ramp
! Note: If alpha is excluded, alpha is assumed to be 1 or 0.5 if the colorindex is greater than 255.
! Note: If scale is excluded, scale is assumed to be the scale given in the scale field.

. *ramp (r) (g) (b) (alpha) (scale)*
- Adds a new point in the ramp
- r: red color value to be used with this point of the ramp, with range 0-255
- g (optional): green color value to be used with this point of the ramp, with range 0-255
- b (optional): blue color value to be used with this point of the ramp, with range 0-255
- alpha (optional): alpha value to be used with this point of the ramp
- scale (optional): scale value to be used with this point of the ramp
! Note: If b is excluded, g and b are assumed to be r.
! Note: If alpha is excluded, alpha is assumed to be the alpha given in the alpha field.
! Note: If scale is excluded, scale is assumed to be the scale given in the scale field.