summaryrefslogtreecommitdiff
path: root/tools/binlang
diff options
context:
space:
mode:
Diffstat (limited to 'tools/binlang')
-rwxr-xr-xtools/binlang23
1 files changed, 19 insertions, 4 deletions
diff --git a/tools/binlang b/tools/binlang
index 3d7fdff1db..158c755459 100755
--- a/tools/binlang
+++ b/tools/binlang
@@ -28,6 +28,11 @@ MOO
28 exit; 28 exit;
29} 29}
30 30
31if($ARGV[0] eq "-v") {
32 shift @ARGV;
33 $debug=1;
34}
35
31my $english = $ARGV[0]; 36my $english = $ARGV[0];
32my $input = $ARGV[1]; 37my $input = $ARGV[1];
33my $output = $ARGV[2]; 38my $output = $ARGV[2];
@@ -47,6 +52,7 @@ printf OFILE ("\x1a%c", $langversion); # magic lang file header
47# 52#
48# We scan the english file to get the correct order of the id numbers 53# We scan the english file to get the correct order of the id numbers
49# 54#
55my $idnum=0; # start with a true number
50while(<ENG>) { 56while(<ENG>) {
51 if($_ =~ / *\#/) { 57 if($_ =~ / *\#/) {
52 # comment 58 # comment
@@ -92,11 +98,20 @@ while(<LANG>) {
92 if($value =~ s/^\"(.*)\" *$/$1/g) { 98 if($value =~ s/^\"(.*)\" *$/$1/g) {
93 99
94 $idnum = $idnum{$set{'id'}}; 100 $idnum = $idnum{$set{'id'}};
95 $idnum{$set{'id'}} = '_done_';
96 101
97 printf OFILE ("%c%c%s\x00", 102 if($idnum eq "") {
98 ($idnum>>8), ($idnum&0xff), 103 warn "Found no ".$set{'id'}." in english file!\n";
99 $value); 104 }
105 else {
106 $idnum{$set{'id'}} = '_done_';
107
108 printf OFILE ("%c%c%s\x00",
109 ($idnum>>8), ($idnum&0xff),
110 $value);
111 if($debug) {
112 printf("%02x => %s\n", $idnum, $value);
113 }
114 }
100 } 115 }
101 else { 116 else {
102 warn "String for ".$set{'id'}." misses quotes\n"; 117 warn "String for ".$set{'id'}." misses quotes\n";