void NETHER::draw_status(void) { /* Clear the color and depth buffers. */ glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); /* Draw buttons: */ { List<STATUSBUTTON> l; STATUSBUTTON *b; float angle,cf; l.Instance(buttons); l.Rewind(); while(l.Iterate(b)) { if (b->status>=-16) { angle=(float(b->status)*90.0)/16.0; cf=float((16-abs(b->status)))/16.0; glPushMatrix(); glTranslatef(b->x,b->y,0); glRotatef(angle,0,1,0); /* Draw button: */ glColor3f(b->r*cf,b->g*cf,b->b*cf); glutSolidBox(b->sx/2,b->sy/2,10.0); glTranslatef(0,0,11); glColor3f(1.0,1.0,1.0); if (b->text1[0]!=0) { if (b->text2[0]!=0) { glTranslatef(0,-12,0); scaledglprintf(0.1f,0.1f,b->text2); glTranslatef(0,17,0); scaledglprintf(0.1f,0.1f,b->text1); } else { glTranslatef(0,-3,0); scaledglprintf(0.1f,0.1f,b->text1); } /* if */ } /* if */ glPopMatrix(); } /* if */ } /* while */ } glPushMatrix(); switch(act_menu) { case GENERAL_MENU: { STATUSBUTTON *b; b=getbutton(STATUS_BUTTON); if (b!=0 && b->status==0) { statistics[0][7]=robots[0].Length(); statistics[1][7]=robots[1].Length(); glColor3f(0.5f,0.5f,1.0f); glTranslatef(70,356,0); scaledglprintf(0.1f,0.1f,"%i WARBASES %i",statistics[1][0],statistics[0][0]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%i ELECTR'S %i",statistics[1][1],statistics[0][1]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%i NUCLEAR %i",statistics[1][2],statistics[0][2]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%i PHASERS %i",statistics[1][3],statistics[0][3]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%i MISSILES %i",statistics[1][4],statistics[0][4]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%i CANNON %i",statistics[1][5],statistics[0][5]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%i CHASSIS %i",statistics[1][6],statistics[0][6]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%.2i ROBOTS %.2i",statistics[1][7],statistics[0][7]); glColor3f(0.0f,0.8f,0.0f); glTranslatef(0,-65,0); scaledglprintf(0.1f,0.1f,"GENERAL %.2i",resources[0][0]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ELECTR' %.2i",resources[0][1]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"NUCLEAR %.2i",resources[0][2]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"PHASERS %.2i",resources[0][3]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"MISSILE %.2i",resources[0][4]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"CANNON %.2i",resources[0][5]); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"CHASSIS %.2i",resources[0][6]); } /* if */ } break; case ROBOT_MENU: case DIRECTCONTROL_MENU: { STATUSBUTTON *b; b=getbutton(ROBOT1_BUTTON); if (b!=0 && b->status==0) { glTranslatef(70,140,0); glColor3f(1.0f,1.0f,0.0); scaledglprintf(0.1f,0.1f,"-ORDERS-"); glColor3f(0.5f,0.5f,1.0f); switch(controlled->program) { case PROGRAM_STOPDEFEND: glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"STOP"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"AND"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"DEFEND"); break; case PROGRAM_ADVANCE: glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"ADVANCE"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%.2i",controlled->program_parameter/2); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"MILES"); break; case PROGRAM_RETREAT: glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"RETREAT"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"%.2i",controlled->program_parameter/2); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"MILES"); break; case PROGRAM_DESTROY: glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"DESTROY"); switch(controlled->program_parameter) { case P_PARAM_ROBOTS: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ENEMY"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ROBOTS"); break; case P_PARAM_WARBASES: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ENEMY"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"WARBASES"); break; case P_PARAM_NFACTORIES: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"NEUTRAL"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"FACTORIES"); break; case P_PARAM_EFACTORIES: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ENEMY"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"FACTORIES"); break; } /* switch */ break; case PROGRAM_CAPTURE: glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"CAPTURE"); switch(controlled->program_parameter) { case P_PARAM_ROBOTS: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ENEMY"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ROBOTS"); break; case P_PARAM_WARBASES: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ENEMY"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"WARBASES"); break; case P_PARAM_NFACTORIES: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"NEUTRAL"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"FACTORIES"); break; case P_PARAM_EFACTORIES: glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"ENEMY"); glTranslatef(0,-18,0); scaledglprintf(0.1f,0.1f,"FACTORIES"); break; } /* switch */ break; } /* switch */ glTranslatef(0,-44,0); glColor3f(1.0f,1.0f,0.0); scaledglprintf(0.1f,0.1f,"STRENGTH"); glTranslatef(0,-18,0); glColor3f(1.0f,1.0f,1.0f); scaledglprintf(0.1f,0.1f,"%.3i%c",controlled->strength,'%'); } /* if */ } break; case COMBATMODE_MENU: case DIRECTCONTROL2_MENU: glTranslatef(70,40,0); glColor3f(1.0f,1.0f,0.0); scaledglprintf(0.1f,0.1f,"STRENGTH"); glTranslatef(0,-18,0); glColor3f(1.0f,1.0f,1.0f); scaledglprintf(0.1f,0.1f,"%.3i%c",controlled->strength,'%'); break; case ORDERS_MENU: { STATUSBUTTON *b; b=getbutton(ORDERS1_BUTTON); if (b!=0 && b->status==0) { glTranslatef(70,400,0); glColor3f(1.0f,1.0f,1.0f); scaledglprintf(0.1f,0.1f,"SELECT"); glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"ORDERS"); glTranslatef(0,-340,0); glColor3f(1.0f,1.0f,0.0); scaledglprintf(0.1f,0.1f,"STRENGTH"); glTranslatef(0,-18,0); glColor3f(1.0f,1.0f,1.0f); scaledglprintf(0.1f,0.1f,"%.3i%c",controlled->strength,'%'); } /* if */ } break; case SELECTDISTANCE_MENU: { STATUSBUTTON *b; b=getbutton(ORDERS_BUTTON); if (b!=0 && b->status==0) { glTranslatef(70,300,0); glColor3f(0.5f,0.5f,1.0f); scaledglprintf(0.1f,0.1f,"SELECT"); glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"DISTANCE"); glColor3f(1.0f,1.0f,0.0); glTranslatef(0,-40,0); scaledglprintf(0.1f,0.1f,"%.2i MILES",controlled->program_parameter/2); glTranslatef(0,-200,0); glColor3f(1.0f,1.0f,0.0); scaledglprintf(0.1f,0.1f,"STRENGTH"); glTranslatef(0,-18,0); glColor3f(1.0f,1.0f,1.0f); scaledglprintf(0.1f,0.1f,"%.3i%c",controlled->strength,'%'); } /* if */ } break; case TARGETD_MENU: case TARGETC_MENU: { STATUSBUTTON *b; b=getbutton(ORDERS_BUTTON); if (b!=0 && b->status==0) { glTranslatef(70,350,0); glColor3f(0.5f,0.5f,1.0f); scaledglprintf(0.1f,0.1f,"SELECT"); glTranslatef(0,-20,0); scaledglprintf(0.1f,0.1f,"TARGET"); glTranslatef(0,-290,0); glColor3f(1.0f,1.0f,0.0); scaledglprintf(0.1f,0.1f,"STRENGTH"); glTranslatef(0,-18,0); glColor3f(1.0f,1.0f,1.0f); scaledglprintf(0.1f,0.1f,"%.3i%c",controlled->strength,'%'); } /* if */ } break; } /* switch */ glPopMatrix(); } /* NETHER::draw_status */
/* void BuildFont(void){ HFONT font; base = glGenLists(96); font = CreateFont( -24, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE|DEFAULT_PITCH, "Courier New"); } */ void mainmenu_draw(int width,int height) { float lightpos2[4]={0,0,1000,0}; float tmpls[4]={1.0F,1.0F,1.0F,1.0}; float tmpld[4]={0.6F,0.6F,0.6F,1.0}; float tmpla[4]={0.2F,0.2F,0.2F,1.0}; float ratio; if (nethertittle==0) { nethertittle=new C3DObject("models/tittle.asc","textures/"); nethertittle->normalize(7.0); } /* if */ /* Enable Lights, etc.: */ glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0,GL_AMBIENT,tmpla); glLightfv(GL_LIGHT0,GL_DIFFUSE,tmpld); glLightfv(GL_LIGHT0,GL_SPECULAR,tmpls); glEnable(GL_LIGHTING); glEnable(GL_COLOR_MATERIAL); glShadeModel( GL_SMOOTH ); glCullFace( GL_BACK ); glFrontFace( GL_CCW ); glEnable( GL_CULL_FACE ); glDisable( GL_SCISSOR_TEST ); glEnable( GL_DEPTH_TEST ); glLightfv(GL_LIGHT0,GL_POSITION,lightpos2); glClearColor(0,0,0,0.0); glViewport(0,0,width,height); ratio=(float)width/float(height); glMatrixMode( GL_PROJECTION ); glLoadIdentity( ); gluPerspective( 30.0, ratio, 1.0, 1024.0 ); gluLookAt(0,0,30,0,0,0,0,1,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); switch(mainmenu_status) { case 0: glTranslatef(0,3,40-mainmenu_substatus); //nethertittle->draw(1.0,1.0,1.0); break; case 1: glTranslatef(0,3,0); glPushMatrix(); glRotatef(sin(mainmenu_substatus*0.02)*5.0f,0,1,0); nethertittle->draw(1.0,1.0,1.0); glPopMatrix(); glColor3f(0.5,0.5,1.0); glTranslatef(-6,-6,0); scaledglprintf2(0.005,0.005,_("1 - START NEW GAME ")); glTranslatef(-0,-1,0); scaledglprintf2(0.005,0.005,_("2 - REDEFINE KEYBOARD")); glTranslatef(0,-1,0); scaledglprintf2(0.005,0.005,_("3 - OPTIONS ")); glTranslatef(0,-1,0); scaledglprintf2(0.005,0.005,_("4 - MAP: %s"),mapname); glTranslatef(0,-1,0); scaledglprintf2(0.005,0.005,_("5 - EXIT GAME ")); break; case 2: case 4: case 5: case 6: glTranslatef(0,3,mainmenu_substatus); nethertittle->draw(1.0,1.0,1.0); break; case 3: glColor3f(0.5,0.5,1.0); glTranslatef(0,3.5,0); if (SCREEN_X== 320) scaledglprintf(0.005,0.005,_("1 - RESOLUTION: 320x240")); if (SCREEN_X== 400) scaledglprintf(0.005,0.005,_("1 - RESOLUTION: 400x300")); if (SCREEN_X== 640) scaledglprintf(0.005,0.005,_("1 - RESOLUTION: 640x480")); if (SCREEN_X== 800) scaledglprintf(0.005,0.005,_("1 - RESOLUTION: 800x600")); if (SCREEN_X==1024) scaledglprintf(0.005,0.005,_("1 - RESOLUTION: 1024x768")); if (SCREEN_X==1280) scaledglprintf(0.005,0.005,_("1 - RESOLUTION: 1280x1024")); glTranslatef(0,-1,0); if (COLOUR_DEPTH== 8) scaledglprintf(0.005,0.005, _("2 - COLOR DEPTH: 8bit ")); if (COLOUR_DEPTH==16) scaledglprintf(0.005,0.005,_("2 - COLOR DEPTH: 16bit ")); if (COLOUR_DEPTH==24) scaledglprintf(0.005,0.005,_("2 - COLOR DEPTH: 24bit ")); if (COLOUR_DEPTH==32) scaledglprintf(0.005,0.005,_("2 - COLOR DEPTH: 32bit ")); glTranslatef(0,-1,0); if (fullscreen) scaledglprintf(0.005,0.005,_("3 - FULLSCREEN ")); else scaledglprintf(0.005,0.005,_("3 - WINDOWED ")); glTranslatef(0,-1,0); if (shadows==0) scaledglprintf(0.005,0.005,_("4 - SHADOWS: OFF ")); if (shadows==1) scaledglprintf(0.005,0.005,_("4 - SHADOWS: ON - DIAG ")); if (shadows==2) scaledglprintf(0.005,0.005,_("4 - SHADOWS: ON - VERT ")); glTranslatef(0,-1,0); if (detaillevel==0) scaledglprintf(0.005,0.005,_("5 - DETAIL: LOWEST ")); if (detaillevel==1) scaledglprintf(0.005,0.005,_("5 - DETAIL: LOW ")); if (detaillevel==2) scaledglprintf(0.005,0.005,_("5 - DETAIL: MEDIUM ")); if (detaillevel==3) scaledglprintf(0.005,0.005,_("5 - DETAIL: HIGH ")); if (detaillevel==4) scaledglprintf(0.005,0.005,_("5 - DETAIL: HIGHEST ")); glTranslatef(0,-1,0); if (sound) scaledglprintf(0.005,0.005,_("6 - SOUND: ON ")); else scaledglprintf(0.005,0.005,_("6 - SOUND: OFF ")); glTranslatef(0,-1,0); if (level==0) scaledglprintf(0.005,0.005,_("7 - LEVEL: EASY ")); if (level==1) scaledglprintf(0.005,0.005,_("7 - LEVEL: NORMAL ")); if (level==2) scaledglprintf(0.005,0.005,_("7 - LEVEL: HARD ")); if (level==3) scaledglprintf(0.005,0.005,_("7 - LEVEL: IMPOSSIBLE ")); glTranslatef(0,-1,0); if (show_radar) scaledglprintf(0.005,0.005,_("8 - RADAR: ON ")); else scaledglprintf(0.005,0.005,_("8 - RADAR: OFF ")); glTranslatef(0,-1,0); scaledglprintf(0.005,0.005,_("9 - BACK ")); break; case 7: { char tmp[256]; glColor3f(0.5,0.5,1.0); glTranslatef(0,5,0); scaledglprintf(0.005,0.005,"REDEFINE KEYBOARD"); glTranslatef(0,-2,0); if (mainmenu_substatus!=0) glColor3f(0.5,0.5,1.0); else glColor3f(1.0,0.0,0.0); sprintf(tmp,_("PRESS A KEY FOR UP: %s"),strupr(SDL_GetKeyName((SDLKey)up_key))); scaledglprintf(0.005,0.005,tmp); glTranslatef(0,-1,0); if (mainmenu_substatus!=1) glColor3f(0.5,0.5,1.0); else glColor3f(1.0,0.0,0.0); sprintf(tmp,_("PRESS A KEY FOR DOWN: %s"),strupr(SDL_GetKeyName((SDLKey)down_key))); scaledglprintf(0.005,0.005,tmp); glTranslatef(0,-1,0); if (mainmenu_substatus!=2) glColor3f(0.5,0.5,1.0); else glColor3f(1.0,0.0,0.0); sprintf(tmp,_("PRESS A KEY FOR LEFT: %s"),strupr(SDL_GetKeyName((SDLKey)left_key))); scaledglprintf(0.005,0.005,tmp); glTranslatef(0,-1,0); if (mainmenu_substatus!=3) glColor3f(0.5,0.5,1.0); else glColor3f(1.0,0.0,0.0); sprintf(tmp,_("PRESS A KEY FOR RIGHT: %s"),strupr(SDL_GetKeyName((SDLKey)right_key))); scaledglprintf(0.005,0.005,tmp); glTranslatef(0,-1,0); if (mainmenu_substatus!=4) glColor3f(0.5,0.5,1.0); else glColor3f(1.0,0.0,0.0); sprintf(tmp,_("PRESS A KEY FOR FIRE: %s"),strupr(SDL_GetKeyName((SDLKey)fire_key))); scaledglprintf(0.005,0.005,tmp); glTranslatef(0,-1,0); if (mainmenu_substatus!=5) glColor3f(0.5,0.5,1.0); else glColor3f(1.0,0.0,0.0); sprintf(tmp,_("PRESS A KEY FOR PAUSE/MENU: %s"),strupr(SDL_GetKeyName((SDLKey)pause_key))); scaledglprintf(0.005,0.005,tmp); glColor3f(0.5,0.5,1.0); glTranslatef(0,-2,0); scaledglprintf(0.005,0.005,_("PG.UP/PG.DOWN CHANGE THE ZOOM")); if (mainmenu_substatus>5) { glColor3f(1,1,1); glTranslatef(0,-2,0); scaledglprintf(0.005,0.005,_("PRESS ANY KEY TO RETURN TO MAIN MENU")); } /* if */ } break; } /* switch */ SDL_GL_SwapBuffers(); } /* NETHER::draw */
void NETHER::options_draw(int w,int h) { float lightpos2[4]={0,0,1000,0}; float tmpls[4]={1.0F,1.0F,1.0F,1.0}; float tmpld[4]={0.6F,0.6F,0.6F,1.0}; float tmpla[4]={0.2F,0.2F,0.2F,1.0}; float ratio; int splitx[2]={int(w*0.3),int(w*0.7)}; int splity[2]={int(h*0.3),int(h*0.7)}; /* Enable Lights, etc.: */ glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); // Really Nice Perspective Calculations glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0,GL_AMBIENT,tmpla); glLightfv(GL_LIGHT0,GL_DIFFUSE,tmpld); glLightfv(GL_LIGHT0,GL_SPECULAR,tmpls); glEnable(GL_LIGHTING); glEnable(GL_COLOR_MATERIAL); glShadeModel( GL_SMOOTH ); glCullFace( GL_BACK ); glFrontFace( GL_CCW ); glEnable( GL_CULL_FACE ); glEnable( GL_SCISSOR_TEST ); glEnable( GL_DEPTH_TEST ); /* Draw the MENU: */ glLightfv(GL_LIGHT0,GL_POSITION,lightpos); glClearColor(0,0,0,0.0); glViewport(splitx[0],splity[0],splitx[1]-splitx[0],splity[1]-splity[0]); ratio=float(splitx[1]-splitx[0])/float(splity[1]-splity[0]); glMatrixMode( GL_PROJECTION ); glLoadIdentity( ); gluPerspective( 30.0, ratio, 1.0, 1024.0 ); glScissor(splitx[0],splity[0],splitx[1]-splitx[0],splity[1]-splity[0]); gluLookAt(0,0,30,0,0,0,0,1,0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); if (game_state==STATE_PAUSE) { if (option_menu==0) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,5,0); scaledglprintf(0.01,0.01,"RETURN TO GAME"); if (option_menu==1) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-5,0); scaledglprintf(0.01,0.01,"LOAD GAME"); if (option_menu==2) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-3,0); scaledglprintf(0.01,0.01,"SAVE GAME"); if (option_menu==3) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-3,0); scaledglprintf(0.01,0.01,"QUIT GAME"); } /* if */ if (game_state==STATE_SAVINGGAME) { int i; FILE *fp; char filename[80]; glColor3f(0.5,0.5,1.0); glTranslatef(0,6,0); scaledglprintf(0.01,0.01,"CHOOSE SLOT TO SAVE"); if (option_menu==0) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-4,0); scaledglprintf(0.01,0.01,"CANCEL"); for(i=0;i<4;i++) { if (option_menu==(i+1)) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-2,0); sprintf(filename,"savedgame%i.txt",i); fp=fopen(filename,"r"); if (fp==0) { scaledglprintf(0.01,0.01,"SLOT%i - EMPTY",i+1); } else { scaledglprintf(0.01,0.01,"SLOT%i - GAME SAVED",i+1); fclose(fp); } /* if */ } /* for */ } /* if */ if (game_state==STATE_LOADINGGAME) { int i; FILE *fp; char filename[80]; glColor3f(0.5,0.5,1.0); glTranslatef(0,6,0); scaledglprintf(0.01,0.01,"CHOOSE SLOT TO LOAD"); if (option_menu==0) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-4,0); scaledglprintf(0.01,0.01,"CANCEL"); for(i=0;i<4;i++) { if (option_menu==(i+1)) glColor3f(1.0,0.0,0.0); else glColor3f(0.5,0.5,1.0); glTranslatef(0,-2,0); sprintf(filename,"savedgame%i.txt",i); fp=fopen(filename,"r"); if (fp==0) { scaledglprintf(0.01,0.01,"SLOT%i - EMPTY",i+1); } else { scaledglprintf(0.01,0.01,"SLOT%i - GAME SAVED",i+1); fclose(fp); } /* if */ } /* for */ } /* if */ } /* NETHER::options_draw */