Quasar
Moderator

Posts: 5237
Registered: 08-00 |
The particle bugs in Millennium are very simple. First, some of the effects need features that Eternity didn't have -- until now, since I have added them in order to support Millennium. Second, you just have some slight incompatibilities:
1) It seems that in the old system, particles with the "fall to ground" flag automatically lived until they hit the ground. Eternity particles currently need a positive TTL value instead. I see you doing p->ttl = 1 a lot. That means the particle is only going to last for one gametic, so more than likely, you won't ever see it.
2) You still have some places where NULL is being dereferenced, like in the NewDrip function. You check in that function itself, but then you blindly return the value NULL and use it in the calling function. This is still not correct and will cause a crash.
I wouldn't worry about it though. Because of the complicated nature of some of these problems (imagine trying to calculate the proper TTL of an accelerating drip particle so that it dies x tics after it hits the ground -- this is more or less a calculus problem!), I am implementing some of those flags in Eternity, and putting several of the Millennium particle effects into the engine. Once they're in, you'll automatically not have to worry about them any more.
|