Difference for main/inferno.c from version 1.28 to 1.29


version 1.28 version 1.29
Line 18
 
Line 18
  * main() for Inferno     * main() for Inferno 
  *   *
  * $Log$   * $Log$
    * Revision 1.29  2002/04/01 01:21:57  donut
    * allow arbitrary resolutions to be specified on command line
    *
  * Revision 1.28  2002/03/21 20:49:55  donut   * Revision 1.28  2002/03/21 20:49:55  donut
  * add -ip_bind_addr option   * add -ip_bind_addr option
  *   *
Line 931
 
Line 934
   
 void show_cmdline_help() {  void show_cmdline_help() {
  printf( "%s\n", TXT_COMMAND_LINE_0 );   printf( "%s\n", TXT_COMMAND_LINE_0 );
   #ifdef __MSDOS__
         printf( "  -<X>x<Y>       %s\n", "Change screen resolution. Options:");          printf( "  -<X>x<Y>       %s\n", "Change screen resolution. Options:");
         printf( "                    320x100;320x200;320x240;320x400;640x400;640x480;800x600;1024x768\n");          printf( "                    320x100;320x200;320x240;320x400;640x400;640x480;800x600;1024x768\n");
   #else
           printf( "  -<X>x<Y>       %s\n", "Change screen resolution to <X> by <Y>");
   #endif
  printf( "%s\n", TXT_COMMAND_LINE_5 );   printf( "%s\n", TXT_COMMAND_LINE_5 );
  printf( "%s\n", TXT_COMMAND_LINE_6 );   printf( "%s\n", TXT_COMMAND_LINE_6 );
  printf( "%s\n", TXT_COMMAND_LINE_7 );   printf( "%s\n", TXT_COMMAND_LINE_7 );
Line 1097
 
Line 1104
 {  {
  int i,t;   int i,t;
  char start_demo[13];   char start_demo[13];
  int screen_width = 640;  
  int screen_height = 480;  
  u_int32_t screen_mode = SM(640,480);  
   
  error_init(NULL);   error_init(NULL);
   
Line 1336
 
Line 1340
 #endif  #endif
   
  {   {
 //added on 12/14/98 by Matt Mueller - override res in d1x.ini with command line args   int screen_width = 640;
  int i, argnum=INT_MAX;   int screen_height = 480;
 //end addition -MM  
                 int vr_mode = VR_NONE;                  int vr_mode = VR_NONE;
  int screen_compatible = 1;   int screen_compatible = 1;
  int use_double_buffer = 0;   int use_double_buffer = 0;
   
 //added/edited on 12/14/98 by Matt Mueller - override res in d1x.ini with command line args   if (FindResArg("", &screen_width, &screen_height)) {
 //added on 9/30/98 by Matt Mueller clean up screen mode code, and add higher resolutions   if (screen_width==320 && screen_height==200)
 #define SCREENMODE(X,Y,C) if ( (i=FindArg( "-" #X "x" #Y ))&&(i<argnum))  {argnum=i; screen_mode = SM( X , Y );if (Inferno_verbose) printf( "Using " #X "x" #Y " ...\n" );screen_width = X;screen_height = Y;use_double_buffer = 1;screen_compatible = C;}   screen_compatible=1;
 //aren't #defines great? :)   else
    screen_compatible=0;
   
    if (Inferno_verbose)
    printf( "Using %ix%i ...\n", screen_width, screen_height);
    }
   
  SCREENMODE(320,100,0);  
  SCREENMODE(320,200,1);  
 //end addition/edit -MM  
  SCREENMODE(320,240,0);  
  SCREENMODE(320,400,0);  
  SCREENMODE(640,400,0);  
  SCREENMODE(640,480,0);  
  SCREENMODE(800,600,0);  
  SCREENMODE(1024,768,0);  
  SCREENMODE(1152,864,0);  
  SCREENMODE(1280,960,0);  
  SCREENMODE(1280,1024,0);  
  SCREENMODE(1600,1200,0);  
 //end addition -MM  
    
 //added ifdefs on 9/30/98 by Matt Mueller to fix high res in linux  //added ifdefs on 9/30/98 by Matt Mueller to fix high res in linux
 #ifdef __MSDOS__  #ifdef __MSDOS__
Line 1375
 
Line 1369
 //end addition -MM  //end addition -MM
   
                 //added 3/24/99 by Owen Evans for screen res changing                  //added 3/24/99 by Owen Evans for screen res changing
                 Game_screen_mode = screen_mode;                  Game_screen_mode = SM(screen_width, screen_height);
                 //end added -OE                  //end added -OE
                 game_init_render_buffers(screen_mode, screen_width, screen_height, use_double_buffer, vr_mode, screen_compatible);                  game_init_render_buffers(Game_screen_mode, screen_width, screen_height, use_double_buffer, vr_mode, screen_compatible);
                                  
  }   }
  {   {
 //added/edited on 12/14/98 by Matt Mueller - override res in d1x.ini with command line args  //added/edited on 12/14/98 by Matt Mueller - override res in d1x.ini with command line args
  int i, argnum=INT_MAX;   int i, argnum=INT_MAX, w, h;
 //added on 9/30/98 by Matt Mueller for selectable automap modes - edited 11/21/99 whee, more fun with defines.  
 #define SMODE(V,VV,VG,X,Y) if ( (i=FindArg( "-" #V #X "x" #Y )) && (i<argnum))  {argnum=i; VV = SM( X , Y );VG=0;}  //added on 9/30/98 by Matt Mueller for selectable automap modes - edited 11/21/99 whee, more fun with defines. - edited 03/31/02 to use new FindResArg.
   #define SMODE(V,VV,VG) if ( (i=FindResArg(#V, &w, &h)) && (i<argnum))  {argnum=i; VV = SM( w , h );VG=0;}
 #define SMODE_GR(V,VG) if ((i=FindArg("-" #V "_gameres"))){if (i<argnum) VG=1;}  #define SMODE_GR(V,VG) if ((i=FindArg("-" #V "_gameres"))){if (i<argnum) VG=1;}
 #define SMODE_PRINT(V,VV,VG) if (Inferno_verbose) { if (VG) printf( #V " using game resolution ...\n"); else printf( #V " using %ix%i ...\n",SM_W(VV),SM_H(VV) ); }  #define SMODE_PRINT(V,VV,VG) if (Inferno_verbose) { if (VG) printf( #V " using game resolution ...\n"); else printf( #V " using %ix%i ...\n",SM_W(VV),SM_H(VV) ); }
 //aren't #defines great? :)  //aren't #defines great? :)
 //end addition/edit -MM  //end addition/edit -MM
 #define S_MODE(V,VV,VG) argnum=INT_MAX;SMODE(V,VV,VG,320,200);SMODE(V,VV,VG,320,240);SMODE(V,VV,VG,320,400);SMODE(V,VV,VG,640,400);SMODE(V,VV,VG,640,480);SMODE(V,VV,VG,800,600);SMODE(V,VV,VG,1024,768);SMODE(V,VV,VG,1280,1024);SMODE(V,VV,VG,1600,1200);SMODE_GR(V,VG);SMODE_PRINT(V,VV,VG);  #define S_MODE(V,VV,VG) argnum=INT_MAX;SMODE(V,VV,VG);SMODE_GR(V,VG);SMODE_PRINT(V,VV,VG);
   
    
  S_MODE(automap,automap_mode,automap_use_game_res);   S_MODE(automap,automap_mode,automap_use_game_res);

Legend:
line(s) removed in v.1.28 
line(s) changed
 line(s) added in v.1.29