rendered paste bodystatic void
draw(CompScreen* s, ScreenPaintAttrib *sAttrib, int output, GLint gear1, GLint gear2, GLint gear3, GLfloat angle)
{
glPushMatrix();
CompTransform sTransform;
memcpy (sTransform.m, identity, sizeof (float) * 16);
(*s->applyScreenTransform) (s, sAttrib, output, &sTransform);
glLoadMatrixf (sTransform.m);
prepareXCoords (s, output, -sAttrib->zTranslate);
glTranslatef(s->width / 2, s->height / 2, 0.5f);
glScalef (s->width, -s->height, 1.0f);
glTranslatef (0.0f, 0.0f, -40.0f);
glPushMatrix();
glTranslatef(-3.0, -2.0, 0.0);
glRotatef(angle, 0.0, 0.0, 1.0);
glCallList(gear1);
glPopMatrix();
glPushMatrix();
glTranslatef(3.1, -2.0, 0.0);
glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
glCallList(gear2);
glPopMatrix();
glPushMatrix();
glTranslatef(-3.1, 4.2, 0.0);
glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
glCallList(gear3);
glPopMatrix();
glPopMatrix();
}