home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / main / findtext.c < prev    next >
Text File  |  1998-06-08  |  2KB  |  77 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. #include <stdio.h>
  14. #include <ctype.h>
  15. #include <io.h>
  16.  
  17. int main(int argc, char * argv[] )
  18. {
  19.     char string[100];
  20.     int n;
  21.     char c;
  22.     int in_rcs;
  23.     FILE * fp;
  24.  
  25.     if ( argc < 2 )    {
  26.         printf( "Findtext by JAS. Usage: Findtext binaryfilename\n" );
  27.         return 1;
  28.     }
  29.  
  30.     fp = fopen( argv[1], "rb" );
  31.  
  32.     n = 0;
  33.     in_rcs = 0;
  34.     while( fread( &c, 1, 1, fp )==1 )    {
  35.  
  36.         if ( in_rcs )    {
  37.             if ( c == '$' )    {
  38.                 string[n] = 0;
  39.                 printf( "'%s'\n", string );
  40.                 in_rcs = 0;
  41.                 n = 0;
  42.             }
  43.             string[n++] = c;
  44.         } else {
  45.             if ( (c == '$') && (n==0) )    {
  46.                 string[n++] = c;
  47.             } else if ( (c == 'I') && (n==1) )    {
  48.                   string[n++] = c;
  49.             } else if ( (c == 'd') && (n==2) )    {
  50.                 string[n++] = c;
  51.             } else if ( (c == ':') && (n==3) )    {
  52.                 string[n++] = c;
  53.                 in_rcs = 1;
  54.             } else {
  55.                 n = 0;
  56.             }
  57.         }
  58. //        if ( isprint(c)) {    
  59. //            if ( n > 78 )    {
  60. //                string[n] = 0;
  61. //                printf( "'%s'\n", string );
  62. //                n = 0;
  63. //            }
  64. //            string[n++] = c;
  65. //        } else {
  66. //            if ( n > 4 )    {
  67. //                string[n] = 0;
  68. //                printf( "'%s'\n", string );
  69. //                n = 0;
  70. //            }
  71. //        }
  72.     }
  73.     fclose(fp);
  74.     return 0;
  75. }
  76. 
  77.