Change Log

Top  Previous  Next

Version 1.5.1.0

- Added SourceToTargetVector() and SourceToTargetDirection() functions to DPSFHelper.

- Added SetCameraPositionForAllParticleSystems() function to the Particle System Manager class.

- Reduced memory footprint of the Draw() function.

- Fixed exceptions that would be thrown when a particle system Destroyed itself.

- Added Particle Update functions to the Quad particle systems to constrain a particle around a specific axis (i.e. X, Y, or Z).

 

Version 1.5.0.0

- Added check to make sure .NET Famework 3.5 or greater and XNA 3.1 are installed on the client's machine before running the DPSF Demo, and now displays a nice warning message if they are not installed.

- Catch and throw new exception when calling SetTexture() in the case that the texture you are loading has already been Dispose()'d.

- Fixed bug in Default Quad particle systems where particles with a size less than 2 would not be displayed.

- Now throw descriptive exceptions when properties try to be used before the particle system has been initialized.

- Added Size, StartSize, and EndSize properties to the Default Sprite and Quad Particles, which simply set the Width and Height properties.

- Updated help documentation a bit.

- Plastered the [Serializable] attribute everywhere to make DPSF serializable.

- Now throw more descriptive exceptions from the Particle System Manager class.

- Added DPSFDefaultEffectTechniques enumeration which specifies all of the available Techniques for the DPSFDefaultEffect.

- Added extra functions to the default particles.

- Fixed bug in ParticleSystemManager.RemoveAllParticleSystems() function that would cause an invalid index exception to be thrown.

- Fixed bug in ParticleSystemManager.DrawAllParticleSystems() function to draw particle systems in the correct order.

- Made all Particle and ParticleSystem Update Functions protected instead of public to promote particle system encapsulation and removed extra exposed functions that should not be used from users.

- Added explosion particle systems to the DPSF Demo.

- Included the DPSFDefaults.cs file used by DPSF for others to modify if wanted and to learn from.

 

Version 1.4.0.0

- Added a FPSLogger class to the FPS.cs file included in the DPSF Demo project. This allows the FPS to be logged to a file.

- Added overloaded Initialize...ParticleSystem() functions to allow a Texture2D to be specified instead of a texture asset name string.

- Changed the Magnets class, adding MagnetPoint, MagnetLine, MagnetLineSegment, and MagnetPlane classes.

- Added tutorial source code showing how to use magnets (magnet tutorial document not available yet though).

- Added DefaultSpriteTextureCoordinatesParticleSystem and DefaultTexturedQuadTextureCoordinatesParticleSystem classes for when texture coordinates are required (not for animated particles), as well as the associated Particle classes and Particle Vertex structs.

- Added DefaultPointSpriteTextureCoordinatesParticleSystem, DefaultPointSpriteTextureCoordinatesNoRotationParticleSystem, and DefaultPointSpriteTextureCoordinatesNoColorParticleSystem classes, as well as associated Particle classes, Particle Vertex structs, and Effect file techniques.  Three classes are provided because the the NoRotation and NoColor classes run considerably faster than the DefaultPointSpriteTextureCoordinatesParticleSystem, as extra operations must be performed in the shaders to support both Color and Rotation when also using Texture Coordinates for Point Sprites. So if Texture Coordinates are required, but not both Color (including transparency) and Rotation, it is better to use the corresponding NoRotation or NoColor particle system classes.

- Added DefaultAnimatedPointSpriteParticleSystem, DefaultAnimatedPointSpriteNoRotationParticleSystem, and DefaultAnimatedPointSpriteNoColorParticleSystem classes, as well as assocatiated Particle classes and Particle Vertex structs.

- Added MultipleParticleImagePS particle system to DPSF demo to show how one particle system can be used to display many different particle images.

 

Version 1.3.1.0

- Updated to be compatible with XNA Game Studio 3.1

- Added inner exception output to exceptions thrown when initializing particle systems.

- Changed the SherePS particle system to use the Particle texture.

- Fixed formula for calculating the row, column, and layer a particle is at in the Grid particle systems.

- Now throws an exception when trying to Draw on the XBox 360 with a vertex buffer that is too large.

 

Version 1.3.0.0

- Fixed bug in DPSFHelper.RandomNormalizedVector() function where it only returned positive vectors.

- Renamed Emitter.EmitParticles property to Emitter.EmitParticlesAutomatically.

- Added Emitter.Enabled property.

- Added Emitter.BurstParticles and Emitter.BurstTime properties to release particles in bursts.

- Renamed UpdateParticleSystemTurnEmitterOn/Off() functions to UpdateParticleSystemEmitParticlesAutomaticallyOn/Off().

- Added UpdateParticleSystemEnableEmitter() and UpdateParticleSystemDisableEmitter() particle system update functions to the Default classes.

- Fixed bug where an "index out of range" exception would be thrown when removing Events from within an Event function.

- Renamed MultipleChangeParticleSystem.cs to SquarePatternParticleSystem.cs and changed some of its functions.

- Formatted a lot of the XML documentation better.

- Fixed bug in DPSFDefaultEffect.fx which caused Point Sprites to be displayed smaller when their rotation was zero.

- Created first 5 tutorials in the Help Documentation.

 

Version 1.2.0.0

- Changed what happens a little bit when a particle is in the exact same position as a magnet affecting it, so now the particle is only pushed in a random direction if the magnet is repelling it (not attracting it).

- Renamed the DefaultParticleSystemMagnet.DistanceFunctions enumeration's value "SameForceAtAllDistances" to "Constant".

- Added Grid particle system to Demo.

- Added Sphere particle system to Demo.

- Fixed bug where exception would be thrown when reducing the NumberOfParticlesAllocatedInMemory to less than what was currently in the particle system already.

- Added global variable miPARTICLE_SYSTEM_UPDATES_PER_SECOND to GameMain.cs to control how often the particle systems are updated.

- Fixed bug in the ParticleSystemManager.AutoInitializeAllParticleSystems() function where not all Particle Systems were being initialized.

- Added DPSFHelper.RandomNumberBetween(fValue1, fValue2) function for returning random numbers in a given range.

- Fixed bug to in the Default Point Sprite and Quad Particle System classes and Templates to reset the RenderState's AlphaBlendEnable and AlphaTestEnable properties to false after Draw() is called.

- Added SimulationSpeed and UpdatesPerSecond properties to the individual particle systems, and changing the Particle System Manager's SimulationSpeed / UpdatesPerSecond now sets the individual particle systems' properties.

- Changed the SimulationSpeed and UpdatesPerSecond properties to work the same when inheriting from DrawableGameComponent or not.

- Added ParticleSystemManagerToCopyPropertiesFrom property to the particle systems (Copies SimulationSpeed and UpdatesPerSecond).

- Added a NoDisplay Particle Type that can offer better performance for particle systems that do not need to be visualized (i.e. drawn to the screen), such as for some research applications or when using a DPSF Particle System as an internal data structure.

- Added a RandomNumbers class that inherits the Random class and adds more functionality.

- Replaced the PointOnVertical/HorizontalCircle() functions in DPSFHelper with more generic PointOnSphere() functions.

 

Version 1.1.1.0

- Fixed bug where a particle would be given an invalid position when it was in the exact same position as a magnet affecting it.

- Added global boolean values to GameMain.cs to turn building an Animated GIF and a Tile Set Image on/off when building images from an animation.

 

Version 1.1.0.0

- Added the SpriteBatchSettings and AutoMemoryManagerSettings properties to the IDPSFParticleSystem interface so they are more accessible.

- Added the ability to set all of the Sprite particle systems' Transformation Matrix property from the Particle System Manager.

- When multiple particles are added within the same frame, their Elapsed Time's are linearly interpolated so that it appears that the particles were added smoothly between frames.

- Added Sparkler particle system.

- Changed default installation path from C:\Program Files\DPSF to C:\DPSF.

 

Version 1.0.1.1

- Renamed the DPSFParticle classes function name from UpdateAutomaticVariables() to UpdateElapsedTimeVariables().

- Renamed the default vertex update function from UpdateParticleVertex() to UpdateVertexProperties().

- Renamed the DPSFParticle classes virtual function name from CopyFromParticle() to CopyFrom().

- Updated DPSF Demo to place the text in a different position so that it is visible on the Xbox 360.

 

Version 1.0.1.0

- Fixed display issues with Sprites and Textured Quads on the Xbox 360 when using the DPSF Default Effect.

- Removed OldPosition and OldOrientation variables from the ParticleEmitter class, as they were unnecessary.

- Updated the DPSF Demo and installer to include a .sln file, which can be run on Windows and the Xbox 360.

 

Version 1.0.0.0

- This is the first official release of DPSF.