]> git.gir.st - minesVIiper.git/blob - schemes.h
clamp field size to window/mouse-max, dynamic minenum if not given
[minesVIiper.git] / schemes.h
1 /*
2 contains color/monchrome schemes for tty-mines.
3 */
4 #ifndef __SCHEMES_H__
5 #define __SCHEMES_H__
6
7 enum e_emoticons {
8 EMOT_SMILE,
9 EMOT_DEAD,
10 EMOT_WON,
11 EMOT_OHH,
12 NUM_EMOT,
13 };
14
15 struct minescheme {
16 char* number[9];
17 char* field_closed;
18 char* field_flagged;
19 char* field_question;
20 char* mouse_highlight;
21 char* mine_normal;
22 char* mine_death;
23 char* mine_wrongf;
24 char* mine_wrongq;
25
26 char* emoticons[NUM_EMOT];
27
28 char* border_top_l;
29 char* border_top_m;
30 char* border_top_r;
31
32 char* border_status_l;
33 //TODO: better define status line
34 char* border_status_r;
35
36 char* border_spacer_l;
37 char* border_spacer_m;
38 char* border_spacer_r;
39
40 char* border_field_l;
41 char* border_field_r;
42
43 char* border_bottom_l;
44 char* border_bottom_m;
45 char* border_bottom_r;
46
47 int cell_width;
48 int flag_offset;
49 char* init_seq;
50 char* reset_seq;
51 };
52
53 struct minescheme symbols_mono = {
54 .number = {" ", "1", "2", "3", "4", "5", "6", "7", "8"},
55 .field_closed = "░░",
56 .field_flagged = "\033[7m!\033[0m",//⢕⢕",//⡱⢎",//⣏⣹",//▄▀",//▓▓",//██",//▒▒",
57 .field_question = "\033[7m?\033[0m",
58 .mouse_highlight = "▓▓",
59 .mine_normal = "*",
60 .mine_death = "#",
61 .mine_wrongf = "/",
62 .mine_wrongq = "\",
63
64 .emoticons = {":)", ":(", ":D", ":o"},
65
66 .border_top_l = "╔═",
67 .border_top_m = "═",
68 .border_top_r = "═╗",
69
70 .border_status_l = "║ ",
71 .border_status_r = " ║",
72
73 .border_spacer_l = "╟─",
74 .border_spacer_m = "─",
75 .border_spacer_r = "─╢",
76
77 .border_field_l = "║ ",
78 .border_field_r = " ║",
79
80 .border_bottom_l = "╚═",
81 .border_bottom_m = "═",
82 .border_bottom_r = "═╝",
83
84 .cell_width = 2,
85 .flag_offset = 4, //length of the escape sequece infront of .field_flagged and .field_question for cursor highlighting
86 };
87
88 struct minescheme symbols_col1 = {
89 .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"},
90 .field_closed = "░░",
91 .field_flagged = "▒▒",
92 .field_question = "?",
93 .mouse_highlight = "▓▓",
94 .mine_normal = "*",
95 .mine_death = "\033[31m*\033[m",
96 .mine_wrongf = "/",
97 .mine_wrongq = "\",
98
99 .emoticons = {":D", ":C", "8)", ":o"},
100
101 .border_top_l = "╔═",
102 .border_top_m = "═",
103 .border_top_r = "═╗",
104
105 .border_status_l = "║ ",
106 .border_status_r = " ║",
107
108 .border_spacer_l = "╟─",
109 .border_spacer_m = "─",
110 .border_spacer_r = "─╢",
111
112 .border_field_l = "║ ",
113 .border_field_r = " ║",
114
115 .border_bottom_l = "╚═",
116 .border_bottom_m = "═",
117 .border_bottom_r = "═╝",
118
119 .cell_width = 2,
120 };
121
122 struct minescheme symbols_doublewidth = {
123 /* vt220 multilingual character set,
124 see http://vt100.net/docs/vt220-rm/table2-4.html */
125 .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"},
126 .field_closed = "\x61",
127 .field_flagged = "\033[1m!\033[0m",
128 .field_question = "\033[1m?\033[0m",
129 .mouse_highlight = "\033[5m@\033[0m",
130 .mine_normal = "\033[1m*\033[0m",
131 .mine_death = "\033[1m#\033[0m",
132 .mine_wrongf = "\033[1m/\033[0m",
133 .mine_wrongq = "\033[1m\\\033[0m",
134
135 .emoticons = {":)", ":(", ":D", ":o"},
136
137 .border_top_l = "\033#6\x6c",
138 .border_top_m = "\x71",
139 .border_top_r = "\x6b",
140
141 .border_status_l = "\033#6\x78",
142 .border_status_r = "\x78",
143
144 .border_spacer_l = "\033#6\x74",
145 .border_spacer_m = "\x71",
146 .border_spacer_r = "\x75",
147
148 .border_field_l = "\033#6\x78",
149 .border_field_r = "\x78",
150
151 .border_bottom_l = "\033#6\x6d",
152 .border_bottom_m = "\x71",
153 .border_bottom_r = "\x6a",
154
155 .cell_width = 1,
156 .init_seq = "\033(0", /* enable DEC Special Graphics Character Set */
157 .reset_seq = "\033(B", /* enable DEC Multinational Character Set (TODO: check) */
158 };
159 #endif
Imprint / Impressum