File indexing completed on 2024-04-28 15:35:16

0001 #!/usr/bin/perl
0002 
0003 # This script generates a list of all entities recognozed by libMXP.
0004 #
0005 # Copyright (c) 2004 Tomas Mecir
0006 
0007 open (INFILE, "entities.txt") or die "Cannot open entities.txt: $!";
0008 open (OUTFILE, ">entitylist.h") or die "Cannot create output file entitylist.h: $!";
0009 
0010 print OUTFILE "/* Auto-generated from entities.txt by mkentities.pl */\n\n";
0011 print OUTFILE "#ifndef ENTITYLIST_H\n#define ENTITYLIST_H\n\n";
0012 print OUTFILE "const char *ENTITY_NAMES[] = { \n";
0013 
0014 while (<INFILE>)
0015 {
0016   if (/^Name: (\S+)\s+Value: (\d+)$/)
0017   {
0018     print OUTFILE "  \"$1\",\n";
0019   }
0020 }
0021 print OUTFILE "};\n\n";
0022 
0023 close INFILE;
0024 open (INFILE, "entities.txt") or die "Cannot open entities.txt: $!";
0025 
0026 print OUTFILE "int ENTITY_DEF[] = {\n";
0027 
0028 $count = 0;
0029 
0030 while (<INFILE>)
0031 {
0032   if (/^Name: (\S+)\s+Value: (\d+)$/)
0033   {
0034     print OUTFILE "  $2,\n";
0035 
0036     $count++;
0037   }
0038 }
0039 
0040 print OUTFILE "};\n\n";
0041 
0042 print OUTFILE "#define NUM_MXP_ENTITIES $count\n\n";
0043 
0044 print OUTFILE "#endif\n";
0045 
0046 close INFILE;
0047 close OUTFILE;
0048