+use Inline with => 'Imager';
+use Inline C => <<'EOS';
+void blendpixel(Imager img, int offset, Imager::Color color) {
+ int ch;
+ float opacity = (float)color->channel[3] / 255;
+ for (ch = 0; ch < img->channels; ++ch) {
+ img->idata[offset * img->channels + ch] *= 1 - opacity;
+ img->idata[offset * img->channels + ch] += color->channel[ch] * opacity;
+ }
+ return;
+}
+
+EOS
+
+my %UNITINFO = ( # unitid => color|image, width, height
+ 176 => [min => [ 47, 195, 255], 2, 1], # minerals
+ 188 => [gas => [ 15, 255, 63], 2, 1], # gas
+ 214 => [pos => [255, 255, 0], 2, 2], # start pos
+);
+$UNITINFO{$_} = $UNITINFO{176} for 177, 178;
+
+my $STYLE = {
+ wall => [0, 0, 255, 127],
+ edge => [0, 0, 255, 15],
+ ramp => [0, 255, 0, 47],
+ rock => [255, 0, 0, 255],
+};
+$_ = Imager::Color->new(@$_) for values %$STYLE;
+