We don't want sound for these.
This appears to avoid the Entities.getEntityProperties() deadlock within entity scripts.
Variable names:
energyPercentOfFull => energyFactorOfFull, because the range is 0-1, not 0-100.
COLLISION_SOUND_COMPRESSION => COLLISION_SOUND_COMPRESSION_RANGE (portion of full dynamic range)
Tune constants:
COLLISION_ENERGY_AT_FULL_VOLUME 10 => 1
COLLISION_MINIMUM_VOLUME 0.01 => 0.001
COLLISION_SOUND_COMPRESSION_RANGE 0.5 => 0.95
Refer to SoundCache later, after filtering for collision threshold.
* Updated variable naming to match coding standards.
* Changed particle raw float arrays to vectors.
* Bug fix: changing maxParticles will no longer lead to memory corruption.
* Made particle ring buffer more explicit, added _particleTailIndex.
* Added getLivingParticleCount() private method.
* Moved integration and bounds code into private methods.
* Bug fix: high emit rates now properly integrate particles forward for the
remaing frame time, not the entire frame.
* Bug fix: new particles were not initiaized to origin.
* Added more particles to ajt-test.js.
* Bug fix: ajt-test.js script was not shutting down properly.
* Removed random seed, unless we have a psudo random number generator per
particle system instance, it's unlikely that this will preserve sync.
* Bumped packet version number.
* Changed particle geometry to billboarded quads
* Added texture support
* Added ajt-test.js particle test script.
* GeometryCache support for batched quads with texCoords.
* Bug fix for infinite loop if _lifetime was very large.
* Don't reset the simulation on animation loop.
* stop emitting particles on animation stop, but keep simulating until there are no more living particles.
* Removed some trailing whitespace