Well, if you have the x,y,z ( origin ) of the particle…the size of the particle…and a up and right vector…try something like this:
float scale = particle_size * 0.5f;
vector vert[4];
VectorMA( origin, -scale, up, vert[0] );
VectorMA( vert[0], -scale, right, vert[0] );
VectorMA( origin, -scale, up, vert[1] );
VectorMA( vert[1], scale, right, vert[1] );
VectorMA( origin, scale, up, vert[2] );
VectorMA( vert[2], scale, right, vert[2] );
VectorMA( origin, scale, up, vert[3] );
VectorMA( vert[3], -scale, right, vert[3] );
// Now you have your oriented quad
…add quad into engine, heh heh
BTW, VectorMA is vector multiply and add, defined something like this:
void VectorMA( vector origin, float scale, vector dir, vector result)
{
result[0] = origin[0] + dir[0] * scale;
result[1] = origin[1] + dir[1] * scale;
result[2] = origin[2] + dir[2] * scale;
}