home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / main / args.c < prev    next >
Text File  |  1998-06-08  |  3KB  |  121 lines

  1. /*
  2. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  3. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  4. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  5. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  6. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  7. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  8. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  9. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  10. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  11. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  12. */
  13. /*
  14.  * $Source: f:/miner/source/main/rcs/args.c $
  15.  * $Revision: 2.0 $
  16.  * $Author: john $
  17.  * $Date: 1995/02/27 11:31:22 $
  18.  * 
  19.  * Functions for accessing arguments.
  20.  * 
  21.  * $Log: args.c $
  22.  * Revision 2.0  1995/02/27  11:31:22  john
  23.  * New version 2.0, which has no anonymous unions, builds with
  24.  * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
  25.  * 
  26.  * Revision 1.9  1994/11/29  01:07:57  john
  27.  * Took out some unused vars.
  28.  * 
  29.  * Revision 1.8  1994/11/29  01:04:30  john
  30.  * Took out descent.ini stuff.
  31.  * 
  32.  * Revision 1.7  1994/09/20  19:29:15  matt
  33.  * Made args require exact (not substring), though still case insensitive.
  34.  * 
  35.  * Revision 1.6  1994/07/25  12:33:11  john
  36.  * Network "pinging" in.
  37.  * 
  38.  * Revision 1.5  1994/06/17  18:07:50  matt
  39.  * Took out printf
  40.  * 
  41.  * Revision 1.4  1994/05/11  19:45:33  john
  42.  * *** empty log message ***
  43.  * 
  44.  * Revision 1.3  1994/05/11  18:42:11  john
  45.  * Added Descent.ini config file.
  46.  * 
  47.  * Revision 1.2  1994/05/09  17:03:30  john
  48.  * Split command line parameters into arg.c and arg.h.
  49.  * Also added /dma, /port, /irq to digi.c
  50.  * 
  51.  * Revision 1.1  1994/05/09  16:49:11  john
  52.  * Initial revision
  53.  * 
  54.  * 
  55.  */
  56.  
  57.  
  58. #pragma off (unreferenced)
  59. static char rcsid[] = "$Id: args.c 2.0 1995/02/27 11:31:22 john Exp $";
  60. #pragma on (unreferenced)
  61.  
  62. #include <stdio.h>
  63. #include <stdlib.h>
  64. #include <string.h>
  65.  
  66. int Num_args=0;
  67. char * Args[100];
  68.  
  69. int FindArg( char * s )    {
  70.     int i;
  71.  
  72.     for (i=0; i<Num_args; i++ )
  73.         if (! stricmp( Args[i], s))
  74.             return i;
  75.  
  76.     return 0;
  77. }
  78.  
  79. void InitArgs( int argc,char **argv )    {
  80.     int i;
  81. //NO_DESCENT_INI    FILE * fp;
  82. //NO_DESCENT_INI    char line[100];
  83.  
  84.     Num_args=0;
  85.  
  86.     for (i=0; i<argc; i++ )    {
  87.         Args[Num_args++] = strdup( argv[i] );
  88.     }
  89.  
  90. //NO_DESCENT_INI    fp = fopen( "descent.ini", "rt" );        
  91. //NO_DESCENT_INI    if (fp!=NULL) {
  92. //NO_DESCENT_INI        while( fgets( line, 100, fp ) != NULL )    {
  93. //NO_DESCENT_INI            char *p;
  94. //NO_DESCENT_INI            p = strchr(line,';');
  95. //NO_DESCENT_INI            if (p) *p = '\0';        // Remove comments
  96. //NO_DESCENT_INI            p = strchr(line,10);
  97. //NO_DESCENT_INI            if (p) *p = '\0';        // Remove EOL
  98. //NO_DESCENT_INI            p = strchr(line,13);
  99. //NO_DESCENT_INI            if (p) *p = '\0';        // Remove CR
  100. //NO_DESCENT_INI            p = strtok( line, " \t" );
  101. //NO_DESCENT_INI            while( p )    {
  102. //NO_DESCENT_INI                Args[Num_args++] = strdup( p );
  103. //NO_DESCENT_INI                p = strtok( NULL, " \t" );
  104. //NO_DESCENT_INI            }
  105. //NO_DESCENT_INI        }
  106. //NO_DESCENT_INI        fclose(fp);
  107. //NO_DESCENT_INI    }
  108.  
  109.     for (i=0; i< Num_args; i++ )    {
  110.         if ( Args[i][0] == '/' )  
  111.             Args[i][0] = '-';
  112.  
  113.         if ( Args[i][0] == '-' )
  114.             strlwr( Args[i]  );        // Convert all args to lowercase
  115.  
  116.         //printf( "Args[%d] = '%s'\n", i, Args[i] );
  117.     }
  118.  
  119. }
  120. 
  121.