#include <ParticleSys.h>
Inherits Snapshot.
Inherited by ParticleSystem, and ParticleSystemTemplate [protected].
Classes | |
| union | emissionVolumeUnion |
| struct | RandomKeyframe |
Public Types | |
| enum | ParticleShaderType { INVALID_SHADER =0 , ADDITIVE , ALPHA , ALPHA_TEST , MULTIPLY } |
| enum | ParticleType { INVALID_TYPE =0 , PARTICLE , DRAWABLE , STREAK , VOLUME_PARTICLE , SMUDGE } |
| enum | EmissionVelocityType { INVALID_VELOCITY =0 , ORTHO , SPHERICAL , HEMISPHERICAL , CYLINDRICAL , OUTWARD } |
| enum | EmissionVolumeType { INVALID_VOLUME =0 , POINT , LINE , BOX , SPHERE , CYLINDER } |
| enum | WindMotion { WIND_MOTION_INVALID = 0 , WIND_MOTION_NOT_USED , WIND_MOTION_PING_PONG , WIND_MOTION_CIRCULAR } |
| typedef Int | Color |
Public Member Functions | |
| ParticleSystemInfo () | |
| to set defaults. | |
| virtual void | crc (Xfer *xfer) |
| virtual void | xfer (Xfer *xfer) |
| virtual void | loadPostProcess (void) |
| void | tintAllColors (Color tintColor) |
Public Member Functions inherited from Snapshot | |
| Snapshot (void) | |
| ~Snapshot (void) | |
Public Attributes | ||
| Bool | m_isOneShot | |
| if true, destroy system after one burst has occurred | ||
| enum ParticleSystemInfo::ParticleShaderType | m_shaderType | |
| how this particle is rendered | ||
| enum ParticleSystemInfo::ParticleType | m_particleType | |
| AsciiString | m_particleTypeName | |
| if PARTICLE, texture filename, if DRAWABLE, Drawable name | ||
| GameClientRandomVariable | m_angleZ | |
| initial angle around Z axis | ||
| GameClientRandomVariable | m_angularRateZ | |
| initial angle around Z axis | ||
| GameClientRandomVariable | m_angularDamping | |
| angular velocity damping coefficient | ||
| GameClientRandomVariable | m_velDamping | |
| velocity damping factor | ||
| GameClientRandomVariable | m_lifetime | |
| lifetime of emitted particles | ||
| UnsignedInt | m_systemLifetime | |
| lifetime of the particle system | ||
| GameClientRandomVariable | m_startSize | |
| initial size of emitted particles | ||
| GameClientRandomVariable | m_startSizeRate | |
| change in start size of emitted particles | ||
| GameClientRandomVariable | m_sizeRate | |
| rate of change of size | ||
| GameClientRandomVariable | m_sizeRateDamping | |
| damping of size change | ||
| UnsignedInt | m_volumeParticleDepth | |
| how many layers deep to draw the particle, if >1 | ||
| RandomKeyframe | m_alphaKey [MAX_KEYFRAMES] | |
| RGBColorKeyframe | m_colorKey [MAX_KEYFRAMES] | |
| color of particle | ||
| GameClientRandomVariable | m_colorScale | |
| color coefficient | ||
| GameClientRandomVariable | m_burstDelay | |
| time between particle emissions | ||
| GameClientRandomVariable | m_burstCount | |
| number of particles emitted per burst | ||
| GameClientRandomVariable | m_initialDelay | |
| delay before particles begin emitting | ||
| Coord3D | m_driftVelocity | |
| additional velocity added to all particles | ||
| Real | m_gravity | |
| gravity acceleration (global Z) for particles in this system | ||
| AsciiString | m_slaveSystemName | |
| if non-empty, create a system whose particles track this system's | ||
| Coord3D | m_slavePosOffset | |
| positional offset of slave particles relative to master's | ||
| AsciiString | m_attachedSystemName | |
| if non-empty, create a system attached to each particle of this system | ||
| enum ParticleSystemInfo::EmissionVelocityType | m_emissionVelocityType | |
| ParticlePriorityType | m_priority | |
| union { | ||
| struct { | ||
| GameClientRandomVariable x | ||
| initial speed of particle along X axis More... | ||
| GameClientRandomVariable y | ||
| initial speed of particle along Y axis More... | ||
| GameClientRandomVariable z | ||
| initial speed of particle along Z axis More... | ||
| } ortho | ||
| struct { | ||
| GameClientRandomVariable speed | ||
| initial speed of particle along random radial direction More... | ||
| } spherical | ||
| struct { | ||
| GameClientRandomVariable speed | ||
| initial speed of particle along random radial direction More... | ||
| } hemispherical | ||
| struct { | ||
| GameClientRandomVariable radial | ||
| initial speed of particle in the disk More... | ||
| GameClientRandomVariable normal | ||
| initial speed of particle perpendicular to disk More... | ||
| } cylindrical | ||
| struct { | ||
| GameClientRandomVariable speed | ||
| speed outward from emission volume More... | ||
| GameClientRandomVariable otherSpeed | ||
| speed along "other" axis, such as cylinder length More... | ||
| } outward | ||
| } | m_emissionVelocity | |
| enum ParticleSystemInfo::EmissionVolumeType | m_emissionVolumeType | |
| the type of volume where particles are created | ||
| union ParticleSystemInfo::emissionVolumeUnion | m_emissionVolume | |
| the dimensions of the emission volume | ||
| Bool | m_isEmissionVolumeHollow | |
| if true, only create particles at boundary of volume | ||
| Bool | m_isGroundAligned | |
| if true, align with the ground. if false, then do the normal billboarding. | ||
| Bool | m_isEmitAboveGroundOnly | |
| if true, only emit particles when the system is above ground. | ||
| Bool | m_isParticleUpTowardsEmitter | |
| if true, align the up direction to be towards the emitter. | ||
| WindMotion | m_windMotion | |
| motion of the wind angle updating | ||
| Real | m_windAngle | |
| angle of the "wind" associated with this system | ||
| Real | m_windAngleChange | |
| current how fast the angle changes (higher=faster change) | ||
| Real | m_windAngleChangeMin | |
| min for angle change | ||
| Real | m_windAngleChangeMax | |
| max for angle change | ||
| Real | m_windMotionStartAngle | |
| (for ping pong) angle 1 of the ping pong | ||
| Real | m_windMotionStartAngleMin | |
| (for ping pong) min angle for angle 1 | ||
| Real | m_windMotionStartAngleMax | |
| (for ping pong) max angle for angle 1 | ||
| Real | m_windMotionEndAngle | |
| (for ping pong) angle 2 of the ping pong | ||
| Real | m_windMotionEndAngleMin | |
| (for ping pong) min angle for angle 2 | ||
| Real | m_windMotionEndAngleMax | |
| (for ping pong) max angel for angle 2 | ||
| Byte | m_windMotionMovingToEndAngle | |
| (for ping pong) TRUE if we're moving "towards" the end angle | ||
All of the properties of a particle system, used by both ParticleSystemTemplates and ParticleSystem classes.
Definition at line 291 of file ParticleSys.h.
| typedef Int ParticleSystemInfo::Color |
Definition at line 346 of file ParticleSys.h.
| Enumerator | |
|---|---|
| INVALID_VELOCITY | |
| ORTHO | |
| SPHERICAL | |
| HEMISPHERICAL | |
| CYLINDRICAL | |
| OUTWARD | |
Definition at line 367 of file ParticleSys.h.
| Enumerator | |
|---|---|
| INVALID_VOLUME | |
| POINT | |
| LINE | |
| BOX | |
| SPHERE | |
| CYLINDER | |
Definition at line 410 of file ParticleSys.h.
| Enumerator | |
|---|---|
| INVALID_SHADER | |
| ADDITIVE | |
| ALPHA | |
| ALPHA_TEST | |
| MULTIPLY | |
Definition at line 305 of file ParticleSys.h.
| Enumerator | |
|---|---|
| INVALID_TYPE | |
| PARTICLE | |
| DRAWABLE | |
| STREAK | |
| VOLUME_PARTICLE | |
| SMUDGE | is a particle a 2D-screen-facing particle, or a Drawable, or a Segment in a streak? |
Definition at line 311 of file ParticleSys.h.
| Enumerator | |
|---|---|
| WIND_MOTION_INVALID | |
| WIND_MOTION_NOT_USED | |
| WIND_MOTION_PING_PONG | |
| WIND_MOTION_CIRCULAR | |
Definition at line 456 of file ParticleSys.h.
| ParticleSystemInfo::ParticleSystemInfo | ( | ) |
to set defaults.
Definition at line 728 of file ParticleSys.cpp.
|
virtual |
Implements Snapshot.
Reimplemented in ParticleSystem.
Definition at line 782 of file ParticleSys.cpp.
|
virtual |
Load post process
Implements Snapshot.
Reimplemented in ParticleSystem.
Definition at line 1023 of file ParticleSys.cpp.
| void ParticleSystemInfo::tintAllColors | ( | Color | tintColor | ) |
Definition at line 763 of file ParticleSys.cpp.
|
virtual |
Xfer method Version Info: 1: Initial version
Implements Snapshot.
Reimplemented in ParticleSystem.
Definition at line 792 of file ParticleSys.cpp.
| struct { ... } ParticleSystemInfo::cylindrical |
| struct { ... } ParticleSystemInfo::hemispherical |
| RandomKeyframe ParticleSystemInfo::m_alphaKey[MAX_KEYFRAMES] |
Definition at line 343 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_angleZ |
initial angle around Z axis
Definition at line 319 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_angularDamping |
angular velocity damping coefficient
Definition at line 321 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_angularRateZ |
initial angle around Z axis
Definition at line 320 of file ParticleSys.h.
| AsciiString ParticleSystemInfo::m_attachedSystemName |
if non-empty, create a system attached to each particle of this system
Definition at line 363 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_burstCount |
number of particles emitted per burst
Definition at line 353 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_burstDelay |
time between particle emissions
Definition at line 352 of file ParticleSys.h.
| RGBColorKeyframe ParticleSystemInfo::m_colorKey[MAX_KEYFRAMES] |
color of particle
Definition at line 344 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_colorScale |
color coefficient
Definition at line 350 of file ParticleSys.h.
| Coord3D ParticleSystemInfo::m_driftVelocity |
additional velocity added to all particles
Definition at line 357 of file ParticleSys.h.
| union { ... } ParticleSystemInfo::m_emissionVelocity |
| enum ParticleSystemInfo::EmissionVelocityType ParticleSystemInfo::m_emissionVelocityType |
| union ParticleSystemInfo::emissionVolumeUnion ParticleSystemInfo::m_emissionVolume |
the dimensions of the emission volume
| enum ParticleSystemInfo::EmissionVolumeType ParticleSystemInfo::m_emissionVolumeType |
the type of volume where particles are created
| Real ParticleSystemInfo::m_gravity |
gravity acceleration (global Z) for particles in this system
Definition at line 358 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_initialDelay |
delay before particles begin emitting
Definition at line 355 of file ParticleSys.h.
| Bool ParticleSystemInfo::m_isEmissionVolumeHollow |
if true, only create particles at boundary of volume
Definition at line 451 of file ParticleSys.h.
| Bool ParticleSystemInfo::m_isEmitAboveGroundOnly |
if true, only emit particles when the system is above ground.
Definition at line 453 of file ParticleSys.h.
| Bool ParticleSystemInfo::m_isGroundAligned |
if true, align with the ground. if false, then do the normal billboarding.
Definition at line 452 of file ParticleSys.h.
| Bool ParticleSystemInfo::m_isOneShot |
if true, destroy system after one burst has occurred
Definition at line 303 of file ParticleSys.h.
| Bool ParticleSystemInfo::m_isParticleUpTowardsEmitter |
if true, align the up direction to be towards the emitter.
Definition at line 454 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_lifetime |
lifetime of emitted particles
Definition at line 325 of file ParticleSys.h.
| enum ParticleSystemInfo::ParticleType ParticleSystemInfo::m_particleType |
| AsciiString ParticleSystemInfo::m_particleTypeName |
if PARTICLE, texture filename, if DRAWABLE, Drawable name
Definition at line 317 of file ParticleSys.h.
| ParticlePriorityType ParticleSystemInfo::m_priority |
Definition at line 373 of file ParticleSys.h.
| enum ParticleSystemInfo::ParticleShaderType ParticleSystemInfo::m_shaderType |
how this particle is rendered
| GameClientRandomVariable ParticleSystemInfo::m_sizeRate |
rate of change of size
Definition at line 330 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_sizeRateDamping |
damping of size change
Definition at line 331 of file ParticleSys.h.
| Coord3D ParticleSystemInfo::m_slavePosOffset |
positional offset of slave particles relative to master's
Definition at line 361 of file ParticleSys.h.
| AsciiString ParticleSystemInfo::m_slaveSystemName |
if non-empty, create a system whose particles track this system's
Definition at line 360 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_startSize |
initial size of emitted particles
Definition at line 328 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_startSizeRate |
change in start size of emitted particles
Definition at line 329 of file ParticleSys.h.
| UnsignedInt ParticleSystemInfo::m_systemLifetime |
lifetime of the particle system
Definition at line 326 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::m_velDamping |
velocity damping factor
Definition at line 323 of file ParticleSys.h.
| UnsignedInt ParticleSystemInfo::m_volumeParticleDepth |
how many layers deep to draw the particle, if >1
Definition at line 334 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windAngle |
angle of the "wind" associated with this system
Definition at line 464 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windAngleChange |
current how fast the angle changes (higher=faster change)
Definition at line 465 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windAngleChangeMax |
max for angle change
Definition at line 467 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windAngleChangeMin |
min for angle change
Definition at line 466 of file ParticleSys.h.
| WindMotion ParticleSystemInfo::m_windMotion |
motion of the wind angle updating
Definition at line 463 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windMotionEndAngle |
(for ping pong) angle 2 of the ping pong
Definition at line 471 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windMotionEndAngleMax |
(for ping pong) max angel for angle 2
Definition at line 473 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windMotionEndAngleMin |
(for ping pong) min angle for angle 2
Definition at line 472 of file ParticleSys.h.
| Byte ParticleSystemInfo::m_windMotionMovingToEndAngle |
(for ping pong) TRUE if we're moving "towards" the end angle
Definition at line 474 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windMotionStartAngle |
(for ping pong) angle 1 of the ping pong
Definition at line 468 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windMotionStartAngleMax |
(for ping pong) max angle for angle 1
Definition at line 470 of file ParticleSys.h.
| Real ParticleSystemInfo::m_windMotionStartAngleMin |
(for ping pong) min angle for angle 1
Definition at line 469 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::normal |
initial speed of particle perpendicular to disk
Definition at line 394 of file ParticleSys.h.
| struct { ... } ParticleSystemInfo::ortho |
| GameClientRandomVariable ParticleSystemInfo::otherSpeed |
speed along "other" axis, such as cylinder length
Definition at line 401 of file ParticleSys.h.
| struct { ... } ParticleSystemInfo::outward |
| GameClientRandomVariable ParticleSystemInfo::radial |
initial speed of particle in the disk
Definition at line 393 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::speed |
initial speed of particle along random radial direction
speed outward from emission volume
Definition at line 387 of file ParticleSys.h.
| struct { ... } ParticleSystemInfo::spherical |
| GameClientRandomVariable ParticleSystemInfo::x |
initial speed of particle along X axis
Definition at line 379 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::y |
initial speed of particle along Y axis
Definition at line 380 of file ParticleSys.h.
| GameClientRandomVariable ParticleSystemInfo::z |
initial speed of particle along Z axis
Definition at line 381 of file ParticleSys.h.