6 # particlefont.txt generator for DarkPlaces
8 # this is eval'ed to not fail if Image::Magick is not installed
14 or warn "Image::Magick not installed, not generating a TGA\n";
23 my ($pixw, $pixh, $cols, $beamoffset, $beams) = @ARGV;
25 or die "Usage: $0 pixw pixh columns beamoffset beams\n";
29 checkmagick $magick->Set(size => "${pixw}x${pixh}");
30 checkmagick $magick->ReadImage("xc:white");
33 my $square = 1.0 / $cols;
34 my $rows = $cols - $beams;
40 for my $row(0..$rows-1)
42 for my $col(0..$cols-1)
44 my $s0 = $col * $square + $dx;
45 my $s1 = ($col+1) * $square - $dx;
46 my $t0 = $row * $square + $dy;
47 my $t1 = ($row+1) * $square - $dy;
48 print "$i $s0 $t0 $s1 $t1\n";
51 checkmagick $magick->Draw(
52 fill => (($row + $col)%2 ? 'green' : 'white'),
53 primitive => 'rectangle',
54 points => sprintf "%d,%d %d,%d", $s0 * $pixw, $t0 * $pixh, $s1 * $pixw, $t1 * $pixh
56 checkmagick $magick->Annotate(
66 $i = $beamoffset if $i < $beamoffset;
67 for my $beam(0..$beams-1)
71 my $row = $beam + $rows;
72 my $t0 = $row * $square + $dy;
73 my $t1 = ($row+1) * $square - $dy;
74 print "$i $s0 $t0 $s1 $t1\n";
77 checkmagick $magick->Draw(
78 fill => (($beam)%2 ? 'yellow' : 'red'),
79 primitive => 'rectangle',
80 points => sprintf "%d,%d %d,%d", $s0 * $pixw, $t0 * $pixh, $s1 * $pixw, $t1 * $pixh
82 checkmagick $magick->Annotate(
93 $magick->Write("particlefont-template.png");