-#!/usr/bin/perl\r
-\r
-use strict;\r
-use warnings;\r
-use POSIX qw/ceil floor/;\r
-\r
-# particlefont.txt generator for DarkPlaces\r
-\r
-# this is eval'ed to not fail if Image::Magick is not installed\r
-my $magick =\r
-eval q{\r
- use Image::Magick;\r
- Image::Magick->new();\r
-}\r
- or warn "Image::Magick not installed, not generating a TGA\n";\r
-\r
-sub checkmagick($)\r
-{\r
- my ($e) = @_;\r
- die $e if $e;\r
- return $e;\r
-}\r
-\r
-my ($pixw, $pixh, $cols, $rows, $beamoffset, $beams) = @ARGV;\r
-defined $beams\r
- or die "Usage: $0 pixw pixh columns rows beamoffset beams\n";\r
-\r
-if($magick)\r
-{\r
- checkmagick $magick->Set(size => "${pixw}x${pixh}");\r
- checkmagick $magick->ReadImage("xc:white");\r
-}\r
-\r
-my $square_x = 1.0 / $cols;\r
-my $square_y = 1.0 / $rows;\r
-$rows -= $beams;\r
-\r
-my $dx = 1.0 / $pixw;\r
-my $dy = 1.0 / $pixh;\r
-\r
-my $i = 0;\r
-for my $row(0..$rows-1)\r
-{\r
- for my $col(0..$cols-1)\r
- {\r
- my $s0 = $col * $square_x + $dx;\r
- my $s1 = ($col+1) * $square_x - $dx;\r
- my $t0 = $row * $square_y + $dy;\r
- my $t1 = ($row+1) * $square_y - $dy;\r
- print "$i $s0 $t0 $s1 $t1\n";\r
- if($magick)\r
- {\r
- checkmagick $magick->Draw(\r
- fill => (($row + $col)%2 ? 'green' : 'cyan'),\r
- primitive => 'rectangle',\r
- points => sprintf "%d,%d %d,%d", ceil($s0 * $pixw), ceil($t0 * $pixh), floor($s1 * $pixw)-1, floor($t1 * $pixh)-1\r
- );\r
- checkmagick $magick->Annotate(\r
- x => $s0 * $pixw + 2,\r
- y => $t1 * $pixh - 2,\r
- text => $i\r
- );\r
- }\r
- ++$i;\r
- }\r
-}\r
-\r
-$i = $beamoffset if $i < $beamoffset;\r
-for my $beam(0..$beams-1)\r
-{\r
- my $s0 = 0;\r
- my $s1 = 1;\r
- my $row = $beam + $rows;\r
- my $t0 = $row * $square_y + $dy;\r
- my $t1 = ($row+1) * $square_y - $dy;\r
- print "$i $s0 $t0 $s1 $t1\n";\r
- if($magick)\r
- {\r
- checkmagick $magick->Draw(\r
- fill => (($beam)%2 ? 'yellow' : 'red'),\r
- primitive => 'rectangle',\r
- points => sprintf "%d,%d %d,%d", ceil($s0 * $pixw), ceil($t0 * $pixh), floor($s1 * $pixw)-1, floor($t1 * $pixh)-1\r
- );\r
- checkmagick $magick->Annotate(\r
- x => $s0 * $pixw + 2,\r
- y => $t1 * $pixh - 2,\r
- text => $i\r
- );\r
- }\r
- ++$i;\r
-}\r
-\r
-if($magick)\r
-{\r
- $magick->Write("particlefont-template.png");\r
-}\r
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use POSIX qw/ceil floor/;
+
+# particlefont.txt generator for DarkPlaces
+
+# this is eval'ed to not fail if Image::Magick is not installed
+my $magick =
+eval q{
+ use Image::Magick;
+ Image::Magick->new();
+}
+ or warn "Image::Magick not installed, not generating a TGA\n";
+
+sub checkmagick($)
+{
+ my ($e) = @_;
+ die $e if $e;
+ return $e;
+}
+
+my ($pixw, $pixh, $cols, $rows, $beamoffset, $beams) = @ARGV;
+defined $beams
+ or die "Usage: $0 pixw pixh columns rows beamoffset beams\n";
+
+if($magick)
+{
+ checkmagick $magick->Set(size => "${pixw}x${pixh}");
+ checkmagick $magick->ReadImage("xc:white");
+}
+
+my $square_x = 1.0 / $cols;
+my $square_y = 1.0 / $rows;
+$rows -= $beams;
+
+my $dx = 1.0 / $pixw;
+my $dy = 1.0 / $pixh;
+
+my $i = 0;
+for my $row(0..$rows-1)
+{
+ for my $col(0..$cols-1)
+ {
+ my $s0 = $col * $square_x + $dx;
+ my $s1 = ($col+1) * $square_x - $dx;
+ my $t0 = $row * $square_y + $dy;
+ my $t1 = ($row+1) * $square_y - $dy;
+ print "$i $s0 $t0 $s1 $t1\n";
+ if($magick)
+ {
+ checkmagick $magick->Draw(
+ fill => (($row + $col)%2 ? 'green' : 'cyan'),
+ primitive => 'rectangle',
+ points => sprintf "%d,%d %d,%d", ceil($s0 * $pixw), ceil($t0 * $pixh), floor($s1 * $pixw)-1, floor($t1 * $pixh)-1
+ );
+ checkmagick $magick->Annotate(
+ x => $s0 * $pixw + 2,
+ y => $t1 * $pixh - 2,
+ text => $i
+ );
+ }
+ ++$i;
+ }
+}
+
+$i = $beamoffset if $i < $beamoffset;
+for my $beam(0..$beams-1)
+{
+ my $s0 = 0;
+ my $s1 = 1;
+ my $row = $beam + $rows;
+ my $t0 = $row * $square_y + $dy;
+ my $t1 = ($row+1) * $square_y - $dy;
+ print "$i $s0 $t0 $s1 $t1\n";
+ if($magick)
+ {
+ checkmagick $magick->Draw(
+ fill => (($beam)%2 ? 'yellow' : 'red'),
+ primitive => 'rectangle',
+ points => sprintf "%d,%d %d,%d", ceil($s0 * $pixw), ceil($t0 * $pixh), floor($s1 * $pixw)-1, floor($t1 * $pixh)-1
+ );
+ checkmagick $magick->Annotate(
+ x => $s0 * $pixw + 2,
+ y => $t1 * $pixh - 2,
+ text => $i
+ );
+ }
+ ++$i;
+}
+
+if($magick)
+{
+ $magick->Write("particlefont-template.png");
+}