Mercurial > pidgin
view plugins/crazychat/draw.c @ 15938:2e3eba412412
Commit a proper copy of this binary file. The old one was corrupted,
probably due to missing SVN attributes.
This was retrieved from the following URL, though we may have it in CVS:
http://dev.openwengo.com/trac/openwengo/trac.cgi/browser/vendors/gaim/trunk/doc/oscar/On_Sending_Files_via_OSCAR.odt?rev=4273
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Mon, 16 Apr 2007 00:43:53 +0000 |
parents | ed017b9c532d |
children |
line wrap: on
line source
#include "righteye10.h" typedef struct _point{ GLshort x; GLshort y; } Point; typedef struct Packet{ Point mouthLeft; Point mouthRight; Point mouthTop; Point mouthBottom; Point eyeLeft; Point eyeRight; } Packet; #define NUM_EYE_FRAMES 10 GLint rightEyes[NUM_EYE_FRAMES]; void CalculateMouthPoints(GLshort[][][] ctrlpoints, struct Packet* p) { GLshort points[4][3]; points[0][0]=p->mouthLeft.x; points[0][1]=p->mouthLeft.y; points[0][2]=front; points[1][0]=p->mouthBottom.x; points[1][1]=p->mouthTop.y; points[1][2]=front; points[2][0]=p->mouthRight.x; points[2][1]=p->mouthRight.y; points[2][2]=front; points[3][0]=p->mouthTop.x; points[3][1]=p->mouthTop.y; points[3][2]=front; ctrlpoints[0][0][0]=points[0][0]; ctrlpoints[0][0][1]=points[0][1]; ctrlpoints[0][0][2]=points[0][2]; ctrlpoints[0][1][0]=points[1][0]; ctrlpoints[0][1][1]=points[1][1]; ctrlpoints[0][1][2]=points[1][2]; ctrlpoints[0][2][0]=points[2][0]; ctrlpoints[0][2][1]=points[2][1]; ctrlpoints[0][2][2]=points[2][2]; ctrlpoints[1][0][0]=points[0][0]; ctrlpoints[1][0][1]=points[0][1]; ctrlpoints[1][0][2]=points[0][2]; ctrlpoints[1][1][0]=0; ctrlpoints[1][1][1]=0; ctrlpoints[1][1][2]=back; ctrlpoints[1][2][0]=points[2][0]; ctrlpoints[1][2][1]=points[2][1]; ctrlpoints[1][2][2]=points[2][2]; ctrlpoints[2][0][0]=points[0][0]; ctrlpoints[2][0][1]=points[0][1]; ctrlpoints[2][0][2]=points[0][2]; ctrlpoints[2][1][0]=points[3][0]; ctrlpoints[2][1][1]=points[3][1]; ctrlpoints[2][1][2]=points[3][2]; ctrlpoints[2][2][0]=points[2][0]; ctrlpoints[2][2][1]=points[2][1]; ctrlpoints[2][2][2]=points[2][2]; } void drawMouth(struct Packet* p) { GLshort[4][3][3] ctrlpoints; CalculateMouthPoints(ctrlpoints, p); glMap2f(GL_MAP2_VERTEX_3, 0, 10, 3, 3, 0.0, 10.0, 9, 3, &ctrlpoints[0][0][0]); glEnable(GL_MAP2_VERTEX_3); glMapGrid2f(10, 0, 10, 10, 0, 10); glEnable(GL_AUTO_NORMAL); glEvalMesh2(GL_FILL, 0, 10, 0, 10); } void initEyes(){ void drawEyes(struct Packet* p){ GLshort eye[3][3][3]; CalculateEyePoints(eye, p, LEFT); glMap2f(GL_MAP2_VERTEX_3, 0, 10, 3, 3, 0.0, 10.0, 9, 3, &eyep[0][0][0]); glMapGrid2f(10, 0, 10, 10, 0, 10); glEvalMesh2(GL_FILL, 0, 10, 0, 10); CalculateEyePoints(eye, p, RIGHT); glMap2f(GL_MAP2_VERTEX_3, 0, 10, 3, 3, 0.0, 10.0, 9, 3, &eyep[0][0][0]); glMapGrid2f(10, 0, 10, 10, 0, 10); glEvalMesh2(GL_FILL, 0, 10, 0, 10); } void drawHead(struct Packet* p){ }