Difference for main/menu.c from version 1.13 to 1.14


version 1.13 version 1.14
Line 899
 
Line 899
 void change_res()  void change_res()
 {  {
  //edited 05/27/99 Matt Mueller - ingame fullscreen changing   //edited 05/27/99 Matt Mueller - ingame fullscreen changing
  newmenu_item m[8];   newmenu_item m[11];
  u_int32_t modes[8];   u_int32_t modes[11];
  int i=0, mc=0;   int i=0, mc=0, num_presets=0;
    char customres[16];
 #ifdef GR_SUPPORTS_FULLSCREEN_TOGGLE  #ifdef GR_SUPPORTS_FULLSCREEN_TOGGLE
  int fullscreenc;   int fullscreenc;
 #endif  #endif
Line 927
 
Line 928
  m[mc].type = NM_TYPE_RADIO; m[mc].text = "800x600"; m[mc].value=(Game_screen_mode==SM(800,600)); m[mc].group=0; modes[mc] = SM(800,600); mc++;   m[mc].type = NM_TYPE_RADIO; m[mc].text = "800x600"; m[mc].value=(Game_screen_mode==SM(800,600)); m[mc].group=0; modes[mc] = SM(800,600); mc++;
  m[mc].type = NM_TYPE_RADIO; m[mc].text = "1024x768"; m[mc].value=(Game_screen_mode==SM(1024,768)); m[mc].group=0; modes[mc] = SM(1024,768); mc++;   m[mc].type = NM_TYPE_RADIO; m[mc].text = "1024x768"; m[mc].value=(Game_screen_mode==SM(1024,768)); m[mc].group=0; modes[mc] = SM(1024,768); mc++;
 //end section - OE  //end section - OE
    num_presets = mc;
    for (i=0; i<mc; i++)
    if (m[mc].value)
    break;
    m[mc].type = NM_TYPE_RADIO; m[mc].text = "custom:"; m[mc].value=(i==mc); m[mc].group=0; modes[mc] = 0; mc++;
    sprintf(customres, "%ix%i", SM_W(Game_screen_mode), SM_H(Game_screen_mode));
    m[mc].type = NM_TYPE_INPUT; m[mc].text = customres; m[mc].text_len=11; modes[mc] = 0; mc++;
   
 // m[mc].type = NM_TYPE_CHECK; m[mc].text = "No Doublebuffer"; m[mc].value = use_double_buffer;  // m[mc].type = NM_TYPE_CHECK; m[mc].text = "No Doublebuffer"; m[mc].value = use_double_buffer;
   
Line 937
 
Line 945
  //end addition -MM   //end addition -MM
   
   
    i=newmenu_do1( NULL, "Screen Resolution", mc, m, &change_res_poll, i);     i=newmenu_do1( NULL, "Screen Resolution", mc, m, &change_res_poll, 0);
   
   //added 05/27/99 Matt Mueller - ingame fullscreen changing    //added 05/27/99 Matt Mueller - ingame fullscreen changing
 #ifdef GR_SUPPORTS_FULLSCREEN_TOGGLE  #ifdef GR_SUPPORTS_FULLSCREEN_TOGGLE
Line 948
 
Line 956
 #endif  #endif
   //end addition -MM    //end addition -MM
         
   for(i=0;(m[i].value==0)&&(i<6);i++);    for(i=0;(m[i].value==0)&&(i<num_presets);i++);
     if (modes[i]==0){
      char *h=strchr(customres, 'x');
      if (!h)
      return;
      screen_mode = SM(atoi(customres), atoi(h+1));
     }else{
      screen_mode = modes[i];
     }
   
     screen_width = SM_W(screen_mode);
     screen_height = SM_H(screen_mode);
     if (screen_height<=0 || screen_width<=0)
      return;
   
   switch(screen_mode = modes[i])    switch(screen_mode)
    {     {
     case SM(320,100)://19:      case SM(320,100)://19:
            screen_width = 320;  
            screen_height = 100;  
            screen_compatible = 0;             screen_compatible = 0;
            use_double_buffer = 0;             use_double_buffer = 0;
            break;             break;
  case SM(320,200)://SM_320x200C:   case SM(320,200)://SM_320x200C:
            screen_width = 320;  
            screen_height = 200;  
            screen_compatible = 1;             screen_compatible = 1;
            use_double_buffer = 0;             use_double_buffer = 0;
            break;             break;
  case SM(320,240)://SM_320x240U:   default:
            screen_width = 320;  
            screen_height = 240;  
            screen_compatible = 0;  
            use_double_buffer = 1;  
            break;  
  case SM(320,400)://SM_320x400U:  
            screen_width = 320;  
            screen_height = 400;  
            screen_compatible = 0;  
            use_double_buffer = 1;  
            break;  
  case SM(640,400)://SM_640x400V:  
            screen_width = 640;  
            screen_height = 400;  
            screen_compatible = 0;  
            use_double_buffer = 1;  
            break;  
  case SM(640,480)://SM_640x480V:  
            screen_width = 640;  
            screen_height = 480;  
            screen_compatible = 0;  
            use_double_buffer = 1;  
            break;  
  case SM(800,600)://SM_800x600V:  
            screen_width = 800;  
            screen_height = 600;  
            screen_compatible = 0;  
            use_double_buffer = 1;  
            break;  
  case SM(1024,768)://SM_1024x768V:  
            screen_width = 1024;  
            screen_height = 768;  
            screen_compatible = 0;             screen_compatible = 0;
            use_double_buffer = 1;             use_double_buffer = 1;
            break;             break;

Legend:
line(s) removed in v.1.13 
line(s) changed
 line(s) added in v.1.14