Yeah i think i know WHY its going wrong but its seems to be that this is the only way to do what i want:

When the sprites are created they are all told to run the DO_SPRITE function, which stays open for the object untill its deleted. So with each new object another copy of the function is opened and this all takes up loads of memory till there are like 800 or so copies of the function running.

Sadly though it doesnt seem that theres any support for a loop run once each frame (through func_main), that would handle all the instructions updating all particles and removing unnecessary once in one go. This is the way i did it in blitz and im reasonably confident its the best way. Certainly the way its going in Lite-C is not the way forward!


I am a noob to this... Blitz3D is where i am best at!