This commit is contained in:
parent
d74acdad0e
commit
ffb751221e
1 changed files with 81 additions and 0 deletions
81
tools/Perl/pl/text_extract.pl
Normal file
81
tools/Perl/pl/text_extract.pl
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
#=========================================================================
|
||||||
|
#
|
||||||
|
# text_extract.pl
|
||||||
|
#
|
||||||
|
# Author: pkg@Climax
|
||||||
|
# Created:
|
||||||
|
# Project: SBSP
|
||||||
|
# Purpose: Extracts text ids from the translation header file and exports
|
||||||
|
# them to an in clude file. This is grabbing the ingame texts and
|
||||||
|
# putting them somewhere that the script compiler can use
|
||||||
|
# Usage: text_extract infile outfile tagprefix
|
||||||
|
# eg: text_extract trans.h scripts\defs\trans.h STR__INGAME__
|
||||||
|
#
|
||||||
|
# Copyright (c) 2001 Climax Development Ltd
|
||||||
|
#
|
||||||
|
#===========================================================================
|
||||||
|
|
||||||
|
|
||||||
|
local ($inFile,$outFile,$tagPrefix)=@ARGV;
|
||||||
|
#print "inFile: $inFile\n";
|
||||||
|
#print "outFile: $outFile\n";
|
||||||
|
#print "tagPrefix: $tagPrefix\n";
|
||||||
|
|
||||||
|
|
||||||
|
# Open files
|
||||||
|
open INFILE, $inFile || die "Can't open input file '$inFile': $!\n";
|
||||||
|
open OUTFILE, ">$outFile" || die "Can't open output file '$outFile': $!\n";
|
||||||
|
|
||||||
|
|
||||||
|
# Output header
|
||||||
|
print OUTFILE <<EOT
|
||||||
|
// TextIds for ingame text - Auto-generated by text_extract.pl
|
||||||
|
//
|
||||||
|
// Source file: $inFile
|
||||||
|
// Tag prefix: $tagPrefix
|
||||||
|
|
||||||
|
EOT
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
# Find the start of the enum list
|
||||||
|
$done=0;
|
||||||
|
while(!$done)
|
||||||
|
{
|
||||||
|
$line=<INFILE> || die "End of file found while looking while looking for start of enum list!\n";
|
||||||
|
if($line =~ /^\{/)
|
||||||
|
{
|
||||||
|
$done=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Grab the ids
|
||||||
|
$done=0;
|
||||||
|
$textId=0;
|
||||||
|
while(!$done)
|
||||||
|
{
|
||||||
|
$line=<INFILE> || die "End of file found before end of enum list!\n";
|
||||||
|
chomp($line);
|
||||||
|
if($line=~/^\}/)
|
||||||
|
{
|
||||||
|
$done=1;
|
||||||
|
}
|
||||||
|
elsif($line=~/^\s*$/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$line=~s/^\s*([\w]*).*/$1/;
|
||||||
|
if($line=~/^$tagPrefix/)
|
||||||
|
{
|
||||||
|
print OUTFILE "#define ",$line,"\t\t$textId\n";
|
||||||
|
}
|
||||||
|
$textId++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Done! :)
|
||||||
|
close INFILE;
|
||||||
|
close OUTFILE;
|
Loading…
Add table
Add a link
Reference in a new issue