You *can* set a global particle pointer to some particle in its (event) function and use that when you manually set the pointer to NULL before particle removal (for example when lifespan gets low), but that's dangerous and can and probably will lead to crashes at some point.

I suggest you either use sprites/ models/ entities or if there's a bunch of those particles, then just use a global variable which the particle checks for:

Code:
var particleVariableBitmapType = 0;

void p_event(PARTICLE *p)
{
	if(particleVariableBitmapType == 1) p.bmap = smoke_bmp;
	else p.bmap = fire_bmp;
}

void p_fnc(PARTICLE *p)
{
	...
	p.event = p_event;
}

effect(p_fnc,...);



"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends