Jump to content

ParticleSystemRefactor backwards compatibility


LukasPJ

Recommended Posts

Hey guys, as you may know I'm refactoring the particle system and it's being completely changed. This is how it works in script now:

datablock SphereEmitterData(DefaultParticleEmitter)
{
};
 
datablock BillboardRendererData(DefaultParticleRenderer)
{
   textureName = "core/art/defaultParticle";
};
 
datablock StickyBehaviour(StickyBHV) 
{
};
 
datablock ParticleSystemData(DefaultParticleSystem)
{
   Emitter = DefaultParticleEmitter;
   Renderer = DefaultParticleRenderer;
   ParticleBehaviour[0] = StickyBHV;
};
 
datablock ParticleSystemNodeData(DefaultNode)
{
   timeMultiple = 1.0;
};

 

This provides ALOT of flexibility, the old system really only supported spherical emitters. This way you can have various different emitter types and mix and match emitters and renderers.


However as you may have guessed this also breaks compatibility with:

  1. The ParticleEditor
  2. Current scripts

 

Now, I don't see the ParticleEditor as that big of a loss, because most of what you can do through that, you can do through the DatablockEditor as well.. That said, I might write a new one. But the scripting compatibility is an issue. Now if this was released in version 4.0, it would be 'okay' to break compatibility, as that's what major versions are for.


But does the community think that we should maintain backwards compatibility? It'll be a MAJOR hassle and gonna take a while to figure it out, and imo the only result is that you have to spend a couple of hours rewriting your old datablocks. What do you say? Am I allowed to break backwards compatibility, or is it really that vital?


Refactor can be found here

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...