]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - gfx/colormap_palette.pl
Merge branch 'master' into Mario/bulldozer
[xonotic/xonotic-data.pk3dir.git] / gfx / colormap_palette.pl
1 use strict;
2 use warnings;
3
4 # Colors:
5 #   red
6 #   ORANGE1
7 #   ORANGE2
8 #   yellow
9 #   yellowgreen
10 #   green
11 #   cyangreen
12 #   cyan
13 #   CYANBLUE1
14 #   CYANBLUE2
15 #   blue
16 #   bluemagenta
17 #   magenta
18 #   redmagenta
19
20 my @colors = (
21         'ffffff', # white
22         'ff5500', # orange1
23         '00ff80', # cyangreen
24         '00ff00', # green
25         'ff0000', # red
26         '00aaff', # cyanblue1
27         '00ffff', # cyan
28         '80ff00', # yellowgreen
29         '8000ff', # bluemagenta
30         'ff00ff', # magenta
31         'ff0080', # redmagenta
32         '0000ff', # blue
33         'ffff00', # yellow
34         '0055ff', # cyanblue2
35         'ffaa00', # orange2
36         '000000' # unused
37 );
38
39 my $value_min = 0x0F;
40 my $value_max = 0xFF;
41
42 my $i = 0;
43 my $pal_colormap = "";
44 my $pal_scoreboard = "";
45 for(@colors)
46 {
47         /^(..)(..)(..)$/ or die "invalid color spec: $_";
48         my $r = hex $1;
49         my $g = hex $2;
50         my $b = hex $3;
51         $pal_colormap .= sprintf "%c%c%c", map { int(0.5 + $value_min + ($_ * 1.0 / 0xFF) * ($value_max - $value_min)) } $r, $g, $b;
52         printf STDERR "\t\tcase %2d: return '%f %f %f';\n", $i, $r / 0xFF, $g / 0xFF, $b / 0xFF;
53         ++$i;
54 }
55
56 print "$pal_colormap$pal_colormap$pal_colormap$pal_colormap";