- texdetail=temptexdetail;
-
- oldmainmenu=mainmenu;
-
- if(mainmenu==3||mainmenu==4||mainmenu==5||mainmenu==6||mainmenu==7||mainmenu==8||mainmenu==9||mainmenu==10||mainmenu==119||mainmenu==18){
- glClear(GL_DEPTH_BUFFER_BIT);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GREATER, 0.001f);
- glEnable(GL_TEXTURE_2D);
- glDisable(GL_DEPTH_TEST); // Disables Depth Testing
- glDisable(GL_CULL_FACE);
- glDisable(GL_LIGHTING);
- glDepthMask(0);
- glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
- glPushMatrix(); // Store The Projection Matrix
- glLoadIdentity(); // Reset The Projection Matrix
- glOrtho(0,screenwidth,0,screenheight,-100,100); // Set Up An Ortho Screen
- glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
- glPushMatrix(); // Store The Modelview Matrix
- glLoadIdentity(); // Reset The Modelview Matrix
- glTranslatef(screenwidth/2,screenheight/2,0);
- glPushMatrix();
- glScalef((float)screenwidth/2,(float)screenheight/2,1);
- glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
- glDisable(GL_BLEND);
- glColor4f(0,0,0,1.0);
- glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
- glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
- glDisable(GL_TEXTURE_2D);
- glPushMatrix();
- //glScalef(.25,.25,.25);
- glBegin(GL_QUADS);
- glTexCoord2f(0,0);
- glVertex3f(-1, -1, 0.0f);
- glTexCoord2f(1,0);
- glVertex3f(1, -1, 0.0f);
- glTexCoord2f(1,1);
- glVertex3f(1, 1, 0.0f);
- glTexCoord2f(0,1);
- glVertex3f(-1, 1, 0.0f);
- glEnd();
- glPopMatrix();
- glEnable(GL_BLEND);
- glColor4f(0.4,0.4,0.4,1.0);
- glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
- glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
- glEnable(GL_TEXTURE_2D);
- glBindTexture( GL_TEXTURE_2D, Mainmenuitems[4]);
- glPushMatrix();
- //glScalef(.25,.25,.25);
- glBegin(GL_QUADS);
- glTexCoord2f(0,0);
- glVertex3f(-1, -1, 0.0f);
- glTexCoord2f(1,0);
- glVertex3f(1, -1, 0.0f);
- glTexCoord2f(1,1);
- glVertex3f(1, 1, 0.0f);
- glTexCoord2f(0,1);
- glVertex3f(-1, 1, 0.0f);
- glEnd();
- glPopMatrix();
- glPopMatrix();
- glPopMatrix();
- glMatrixMode(GL_PROJECTION); // Select The Projection Matrix
- glPopMatrix();
- glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix
-
- if(mainmenu==3){
- nummenuitems=14;
- if((float)newscreenwidth>(float)newscreenheight*1.61||(float)newscreenwidth<(float)newscreenheight*1.59)sprintf (menustring[0], "Resolution: %d*%d",(int)newscreenwidth,(int)newscreenheight);
- else sprintf (menustring[0], "Resolution: %d*%d (widescreen)",(int)newscreenwidth,(int)newscreenheight);
- startx[0]=10+20;
- starty[0]=440;
- endx[0]=startx[0]+strlen(menustring[0])*10;
- endy[0]=starty[0]+20;
- movex[0]=0;
- movey[0]=0;
-
- if(newdetail==2)sprintf (menustring[1], "Detail: High");
- else if(newdetail==1)sprintf (menustring[1], "Detail: Medium");
- else sprintf (menustring[1], "Detail: Low");
- startx[1]=10+60;
- starty[1]=405;
- endx[1]=startx[1]+strlen(menustring[1])*10;
- endy[1]=starty[1]+20;
- movex[1]=0;
- movey[1]=0;
-
- if(bloodtoggle==2)sprintf (menustring[2], "Blood: On, high detail (slower)");
- if(bloodtoggle==1)sprintf (menustring[2], "Blood: On, low detail");
- if(bloodtoggle==0)sprintf (menustring[2], "Blood: Off");
- startx[2]=10+70;
- starty[2]=370;
- endx[2]=startx[2]+strlen(menustring[2])*10;
- endy[2]=starty[2]+20;
- movex[2]=0;
- movey[2]=0;
-
- if(difficulty==2)sprintf (menustring[3], "Difficulty: Insane");
- if(difficulty==1)sprintf (menustring[3], "Difficulty: Difficult");
- if(difficulty==0)sprintf (menustring[3], "Difficulty: Easier");
- startx[3]=10+20-1000;
- starty[3]=335-1000;
- endx[3]=startx[3]+strlen(menustring[3])*10;
- endy[3]=starty[3]+20;
- movex[3]=0;
- movey[3]=0;
-
- if(ismotionblur==1)sprintf (menustring[4], "Blur Effects: Enabled (less compatible)");
- if(ismotionblur==0)sprintf (menustring[4], "Blur Effects: Disabled (more compatible)");
- startx[4]=10;
- starty[4]=335;
- endx[4]=startx[4]+strlen(menustring[4])*10;
- endy[4]=starty[4]+20;
- movex[4]=0;
- movey[4]=0;
-
- if(decals==1)sprintf (menustring[5], "Decals: Enabled (slower)");
- if(decals==0)sprintf (menustring[5], "Decals: Disabled");
- startx[5]=10+60;
- starty[5]=300;
- endx[5]=startx[5]+strlen(menustring[5])*10;
- endy[5]=starty[5]+20;
- movex[5]=0;
- movey[5]=0;
-
- if(musictoggle==1)sprintf (menustring[6], "Music: Enabled");
- if(musictoggle==0)sprintf (menustring[6], "Music: Disabled");
- startx[6]=10+70;
- starty[6]=265;
- endx[6]=startx[6]+strlen(menustring[6])*10;
- endy[6]=starty[6]+20;
- movex[6]=0;
- movey[6]=0;
-
- if(invertmouse==1)sprintf (menustring[9], "Invert mouse: Yes");
- if(invertmouse==0)sprintf (menustring[9], "Invert mouse: No");
- startx[9]=10;
- starty[9]=230;
- endx[9]=startx[9]+strlen(menustring[9])*10;
- endy[9]=starty[9]+20;
- movex[9]=0;
- movey[9]=0;
-
- sprintf (menustring[10], "Mouse Speed: %d", (int)(usermousesensitivity*5));
- startx[10]=20;
- starty[10]=195;
- endx[10]=startx[10]+strlen(menustring[10])*10;
- endy[10]=starty[10]+20;
- movex[10]=0;
- movey[10]=0;
-
- sprintf (menustring[11], "Volume: %d%%", (int)(volume*100));
- startx[11]=10+60;
- starty[11]=160;
- endx[11]=startx[11]+strlen(menustring[11])*10;
- endy[11]=starty[11]+20;
- movex[11]=0;
- movey[11]=0;
-
- sprintf (menustring[13], "Damage Bar: %s",(showdamagebar?"on":"off"));
- startx[13]=30;
- starty[13]=125;
- endx[13]=startx[13]+strlen(menustring[13])*10;
- endy[13]=starty[13]+20;
- movex[13]=0;
- movey[13]=0;
-
- sprintf (menustring[7], "-Configure Controls-");
- startx[7]=10+15;
- starty[7]=90;
- endx[7]=startx[7]+strlen(menustring[7])*10;
- endy[7]=starty[7]+20;
- movex[7]=0;
- movey[7]=0;
-
- sprintf (menustring[12], "-Configure Stereo -");
- startx[12]=10+15;
- starty[12]=55;
- endx[12]=startx[12]+strlen(menustring[7])*10;
- endy[12]=starty[12]+20;
- movex[12]=0;
- movey[12]=0;
-
- if(newdetail==detail&&newscreenheight==(int)screenheight&&newscreenwidth==(int)screenwidth)sprintf (menustring[8], "Back");
- else sprintf (menustring[8], "Back (some changes take effect next time Lugaru is opened)");
- startx[8]=10;
- endx[8]=startx[8]+strlen(menustring[8])*10;
- starty[8]=10;
- endy[8]=starty[8]+20;
- movex[8]=0;
- movey[8]=0;
- }
-
- if(mainmenu==4){
- nummenuitems=10;
- if(keyselect!=0)sprintf (menustring[0], "Forwards: %s",Input::keyToChar(forwardkey));
- else sprintf (menustring[0], "Forwards: _");
- startx[0]=10;
- starty[0]=400;
- endx[0]=startx[0]+strlen(menustring[0])*10;
- endy[0]=starty[0]+20;
- movex[0]=0;
- movey[0]=0;
-
- if(keyselect!=1)sprintf (menustring[1], "Back: %s",Input::keyToChar(backkey));
- else sprintf (menustring[1], "Back: _");
- startx[1]=10+40;
- starty[1]=360;
- endx[1]=startx[1]+strlen(menustring[1])*10;
- endy[1]=starty[1]+20;
- movex[1]=0;
- movey[1]=0;
-
- if(keyselect!=2)sprintf (menustring[2], "Left: %s",Input::keyToChar(leftkey));
- else sprintf (menustring[2], "Left: _");
- startx[2]=10+40;
- starty[2]=320;
- endx[2]=startx[2]+strlen(menustring[2])*10;
- endy[2]=starty[2]+20;
- movex[2]=0;
- movey[2]=0;
-
- if(keyselect!=3)sprintf (menustring[3], "Right: %s",Input::keyToChar(rightkey));
- else sprintf (menustring[3], "Right: _");
- startx[3]=10+30;
- starty[3]=280;
- endx[3]=startx[3]+strlen(menustring[3])*10;
- endy[3]=starty[3]+20;
- movex[3]=0;
- movey[3]=0;
-
- if(keyselect!=4)sprintf (menustring[4], "Crouch: %s",Input::keyToChar(crouchkey));
- else sprintf (menustring[4], "Crouch: _");
- startx[4]=10+20;
- starty[4]=240;
- endx[4]=startx[4]+strlen(menustring[4])*10;
- endy[4]=starty[4]+20;
- movex[4]=0;
- movey[4]=0;
-
- if(keyselect!=5)sprintf (menustring[5], "Jump: %s",Input::keyToChar(jumpkey));
- else sprintf (menustring[5], "Jump: _");
- startx[5]=10+40;
- starty[5]=200;
- endx[5]=startx[5]+strlen(menustring[5])*10;
- endy[5]=starty[5]+20;
- movex[5]=0;
- movey[5]=0;
-
- if(keyselect!=6)sprintf (menustring[6], "Draw: %s",Input::keyToChar(drawkey));
- else sprintf (menustring[6], "Draw: _");
- startx[6]=10+40;
- starty[6]=160;
- endx[6]=startx[6]+strlen(menustring[6])*10;
- endy[6]=starty[6]+20;
- movex[6]=0;
- movey[6]=0;
-
- if(keyselect!=7)sprintf (menustring[7], "Throw: %s",Input::keyToChar(throwkey));
- else sprintf (menustring[7], "Throw: _");
- startx[7]=10+30;
- starty[7]=120;
- endx[7]=startx[7]+strlen(menustring[7])*10;
- endy[7]=starty[7]+20;
- movex[7]=0;
- movey[7]=0;
-
- if(keyselect!=8)sprintf (menustring[8], "Attack: %s",Input::keyToChar(attackkey));
- else sprintf (menustring[8], "Attack: _");
- startx[8]=10+20;
- starty[8]=80;
- endx[8]=startx[8]+strlen(menustring[8])*10;
- endy[8]=starty[8]+20;
- movex[8]=0;
- movey[8]=0;
-
-
-
- sprintf (menustring[9], "Back");
- startx[9]=10;
- endx[9]=startx[9]+strlen(menustring[9])*10;
- starty[9]=10;
- endy[9]=starty[9]+20;
- movex[9]=0;
- movey[9]=0;
- }
- if(mainmenu==5){
- nummenuitems=7+accountactive->getCampaignChoicesMade()+campaignchoicenum;
-
- sprintf (menustring[0], "%s",accountactive->getName());
- startx[0]=5;
- starty[0]=400;
- endx[0]=startx[0]+strlen(menustring[0])*10;
- endy[0]=starty[0]+20;
- movex[0]=0;
- movey[0]=0;
-
- sprintf (menustring[1], "Tutorial");
- startx[1]=5;
- starty[1]=300;
- endx[1]=startx[1]+strlen(menustring[1])*10;
- endy[1]=starty[1]+20;
- movex[1]=0;
- movey[1]=0;
-
- sprintf (menustring[2], "Challenge");
- startx[2]=5;
- starty[2]=240;
- endx[2]=startx[2]+strlen(menustring[2])*10;
- endy[2]=starty[2]+20;
- movex[2]=0;
- movey[2]=0;
-
- sprintf (menustring[3], "Delete User");
- startx[3]=400;
- starty[3]=10;
- endx[3]=startx[3]+strlen(menustring[3])*10;
- endy[3]=starty[3]+20;
- movex[3]=0;
- movey[3]=0;
-
- sprintf (menustring[4], "Main Menu");
- startx[4]=5;
- starty[4]=10;
- endx[4]=startx[4]+strlen(menustring[4])*10;
- endy[4]=starty[4]+20;
- movex[4]=0;
- movey[4]=0;
-
- sprintf (menustring[5], "Change User");
- startx[5]=5;
- endx[5]=startx[5]+strlen(menustring[5])*10;
- starty[5]=180;
- endy[5]=starty[5]+20;
- movex[5]=0;
- movey[5]=0;
-
- //World
-
- sprintf (menustring[6], "World");
- startx[6]=30+120;
- starty[6]=30+480-400-50;
- endx[6]=startx[6]+400;
- endy[6]=30+480-50;
- movex[6]=0;
- movey[6]=0;
-
- if(accountactive->getCampaignChoicesMade())
- for(i=0;i<accountactive->getCampaignChoicesMade();i++){
- sprintf (menustring[7+i], "%s", campaigndescription[levelorder[i]]);
- startx[7+i]=30+120+campaignlocationx[levelorder[i]]*400/512;
- starty[7+i]=30+30+(512-campaignlocationy[levelorder[i]])*400/512;
- endx[7+i]=startx[7+i]+10;
- endy[7+i]=starty[7+i]+10;
- movex[7+i]=0;
- movey[7+i]=0;
- }
-
- if(campaignchoicenum>0)
- for(i=accountactive->getCampaignChoicesMade();i<accountactive->getCampaignChoicesMade()+campaignchoicenum;i++){
- sprintf (menustring[7+i], "%s", campaigndescription[levelorder[i]]);
- startx[7+i]=30+120+campaignlocationx[campaignchoicewhich[i-(accountactive->getCampaignChoicesMade())]]*400/512;
- starty[7+i]=30+30+(512-campaignlocationy[campaignchoicewhich[i-(accountactive->getCampaignChoicesMade())]])*400/512;
- endx[7+i]=startx[7+i]+10;
- endy[7+i]=starty[7+i]+10;
- movex[7+i]=0;
- movey[7+i]=0;
- }