home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 081.CONVERT.PAS < prev    next >
Pascal/Delphi Source File  |  1992-07-04  |  4KB  |  146 lines

  1. { Part one will parse a log file, and store explored sectors; then
  2. create a text file that you can feed to the computer that will give you
  3. a map of the universe.  Part two will take a log file generated from
  4. feeding the first to the computer, and create a data file that can
  5. be fed into something else.
  6.  
  7. Well, this has been expanded a bit since the first note.  It now does
  8. a variety of conversion tasks, from fighter clouds to major space lane stuff.
  9. But that is always the problem with programs -- they always outstrip the
  10. documentation, eh?  Program begun Dec 1990 by woody.
  11. }
  12.  
  13. { I keep forgetting to turn off 286 instruction set.  So, better force it
  14.   off here, before I confuse any more 286 people. }
  15. {$A+}        { speed up us 80x86 guys }
  16. {$B-}        { I dig short circuits }
  17. {$I+}        { pisses people off when they hit a letter, but its better than
  18.                gigo. }
  19. {$G-}        { turn OFF 286 instruction set }
  20.  
  21.  
  22. program converter;
  23.  
  24. uses DOS;
  25.  
  26. {$I headers.inc}
  27.  
  28.  
  29. var
  30.   upl,
  31.   ext,
  32.   mss       : string;
  33.   othername,
  34.   BBSName   : string;
  35.   ch        : char;
  36.   n         : integer;
  37.   f, g      : text;
  38.   space     : TheVoid;
  39.  
  40. {$I QUEUE.INC }
  41. {$I status.inc }
  42. {$I misc.inc }
  43. {$I PortStat.inc }
  44. {$I gsdata.inc }
  45. {$I part13.inc}
  46. {$I part2.inc}
  47. {$I part4.inc}
  48. {$I part5.inc}
  49. {$I part6.inc}
  50. {$I part89.inc}
  51. {$I editbase.inc}
  52.  
  53. begin {main}
  54.   writeln('Tradewars Data Base generator: ', Version);
  55.   writeln( author );
  56.   writeln( source );
  57.   writeln;
  58.   InitSpace( Space );
  59.   if paramcount > 0 then
  60.     BBSName := paramstr( 1 )
  61.   else
  62.     BBSName := '';
  63.   GetData( space, BBSName, true );
  64.   repeat
  65.     repeat
  66.       writeln('Choices:');
  67.       writeln('  (0)  Let me out of here!');
  68.       writeln('  (1)  Read "Explored/Unexplored Sectors"',
  69.               'for newly scanned sectors');
  70.       writeln('  (2)  Read log files for inter-warp and port information');
  71.       writeln('  (3)  Read "Fighter Display" list for fighter clouds');
  72.       writeln('  (4)  Generate upload file for determining Major Space Lanes');
  73.       writeln('  (5)  Read "Major Space Lanes" downloaded file into database');
  74.       writeln('  (6)  Add some other explorer''s data into database');
  75.       writeln('  (7)  Perform editing on data base');
  76.       writeln('  (8)  Read "Interrogation Mode" sector report');
  77.       writeln('  (9)  Read "Interrogation Mode" port report');
  78.       writeln;
  79.       write('(', BBSname, ')  Your choice?  (0, 1, ..., 9) ');
  80.       readln( ch );
  81.     until ch in ['0'..'9'];
  82.     n := ord( ch ) - ord( '0' );
  83.     if n = 0 then halt;
  84.     upl := 'dat';
  85.     case n of
  86.       1 : begin
  87.             mss := '"Explored/Unexplored Sectors"';
  88.             ext := 'exp';
  89.             upl := 'upl';
  90.           end;
  91.       2 : begin
  92.             mss := 'log';
  93.             ext := 'log';
  94.           end;
  95.       3 : begin
  96.             mss := '"Deployed Fighter Scan"';
  97.             ext := 'ftr';
  98.           end;
  99.       4 : upl := 'upl';
  100.       5 : begin
  101.             mss := '"Major Space Lanes"';
  102.             ext := 'msl';
  103.           end;
  104.       6 : begin
  105.             mss :='other database';
  106.             ext := 'unk';
  107.           end;
  108.       7 : ;
  109.       8 : begin
  110.             mss := 'sector report file';
  111.             ext := 'sct';
  112.           end;
  113.       9 : begin
  114.             mss := 'port report file';
  115.             ext := 'prt';
  116.           end;
  117.     end; {case}
  118.     if not (n in [4,7]) then
  119.       begin
  120.         othername := GetOldFileName( 'Name of ' + mss + ' file?  ',
  121.                                      bbsname + '.' + ext );
  122.         if n <> 6 then
  123.           begin
  124.             assign( f, othername);
  125.             reset( f );
  126.           end; {if}
  127.       end; {if}
  128.     assign( g, GetNewFileName('Name of file to generate? ',
  129.                                 bbsname + '.' + upl) );
  130.     rewrite( g );
  131.     case n of
  132.       1 : partOneThree;
  133.       2 : partII( space);
  134.       3 : partIV( space );
  135.       4 : partV;
  136.       5 : partVI( space );
  137.       6 : begin GetData( space, othername, false ); SaveData( g, space ); end;
  138.       7 : begin EditMenu; SaveData( g, space ); end;
  139.       8 : partVIII( f, Space );
  140.       9 : partIX( f, Space );
  141.     end; {case}
  142.     if n in [1, 2, 3, 8, 9] then
  143.       close( f );
  144.   until n = 0;
  145. end.
  146.