#include <acknex.h>
#include <default.c>
BMAP* particle_bmap = "light_red.tga";
var sploder_center[3] = { 50.0, 0.0, 0.0 };
var null_vector[3] = { 0.0, 0.0, 0.0 };
function vec_randomize (VECTOR* vec, var range)
{
vec_set(vec,vector(random(1)-0.5,random(1)-0.5,random(1)-0.5));
vec_normalize(vec,random(range));
}
function part_alphafade(PARTICLE *p)
{
p.alpha -= 2*time_step;
if (p.alpha <= 0) p.lifespan = 0;
}
function effect_explo(PARTICLE *p)
{
VECTOR vTemp;
vec_randomize(vTemp,10);
vec_add(p.vel_x,vTemp);
p.alpha = 25 + random(25);
p.bmap = particle_bmap;
p.flags |= (BRIGHT | MOVE);
p.event = part_alphafade; // change to a shorter, faster function
}
function main()
{
while(1)
{
effect(effect_explo,1000, sploder_center, null_vector);
wait(-1);
}
}