#include #include #include #include #include #include LEVEL level; GLuint sphere; GLuint meditex_blue; extern TEXLIST *texlist; int InitGame() { GLfloat mat_ambient_and_diffuse[] = { 0.5, 0.5, 0.5, 1.0}; glViewport(0, 0, 640, 480); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(50.0, 640.0/480.0, 0.1, 1000.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glShadeModel(GL_SMOOTH); glClearColor(0.0, 0.0, 0.0, 0.0); glClearDepth(1.0); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glEnable(GL_CULL_FACE); glFrontFace(GL_CCW); glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat_ambient_and_diffuse); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); meditex_blue = LoadTexture("medib.tex"); glEnable(GL_TEXTURE_2D); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); GLUquadricObj *quadric = gluNewQuadric(); gluQuadricDrawStyle(quadric, GLU_FILL); gluQuadricTexture(quadric, GL_TRUE); LoadLevel("level2.lvl", &level); sphere = glGenLists(1); glNewList(sphere, GL_COMPILE); glRotatef(90, 1.0, 0.0, 0.0); gluSphere(quadric, 1.0, 24, 24); glEndList(); gluDeleteQuadric(quadric); return 1; } void UninitGame() { FreeLevel(&level); free(texlist); }