This is my old particles code, hope it helps…

matrix_t modelView;

Vector3 x;

Vector3 a;

Vector3 b;

Vector3 c;

glGetFloatv(GL_MODELVIEW_MATRIX, modelView);

x.x = modelView[0];

x.y = modelView[4];

x.z = modelView[8];

y.x = modelView[1];

y.y = modelView[5];

y.z = modelView[9];

size = parts[i].GetSize();

a = parts[i].GetPos() + ((-x - y) * size);

b = parts[i].GetPos() + ((x - y) * size);

c = parts[i].GetPos() + ((x + y) * size);

//vertex 1

vertici[i*3].x = a.x;

vertici[i*3].y = a.y;

vertici[i*3].z = a.z;

//vertex 2

vertici[(i*3)+1].x = b.x;*

vertici[(i3)+1].y = b.y;

vertici[(i*3)+1].z = b.z;*

//vertex 3

vertici[(i3)+2].x = c.x;

vertici[(i*3)+2].y = c.y;*

vertici[(i3)+2].z = c.z;

Hope it helps

rIO http://www.spinningkids.org/umine