What's even weirder is, I added:
Code: Select all
printf("Box minedge is %f,%f,%f.",Box.MinEdge.X,Box.MinEdge.Y,Box.MinEdge.Z);
I have modified Irrlicht but I haven't touched the particle systems (I added userdata to IReferenceCounted and shadow volume nodes to basic objects).
UPDATE
After discussing it on IRC, we still haven't found the problem, but we've narrowed it down. The Irrlicht box emitter is pushing particles onto the Particles array, but when the particle system is retrieving them, they have all screwed up values.
The Irrlicht example works absolutely fine.