[sldev] The "flashing particles" bug isn't a flashing particles bug...

Argent Stonecutter secret.argent at gmail.com
Thu Jun 14 13:23:09 PDT 2007


OK, I've been working with Farallon on this, and I've figured it out.

The problem is that if you have "PSYS_PART_FOLLOW_SRC_MASK" then  
"PSYS_SRC_BURST_RADIUS" is ignored... you can't create a particle  
system that uses "PSYS_PART_FOLLOW_SRC_MASK" and starts the particle  
emission at a distance. Why not, I don't know, it's always been an  
annoyance to me, but I'd just gotten used to it. Farallon had some  
particle systems he'd modified that had a non-zero radius set, and he  
hadn't zeroed them out...

Before 1.15 or so, it acted as if "PSYS_SRC_BURST_RADIUS" was zero.

Now it seems to create the particles at "PSYS_SRC_BURST_RADIUS" then  
applies the "PSYS_PART_FOLLOW_SRC_MASK" rule on the following frame.

The correct "fix" is uncertain.

It seems to me that "PSYS_PART_FOLLOW_SRC_MASK" shouldn't prevent  
"PSYS_SRC_BURST_RADIUS" from working, and this should be fixed so  
that particles can be created at a distance and still follow source.  
that is, the original behavior is a bug.

However, that would possibly make some existing particle systems act  
funny. Now me, I'd go ahead and say "well, you created an undefined  
particle system, it's legal for Second Life to make demons fly out of  
your nose" (nasal demons look like red sparks. Who knew?). There's  
precedent for this, and I've not seen these sparks outside Seal Cove  
so I suspect there's not that many particle systems out there with  
the problem. Plus, there's probably some systems out there where  
people have set this and figured that when the bug got fixed their  
particle systems would start working right.

The alternate fix, simply zeroing out "PSYS_SRC_BURST_RADIUS" when  
"PSYS_PART_FOLLOW_SRC_MASK" is set, seems miserly to me. We should be  
looking for ways to fix old bugs like this.


More information about the SLDev mailing list