Next mapgen commit
[SmugglerRL.git] / src / tile.d
blobc1e8f05030a8655bfa731fe3664f2c8449f3d0ae
1 enum Glyph: string {
2 a = "a", b = "b", c = "c", d = "d", e = "e", f = "f", g = "g", h = "h", i = "i", j = "j", k = "k", l = "l", m = "m", n = "n", o = "o", p = "p", q = "q", r = "r", s = "s", t = "t", u = "u", v = "v", w = "w", x = "x", y = "y", z = "z", A = "A", B = "B", C = "C", D = "D", E = "E", F = "F", G = "G", H = "H", I = "I", J = "J", K = "K", L = "L", M = "M", N = "N", O = "O", P = "P", Q = "Q", R = "R", S = "S", T = "T", U = "U", V = "V", W = "W", X = "X", Y = "Y", Z = "Z",
3 hash = "#",
4 middot = "·",
5 at = "@",
6 light_square = "░", /* they have gradients of how bright they are, but that's
7 * handled elsewhere */
8 medium_square = "▒",
9 dark_square = "▓",
10 full_square = "█",
12 /* It turns out that there are a *lot* of different box drawing
13 * and we want to utilize them all to show, say, partially dug through
14 * walls. The price is this huge enum */
15 wall_horizontal_thick = "━",
16 wall_horizontal_thin = "─",
17 wall_horizontal_thinleft_thickright = "╼",
18 wall_horizontal_thickleft_thinright = "╾",
19 wall_horizontal_thick_left = "╸",
20 wall_horizontal_thick_right = "╺",
21 wall_horizontal_thin_left = "╴",
22 wall_horizontal_thin_right = "╶",
23 wall_horizontal_double = "═",
24 dash = "-", /* equates to wall_horizontal_thick in
25 * des-files */
26 underscore = "_", /* equates to wall_horizontal_thin in
27 * des-files */
28 equals = "=", /* equates to wall_horizontal_double in
29 * des-files */
30 pipe = "|", /* equates to wall_vertical_thin in
31 * des-files */
33 wall_vertical_thick = "┃",
34 wall_vertical_thin = "│",
35 wall_vertical_thintop_thickbottom = "╽",
36 wall_vertical_thicktop_thinbottom = "╿",
37 wall_vertical_thick_top = "╹",
38 wall_vertical_thick_bottom = "╻",
39 wall_vertical_thin_top = "╵",
40 wall_vertical_thin_bottom = "╷",
41 wall_vertical_double = "║",
43 wall_lowerright_thick = "┛",
44 wall_lowerright_thinbottom_thickside = "┚",
45 wall_lowerright_thickbottom_thinside = "┙",
46 wall_lowerright_thin = "┘",
47 wall_lowerright_curved = "╯",
48 wall_lowerright_double = "╝",
49 wall_lowerright_doublebottom_singleside="╛",
50 wall_lowerright_singlebottom_doubleside="╜",
52 wall_lowerleft_thick = "┗",
53 wall_lowerleft_thinbottom_thickside = "┖",
54 wall_lowerleft_thickbottom_thinside = "┕",
55 wall_lowerleft_thin = "└",
56 wall_lowerleft_curved = "╰",
57 wall_lowerleft_double = "╚",
58 wall_lowerleft_doublebottom_singleside ="╘",
59 wall_lowerleft_singlebottom_doubleside ="╙",
61 wall_upperright_thick = "┓",
62 wall_upperright_thicktop_thinside = "┑",
63 wall_upperright_thintop_thickside = "┒",
64 wall_upperright_thin = "┐",
65 wall_upperright_curved = "╮",
66 wall_upperright_double = "╗",
67 wall_uperright_doubletop_singleside = "╕",
68 wall_uperright_singletop_doubleside = "╖",
70 wall_upperleft_thick = "┏",
71 wall_upperleft_thicktop_thinside = "┍",
72 wall_upperleft_thintop_thickside = "┎",
73 wall_upperleft_thin = "┌",
74 wall_upperleft_curved = "╭",
75 wall_upperleft_double = "╔",
76 wall_upperleft_doubletop_singleside = "╒",
77 wall_upperleft_singletop_doubleside = "╓",
79 wall_t_thick = "╋",
80 wall_t_thintop_thinright_thinbottom_thickleft = "┽",
81 wall_t_thintop_thickright_thinbottom_thinleft = "┾",
82 wall_t_thintop_thickright_thinbottom_thickleft ="┿",
83 wall_t_thicktop_thinright_thinbottom_thinleft = "╀",
84 wall_t_thintop_thinright_thickbottom_thinleft = "╁",
85 wall_t_thicktop_thinright_thickbottom_thinleft ="╂",
86 wall_t_thicktop_thinright_thinbottom_thickleft ="╃",
87 wall_t_thicktop_thickright_thinbottom_thinleft ="╄",
88 wall_t_thintop_thinright_thickbottom_thickleft ="╅",
89 wall_t_thintop_thickright_thickbottom_thinleft ="╆",
90 wall_t_thicktop_thickright_thinbottom_thickleft="╇",
91 wall_t_thintop_thickright_thickbottom_thickleft="╈",
92 wall_t_thicktop_thinright_thickbottom_thickleft="╉",
93 wall_t_thicktop_thickright_thickbottom_thinleft="╊",
94 wall_t_thin = "┼",
95 wall_t_double = "╬",
96 wall_t_doubletop_singleright_doubledown_singleleft="╫",
97 wall_t_singletop_doubleright_singledown_doubleleft="╪",
99 t_noleft_thick = "┣",
100 t_noleft_thintop_thickright_thickbottom = "┢",
101 t_nolefft_thicktop_thickright_thinbottom = "┡",
102 t_noleft_thicktop_thinright_thickbottom = "┠",
103 t_noleft_thintop_thinright_thickbottom = "┟",
104 t_noleft_thicktop_thinright_thinbottom = "┞",
105 t_noleft_thintop_thickright_thinbottom = "┝",
106 t_noleft_thin = "├",
108 crossing_slashes = "╳",
109 slash_forward = "╱",
110 slash_back = "╲",
114 enum Glyph[] wall_horizontal = [
115 Glyph.wall_horizontal_thick, // ━
116 Glyph.wall_horizontal_thin, // ─
117 Glyph.wall_horizontal_thinleft_thickright, // ╼
118 Glyph.wall_horizontal_thickleft_thinright, // ╾
119 Glyph.wall_horizontal_thick_left, // ╸
120 Glyph.wall_horizontal_thick_right, // ╺
121 Glyph.wall_horizontal_thin_left, // ╴
122 Glyph.wall_horizontal_thin_right, // ╶
123 Glyph.wall_horizontal_double, // ═
124 Glyph.dash, // -
125 Glyph.underscore, // _
126 Glyph.equals // =
129 enum Glyph[] wall_vertical = [
130 Glyph.pipe, // |
131 Glyph.wall_vertical_thick, // ┃
132 Glyph.wall_vertical_thin, // │
133 Glyph.wall_vertical_thintop_thickbottom, // ╽
134 Glyph.wall_vertical_thicktop_thinbottom, // ╿
135 Glyph.wall_vertical_thick_top, // ╹
136 Glyph.wall_vertical_thick_bottom, // ╻
137 Glyph.wall_vertical_thin_top, // ╵
138 Glyph.wall_vertical_thin_bottom, // ╷
139 Glyph.wall_vertical_double, // ║
142 enum Glyph[] wall_lowerright = [
143 Glyph.wall_lowerright_thick, // ┛
144 Glyph.wall_lowerright_thinbottom_thickside, // ┚
145 Glyph.wall_lowerright_thickbottom_thinside, // ┙
146 Glyph.wall_lowerright_thin, // ┘
147 Glyph.wall_lowerright_curved, // ╯
148 Glyph.wall_lowerright_double, // ╝
149 Glyph.wall_lowerright_doublebottom_singleside, // ╛
150 Glyph.wall_lowerright_singlebottom_doubleside, // ╜
153 enum Glyph[] wall_lowerleft = [
154 Glyph.wall_lowerleft_thick, // ┗
155 Glyph.wall_lowerleft_thinbottom_thickside, // ┖
156 Glyph.wall_lowerleft_thickbottom_thinside, // ┕
157 Glyph.wall_lowerleft_thin, // └
158 Glyph.wall_lowerleft_curved, // ╰
159 Glyph.wall_lowerleft_double, // ╚
160 Glyph.wall_lowerleft_doublebottom_singleside, // ╘
161 Glyph.wall_lowerleft_singlebottom_doubleside, // ╙
164 enum Glyph[] wall_upperright = [
165 Glyph.wall_upperright_thick, // ┓
166 Glyph.wall_upperright_thicktop_thinside, // ┑
167 Glyph.wall_upperright_thintop_thickside, // ┒
168 Glyph.wall_upperright_thin, // ┐
169 Glyph.wall_upperright_curved, // ╮
170 Glyph.wall_upperright_double, // ╗
171 Glyph.wall_uperright_doubletop_singleside, // ╕
172 Glyph.wall_uperright_singletop_doubleside, // ╖
175 enum Glyph[] wall_upperleft = [
176 Glyph.wall_upperleft_thick, // ┏
177 Glyph.wall_upperleft_thicktop_thinside, // ┍
178 Glyph.wall_upperleft_thintop_thickside, // ┎
179 Glyph.wall_upperleft_thin, // ┌
180 Glyph.wall_upperleft_curved, // ╭
181 Glyph.wall_upperleft_double, // ╔
182 Glyph.wall_upperleft_doubletop_singleside, // ╒
183 Glyph.wall_upperleft_singletop_doubleside // ╓
186 enum Glyph[] wall_t = [
187 Glyph.wall_t_thick, // ╋
188 Glyph.wall_t_thintop_thinright_thinbottom_thickleft, // ┽
189 Glyph.wall_t_thintop_thickright_thinbottom_thinleft, // ┾
190 Glyph.wall_t_thintop_thickright_thinbottom_thickleft, // ┿
191 Glyph.wall_t_thicktop_thinright_thinbottom_thinleft, // ╀
192 Glyph.wall_t_thintop_thinright_thickbottom_thinleft, // ╁
193 Glyph.wall_t_thicktop_thinright_thickbottom_thinleft, // ╂
194 Glyph.wall_t_thicktop_thinright_thinbottom_thickleft, // ╃
195 Glyph.wall_t_thicktop_thickright_thinbottom_thinleft, // ╄
196 Glyph.wall_t_thintop_thinright_thickbottom_thickleft, // ╅
197 Glyph.wall_t_thintop_thickright_thickbottom_thinleft, // ╆
198 Glyph.wall_t_thicktop_thickright_thinbottom_thickleft, // ╇
199 Glyph.wall_t_thintop_thickright_thickbottom_thickleft, // ╈
200 Glyph.wall_t_thicktop_thinright_thickbottom_thickleft, // ╉
201 Glyph.wall_t_thicktop_thickright_thickbottom_thinleft, // ╊
202 Glyph.wall_t_thin, // ┼
203 Glyph.wall_t_double, // ╬
204 Glyph.wall_t_doubletop_singleright_doubledown_singleleft,// ╫
205 Glyph.wall_t_singletop_doubleright_singledown_doubleleft// ╪
208 enum Glyph[] all_walls = [
209 Glyph.wall_horizontal_thick, // ━
210 Glyph.wall_horizontal_thin, // ─
211 Glyph.wall_horizontal_thinleft_thickright, // ╼
212 Glyph.wall_horizontal_thickleft_thinright, // ╾
213 Glyph.wall_horizontal_thick_left, // ╸
214 Glyph.wall_horizontal_thick_right, // ╺
215 Glyph.wall_horizontal_thin_left, // ╴
216 Glyph.wall_horizontal_thin_right, // ╶
217 Glyph.wall_horizontal_double, // ═
218 Glyph.dash, /* -, equates to wall_horizontal_thick in
219 * des-files */
220 Glyph.underscore, /* _, equates to wall_horizontal_thin in
221 * des-files */
222 Glyph.equals, /* =, equates to wall_horizontal_double in
223 * des-files */
225 Glyph.wall_vertical_thick, // ┃
226 Glyph.wall_vertical_thin, // │
227 Glyph.wall_vertical_thintop_thickbottom, // ╽
228 Glyph.wall_vertical_thicktop_thinbottom, // ╿
229 Glyph.wall_vertical_thick_top, // ╹
230 Glyph.wall_vertical_thick_bottom, // ╻
231 Glyph.wall_vertical_thin_top, // ╵
232 Glyph.wall_vertical_thin_bottom, // ╷
233 Glyph.wall_vertical_double, // ║
235 Glyph.wall_lowerright_thick, // ┛
236 Glyph.wall_lowerright_thinbottom_thickside, // ┚
237 Glyph.wall_lowerright_thickbottom_thinside, // ┙
238 Glyph.wall_lowerright_thin, // ┘
239 Glyph.wall_lowerright_curved, // ╯
240 Glyph.wall_lowerright_double, // ╝
241 Glyph.wall_lowerright_doublebottom_singleside,// ╛
242 Glyph.wall_lowerright_singlebottom_doubleside,// ╜
244 Glyph.wall_lowerleft_thick, // ┗
245 Glyph.wall_lowerleft_thinbottom_thickside, // ┖
246 Glyph.wall_lowerleft_thickbottom_thinside, // ┕
247 Glyph.wall_lowerleft_thin, // └
248 Glyph.wall_lowerleft_curved, // ╰
249 Glyph.wall_lowerleft_double, // ╚
250 Glyph.wall_lowerleft_doublebottom_singleside, // ╘
251 Glyph.wall_lowerleft_singlebottom_doubleside, // ╙
253 Glyph.wall_upperright_thick, // ┓
254 Glyph.wall_upperright_thicktop_thinside, // ┑
255 Glyph.wall_upperright_thintop_thickside, // ┒
256 Glyph.wall_upperright_thin, // ┐
257 Glyph.wall_upperright_curved, // ╮
258 Glyph.wall_upperright_double, // ╗
259 Glyph.wall_uperright_doubletop_singleside, // ╕
260 Glyph.wall_uperright_singletop_doubleside, // ╖
262 Glyph.wall_upperleft_thick, // ┏
263 Glyph.wall_upperleft_thicktop_thinside, // ┍
264 Glyph.wall_upperleft_thintop_thickside, // ┎
265 Glyph.wall_upperleft_thin, // ┌
266 Glyph.wall_upperleft_curved, // ╭
267 Glyph.wall_upperleft_double, // ╔
268 Glyph.wall_upperleft_doubletop_singleside, // ╒
269 Glyph.wall_upperleft_singletop_doubleside, // ╓
271 Glyph.wall_t_thick, // ╋
272 Glyph.wall_t_thintop_thinright_thinbottom_thickleft, // ┽
273 Glyph.wall_t_thintop_thickright_thinbottom_thinleft, // ┾
274 Glyph.wall_t_thintop_thickright_thinbottom_thickleft, // ┿
275 Glyph.wall_t_thicktop_thinright_thinbottom_thinleft, // ╀
276 Glyph.wall_t_thintop_thinright_thickbottom_thinleft, // ╁
277 Glyph.wall_t_thicktop_thinright_thickbottom_thinleft, // ╂
278 Glyph.wall_t_thicktop_thinright_thinbottom_thickleft, // ╃
279 Glyph.wall_t_thicktop_thickright_thinbottom_thinleft, // ╄
280 Glyph.wall_t_thintop_thinright_thickbottom_thickleft, // ╅
281 Glyph.wall_t_thintop_thickright_thickbottom_thinleft, // ╆
282 Glyph.wall_t_thicktop_thickright_thinbottom_thickleft, // ╇
283 Glyph.wall_t_thintop_thickright_thickbottom_thickleft, // ╈
284 Glyph.wall_t_thicktop_thinright_thickbottom_thickleft, // ╉
285 Glyph.wall_t_thicktop_thickright_thickbottom_thinleft, // ╊
286 Glyph.wall_t_thin, // ┼
287 Glyph.wall_t_double, // ╬
288 Glyph.wall_t_doubletop_singleright_doubledown_singleleft,// ╫
289 Glyph.wall_t_singletop_doubleright_singledown_doubleleft,// ╪
291 Glyph.t_noleft_thick, // ┣
292 Glyph.t_noleft_thintop_thickright_thickbottom, // ┢
293 Glyph.t_nolefft_thicktop_thickright_thinbottom, // ┡
294 Glyph.t_noleft_thicktop_thinright_thickbottom, // ┠
295 Glyph.t_noleft_thintop_thinright_thickbottom, // ┟
296 Glyph.t_noleft_thicktop_thinright_thinbottom, // ┞
297 Glyph.t_noleft_thintop_thickright_thinbottom, // ┝
298 Glyph.t_noleft_thin, // ├
300 Glyph.crossing_slashes, // ╳
301 Glyph.slash_forward, // ╱
302 Glyph.slash_back // ╲
306 enum Glyph[] all_glyphs = [
307 Glyph.a, Glyph.b, Glyph.c, Glyph.d, Glyph.e, Glyph.f, Glyph.g, Glyph.h, Glyph.i, Glyph.j, Glyph.k, Glyph.l, Glyph.m, Glyph.n, Glyph.o, Glyph.p, Glyph.q, Glyph.r, Glyph.s, Glyph.t, Glyph.u, Glyph.v, Glyph.w, Glyph.x, Glyph.y, Glyph.z, Glyph.A, Glyph.B, Glyph.C, Glyph.D, Glyph.E, Glyph.F, Glyph.G, Glyph.H, Glyph.I, Glyph.J, Glyph.K, Glyph.L, Glyph.M, Glyph.N, Glyph.O, Glyph.P, Glyph.Q, Glyph.R, Glyph.S, Glyph.T, Glyph.U, Glyph.V, Glyph.W, Glyph.X, Glyph.Y, Glyph.Z,
308 Glyph.middot, // ·
309 Glyph.at, // @
310 Glyph.light_square, // ░
311 Glyph.medium_square, // ▒
312 Glyph.dark_square, // ▓
313 Glyph.full_square, // █
315 Glyph.wall_horizontal_thick, // ━
316 Glyph.wall_horizontal_thin, // ─
317 Glyph.wall_horizontal_thinleft_thickright, // ╼
318 Glyph.wall_horizontal_thickleft_thinright, // ╾
319 Glyph.wall_horizontal_thick_left, // ╸
320 Glyph.wall_horizontal_thick_right, // ╺
321 Glyph.wall_horizontal_thin_left, // ╴
322 Glyph.wall_horizontal_thin_right, // ╶
323 Glyph.wall_horizontal_double, // ═
324 Glyph.dash, // -
325 Glyph.underscore, // _
326 Glyph.equals, // =
328 Glyph.wall_vertical_thick, // ┃
329 Glyph.wall_vertical_thin, // │
330 Glyph.wall_vertical_thintop_thickbottom, // ╽
331 Glyph.wall_vertical_thicktop_thinbottom, // ╿
332 Glyph.wall_vertical_thick_top, // ╹
333 Glyph.wall_vertical_thick_bottom, // ╻
334 Glyph.wall_vertical_thin_top, // ╵
335 Glyph.wall_vertical_thin_bottom, // ╷
336 Glyph.wall_vertical_double, // ║
338 Glyph.wall_lowerright_thick, // ┛
339 Glyph.wall_lowerright_thinbottom_thickside, // ┚
340 Glyph.wall_lowerright_thickbottom_thinside, // ┙
341 Glyph.wall_lowerright_thin, // ┘
342 Glyph.wall_lowerright_curved, // ╯
343 Glyph.wall_lowerright_double, // ╝
344 Glyph.wall_lowerright_doublebottom_singleside,// ╛
345 Glyph.wall_lowerright_singlebottom_doubleside,// ╜
347 Glyph.wall_lowerleft_thick, // ┗
348 Glyph.wall_lowerleft_thinbottom_thickside, // ┖
349 Glyph.wall_lowerleft_thickbottom_thinside, // ┕
350 Glyph.wall_lowerleft_thin, // └
351 Glyph.wall_lowerleft_curved, // ╰
352 Glyph.wall_lowerleft_double, // ╚
353 Glyph.wall_lowerleft_doublebottom_singleside, // ╘
354 Glyph.wall_lowerleft_singlebottom_doubleside, // ╙
356 Glyph.wall_upperright_thick, // ┓
357 Glyph.wall_upperright_thicktop_thinside, // ┑
358 Glyph.wall_upperright_thintop_thickside, // ┒
359 Glyph.wall_upperright_thin, // ┐
360 Glyph.wall_upperright_curved, // ╮
361 Glyph.wall_upperright_double, // ╗
362 Glyph.wall_uperright_doubletop_singleside, // ╕
363 Glyph.wall_uperright_singletop_doubleside, // ╖
365 Glyph.wall_upperleft_thick, // ┏
366 Glyph.wall_upperleft_thicktop_thinside, // ┍
367 Glyph.wall_upperleft_thintop_thickside, // ┎
368 Glyph.wall_upperleft_thin, // ┌
369 Glyph.wall_upperleft_curved, // ╭
370 Glyph.wall_upperleft_double, // ╔
371 Glyph.wall_upperleft_doubletop_singleside, // ╒
372 Glyph.wall_upperleft_singletop_doubleside, // ╓
374 Glyph.wall_t_thick, // ╋
375 Glyph.wall_t_thintop_thinright_thinbottom_thickleft, // ┽
376 Glyph.wall_t_thintop_thickright_thinbottom_thinleft, // ┾
377 Glyph.wall_t_thintop_thickright_thinbottom_thickleft, // ┿
378 Glyph.wall_t_thicktop_thinright_thinbottom_thinleft, // ╀
379 Glyph.wall_t_thintop_thinright_thickbottom_thinleft, // ╁
380 Glyph.wall_t_thicktop_thinright_thickbottom_thinleft, // ╂
381 Glyph.wall_t_thicktop_thinright_thinbottom_thickleft, // ╃
382 Glyph.wall_t_thicktop_thickright_thinbottom_thinleft, // ╄
383 Glyph.wall_t_thintop_thinright_thickbottom_thickleft, // ╅
384 Glyph.wall_t_thintop_thickright_thickbottom_thinleft, // ╆
385 Glyph.wall_t_thicktop_thickright_thinbottom_thickleft,// ╇
386 Glyph.wall_t_thintop_thickright_thickbottom_thickleft,// ╈
387 Glyph.wall_t_thicktop_thinright_thickbottom_thickleft,// ╉
388 Glyph.wall_t_thicktop_thickright_thickbottom_thinleft,// ╊
389 Glyph.wall_t_thin, // ┼
390 Glyph.wall_t_double, // ╬
391 Glyph.wall_t_doubletop_singleright_doubledown_singleleft,// ╫
392 Glyph.wall_t_singletop_doubleright_singledown_doubleleft,// ╪
394 Glyph.t_noleft_thick, // ┣
395 Glyph.t_noleft_thintop_thickright_thickbottom, // ┢
396 Glyph.t_nolefft_thicktop_thickright_thinbottom, // ┡
397 Glyph.t_noleft_thicktop_thinright_thickbottom, // ┠
398 Glyph.t_noleft_thintop_thinright_thickbottom, // ┟
399 Glyph.t_noleft_thicktop_thinright_thinbottom, // ┞
400 Glyph.t_noleft_thintop_thickright_thinbottom, // ┝
401 Glyph.t_noleft_thin, // ├
403 Glyph.crossing_slashes, // ╳
404 Glyph.slash_forward, // ╱
405 Glyph.slash_back, // ╲