forgot to commit x4
[raymarch.git] / makeicon.d
blob0bc96ca338e6ac9e820d538ddfcb208816e7fd98
1 immutable ubyte[588] iconDisk = [
2 0x18,0x18,0x13,0x13,0x14,0x14,0x3F,0x3F,0x3F,0x13,0x13,0x3F,0x13,0x3F,0x3F,0x13,0x13,0x3F,0x13,
3 0x3F,0x14,0x3F,0x3F,0x13,0x3F,0x13,0x12,0x3E,0x3E,0x3E,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x3E,
4 0x14,0x14,0x3E,0x14,0x14,0x15,0x3E,0x14,0x14,0x15,0x3E,0x12,0x11,0x14,0x3F,0x3F,0x13,0x13,0x13,
5 0x3F,0x3F,0x13,0x14,0x13,0x13,0x3F,0x13,0x13,0x3F,0x3F,0x3F,0x13,0x14,0x3F,0x13,0x12,0x11,0x13,
6 0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x14,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x14,0x13,
7 0x13,0x14,0x12,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x28,0x29,0x29,0x29,0x27,0x13,
8 0x13,0x13,0x13,0x13,0x13,0x13,0x14,0x11,0x11,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x2A,0x3B,0x39,
9 0x2E,0x39,0x30,0x2F,0x3B,0x3D,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x11,0x13,0x13,0x13,0x13,0x13,
10 0x2A,0x39,0x3B,0x2C,0x3C,0x3D,0x3D,0x3D,0x3E,0x3C,0x3A,0x36,0x3D,0x13,0x13,0x13,0x13,0x11,0x11,
11 0x13,0x13,0x13,0x13,0x3D,0x36,0x3C,0x32,0x3D,0x29,0x40,0x40,0x40,0x29,0x3D,0x3D,0x2B,0x2F,0x3D,
12 0x13,0x13,0x13,0x11,0x11,0x13,0x13,0x13,0x3D,0x3B,0x32,0x3D,0x3C,0x3E,0x3B,0x29,0x40,0x28,0x3C,
13 0x3D,0x3C,0x3D,0x3C,0x2D,0x3D,0x13,0x13,0x11,0x11,0x13,0x13,0x3E,0x3C,0x28,0x3E,0x3F,0x3B,0x28,
14 0x3D,0x3A,0x29,0x2E,0x3E,0x3F,0x34,0x28,0x3E,0x3D,0x3B,0x3E,0x13,0x11,0x11,0x13,0x13,0x3D,0x2B,
15 0x3C,0x3F,0x40,0x3C,0x12,0x40,0x3C,0x2F,0x3C,0x40,0x40,0x34,0x11,0x40,0x3E,0x3F,0x3C,0x13,0x11,
16 0x11,0x13,0x14,0x3C,0x3E,0x3F,0x11,0x3E,0x3C,0x3A,0x35,0x3F,0x12,0x3F,0x3B,0x3A,0x3C,0x3E,0x12,
17 0x28,0x3C,0x3C,0x12,0x11,0x11,0x13,0x13,0x32,0x32,0x3F,0x3D,0x37,0x36,0x3B,0x3F,0x40,0x40,0x3F,
18 0x3F,0x3C,0x3B,0x37,0x3D,0x3C,0x3D,0x3C,0x13,0x11,0x11,0x13,0x13,0x3E,0x31,0x3B,0x39,0x34,0x23,
19 0x40,0x3B,0x3E,0x40,0x3E,0x3B,0x40,0x40,0x3C,0x37,0x3B,0x3D,0x2A,0x14,0x11,0x11,0x13,0x13,0x3D,
20 0x31,0x3D,0x33,0x33,0x3B,0x3A,0x3C,0x36,0x30,0x36,0x3C,0x35,0x3B,0x34,0x33,0x29,0x3E,0x3D,0x13,
21 0x12,0x11,0x13,0x13,0x40,0x3E,0x28,0x34,0x3F,0x3F,0x3F,0x3D,0x3B,0x40,0x34,0x3D,0x3F,0x3F,0x3F,
22 0x3C,0x3F,0x29,0x28,0x13,0x11,0x11,0x13,0x14,0x10,0x28,0x27,0x3D,0x35,0x40,0x40,0x28,0x3C,0x40,
23 0x3D,0x28,0x40,0x40,0x35,0x3D,0x3B,0x28,0x12,0x13,0x11,0x11,0x13,0x13,0x13,0x40,0x3C,0x3D,0x3D,
24 0x36,0x3D,0x27,0x3D,0x39,0x3D,0x27,0x33,0x36,0x3D,0x31,0x3E,0x10,0x13,0x13,0x11,0x11,0x13,0x13,
25 0x13,0x13,0x40,0x3D,0x3F,0x3D,0x2D,0x3A,0x3C,0x3B,0x3C,0x3A,0x35,0x32,0x31,0x3F,0x40,0x13,0x13,
26 0x13,0x11,0x11,0x13,0x13,0x12,0x12,0x12,0x22,0x3F,0x3D,0x3D,0x3D,0x3F,0x3D,0x3E,0x3D,0x29,0x3D,
27 0x27,0x40,0x13,0x13,0x13,0x13,0x11,0x12,0x13,0x12,0x12,0x12,0x12,0x12,0x13,0x14,0x2A,0x28,0x3F,
28 0x3D,0x3F,0x3F,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x12,0x13,0x12,0x13,0x13,0x13,0x12,
29 0x13,0x14,0x14,0x13,0x14,0x13,0x14,0x14,0x14,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x11,0x11,0x12,
30 0x12,0x14,0x15,0x15,0x14,0x14,0x13,0x13,0x13,0x12,0x13,0x14,0x13,0x13,0x13,0x13,0x13,0x13,0x12,
31 0x13,0x12,0x11,0x12,0x12,0x12,0x12,0x12,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x12,0x11,
32 0x11,0x11,0x11,0x11,0x11,0x12,0x11,0x11];
34 immutable ubyte[68*3] zxPalette = [
35 0, 0, 0,
36 0, 0,192/*+32*/,
37 192, 0, 0,
38 192, 0,192,
39 0,192, 0,
40 0,192,192,
41 192,192, 0,
42 192,192,192,
43 0, 0, 0,
44 0, 0,255,
45 255, 0, 0,
46 255, 0,255,
47 0,255, 0,
48 0,255,255,
49 255,255, 0,
50 255,255,255,
51 /* */
52 15, 11, 7,
53 23, 15, 11,
54 31, 23, 11,
55 39, 27, 15,
56 47, 35, 19,
57 55, 43, 23,
58 63, 47, 23,
59 75, 55, 27,
60 83, 59, 27,
61 91, 67, 31,
62 99, 75, 31,
63 27, 27, 0,
64 35, 35, 0,
65 43, 43, 7,
66 47, 47, 7,
67 55, 55, 7,
68 63, 63, 7,
69 71, 71, 7,
70 15, 0, 0,
71 23, 0, 0,
72 67, 55, 0,
73 75, 59, 7,
74 87, 67, 7,
75 47, 23, 11,
76 59, 31, 15,
77 75, 35, 19,
78 87, 43, 23,
79 99, 47, 31,
80 115, 55, 35,
81 127, 59, 43,
82 143, 67, 51,
83 159, 79, 51,
84 175, 99, 47,
85 55, 43, 19,
86 71, 51, 27,
87 83, 55, 35,
88 99, 63, 43,
89 111, 71, 51,
90 127, 83, 63,
91 139, 95, 71,
92 135,111, 95,
93 123, 99, 83,
94 107, 87, 71,
95 95, 75, 59,
96 83, 63, 51,
97 67, 51, 39,
98 55, 43, 31,
99 39, 31, 23,
100 27, 19, 15,
101 15, 11, 7,
103 0x18,0x55,0x04,
104 0x61,0xFF,0x24,
108 ubyte[] createRGB (const(ubyte)[] ibuf) {
109 auto res = new ubyte[](ibuf[0]*ibuf[1]*3+2);
110 res[0] = ibuf[0];
111 res[1] = ibuf[1];
112 auto d = res.ptr+2;
113 foreach (immutable y; 0..ibuf[1]) {
114 foreach (immutable x; 0..ibuf[0]) {
115 auto cb = ibuf[2+y*ibuf[0]+x];
116 *d++ = zxPalette[cb*3+0];
117 *d++ = zxPalette[cb*3+1];
118 *d++ = zxPalette[cb*3+2];
121 return res;
125 void main () {
126 import std.stdio;
127 auto ib = createRGB(iconDisk);
128 write("immutable ubyte[", ib.length, "] iconDisk = [");
129 int width = 32767;
130 foreach (auto b; ib) {
131 import std.string;
132 if (width > 97) { write("\n "); width = 2; }
133 auto s = "0x%02x,".format(b);
134 width += s.length;
135 write(s);
137 writeln("];");