Difference for main/kconfig.c from version 1.3 to 1.4


version 1.3 version 1.4
Line 19
 
Line 19
  * Routines to configure keyboard, joystick, etc..   * Routines to configure keyboard, joystick, etc..
  *    *
  * $Log$   * $Log$
    * Revision 1.4  1999/11/20 10:05:17  donut
    * variable size menu patch from Jan Bobrowski.  Variable menu font size support and a bunch of fixes for menus that didn't work quite right, by me (MPM).
    *
  * Revision 1.3  1999/10/14 20:33:06  donut   * Revision 1.3  1999/10/14 20:33:06  donut
  * alpha fixes from Falk Hueffner   * alpha fixes from Falk Hueffner
  *   *
Line 782
 
Line 785
   
   
   
   static float scale=1.0;
 void kconfig_sub(kc_item * items,int nitems, char * title)  void kconfig_sub(kc_item * items,int nitems, char * title)
 {  {
  grs_canvas * save_canvas;   grs_canvas * save_canvas, canvas;
  grs_font * save_font;   grs_font * save_font;
  int old_keyd_repeat;   int old_keyd_repeat;
   
Line 806
 
Line 810
     }      }
   
   save_canvas = grd_curcanv;    save_canvas = grd_curcanv;
   gr_set_current_canvas( NULL );             
     // menu screen scaling, 10/14/99 Jan Bobrowski - scaling for different font sizes 11/18/99 Matt Mueller
    scale=GAME_FONT->ft_h/5.0;//5 is the size of the standard font the menus were designed for.
    printf("scale=%f\n",scale);
    gr_init_sub_canvas(&canvas, &grd_curscreen->sc_canvas, (SWIDTH - 320*scale)/2, (SHEIGHT - 200*scale)/2, 320*scale, 200*scale);
    gr_set_current_canvas(&canvas);
    
   save_font = grd_curcanv->cv_font;    save_font = grd_curcanv->cv_font;
   game_flush_inputs();    game_flush_inputs();
   old_keyd_repeat = keyd_repeat;    old_keyd_repeat = keyd_repeat;
   keyd_repeat = 1;    keyd_repeat = 1;
   
   nm_draw_background(0,0,grd_curcanv->cv_bitmap.bm_w, grd_curcanv->cv_bitmap.bm_h );    nm_draw_background(0,0,grd_curcanv->cv_bitmap.bm_w-1, grd_curcanv->cv_bitmap.bm_h-1 );//args are x,y,x2,y2 NOT x,y,w,h
   
   grd_curcanv->cv_font = Gamefonts[GFONT_MEDIUM_3];    grd_curcanv->cv_font = Gamefonts[GFONT_MEDIUM_3];
   
Line 820
 
Line 830
      char * p;       char * p;
       p = strchr( title, '\n' );        p = strchr( title, '\n' );
        if ( p ) *p = 32;         if ( p ) *p = 32;
         gr_string( 0x8000, 8, title );          gr_string( 0x8000, 8*scale, title );
        if ( p ) *p = '\n';         if ( p ) *p = '\n';
     }      }
   
Line 828
 
Line 838
   grd_curcanv->cv_font = GAME_FONT;    grd_curcanv->cv_font = GAME_FONT;
   gr_set_fontcolor( BM_XRGB(28,28,28), -1 );    gr_set_fontcolor( BM_XRGB(28,28,28), -1 );
   
   gr_string( 0x8000, 28, TXT_KCONFIG_STRING_1 );    gr_string( 0x8000, 28*scale, TXT_KCONFIG_STRING_1 );
   gr_set_fontcolor( BM_XRGB(28,28,28), -1 );    gr_set_fontcolor( BM_XRGB(28,28,28), -1 );
    if ( items == kc_keyboard )     if ( items == kc_keyboard )
     {      {
       gr_set_fontcolor( BM_XRGB(31,27,6), -1 );        gr_set_fontcolor( BM_XRGB(31,27,6), -1 );
       gr_setcolor( BM_XRGB(31,27,6) );        gr_setcolor( BM_XRGB(31,27,6) );
                  
       gr_scanline( 98, 106, 42 );        gr_scanline( 98*scale, 106*scale, 42*scale );
       gr_scanline( 120, 128, 42 );        gr_scanline( 120*scale, 128*scale, 42*scale );
       gr_pixel( 98, 43 );                                           gr_pixel( 98*scale, 43*scale );
       gr_pixel( 98, 44 );                                              gr_pixel( 98*scale, 44*scale );
       gr_pixel( 128, 43 );                                             gr_pixel( 128*scale, 43*scale );
       gr_pixel( 128, 44 );                                             gr_pixel( 128*scale, 44*scale );
                
       gr_string( 109, 40, "OR" );        gr_string( 109*scale, 40*scale, "OR" );
   
       gr_scanline( 253, 261, 42 );        gr_scanline( 253*scale, 261*scale, 42*scale );
       gr_scanline( 274, 283, 42 );        gr_scanline( 274*scale, 283*scale, 42*scale );
       gr_pixel( 253, 43 );                                             gr_pixel( 253*scale, 43*scale );
       gr_pixel( 253, 44 );                                             gr_pixel( 253*scale, 44*scale );
       gr_pixel( 283, 43 );                                             gr_pixel( 283*scale, 43*scale );
       gr_pixel( 283, 44 );                                             gr_pixel( 283*scale, 44*scale );
   
       gr_string( 264, 40, "OR" );        gr_string( 264*scale, 40*scale, "OR" );
   
     }      }
    else if ( items == kc_joystick )     else if ( items == kc_joystick )
     {      {
       gr_set_fontcolor( BM_XRGB(31,27,6), -1 );        gr_set_fontcolor( BM_XRGB(31,27,6), -1 );
       gr_setcolor( BM_XRGB(31,27,6) );        gr_setcolor( BM_XRGB(31,27,6) );
       gr_scanline( 18, 135, 37 );        gr_scanline( 18*scale, 135*scale, 37*scale );
       gr_scanline( 181, 294, 37 );        gr_scanline( 181*scale, 294*scale, 37*scale );
       gr_scanline( 18, 144, 122+10 );        //122 was 119        gr_scanline( 18*scale, 144*scale, (122+10)*scale );        //122 was 119
       gr_scanline( 174, 294, 122+10 );       //122 was 119         gr_scanline( 174*scale, 294*scale, (122+10)*scale );       //122 was 119
       gr_string( 0x8000, 35, TXT_BUTTONS );        gr_string( 0x8000, 35*scale, TXT_BUTTONS );
       gr_string( 0x8000,120+10, TXT_AXES );  //120 was 117        gr_string( 0x8000,(120+10)*scale, TXT_AXES );  //120 was 117
       gr_set_fontcolor( BM_XRGB(28,28,28), -1 );        gr_set_fontcolor( BM_XRGB(28,28,28), -1 );
       gr_string( 81, 137, TXT_AXIS );        gr_string( 81*scale, 137*scale, TXT_AXIS );
       gr_string( 111, 137, TXT_INVERT );        gr_string( 111*scale, 137*scale, TXT_INVERT );
       gr_string( 222, 137, TXT_AXIS );        gr_string( 222*scale, 137*scale, TXT_AXIS );
       gr_string( 252, 137, TXT_INVERT );        gr_string( 252*scale, 137*scale, TXT_INVERT );
     }      }
    else if ( items == kc_mouse )     else if ( items == kc_mouse )
     {      {
       gr_set_fontcolor( BM_XRGB(31,27,6), -1 );        gr_set_fontcolor( BM_XRGB(31,27,6), -1 );
       gr_setcolor( BM_XRGB(31,27,6) );        gr_setcolor( BM_XRGB(31,27,6) );
       gr_scanline( 18, 135, 37 );        gr_scanline( 18*scale, 135*scale, 37*scale );
       gr_scanline( 181, 294, 37 );        gr_scanline( 181*scale, 294*scale, 37*scale );
       gr_scanline( 18, 144, 119+5 );        gr_scanline( 18*scale, 144*scale, (119+5)*scale );
       gr_scanline( 174, 294, 119+5 );        gr_scanline( 174*scale, 294*scale, (119+5)*scale );
       gr_string( 0x8000, 35, TXT_BUTTONS );        gr_string( 0x8000, 35*scale, TXT_BUTTONS );
       gr_string( 0x8000,117+5, TXT_AXES );        gr_string( 0x8000,(117+5)*scale, TXT_AXES );
       gr_set_fontcolor( BM_XRGB(28,28,28), -1 );        gr_set_fontcolor( BM_XRGB(28,28,28), -1 );
       gr_string( 169, 129, TXT_AXIS );        gr_string( 169*scale, 129*scale, TXT_AXIS );
       gr_string( 199, 129, TXT_INVERT );        gr_string( 199*scale, 129*scale, TXT_INVERT );
     }      }
    else if ( items == kc_d1x )     else if ( items == kc_d1x )
     {      {
       gr_set_fontcolor( BM_XRGB(31,27,6), -1 );        gr_set_fontcolor( BM_XRGB(31,27,6), -1 );
       gr_setcolor( BM_XRGB(31,27,6) );        gr_setcolor( BM_XRGB(31,27,6) );
   
       gr_string( 94, 40, "KB");        gr_string( 94*scale, 40*scale, "KB");
       gr_string(121, 40, "JOY");        gr_string(121*scale, 40*scale, "JOY");
     }      }
    
    for (i=0; i<nitems; i++ )     for (i=0; i<nitems; i++ )
Line 1084
 
Line 1094
   
   
          if((item->text_num1) < N_TEXT_STRINGS)           if((item->text_num1) < N_TEXT_STRINGS)
           gr_string( item->x, item->y, Text_string[item->text_num1] );            gr_string( item->x*scale, item->y*scale, Text_string[item->text_num1] );
          else           else
           {            {
             switch(item->text_num1-N_TEXT_STRINGS)              switch(item->text_num1-N_TEXT_STRINGS)
              {               {
              case 0:  gr_string( item->x, item->y,"CYC PRIMARY"); break;               case 0:  gr_string( item->x*scale, item->y*scale,"CYC PRIMARY"); break;
              case 1:  gr_string( item->x, item->y,"CYC SECONDARY"); break;               case 1:  gr_string( item->x*scale, item->y*scale,"CYC SECONDARY"); break;
              case 2:  gr_string( item->x, item->y,"TOGGLE PRIM AUTO"); break;               case 2:  gr_string( item->x*scale, item->y*scale,"TOGGLE PRIM AUTO"); break;
              case 3:  gr_string( item->x, item->y,"TOGGLE SEC AUTO"); break;               case 3:  gr_string( item->x*scale, item->y*scale,"TOGGLE SEC AUTO"); break;
              case 4:  gr_string( item->x, item->y,"WEAPON 1"); break;               case 4:  gr_string( item->x*scale, item->y*scale,"WEAPON 1"); break;
              case 5:  gr_string( item->x, item->y,"WEAPON 2"); break;               case 5:  gr_string( item->x*scale, item->y*scale,"WEAPON 2"); break;
              case 6:  gr_string( item->x, item->y,"WEAPON 3"); break;               case 6:  gr_string( item->x*scale, item->y*scale,"WEAPON 3"); break;
              case 7:  gr_string( item->x, item->y,"WEAPON 4"); break;               case 7:  gr_string( item->x*scale, item->y*scale,"WEAPON 4"); break;
              case 8:  gr_string( item->x, item->y,"WEAPON 5"); break;               case 8:  gr_string( item->x*scale, item->y*scale,"WEAPON 5"); break;
              case 9:  gr_string( item->x, item->y,"WEAPON 6"); break;               case 9:  gr_string( item->x*scale, item->y*scale,"WEAPON 6"); break;
              case 10: gr_string( item->x, item->y,"WEAPON 7"); break;               case 10: gr_string( item->x*scale, item->y*scale,"WEAPON 7"); break;
              case 11: gr_string( item->x, item->y,"WEAPON 8"); break;               case 11: gr_string( item->x*scale, item->y*scale,"WEAPON 8"); break;
              case 12: gr_string( item->x, item->y,"WEAPON 9"); break;               case 12: gr_string( item->x*scale, item->y*scale,"WEAPON 9"); break;
              case 13: gr_string( item->x, item->y,"WEAPON 0"); break;               case 13: gr_string( item->x*scale, item->y*scale,"WEAPON 0"); break;
              }               }
           }            }
   
Line 1145
 
Line 1155
  gr_setcolor( BM_XRGB(21,0,24) );   gr_setcolor( BM_XRGB(21,0,24) );
  else   else
  gr_setcolor( BM_XRGB(16,0,19) );   gr_setcolor( BM_XRGB(16,0,19) );
  gr_urect( item->w1+item->x, item->y-1, item->w1+item->x+item->w2, item->y+h );   gr_urect( (item->w1+item->x)*scale, item->y*scale-1, (item->w1+item->x+item->w2)*scale, item->y*scale+h );
    
  gr_set_fontcolor( BM_XRGB(28,28,28), -1 );   gr_set_fontcolor( BM_XRGB(28,28,28), -1 );
   
  x = item->w1+item->x+((item->w2-w)/2);   x = (item->w1+item->x)*scale+((item->w2*scale-w)/2);
   
  gr_string( x, item->y, btext );   gr_string( x, item->y*scale, btext );
 }  }
   
   

Legend:
line(s) removed in v.1.3 
line(s) changed
 line(s) added in v.1.4