Look into 'particles.c' in game studio root folder. You can see that each particle has it's own while loop (p_run_sprite). But I guess you could make your own particles with sprites and handle all of them in one loop.
Greets!
Edit:
Originally Posted By: Reconnoiter
it probably uses static list and not a while for each sprite particle
Nothing build-in works that way
Code:
// internal sprite lifetime and movement function
function p_run_sprite(ENTITY* p)
{
while (p._LIFESPAN > 0)
{
vec_fill(p.scale_x,0.1*p._SIZE);
wait(1);
if(is(p,_MOVE))
{
VECTOR speed;
vec_set(speed,p._VEL_X);
vec_scale(speed,time_step);
p._VEL_Z -= p._GRAVITY * time_step;
vec_add(p.x,speed);
}
p._LIFESPAN -= time_step;
}
ent_remove(p);
}