diff options
Diffstat (limited to 'contrib/transform.pl')
-rwxr-xr-x | contrib/transform.pl | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/contrib/transform.pl b/contrib/transform.pl new file mode 100755 index 0000000..db41183 --- /dev/null +++ b/contrib/transform.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl + +if (@ARGV != 2) { + die "Usage: $0 <in> <out>"; +} + +open DAT, "<$ARGV[0]" or die $!; +open OUT, ">$ARGV[1]" or die $!; + +$| = 1; + +system("stty -icanon eol \001"); + +while (defined($_ = <DAT>)) { + /\[(\w+)\]/ and print "\nNew Section: $1\n\n"; + /^Item=(\w+),/ and do { + $i = $1; + /,x1=(\d+)[,;]/ and do { + $x1 = $1; + print "Item $i, x1 (left)? ([l]/r) > "; + read STDIN, $c, 1; + print "\n"; + $nx1 = $x1 - 624; + s/,x1=$x1/,x1=$nx1/ if $c eq 'r'; + }; + /,y1=(\d+)[,;]/ and do { + $y1 = $1; + print "Item $i, y1 (top)? ([l]/r) > "; + read STDIN, $c, 1; + print "\n"; + $ny1 = $y1 - 486; + s/,y1=$y1/,y1=$ny1/ if $c eq 'r'; + }; + /,x2=(\d+)[,;]/ and do { + $x2 = $1; + print "Item $i, x2 (right)? ([l]/r) > "; + read STDIN, $c, 1; + print "\n"; + $nx2 = $x2 - 624; + s/,x2=$x2/,x2=$nx2/ if $c eq 'r'; + }; + /,y2=(\d+)[,;]/ and do { + $y2 = $1; + print "Item $i, y2 (bottom)? ([l]/r) > "; + read STDIN, $c, 1; + print "\n"; + $ny2 = $y2 - 486; + s/,y2=$y2/,y2=$ny2/ if $c eq 'r'; + }; + }; + print OUT $_; +} + +system("stty icanon eol ^@"); |