]> git.gir.st - minesVIiper.git/blob - schemes.h
fix out of bounds check for right_click, use alternate screen
[minesVIiper.git] / schemes.h
1 /*
2 contains color/monchrome schemes for tty-mines.
3 */
4 #ifndef __SCHEMES_H__
5 #define __SCHEMES_H__
6
7 struct minescheme {
8 char* number[9];
9 char* field_closed;
10 char* field_flagged;
11 char* field_question;
12 char* mouse_highlight;
13 char* mine_normal;
14 char* mine_death;
15 char* mine_wrongf;
16 char* mine_wrongq;
17
18 char* border_top_l;
19 char* border_top_m;
20 char* border_top_r;
21
22 char* border_status_l;
23 //TODO: better define status line
24 char* border_status_r;
25
26 char* border_spacer_l;
27 char* border_spacer_m;
28 char* border_spacer_r;
29
30 char* border_field_l;
31 char* border_field_r;
32
33 char* border_bottom_l;
34 char* border_bottom_m;
35 char* border_bottom_r;
36
37 int cell_width;
38 char* init_seq;
39 char* reset_seq;
40 };
41
42 struct minescheme symbols_mono = {
43 .number = {" ", "1", "2", "3", "4", "5", "6", "7", "8"},
44 .field_closed = "░░",
45 .field_flagged = "▒▒",
46 .field_question = "?",
47 .mouse_highlight = "▓▓",
48 .mine_normal = "*",
49 .mine_death = "#",
50 .mine_wrongf = "/",
51 .mine_wrongq = "\",
52
53 .border_top_l = "╔═",
54 .border_top_m = "═",
55 .border_top_r = "═╗",
56
57 .border_status_l = "║ ",
58 .border_status_r = " ║",
59
60 .border_spacer_l = "╟─",
61 .border_spacer_m = "─",
62 .border_spacer_r = "─╢",
63
64 .border_field_l = "║ ",
65 .border_field_r = " ║",
66
67 .border_bottom_l = "╚═",
68 .border_bottom_m = "═",
69 .border_bottom_r = "═╝",
70
71 .cell_width = 2,
72 };
73
74 struct minescheme symbols_col1 = {
75 .number = {" ", "\033[94m1\033[m", "\033[32m2\033[m", "\033[31m3\033[m", "\033[34m4\033[m", "\033[33m5\033[m", "\033[36m6\033[m", "\033[30m7\033[m", "\033[97m8\033[m"},
76 .field_closed = "░░",
77 .field_flagged = "▒▒",
78 .field_question = "?",
79 .mouse_highlight = "▓▓",
80 .mine_normal = "*",
81 .mine_death = "\033[31m*\033[m",
82 .mine_wrongf = "/",
83 .mine_wrongq = "\",
84
85 .border_top_l = "╔═",
86 .border_top_m = "═",
87 .border_top_r = "═╗",
88
89 .border_status_l = "║ ",
90 .border_status_r = " ║",
91
92 .border_spacer_l = "╟─",
93 .border_spacer_m = "─",
94 .border_spacer_r = "─╢",
95
96 .border_field_l = "║ ",
97 .border_field_r = " ║",
98
99 .border_bottom_l = "╚═",
100 .border_bottom_m = "═",
101 .border_bottom_r = "═╝",
102
103 .cell_width = 2,
104 };
105
106 struct minescheme symbols_doublewidth = {
107 /* vt220 multilingual character set,
108 see http://vt100.net/docs/vt220-rm/table2-4.html */
109 .number = {" ", "\033[1m1\033[0m", "\033[1m2\033[0m", "\033[1m3\033[0m", "\033[1m4\033[0m", "\033[1m5\033[0m", "\033[1m6\033[0m", "\033[1m7\033[0m", "\033[1m8\033[0m"},
110 .field_closed = "\x61",
111 .field_flagged = "\033[1m!\033[0m",
112 .field_question = "\033[1m?\033[0m",
113 .mouse_highlight = "\033[5m@\033[0m",
114 .mine_normal = "\033[1m*\033[0m",
115 .mine_death = "\033[1m#\033[0m",
116 .mine_wrongf = "\033[1m/\033[0m",
117 .mine_wrongq = "\033[1m\\\033[0m",
118
119 .border_top_l = "\033#6\x6c",
120 .border_top_m = "\x71",
121 .border_top_r = "\x6b",
122
123 .border_status_l = "\033#6\x78",
124 .border_status_r = "\x78",
125
126 .border_spacer_l = "\033#6\x74",
127 .border_spacer_m = "\x71",
128 .border_spacer_r = "\x75",
129
130 .border_field_l = "\033#6\x78",
131 .border_field_r = "\x78",
132
133 .border_bottom_l = "\033#6\x6d",
134 .border_bottom_m = "\x71",
135 .border_bottom_r = "\x6a",
136
137 .cell_width = 1,
138 .init_seq = "\033(0", /* enable DEC Special Graphics Character Set */
139 .reset_seq = "\033(B", /* enable DEC Multinational Character Set (TODO: check) */
140 };
141 #endif
Imprint / Impressum