In particular:
It is taking the up and right vectors (angle vectors output) for the player angles and multiplying (+adding) them into the vertices.{ // normal sprite
up = vup;
right = vright;
}
...
glTexCoord2f (0, 1);
VectorMA (e->origin, frame->down, up, point);
VectorMA (point, frame->left, right, point);
glVertex3fv (point);
glTexCoord2f (0, 0);
VectorMA (e->origin, frame->up, up, point);
VectorMA (point, frame->left, right, point);
glVertex3fv (point);
glTexCoord2f (1, 0);
VectorMA (e->origin, frame->up, up, point);
VectorMA (point, frame->right, right, point);
glVertex3fv (point);
glTexCoord2f (1, 1);
VectorMA (e->origin, frame->down, up, point);
VectorMA (point, frame->right, right, point);
glVertex3fv (point);
Shouldn't it just ignore the sprite angles and use the player's own view angles and use those to calculate the modelview matrix (i.e. translate on origin, rotate on the viewing player angles, maybe scale on something if any sprites even do that in Quake)?
Or am I missing something here? The reason I ask is that the RMQ Engine seems to take the "long route" too, so I am wondering if there is some factor I am not taking into consideration. I mean I wouldn't think MH would take the "long way" for no reason since he always rewrites anything he thinks is wasteful into "properness".
[I'm referring to standard sprites (i.e. always facing you, like explosion sprites) here, not the oriented ones, etc ...]