/**** Particle System Properties ****/
Name = TestParticles

// Particle System Options:

//TagRender // specify to individually mark particles for render in a global system.
//VisCheckOnCreation // specify to avoid creating particles that are not immediately visible.
//LightOnCreation // specify to have particles affected by scene lights.
//AnimateTextures // textures animate over the life of the particle.
//AdditiveTextures // textures add light to the background (default is an alpha blend).
//ClipParticlesWithinRange // destroy any particles that get outside of range.
//WrapParticlesWithinRange // wrap any particles that get outside of range.

// Particle source art - specify path, otherwise uses material if a mesh attachment.
SourceArt = data/particles/Coin.tga
NumTextureAnimationLoops =0

 Particle system limits
MaxParticlesLowDetail = 30
MaxParticlesHighDetail = 200
DefaultParticleSize =.2
DefaultLifespan =4
Range = 4 // max range of the particles from the source (specify in flags whether or not to clip.)
MinPixels = 2
MaxPixels = 10


// Specify a refernce size so that we can scale this system to objects of different size.
EmitScalarReference = 4.0f

/**** Individual Module Properties Below Here ****/

VolumeGenerator = {
  ParticlesPerSecond = 50 // generation rate
  EmitCount = 1 // number emitted at a time.
  EmitOffset = 0, 0, 0 // lower left coordinate of emit region
  EmitDimensions = 0, 0,0 // size of emit region
  BoundaryVariance = 0 // random offset in meters to the boundary
  GeometryType =  POINT // geometry type fitted to box. Choices are: (POINT, BOX, SPHERE, PYRAMID, CONE, CYLINDER, CYLINDER_SHELL, SPHERICAL_SHELL, SPHERE_CW).
  Timing = { function( type=(1,0,0,0,0,0,0,0,0,0,0,0,0,0), P, period=6) }
}

InitialMass = {
  DefaultMass = 1 // default mass (used when linking mass to size to compare agains the default size)
  LinkMassToSize // specify to link mass to the square of the particle size, else random between min and max.
  MinMass =1
  MaxMass = 1.5
}

InitialVelocity = {
  BoundaryOffset = 0, 0, 1.4// lower left coordinate of emit region
  BoundaryDimensions = 0, 0, 1.4// size of emit region
  BoundaryVariance = 1 // random offset in meters to the boundary
  GeometryType = BOX // geometry type fitted to box. Choices are: (POINT, BOX, SPHERE, PYRAMID, CONE, CYLINDER, CYLINDER_SHELL, SPHERICAL_SHELL, SPHERE_CW).
  // Flags (specify without '//' to enable).
  //RelativeEmitDirection // specify to have velocity be relative to the emitter direction.
  //RelativeEmitVelocity // specify to have velocity be relative to emitter velocity.
  CalculateAsImpulse // calculate as an impules. (INITIAL MASS MUST COME FIRST IF THIS IS USED!!!)
}

InitialVariance = {
  SizeVariance = 0.7 // maximum percent variance to the initial particle size.
  LifeVariance = 0 // maximum percent variance to the particle's life.
  Color1 = 255, 255, 255, 255 // color bound 1
  Color2 = 255, 255, 255, 255 // color bound 2 (actual color can be anwhere between color1 and color2)
}


PlanarAcceleration = {
  Direction = 0, 0, -2.5
  //RelativeToEmitter // specifiy to have force vectors be relative to the emitter.
  //FunctionTimingToLife // specify to have timing function be across particle life.
  //CalculateAsForce // calculate as a force (i.e. divide by particle's mass).
  // timing function - allows acceleration amount to vary over time.
  TimingFunction = { (function( type=(1, 1), P, period=3) }
}

ParticleCollision = {
  LifeCostPerCollision = 0 // Life (in percent) taken away from the particle each collision.
  BounceFactor = .3 // ranges from 0 to 1.
  FrictionFactor = 0.0 // ranges from 0 to 1.
  SpawnCount = 0 // number of particles to spawn on collision.
  CollisionRadiusOverSize = 1.5 // ratio of collision radius to particle size. (should be near 1)
  SpawnSystemName = // name of particle system to spawn into (may be same one, a new one, or a global one).
  Material = CONCRETE // general material type (for material-based interactions.
  // Flags - specify to enable, comment (//) to disable.
  //SpawnIntoGlobalSystem // specify to look for a globally instanced system rather than a local one.
  //UseMaterialCollisionEffect // specify to invoke standard material collision effects.
  CollideWithAllTerrain // specify to do intersect tests against all terrain polygons.
  //CollideWithMarkedTerrain // specify to do intersect tests against only specifically flagged terrain polygons.
  CollideWithDynamics // specify to do intersect tests against dynamics.
  //CollideOnlyNearbyVisible // specify to limit intersect tests to nearby visible objects.
}

3DRotation = {
  MinInitialRotationalVelocity = 0.500000 // Radians per second (any direction)
  MaxInitialRotationalVelocity = 4.000000 // Radians per second (any direction)
  RotationalVelocityPerSpeed = 0.000000 // (optionally specify to link rotational velocity to speed)
  //LinkRotationSpeedToLinearSpeed // specify to scale rotational speed up with particle linear speed.
}

PositionUpdater = {
  GlobalVelocity = 0.000000, 0.000000, 0.000000 // velocity to be added to every particle. 
}

AlphaFunction = { // fade out over time use 0 to 255
  // Specify a function whose range is the particle life (0 to 1) and
  // whose value is the alpha channel of the color (0 to 255)
  function( type=(255))
}


StandardRenderer = {
}


