Welcome to the new Diaspora forums, please let us know if you see anything broken! Notice: Some users may need to reupload their avatars due to an issue during forum setup!
Change Log for March 23rd to March 29th
Going to separate this post into two blocks, since we have some minor changes and the documentation for an entirely new E2 extension. Should help readability a bit
- [FEATURE] - Added three new particle materials (listed below) in order to start making some decent looking particle effects for things in the near future:
- [FEATURE] - Created and added a new E2 Extension library: ParticleEmitter v1.0! This is an in-house addon at current, but I may end up releasing it to the public when I'm done with it. This extension is so players can now use E2 to create their own particle effects to add just that much more to their creations. Currently, the 1.0 release works for a rather large range of things at the moment, and I plan to add more features later. However, it only has rudimentary parenting support at this time, which only allows you to parent the position to an entity rather than any of the angles. In the next release, that will be fixed, along with some other features (like controlled fade-in/fade-out and color randomization).
Below are all the functions currently available. These are exported from the E2Helper documentation, so expect a bit of repeat language. The only functions that are required for an emitter to work are Create, Rate, Lifespan, and Material:
- emitterCreate(N, V) - Creates a new Particle Emitter at the given position.
- emitterDestroy(N) - Cleans up a Particle Emitter.
- emitterDestroyAll() - Cleans up all Particle Emitters on an E2.
- emitterCanCreate() - Returns 1 if the E2 can create another Emitter.
- emitterRemainingSpawns() - Returns the number of Emitters that can still be created by this E2.
- emitterSetParent(N,E) - Parents a Particle Emitter to the given Entity.
- emitterSetPos(N,V) - Sets the position of an Emitter. If the Emitter is parented, this is a relative vector.
- emitterSetRate(N,N - Sets the number of particles emitted per-second by an Emitter.
- emitterSetMaterial(N,S) - Sets the texture to use for particles emitted.
- emitterSetDrag(N,N) - Sets the amount of drag on the particles emitted by this Emitter (i.e. how much a particle slows down per second).
- emitterSetBounce(N,N) - Sets the amount of velocity particles retain when bouncing off of things. Requires emitterSetCanBounce to be true.
- emitterSetCanBounce(N,N) - Toggles the ability for particles emitted by this Emitter to collide with things.
- emitterSetColor(N,V) - Sets the color of particles emitted by this Emitter.
- emitterSetLifespan(N,N) - Sets the time to life (in seconds) for particles emitted by this Emitter.
- emitterSetStartAlpha(N,N) - Sets the initial opacity of particles emitted by this Emitter.
- emitterSetEndAlpha(N,N) - Sets the ending opacity of particles emitted by this Emitter.
- emitterSetStartSize(N,N) - Sets the initial lateral size of particles emitted by this Emitter.
- emitterSetEndSize(N,N) - Sets the ending lateral size of particles emitted by this Emitter.
- emitterSetStartLength(N,N) - Sets the initial vertical size of particles emitted by this Emitter.
- emitterSetEndLength(N,N) - Sets the ending vertical size of particles emitted by this Emitter.
- emitterSetGravity(N,V) - Sets the direction and magnitude of gravity on particles emitted by this Emitter.
- emitterSetRoll(N,N) - Sets the initial 2D angle of the particles emitted by this Emitter.
- emitterSetRollSpeed(N,N) - Sets the amount of spin each particle has.
- emitterSetRollSpeedNoise(N,N) - Randomizes the amount of spin each particle has. Random range is plus or minus the value given.
- emitterSetRollDrag(N,N) - Sets the amount that particle spin slows down over time.
- emitterSetRollSpeedMin(N,N) - Sets the minimum spin speed of a particle, after which emitterSetRollDrag has no effect.
- emitterSetVelocity(N,V) - Sets the direction and speed of particles emitted by this Emitter.
- emitterSetVelocityNoise(N,V) - Randomizes the direction and speed of particles emitted by this Emitter. Random range for each component is plus or minus the value given.
- emitterSetVelocityInherit(N,V) - Sets the amount of velocity imparted onto particles emitted by this Emitter. Requires the Emitter to be parented to something. Giving this a Vector value allows you to control the speed multiplier for each direction, where a Number will just multiply the speed itself.