brush_tables.cpp

main 1644 lines · 98.2 KB Raw
Alex Alex Commit Map Editor 18/10/2026 23:40
1//////////////////////////////////////////////////////////////////////
2// This file is part of Remere's Map Editor
3//////////////////////////////////////////////////////////////////////
4// Remere's Map Editor is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Remere's Map Editor is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
16//////////////////////////////////////////////////////////////////////
17
18#include "main.h"
19
20#include "ground_brush.h"
21#include "wall_brush.h"
22#include "carpet_brush.h"
23#include "table_brush.h"
24
25//=============================================================================
26// Border lookup tables
27
28void GroundBrush::init() {
29 GroundBrush::border_types[0] // 0
30 = BORDER_NONE;
31 GroundBrush::border_types[TILE_NORTHWEST] // 1
32 = NORTHWEST_CORNER;
33 GroundBrush::border_types[TILE_NORTH] // 10
34 = NORTH_HORIZONTAL;
35 GroundBrush::border_types[TILE_NORTH | TILE_NORTHWEST] // 11
36 = NORTH_HORIZONTAL;
37 GroundBrush::border_types[TILE_NORTHEAST] // 100
38 = NORTHEAST_CORNER;
39 GroundBrush::border_types[TILE_NORTHEAST | TILE_NORTHWEST] // 101
40 = NORTHWEST_CORNER | NORTHEAST_CORNER << 8;
41 GroundBrush::border_types[TILE_NORTHEAST | TILE_NORTH] // 110
42 = NORTH_HORIZONTAL;
43 GroundBrush::border_types[TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111
44 = NORTH_HORIZONTAL;
45 GroundBrush::border_types[TILE_WEST] // 1000
46 = WEST_HORIZONTAL;
47 GroundBrush::border_types[TILE_WEST | TILE_NORTHWEST] // 1001
48 = WEST_HORIZONTAL;
49 GroundBrush::border_types[TILE_WEST | TILE_NORTH] // 1010
50 = NORTHWEST_DIAGONAL;
51 GroundBrush::border_types[TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011
52 = NORTHWEST_DIAGONAL;
53 GroundBrush::border_types[TILE_WEST | TILE_NORTHEAST] // 1100
54 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8;
55 GroundBrush::border_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101
56 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8;
57 GroundBrush::border_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1110
58 = NORTHWEST_DIAGONAL;
59 GroundBrush::border_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111
60 = NORTHWEST_DIAGONAL;
61 GroundBrush::border_types[TILE_EAST] // 10000
62 = EAST_HORIZONTAL;
63 GroundBrush::border_types[TILE_EAST | TILE_NORTHWEST] // 10001
64 = NORTHWEST_CORNER | EAST_HORIZONTAL << 8;
65 GroundBrush::border_types[TILE_EAST | TILE_NORTH] // 10010
66 = NORTHEAST_DIAGONAL;
67 GroundBrush::border_types[TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 10011
68 = NORTHEAST_DIAGONAL;
69 GroundBrush::border_types[TILE_EAST | TILE_NORTHEAST] // 10100
70 = EAST_HORIZONTAL;
71 GroundBrush::border_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 10101
72 = NORTHWEST_CORNER | EAST_HORIZONTAL << 8;
73 GroundBrush::border_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 10110
74 = NORTHEAST_DIAGONAL;
75 GroundBrush::border_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 10111
76 = NORTHEAST_DIAGONAL;
77 GroundBrush::border_types[TILE_EAST | TILE_WEST] // 11000
78 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
79 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 11001
80 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
81 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTH] // 11010
82 = NORTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
83 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 11011
84 = NORTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
85 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 11100
86 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8;
87 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 11101
88 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8;
89 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 11110
90 = NORTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
91 GroundBrush::border_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11111
92 = NORTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
93 GroundBrush::border_types[TILE_SOUTHWEST] // 100000
94 = SOUTHWEST_CORNER;
95 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTHWEST] // 100001
96 = SOUTHWEST_CORNER | NORTHWEST_CORNER << 8;
97 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTH] // 100010
98 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8;
99 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 100011
100 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8;
101 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTHEAST] // 100100
102 = SOUTHWEST_CORNER | NORTHEAST_CORNER << 8;
103 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 100101
104 = SOUTHWEST_CORNER | NORTHEAST_CORNER << 8 | NORTHWEST_CORNER << 16;
105 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 100110
106 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8;
107 GroundBrush::border_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 100111
108 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8;
109 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST] // 101000
110 = WEST_HORIZONTAL;
111 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 101001
112 = WEST_HORIZONTAL;
113 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 101010
114 = NORTHWEST_DIAGONAL;
115 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 101011
116 = NORTHWEST_DIAGONAL;
117 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 101100
118 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8;
119 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 101101
120 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8;
121 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 101110
122 = NORTHWEST_DIAGONAL;
123 GroundBrush::border_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 101111
124 = NORTHWEST_DIAGONAL;
125 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST] // 110000
126 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8;
127 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 110001
128 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8 | NORTHWEST_CORNER << 16;
129 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 110010
130 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
131 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 110011
132 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
133 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 110100
134 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8;
135 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 110101
136 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8 | NORTHWEST_CORNER << 16;
137 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 110110
138 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
139 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 110111
140 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
141 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 111000
142 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
143 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 111001
144 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
145 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 111010
146 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
147 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 111011
148 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
149 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 111100
150 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
151 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 111101
152 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
153 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 111110
154 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
155 GroundBrush::border_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111111
156 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
157 GroundBrush::border_types[TILE_SOUTH] // 1000000
158 = SOUTH_HORIZONTAL;
159 GroundBrush::border_types[TILE_SOUTH | TILE_NORTHWEST] // 1000001
160 = SOUTH_HORIZONTAL | NORTHWEST_CORNER << 8;
161 GroundBrush::border_types[TILE_SOUTH | TILE_NORTH] // 1000010
162 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
163 GroundBrush::border_types[TILE_SOUTH | TILE_NORTH | TILE_NORTHWEST] // 1000011
164 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
165 GroundBrush::border_types[TILE_SOUTH | TILE_NORTHEAST] // 1000100
166 = SOUTH_HORIZONTAL | NORTHEAST_CORNER << 8;
167 GroundBrush::border_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTHWEST] // 1000101
168 = SOUTH_HORIZONTAL | NORTHEAST_CORNER << 8 | NORTHWEST_CORNER << 16;
169 GroundBrush::border_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH] // 1000110
170 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
171 GroundBrush::border_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1000111
172 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
173 GroundBrush::border_types[TILE_SOUTH | TILE_WEST] // 1001000
174 = SOUTHWEST_DIAGONAL;
175 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTHWEST] // 1001001
176 = SOUTHWEST_DIAGONAL;
177 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTH] // 1001010
178 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
179 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1001011
180 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
181 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST] // 1001100
182 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
183 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1001101
184 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
185 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1001110
186 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
187 GroundBrush::border_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1001111
188 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
189 GroundBrush::border_types[TILE_SOUTH | TILE_EAST] // 1010000
190 = SOUTHEAST_DIAGONAL;
191 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTHWEST] // 1010001
192 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
193 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTH] // 1010010
194 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
195 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1010011
196 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
197 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST] // 1010100
198 = SOUTHEAST_DIAGONAL;
199 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1010101
200 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
201 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1010110
202 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
203 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1010111
204 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
205 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST] // 1011000
206 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
207 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1011001
208 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
209 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH] // 1011010
210 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
211 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011011
212 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
213 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1011100
214 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
215 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1011101
216 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
217 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1011110
218 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
219 GroundBrush::border_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1011111
220 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
221 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST] // 1100000
222 = SOUTH_HORIZONTAL;
223 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHWEST] // 1100001
224 = SOUTH_HORIZONTAL | NORTHWEST_CORNER << 8;
225 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH] // 1100010
226 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
227 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 1100011
228 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
229 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST] // 1100100
230 = SOUTH_HORIZONTAL | NORTHEAST_CORNER << 8;
231 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1100101
232 = SOUTH_HORIZONTAL | NORTHWEST_CORNER << 8 | NORTHEAST_CORNER << 16;
233 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 1100110
234 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
235 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1100111
236 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
237 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST] // 1101000
238 = SOUTHWEST_DIAGONAL;
239 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 1101001
240 = SOUTHWEST_DIAGONAL;
241 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 1101010
242 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
243 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1101011
244 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
245 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 1101100
246 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
247 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101101
248 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
249 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1101110
250 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
251 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1101111
252 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
253 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST] // 1110000
254 = SOUTHEAST_DIAGONAL;
255 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 1110001
256 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
257 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 1110010
258 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
259 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1110011
260 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
261 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 1110100
262 = SOUTHEAST_DIAGONAL;
263 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1110101
264 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
265 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1110110
266 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
267 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1110111
268 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
269 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 1111000
270 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
271 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1111001
272 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
273 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 1111010
274 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
275 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1111011
276 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
277 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1111100
278 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
279 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1111101
280 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
281 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1111110
282 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
283 GroundBrush::border_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111111
284 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
285
286 GroundBrush::border_types[TILE_SOUTHEAST]
287 = SOUTHEAST_CORNER;
288 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTHWEST] // 1
289 = NORTHWEST_CORNER | SOUTHEAST_CORNER << 8;
290 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTH] // 10
291 = NORTH_HORIZONTAL | SOUTHEAST_CORNER << 8;
292 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11
293 = NORTH_HORIZONTAL | SOUTHEAST_CORNER << 8;
294 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTHEAST] // 100
295 = NORTHEAST_CORNER | SOUTHEAST_CORNER << 8;
296 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTHWEST] // 101
297 = NORTHEAST_CORNER | NORTHWEST_CORNER << 8 | SOUTHEAST_CORNER << 16;
298 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTH] // 110
299 = NORTH_HORIZONTAL | SOUTHEAST_CORNER << 8;
300 GroundBrush::border_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111
301 = NORTH_HORIZONTAL | SOUTHEAST_CORNER << 8;
302 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST] // 1000
303 = WEST_HORIZONTAL | SOUTHEAST_CORNER << 8;
304 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHWEST] // 1001
305 = WEST_HORIZONTAL | SOUTHEAST_CORNER << 8;
306 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTH] // 1010
307 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
308 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011
309 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
310 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST] // 1100
311 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8 | SOUTHEAST_CORNER << 16;
312 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101
313 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8 | SOUTHEAST_CORNER << 16;
314 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1110
315 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
316 GroundBrush::border_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111
317 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
318 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST] // 10000
319 = EAST_HORIZONTAL;
320 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHWEST] // 10001
321 = EAST_HORIZONTAL | NORTHWEST_CORNER << 8;
322 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTH] // 10010
323 = NORTHEAST_DIAGONAL;
324 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 10011
325 = NORTHEAST_DIAGONAL;
326 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST] // 10100
327 = EAST_HORIZONTAL;
328 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 10101
329 = EAST_HORIZONTAL | NORTHWEST_CORNER << 8;
330 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 10110
331 = NORTHEAST_DIAGONAL;
332 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 10111
333 = NORTHEAST_DIAGONAL;
334 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST] // 11000
335 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8;
336 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 11001
337 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8;
338 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTH] // 11010
339 = NORTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
340 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 11011
341 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
342 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 11100
343 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8;
344 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 11101
345 = EAST_HORIZONTAL | WEST_HORIZONTAL << 8;
346 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 11110
347 = NORTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
348 GroundBrush::border_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11111
349 = NORTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
350 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST] // 100000
351 = SOUTHWEST_CORNER | SOUTHEAST_CORNER << 8;
352 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHWEST] // 100001
353 = SOUTHWEST_CORNER | NORTHWEST_CORNER << 8 | SOUTHEAST_CORNER << 16;
354 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTH] // 100010
355 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8 | SOUTHEAST_CORNER << 16;
356 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 100011
357 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8 | SOUTHEAST_CORNER << 16;
358 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST] // 100100
359 = SOUTHWEST_CORNER | NORTHEAST_CORNER << 8 | SOUTHEAST_CORNER << 16;
360 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 100101
361 = SOUTHWEST_CORNER | NORTHEAST_CORNER << 8 | NORTHWEST_CORNER << 16 | SOUTHEAST_CORNER << 24;
362 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 100110
363 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8 | SOUTHEAST_CORNER << 16;
364 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 100111
365 = SOUTHWEST_CORNER | NORTH_HORIZONTAL << 8 | SOUTHEAST_CORNER << 16;
366 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST] // 101000
367 = WEST_HORIZONTAL | SOUTHEAST_CORNER << 8;
368 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 101001
369 = WEST_HORIZONTAL | SOUTHEAST_CORNER << 8;
370 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 101010
371 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
372 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 101011
373 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
374 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 101100
375 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8 | SOUTHEAST_CORNER << 16;
376 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 101101
377 = WEST_HORIZONTAL | NORTHEAST_CORNER << 8 | SOUTHEAST_CORNER << 16;
378 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 101110
379 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
380 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 101111
381 = NORTHWEST_DIAGONAL | SOUTHEAST_CORNER << 8;
382 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST] // 110000
383 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8;
384 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 110001
385 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8 | NORTHWEST_CORNER << 16;
386 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 110010
387 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
388 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 110011
389 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
390 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 110100
391 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8;
392 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 110101
393 = SOUTHWEST_CORNER | EAST_HORIZONTAL << 8 | NORTHWEST_CORNER << 16;
394 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 110110
395 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
396 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 110111
397 = SOUTHWEST_CORNER | NORTHEAST_DIAGONAL << 8;
398 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 111000
399 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
400 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 111001
401 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
402 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 111010
403 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
404 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 111011
405 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
406 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 111100
407 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
408 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 111101
409 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8;
410 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 111110
411 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
412 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111111
413 = WEST_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
414 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH] // 1000000
415 = SOUTH_HORIZONTAL;
416 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHWEST] // 1000001
417 = SOUTH_HORIZONTAL | NORTHWEST_CORNER << 8;
418 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTH] // 1000010
419 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
420 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTH | TILE_NORTHWEST] // 1000011
421 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
422 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST] // 1000100
423 = SOUTH_HORIZONTAL | NORTHEAST_CORNER << 8;
424 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTHWEST] // 1000101
425 = SOUTH_HORIZONTAL | NORTHEAST_CORNER << 8 | NORTHWEST_CORNER << 16;
426 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH] // 1000110
427 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
428 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1000111
429 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
430 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST] // 1001000
431 = SOUTHWEST_DIAGONAL;
432 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHWEST] // 1001001
433 = SOUTHWEST_DIAGONAL;
434 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTH] // 1001010
435 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
436 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1001011
437 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
438 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST] // 1001100
439 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
440 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1001101
441 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
442 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1001110
443 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
444 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1001111
445 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
446 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST] // 1010000
447 = SOUTHEAST_DIAGONAL;
448 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHWEST] // 1010001
449 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
450 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTH] // 1010010
451 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
452 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1010011
453 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
454 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST] // 1010100
455 = SOUTHEAST_DIAGONAL;
456 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1010101
457 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
458 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1010110
459 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
460 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1010111
461 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
462 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST] // 1011000
463 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
464 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1011001
465 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
466 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH] // 1011010
467 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
468 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011011
469 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
470 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1011100
471 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
472 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1011101
473 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16;
474 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1011110
475 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
476 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1011111
477 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | EAST_HORIZONTAL << 16 | NORTH_HORIZONTAL << 24;
478 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST] // 1100000
479 = SOUTH_HORIZONTAL;
480 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHWEST] // 1100001
481 = SOUTH_HORIZONTAL | NORTHWEST_CORNER << 8;
482 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH] // 1100010
483 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
484 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 1100011
485 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
486 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST] // 1100100
487 = SOUTH_HORIZONTAL | NORTHEAST_CORNER << 8;
488 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1100101
489 = SOUTH_HORIZONTAL | NORTHWEST_CORNER << 8 | NORTHEAST_CORNER << 16;
490 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 1100110
491 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
492 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1100111
493 = SOUTH_HORIZONTAL | NORTH_HORIZONTAL << 8;
494 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST] // 1101000
495 = SOUTHWEST_DIAGONAL;
496 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 1101001
497 = SOUTHWEST_DIAGONAL;
498 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 1101010
499 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
500 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1101011
501 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
502 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 1101100
503 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
504 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101101
505 = SOUTHWEST_DIAGONAL | NORTHEAST_CORNER << 8;
506 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1101110
507 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
508 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1101111
509 = SOUTH_HORIZONTAL | WEST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
510 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST] // 1110000
511 = SOUTHEAST_DIAGONAL;
512 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 1110001
513 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
514 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 1110010
515 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
516 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1110011
517 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
518 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 1110100
519 = SOUTHEAST_DIAGONAL;
520 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1110101
521 = SOUTHEAST_DIAGONAL | NORTHWEST_CORNER << 8;
522 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1110110
523 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
524 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1110111
525 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16;
526 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 1111000
527 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
528 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1111001
529 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
530 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 1111010
531 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
532 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1111011
533 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
534 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1111100
535 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
536 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1111101
537 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | WEST_HORIZONTAL << 16;
538 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1111110
539 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
540 GroundBrush::border_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111111
541 = SOUTH_HORIZONTAL | EAST_HORIZONTAL << 8 | NORTH_HORIZONTAL << 16 | WEST_HORIZONTAL << 24;
542}
543
544void WallBrush::init() {
545 WallBrush::full_border_types[0] // 0
546 = WALL_POLE;
547 WallBrush::full_border_types[WALLTILE_NORTH] // 1
548 = WALL_SOUTH_END;
549 WallBrush::full_border_types[WALLTILE_WEST] // 10
550 = WALL_EAST_END;
551 WallBrush::full_border_types[WALLTILE_WEST | WALLTILE_NORTH] // 11
552 = WALL_NORTHWEST_DIAGONAL;
553 WallBrush::full_border_types[WALLTILE_EAST] // 100
554 = WALL_WEST_END;
555 WallBrush::full_border_types[WALLTILE_EAST | WALLTILE_NORTH] // 101
556 = WALL_NORTHEAST_DIAGONAL;
557 WallBrush::full_border_types[WALLTILE_EAST | WALLTILE_WEST] // 110
558 = WALL_HORIZONTAL;
559 WallBrush::full_border_types[WALLTILE_EAST | WALLTILE_WEST | WALLTILE_NORTH] // 111
560 = WALL_SOUTH_T;
561 WallBrush::full_border_types[WALLTILE_SOUTH] // 1000
562 = WALL_NORTH_END;
563 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_NORTH] // 1001
564 = WALL_VERTICAL;
565 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_WEST] // 1010
566 = WALL_SOUTHWEST_DIAGONAL;
567 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_WEST | WALLTILE_NORTH] // 1011
568 = WALL_EAST_T;
569 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_EAST] // 1100
570 = WALL_SOUTHEAST_DIAGONAL;
571 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_EAST | WALLTILE_NORTH] // 1101
572 = WALL_WEST_T;
573 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_EAST | WALLTILE_WEST] // 1110
574 = WALL_NORTH_T;
575 WallBrush::full_border_types[WALLTILE_SOUTH | WALLTILE_EAST | WALLTILE_WEST | WALLTILE_NORTH] // 1111
576 = WALL_INTERSECTION;
577
578 WallBrush::half_border_types[0] // 0
579 = WALL_POLE;
580 WallBrush::half_border_types[WALLTILE_NORTH] // 1
581 = WALL_VERTICAL;
582 WallBrush::half_border_types[WALLTILE_WEST] // 10
583 = WALL_HORIZONTAL;
584 WallBrush::half_border_types[WALLTILE_WEST | WALLTILE_NORTH] // 11
585 = WALL_NORTHWEST_DIAGONAL;
586 WallBrush::half_border_types[WALLTILE_EAST] // 100
587 = WALL_POLE;
588 WallBrush::half_border_types[WALLTILE_EAST | WALLTILE_NORTH] // 101
589 = WALL_VERTICAL;
590 WallBrush::half_border_types[WALLTILE_EAST | WALLTILE_WEST] // 110
591 = WALL_HORIZONTAL;
592 WallBrush::half_border_types[WALLTILE_EAST | WALLTILE_WEST | WALLTILE_NORTH] // 111
593 = WALL_NORTHWEST_DIAGONAL;
594 WallBrush::half_border_types[WALLTILE_SOUTH] // 1000
595 = WALL_POLE;
596 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_NORTH] // 1001
597 = WALL_VERTICAL;
598 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_WEST] // 1010
599 = WALL_HORIZONTAL;
600 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_WEST | WALLTILE_NORTH] // 1011
601 = WALL_NORTHWEST_DIAGONAL;
602 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_EAST] // 1100
603 = WALL_POLE;
604 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_EAST | WALLTILE_NORTH] // 1101
605 = WALL_VERTICAL;
606 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_EAST | WALLTILE_WEST] // 1110
607 = WALL_HORIZONTAL;
608 WallBrush::half_border_types[WALLTILE_SOUTH | WALLTILE_EAST | WALLTILE_WEST | WALLTILE_NORTH] // 1111
609 = WALL_NORTHWEST_DIAGONAL;
610}
611
612void TableBrush::init() {
613 TableBrush::table_types[0] // 0
614 = TABLE_ALONE;
615 TableBrush::table_types[TILE_NORTHWEST] // 1
616 = TABLE_ALONE;
617 TableBrush::table_types[TILE_NORTH] // 10
618 = TABLE_SOUTH_END;
619 TableBrush::table_types[TILE_NORTH | TILE_NORTHWEST] // 11
620 = TABLE_ALONE;
621 TableBrush::table_types[TILE_NORTHEAST] // 100
622 = TABLE_ALONE;
623 TableBrush::table_types[TILE_NORTHEAST | TILE_NORTHWEST] // 101
624 = TABLE_ALONE;
625 TableBrush::table_types[TILE_NORTHEAST | TILE_NORTH] // 110
626 = TABLE_ALONE;
627 TableBrush::table_types[TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111
628 = TABLE_ALONE;
629 TableBrush::table_types[TILE_WEST] // 1000
630 = TABLE_EAST_END;
631 TableBrush::table_types[TILE_WEST | TILE_NORTHWEST] // 1001
632 = TABLE_EAST_END;
633 TableBrush::table_types[TILE_WEST | TILE_NORTH] // 1010
634 = TABLE_EAST_END;
635 TableBrush::table_types[TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011
636 = TABLE_EAST_END;
637 TableBrush::table_types[TILE_WEST | TILE_NORTHEAST] // 1100
638 = TABLE_EAST_END;
639 TableBrush::table_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101
640 = TABLE_EAST_END;
641 TableBrush::table_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1110
642 = TABLE_EAST_END;
643 TableBrush::table_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111
644 = TABLE_EAST_END;
645 TableBrush::table_types[TILE_EAST] // 10000
646 = TABLE_WEST_END;
647 TableBrush::table_types[TILE_EAST | TILE_NORTHWEST] // 10001
648 = TABLE_WEST_END;
649 TableBrush::table_types[TILE_EAST | TILE_NORTH] // 10010
650 = TABLE_WEST_END;
651 TableBrush::table_types[TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 10011
652 = TABLE_WEST_END;
653 TableBrush::table_types[TILE_EAST | TILE_NORTHEAST] // 10100
654 = TABLE_WEST_END;
655 TableBrush::table_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 10101
656 = TABLE_WEST_END;
657 TableBrush::table_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 10110
658 = TABLE_WEST_END;
659 TableBrush::table_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 10111
660 = TABLE_WEST_END;
661 TableBrush::table_types[TILE_EAST | TILE_WEST] // 11000
662 = TABLE_HORIZONTAL;
663 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 11001
664 = TABLE_HORIZONTAL;
665 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTH] // 11010
666 = TABLE_HORIZONTAL;
667 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 11011
668 = TABLE_HORIZONTAL;
669 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 11100
670 = TABLE_HORIZONTAL;
671 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 11101
672 = TABLE_HORIZONTAL;
673 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 11110
674 = TABLE_HORIZONTAL;
675 TableBrush::table_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11111
676 = TABLE_HORIZONTAL;
677 TableBrush::table_types[TILE_SOUTHWEST] // 100000
678 = TABLE_ALONE;
679 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTHWEST] // 100001
680 = TABLE_ALONE;
681 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTH] // 100010
682 = TABLE_SOUTH_END;
683 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 100011
684 = TABLE_ALONE;
685 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTHEAST] // 100100
686 = TABLE_ALONE;
687 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 100101
688 = TABLE_ALONE;
689 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 100110
690 = TABLE_ALONE;
691 TableBrush::table_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 100111
692 = TABLE_ALONE;
693 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST] // 101000
694 = TABLE_EAST_END;
695 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 101001
696 = TABLE_EAST_END;
697 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 101010
698 = TABLE_EAST_END;
699 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 101011
700 = TABLE_EAST_END;
701 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 101100
702 = TABLE_EAST_END;
703 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 101101
704 = TABLE_EAST_END;
705 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 101110
706 = TABLE_EAST_END;
707 TableBrush::table_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 101111
708 = TABLE_EAST_END;
709 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST] // 110000
710 = TABLE_WEST_END;
711 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 110001
712 = TABLE_WEST_END;
713 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 110010
714 = TABLE_WEST_END;
715 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 110011
716 = TABLE_WEST_END;
717 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 110100
718 = TABLE_WEST_END;
719 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 110101
720 = TABLE_WEST_END;
721 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 110110
722 = TABLE_WEST_END;
723 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 110111
724 = TABLE_WEST_END;
725 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 111000
726 = TABLE_HORIZONTAL;
727 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 111001
728 = TABLE_HORIZONTAL;
729 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 111010
730 = TABLE_HORIZONTAL;
731 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 111011
732 = TABLE_HORIZONTAL;
733 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 111100
734 = TABLE_HORIZONTAL;
735 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 111101
736 = TABLE_HORIZONTAL;
737 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 111110
738 = TABLE_HORIZONTAL;
739 TableBrush::table_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111111
740 = TABLE_HORIZONTAL;
741 TableBrush::table_types[TILE_SOUTH] // 1000000
742 = TABLE_NORTH_END;
743 TableBrush::table_types[TILE_SOUTH | TILE_NORTHWEST] // 1000001
744 = TABLE_NORTH_END;
745 TableBrush::table_types[TILE_SOUTH | TILE_NORTH] // 1000010
746 = TABLE_VERTICAL;
747 TableBrush::table_types[TILE_SOUTH | TILE_NORTH | TILE_NORTHWEST] // 1000011
748 = TABLE_NORTH_END;
749 TableBrush::table_types[TILE_SOUTH | TILE_NORTHEAST] // 1000100
750 = TABLE_NORTH_END;
751 TableBrush::table_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTHWEST] // 1000101
752 = TABLE_NORTH_END;
753 TableBrush::table_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH] // 1000110
754 = TABLE_NORTH_END;
755 TableBrush::table_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1000111
756 = TABLE_NORTH_END;
757 TableBrush::table_types[TILE_SOUTH | TILE_WEST] // 1001000
758 = TABLE_EAST_END;
759 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTHWEST] // 1001001
760 = TABLE_EAST_END;
761 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTH] // 1001010
762 = TABLE_EAST_END;
763 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1001011
764 = TABLE_EAST_END;
765 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST] // 1001100
766 = TABLE_EAST_END;
767 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1001101
768 = TABLE_EAST_END;
769 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1001110
770 = TABLE_EAST_END;
771 TableBrush::table_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1001111
772 = TABLE_EAST_END;
773 TableBrush::table_types[TILE_SOUTH | TILE_EAST] // 1010000
774 = TABLE_WEST_END;
775 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTHWEST] // 1010001
776 = TABLE_WEST_END;
777 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTH] // 1010010
778 = TABLE_WEST_END;
779 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1010011
780 = TABLE_WEST_END;
781 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST] // 1010100
782 = TABLE_WEST_END;
783 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1010101
784 = TABLE_WEST_END;
785 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1010110
786 = TABLE_WEST_END;
787 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1010111
788 = TABLE_WEST_END;
789 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST] // 1011000
790 = TABLE_HORIZONTAL;
791 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1011001
792 = TABLE_HORIZONTAL;
793 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH] // 1011010
794 = TABLE_HORIZONTAL;
795 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011011
796 = TABLE_HORIZONTAL;
797 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1011100
798 = TABLE_HORIZONTAL;
799 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1011101
800 = TABLE_HORIZONTAL;
801 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1011110
802 = TABLE_HORIZONTAL;
803 TableBrush::table_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1011111
804 = TABLE_HORIZONTAL;
805 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST] // 1100000
806 = TABLE_ALONE;
807 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHWEST] // 1100001
808 = TABLE_ALONE;
809 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH] // 1100010
810 = TABLE_SOUTH_END;
811 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 1100011
812 = TABLE_ALONE;
813 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST] // 1100100
814 = TABLE_ALONE;
815 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1100101
816 = TABLE_ALONE;
817 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 1100110
818 = TABLE_ALONE;
819 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1100111
820 = TABLE_ALONE;
821 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST] // 1101000
822 = TABLE_EAST_END;
823 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 1101001
824 = TABLE_EAST_END;
825 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 1101010
826 = TABLE_EAST_END;
827 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1101011
828 = TABLE_EAST_END;
829 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 1101100
830 = TABLE_EAST_END;
831 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101101
832 = TABLE_EAST_END;
833 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1101110
834 = TABLE_EAST_END;
835 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1101111
836 = TABLE_EAST_END;
837 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST] // 1110000
838 = TABLE_WEST_END;
839 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 1110001
840 = TABLE_WEST_END;
841 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 1110010
842 = TABLE_WEST_END;
843 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1110011
844 = TABLE_WEST_END;
845 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 1110100
846 = TABLE_WEST_END;
847 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1110101
848 = TABLE_WEST_END;
849 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1110110
850 = TABLE_WEST_END;
851 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1110111
852 = TABLE_WEST_END;
853 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 1111000
854 = TABLE_HORIZONTAL;
855 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1111001
856 = TABLE_HORIZONTAL;
857 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 1111010
858 = TABLE_HORIZONTAL;
859 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1111011
860 = TABLE_HORIZONTAL;
861 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1111100
862 = TABLE_HORIZONTAL;
863 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1111101
864 = TABLE_HORIZONTAL;
865 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1111110
866 = TABLE_HORIZONTAL;
867 TableBrush::table_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111111
868 = TABLE_HORIZONTAL;
869
870 TableBrush::table_types[TILE_SOUTHEAST]
871 = TABLE_ALONE;
872 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTHWEST] // 1
873 = TABLE_ALONE;
874 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTH] // 10
875 = TABLE_SOUTH_END;
876 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11
877 = TABLE_ALONE;
878 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTHEAST] // 100
879 = TABLE_ALONE;
880 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTHWEST] // 101
881 = TABLE_ALONE;
882 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTH] // 110
883 = TABLE_ALONE;
884 TableBrush::table_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111
885 = TABLE_ALONE;
886 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST] // 1000
887 = TABLE_EAST_END;
888 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHWEST] // 1001
889 = TABLE_EAST_END;
890 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTH] // 1010
891 = TABLE_EAST_END;
892 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011
893 = TABLE_EAST_END;
894 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST] // 1100
895 = TABLE_EAST_END;
896 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101
897 = TABLE_EAST_END;
898 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1110
899 = TABLE_EAST_END;
900 TableBrush::table_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111
901 = TABLE_EAST_END;
902 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST] // 10000
903 = TABLE_WEST_END;
904 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHWEST] // 10001
905 = TABLE_WEST_END;
906 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTH] // 10010
907 = TABLE_WEST_END;
908 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 10011
909 = TABLE_WEST_END;
910 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST] // 10100
911 = TABLE_WEST_END;
912 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 10101
913 = TABLE_WEST_END;
914 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 10110
915 = TABLE_WEST_END;
916 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 10111
917 = TABLE_WEST_END;
918 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST] // 11000
919 = TABLE_HORIZONTAL;
920 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 11001
921 = TABLE_HORIZONTAL;
922 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTH] // 11010
923 = TABLE_HORIZONTAL;
924 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 11011
925 = TABLE_HORIZONTAL;
926 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 11100
927 = TABLE_HORIZONTAL;
928 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 11101
929 = TABLE_HORIZONTAL;
930 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 11110
931 = TABLE_HORIZONTAL;
932 TableBrush::table_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11111
933 = TABLE_HORIZONTAL;
934 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST] // 100000
935 = TABLE_ALONE;
936 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHWEST] // 100001
937 = TABLE_ALONE;
938 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTH] // 100010
939 = TABLE_SOUTH_END;
940 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 100011
941 = TABLE_ALONE;
942 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST] // 100100
943 = TABLE_ALONE;
944 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 100101
945 = TABLE_ALONE;
946 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 100110
947 = TABLE_ALONE;
948 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 100111
949 = TABLE_ALONE;
950 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST] // 101000
951 = TABLE_EAST_END;
952 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 101001
953 = TABLE_EAST_END;
954 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 101010
955 = TABLE_EAST_END;
956 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 101011
957 = TABLE_EAST_END;
958 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 101100
959 = TABLE_EAST_END;
960 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 101101
961 = TABLE_EAST_END;
962 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 101110
963 = TABLE_EAST_END;
964 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 101111
965 = TABLE_EAST_END;
966 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST] // 110000
967 = TABLE_WEST_END;
968 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 110001
969 = TABLE_WEST_END;
970 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 110010
971 = TABLE_WEST_END;
972 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 110011
973 = TABLE_WEST_END;
974 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 110100
975 = TABLE_WEST_END;
976 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 110101
977 = TABLE_WEST_END;
978 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 110110
979 = TABLE_WEST_END;
980 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 110111
981 = TABLE_WEST_END;
982 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 111000
983 = TABLE_HORIZONTAL;
984 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 111001
985 = TABLE_HORIZONTAL;
986 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 111010
987 = TABLE_HORIZONTAL;
988 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 111011
989 = TABLE_HORIZONTAL;
990 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 111100
991 = TABLE_HORIZONTAL;
992 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 111101
993 = TABLE_HORIZONTAL;
994 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 111110
995 = TABLE_HORIZONTAL;
996 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111111
997 = TABLE_HORIZONTAL;
998 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH] // 1000000
999 = TABLE_ALONE;
1000 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHWEST] // 1000001
1001 = TABLE_ALONE;
1002 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTH] // 1000010
1003 = TABLE_SOUTH_END;
1004 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTH | TILE_NORTHWEST] // 1000011
1005 = TABLE_ALONE;
1006 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST] // 1000100
1007 = TABLE_ALONE;
1008 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTHWEST] // 1000101
1009 = TABLE_ALONE;
1010 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH] // 1000110
1011 = TABLE_ALONE;
1012 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1000111
1013 = TABLE_ALONE;
1014 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST] // 1001000
1015 = TABLE_EAST_END;
1016 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHWEST] // 1001001
1017 = TABLE_EAST_END;
1018 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTH] // 1001010
1019 = TABLE_EAST_END;
1020 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1001011
1021 = TABLE_EAST_END;
1022 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST] // 1001100
1023 = TABLE_EAST_END;
1024 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1001101
1025 = TABLE_EAST_END;
1026 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1001110
1027 = TABLE_EAST_END;
1028 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1001111
1029 = TABLE_EAST_END;
1030 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST] // 1010000
1031 = TABLE_WEST_END;
1032 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHWEST] // 1010001
1033 = TABLE_WEST_END;
1034 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTH] // 1010010
1035 = TABLE_WEST_END;
1036 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1010011
1037 = TABLE_WEST_END;
1038 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST] // 1010100
1039 = TABLE_WEST_END;
1040 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1010101
1041 = TABLE_WEST_END;
1042 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1010110
1043 = TABLE_WEST_END;
1044 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1010111
1045 = TABLE_WEST_END;
1046 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST] // 1011000
1047 = TABLE_HORIZONTAL;
1048 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1011001
1049 = TABLE_HORIZONTAL;
1050 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH] // 1011010
1051 = TABLE_HORIZONTAL;
1052 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011011
1053 = TABLE_HORIZONTAL;
1054 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1011100
1055 = TABLE_HORIZONTAL;
1056 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1011101
1057 = TABLE_HORIZONTAL;
1058 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1011110
1059 = TABLE_HORIZONTAL;
1060 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1011111
1061 = TABLE_HORIZONTAL;
1062 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST] // 1100000
1063 = TABLE_ALONE;
1064 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHWEST] // 1100001
1065 = TABLE_ALONE;
1066 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH] // 1100010
1067 = TABLE_SOUTH_END;
1068 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 1100011
1069 = TABLE_ALONE;
1070 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST] // 1100100
1071 = TABLE_ALONE;
1072 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1100101
1073 = TABLE_ALONE;
1074 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 1100110
1075 = TABLE_ALONE;
1076 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1100111
1077 = TABLE_ALONE;
1078 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST] // 1101000
1079 = TABLE_EAST_END;
1080 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 1101001
1081 = TABLE_EAST_END;
1082 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 1101010
1083 = TABLE_EAST_END;
1084 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1101011
1085 = TABLE_EAST_END;
1086 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 1101100
1087 = TABLE_EAST_END;
1088 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101101
1089 = TABLE_EAST_END;
1090 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1101110
1091 = TABLE_EAST_END;
1092 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1101111
1093 = TABLE_EAST_END;
1094 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST] // 1110000
1095 = TABLE_WEST_END;
1096 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 1110001
1097 = TABLE_WEST_END;
1098 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 1110010
1099 = TABLE_WEST_END;
1100 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1110011
1101 = TABLE_WEST_END;
1102 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 1110100
1103 = TABLE_WEST_END;
1104 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1110101
1105 = TABLE_WEST_END;
1106 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1110110
1107 = TABLE_WEST_END;
1108 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1110111
1109 = TABLE_WEST_END;
1110 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 1111000
1111 = TABLE_HORIZONTAL;
1112 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1111001
1113 = TABLE_HORIZONTAL;
1114 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 1111010
1115 = TABLE_HORIZONTAL;
1116 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1111011
1117 = TABLE_HORIZONTAL;
1118 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1111100
1119 = TABLE_HORIZONTAL;
1120 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1111101
1121 = TABLE_HORIZONTAL;
1122 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1111110
1123 = TABLE_HORIZONTAL;
1124 TableBrush::table_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111111
1125 = TABLE_HORIZONTAL;
1126}
1127
1128void CarpetBrush::init() {
1129 CarpetBrush::carpet_types[0] // 0
1130 = CARPET_CENTER;
1131 CarpetBrush::carpet_types[TILE_NORTHWEST] // 1
1132 = CARPET_CENTER;
1133 CarpetBrush::carpet_types[TILE_NORTH] // 10
1134 = CARPET_CENTER;
1135 CarpetBrush::carpet_types[TILE_NORTH | TILE_NORTHWEST] // 11
1136 = NORTHWEST_CORNER;
1137 CarpetBrush::carpet_types[TILE_NORTHEAST] // 100
1138 = NORTHEAST_CORNER;
1139 CarpetBrush::carpet_types[TILE_NORTHEAST | TILE_NORTHWEST] // 101
1140 = NORTH_HORIZONTAL;
1141 CarpetBrush::carpet_types[TILE_NORTHEAST | TILE_NORTH] // 110
1142 = NORTHEAST_CORNER;
1143 CarpetBrush::carpet_types[TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111
1144 = NORTH_HORIZONTAL;
1145 CarpetBrush::carpet_types[TILE_WEST] // 1000
1146 = CARPET_CENTER;
1147 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTHWEST] // 1001
1148 = WEST_HORIZONTAL;
1149 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTH] // 1010
1150 = NORTHWEST_CORNER;
1151 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011
1152 = NORTHWEST_CORNER;
1153 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTHEAST] // 1100
1154 = CARPET_CENTER;
1155 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101
1156 = CARPET_CENTER;
1157 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1110
1158 = NORTHWEST_CORNER;
1159 CarpetBrush::carpet_types[TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111
1160 = NORTHWEST_CORNER;
1161 CarpetBrush::carpet_types[TILE_EAST] // 10000
1162 = CARPET_CENTER;
1163 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTHWEST] // 10001
1164 = NORTHEAST_CORNER;
1165 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTH] // 10010
1166 = NORTHEAST_CORNER;
1167 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 10011
1168 = NORTHEAST_CORNER;
1169 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTHEAST] // 10100
1170 = NORTHEAST_CORNER;
1171 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 10101
1172 = NORTHEAST_CORNER;
1173 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 10110
1174 = NORTHEAST_CORNER;
1175 CarpetBrush::carpet_types[TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 10111
1176 = NORTHEAST_CORNER;
1177 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST] // 11000
1178 = CARPET_CENTER;
1179 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 11001
1180 = NORTH_HORIZONTAL;
1181 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTH] // 11010
1182 = NORTH_HORIZONTAL;
1183 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 11011
1184 = NORTH_HORIZONTAL;
1185 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 11100
1186 = NORTH_HORIZONTAL;
1187 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 11101
1188 = NORTH_HORIZONTAL;
1189 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 11110
1190 = NORTH_HORIZONTAL;
1191 CarpetBrush::carpet_types[TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11111
1192 = NORTH_HORIZONTAL;
1193 CarpetBrush::carpet_types[TILE_SOUTHWEST] // 100000
1194 = SOUTHWEST_CORNER;
1195 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTHWEST] // 100001
1196 = WEST_HORIZONTAL;
1197 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTH] // 100010
1198 = SOUTHWEST_CORNER;
1199 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 100011
1200 = NORTHEAST_CORNER;
1201 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTHEAST] // 100100
1202 = NORTHEAST_CORNER;
1203 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 100101
1204 = NORTHWEST_CORNER;
1205 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 100110
1206 = NORTHEAST_CORNER;
1207 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 100111
1208 = NORTH_HORIZONTAL;
1209 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST] // 101000
1210 = SOUTHWEST_CORNER;
1211 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 101001
1212 = SOUTHWEST_CORNER;
1213 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 101010
1214 = NORTHWEST_CORNER;
1215 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 101011
1216 = NORTHWEST_CORNER;
1217 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 101100
1218 = SOUTHWEST_CORNER;
1219 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 101101
1220 = CARPET_CENTER;
1221 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 101110
1222 = NORTHWEST_CORNER;
1223 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 101111
1224 = NORTHWEST_CORNER;
1225 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST] // 110000
1226 = CARPET_CENTER;
1227 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 110001
1228 = CARPET_CENTER;
1229 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 110010
1230 = NORTHEAST_CORNER;
1231 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 110011
1232 = NORTHEAST_CORNER;
1233 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 110100
1234 = CARPET_CENTER;
1235 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 110101
1236 = NORTHEAST_CORNER;
1237 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 110110
1238 = NORTHEAST_CORNER;
1239 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 110111
1240 = NORTHEAST_CORNER;
1241 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 111000
1242 = SOUTHWEST_CORNER;
1243 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 111001
1244 = CARPET_CENTER;
1245 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 111010
1246 = CARPET_CENTER;
1247 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 111011
1248 = CARPET_CENTER;
1249 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 111100
1250 = CARPET_CENTER;
1251 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 111101
1252 = CARPET_CENTER;
1253 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 111110
1254 = CARPET_CENTER;
1255 CarpetBrush::carpet_types[TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111111
1256 = NORTH_HORIZONTAL;
1257 CarpetBrush::carpet_types[TILE_SOUTH] // 1000000
1258 = SOUTHWEST_CORNER;
1259 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTHWEST] // 1000001
1260 = NORTHWEST_CORNER;
1261 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTH] // 1000010
1262 = CARPET_CENTER;
1263 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTH | TILE_NORTHWEST] // 1000011
1264 = NORTHWEST_CORNER;
1265 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTHEAST] // 1000100
1266 = NORTHEAST_CORNER;
1267 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTHWEST] // 1000101
1268 = NORTH_HORIZONTAL;
1269 ;
1270 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH] // 1000110
1271 = NORTHEAST_CORNER;
1272 CarpetBrush::carpet_types[TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1000111
1273 = NORTH_HORIZONTAL;
1274 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST] // 1001000
1275 = SOUTHWEST_CORNER;
1276 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTHWEST] // 1001001
1277 = WEST_HORIZONTAL;
1278 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTH] // 1001010
1279 = WEST_HORIZONTAL;
1280 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1001011
1281 = NORTHWEST_CORNER;
1282 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST] // 1001100
1283 = SOUTHWEST_CORNER;
1284 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1001101
1285 = NORTHWEST_CORNER;
1286 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1001110
1287 = NORTHWEST_CORNER;
1288 CarpetBrush::carpet_types[TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1001111
1289 = NORTH_HORIZONTAL;
1290 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST] // 1010000
1291 = SOUTHEAST_CORNER;
1292 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTHWEST] // 1010001
1293 = SOUTHEAST_CORNER;
1294 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTH] // 1010010
1295 = EAST_HORIZONTAL;
1296 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1010011
1297 = EAST_HORIZONTAL;
1298 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST] // 1010100
1299 = SOUTHEAST_CORNER;
1300 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1010101
1301 = SOUTHEAST_CORNER;
1302 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1010110
1303 = EAST_HORIZONTAL;
1304 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1010111
1305 = EAST_HORIZONTAL;
1306 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST] // 1011000
1307 = SOUTH_HORIZONTAL;
1308 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1011001
1309 = SOUTH_HORIZONTAL;
1310 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH] // 1011010
1311 = CARPET_CENTER;
1312 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011011
1313 = CARPET_CENTER;
1314 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1011100
1315 = SOUTH_HORIZONTAL;
1316 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1011101
1317 = SOUTH_HORIZONTAL;
1318 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1011110
1319 = CARPET_CENTER;
1320 CarpetBrush::carpet_types[TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1011111
1321 = NORTH_HORIZONTAL;
1322 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST] // 1100000
1323 = SOUTHWEST_CORNER;
1324 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHWEST] // 1100001
1325 = SOUTHWEST_CORNER;
1326 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH] // 1100010
1327 = SOUTHWEST_CORNER;
1328 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 1100011
1329 = WEST_HORIZONTAL;
1330 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST] // 1100100
1331 = SOUTHWEST_CORNER;
1332 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1100101
1333 = CARPET_CENTER;
1334 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 1100110
1335 = CARPET_CENTER;
1336 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1100111
1337 = WEST_HORIZONTAL;
1338 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST] // 1101000
1339 = SOUTHWEST_CORNER;
1340 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 1101001
1341 = SOUTHWEST_CORNER;
1342 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 1101010
1343 = WEST_HORIZONTAL;
1344 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1101011
1345 = WEST_HORIZONTAL;
1346 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 1101100
1347 = SOUTHWEST_CORNER;
1348 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101101
1349 = SOUTHWEST_CORNER;
1350 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1101110
1351 = WEST_HORIZONTAL;
1352 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1101111
1353 = WEST_HORIZONTAL;
1354 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST] // 1110000
1355 = SOUTHEAST_CORNER;
1356 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 1110001
1357 = SOUTHEAST_CORNER;
1358 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 1110010
1359 = EAST_HORIZONTAL;
1360 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1110011
1361 = CARPET_CENTER;
1362 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 1110100
1363 = SOUTHEAST_CORNER;
1364 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1110101
1365 = SOUTHEAST_CORNER;
1366 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1110110
1367 = EAST_HORIZONTAL;
1368 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1110111
1369 = EAST_HORIZONTAL;
1370 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 1111000
1371 = SOUTH_HORIZONTAL;
1372 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1111001
1373 = SOUTH_HORIZONTAL;
1374 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 1111010
1375 = CARPET_CENTER;
1376 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1111011
1377 = CARPET_CENTER;
1378 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1111100
1379 = SOUTH_HORIZONTAL;
1380 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1111101
1381 = SOUTH_HORIZONTAL;
1382 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1111110
1383 = CARPET_CENTER;
1384 CarpetBrush::carpet_types[TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111111
1385 = NORTHWEST_DIAGONAL;
1386
1387 CarpetBrush::carpet_types[TILE_SOUTHEAST]
1388 = SOUTHEAST_CORNER;
1389 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTHWEST] // 1
1390 = NORTHWEST_CORNER;
1391 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTH] // 10
1392 = SOUTHEAST_CORNER;
1393 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11
1394 = NORTHWEST_CORNER;
1395 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTHEAST] // 100
1396 = EAST_HORIZONTAL;
1397 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTHWEST] // 101
1398 = NORTH_HORIZONTAL;
1399 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTH] // 110
1400 = NORTHEAST_CORNER;
1401 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111
1402 = NORTH_HORIZONTAL;
1403 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST] // 1000
1404 = SOUTH_HORIZONTAL;
1405 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHWEST] // 1001
1406 = NORTHWEST_CORNER;
1407 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTH] // 1010
1408 = NORTHWEST_CORNER;
1409 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011
1410 = NORTHWEST_CORNER;
1411 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST] // 1100
1412 = EAST_HORIZONTAL;
1413 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101
1414 = NORTH_HORIZONTAL;
1415 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1110
1416 = NORTHWEST_CORNER;
1417 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111
1418 = NORTHWEST_CORNER;
1419 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST] // 10000
1420 = SOUTH_HORIZONTAL;
1421 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHWEST] // 10001
1422 = SOUTHEAST_CORNER;
1423 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTH] // 10010
1424 = NORTHEAST_CORNER;
1425 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 10011
1426 = NORTHEAST_CORNER;
1427 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST] // 10100
1428 = EAST_HORIZONTAL;
1429 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 10101
1430 = EAST_HORIZONTAL;
1431 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 10110
1432 = NORTHEAST_CORNER;
1433 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 10111
1434 = NORTHEAST_CORNER;
1435 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST] // 11000
1436 = SOUTH_HORIZONTAL;
1437 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 11001
1438 = SOUTH_HORIZONTAL;
1439 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTH] // 11010
1440 = NORTH_HORIZONTAL;
1441 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 11011
1442 = NORTH_HORIZONTAL;
1443 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 11100
1444 = EAST_HORIZONTAL;
1445 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 11101
1446 = NORTH_HORIZONTAL;
1447 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 11110
1448 = NORTH_HORIZONTAL;
1449 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 11111
1450 = NORTH_HORIZONTAL;
1451 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST] // 100000
1452 = SOUTH_HORIZONTAL;
1453 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHWEST] // 100001
1454 = CARPET_CENTER;
1455 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTH] // 100010
1456 = SOUTH_HORIZONTAL;
1457 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 100011
1458 = WEST_HORIZONTAL;
1459 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST] // 100100
1460 = CARPET_CENTER;
1461 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 100101
1462 = CARPET_CENTER;
1463 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 100110
1464 = NORTHEAST_CORNER;
1465 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 100111
1466 = NORTH_HORIZONTAL;
1467 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST] // 101000
1468 = SOUTHWEST_CORNER;
1469 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 101001
1470 = WEST_HORIZONTAL;
1471 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 101010
1472 = NORTHWEST_CORNER;
1473 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 101011
1474 = NORTHWEST_CORNER;
1475 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 101100
1476 = SOUTHWEST_CORNER;
1477 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 101101
1478 = WEST_HORIZONTAL;
1479 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 101110
1480 = NORTHWEST_CORNER;
1481 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 101111
1482 = NORTHWEST_CORNER;
1483 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST] // 110000
1484 = SOUTHEAST_CORNER;
1485 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 110001
1486 = SOUTHEAST_CORNER;
1487 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 110010
1488 = NORTHEAST_CORNER;
1489 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 110011
1490 = NORTHEAST_CORNER;
1491 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 110100
1492 = EAST_HORIZONTAL;
1493 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 110101
1494 = EAST_HORIZONTAL;
1495 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 110110
1496 = NORTHEAST_CORNER;
1497 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 110111
1498 = NORTHEAST_CORNER;
1499 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 111000
1500 = SOUTH_HORIZONTAL;
1501 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 111001
1502 = SOUTH_HORIZONTAL;
1503 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 111010
1504 = NORTH_HORIZONTAL;
1505 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 111011
1506 = NORTH_HORIZONTAL;
1507 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 111100
1508 = SOUTH_HORIZONTAL;
1509 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 111101
1510 = CARPET_CENTER;
1511 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 111110
1512 = CARPET_CENTER;
1513 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 111111
1514 = NORTH_HORIZONTAL;
1515 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH] // 1000000
1516 = SOUTHEAST_CORNER;
1517 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHWEST] // 1000001
1518 = SOUTHEAST_CORNER;
1519 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTH] // 1000010
1520 = EAST_HORIZONTAL;
1521 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTH | TILE_NORTHWEST] // 1000011
1522 = CARPET_CENTER;
1523 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST] // 1000100
1524 = SOUTHEAST_CORNER;
1525 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTHWEST] // 1000101
1526 = SOUTHEAST_CORNER;
1527 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH] // 1000110
1528 = EAST_HORIZONTAL;
1529 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1000111
1530 = EAST_HORIZONTAL;
1531 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST] // 1001000
1532 = SOUTHWEST_CORNER;
1533 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHWEST] // 1001001
1534 = SOUTHWEST_CORNER;
1535 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTH] // 1001010
1536 = WEST_HORIZONTAL;
1537 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1001011
1538 = WEST_HORIZONTAL;
1539 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST] // 1001100
1540 = SOUTHWEST_CORNER;
1541 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1001101
1542 = SOUTHWEST_CORNER;
1543 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1001110
1544 = WEST_HORIZONTAL;
1545 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1001111
1546 = WEST_HORIZONTAL;
1547 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST] // 1010000
1548 = SOUTHEAST_CORNER;
1549 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHWEST] // 1010001
1550 = SOUTHEAST_CORNER;
1551 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTH] // 1010010
1552 = EAST_HORIZONTAL;
1553 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1010011
1554 = EAST_HORIZONTAL;
1555 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST] // 1010100
1556 = SOUTHEAST_CORNER;
1557 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1010101
1558 = SOUTHEAST_CORNER;
1559 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1010110
1560 = EAST_HORIZONTAL;
1561 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1010111
1562 = EAST_HORIZONTAL;
1563 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST] // 1011000
1564 = SOUTH_HORIZONTAL;
1565 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1011001
1566 = SOUTH_HORIZONTAL;
1567 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH] // 1011010
1568 = CARPET_CENTER;
1569 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1011011
1570 = CARPET_CENTER;
1571 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1011100
1572 = SOUTH_HORIZONTAL;
1573 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1011101
1574 = SOUTH_HORIZONTAL;
1575 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1011110
1576 = CARPET_CENTER;
1577 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1011111
1578 = NORTHEAST_DIAGONAL;
1579 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST] // 1100000
1580 = SOUTH_HORIZONTAL;
1581 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHWEST] // 1100001
1582 = SOUTH_HORIZONTAL;
1583 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH] // 1100010
1584 = CARPET_CENTER;
1585 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTH | TILE_NORTHWEST] // 1100011
1586 = WEST_HORIZONTAL;
1587 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST] // 1100100
1588 = SOUTH_HORIZONTAL;
1589 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1100101
1590 = CARPET_CENTER;
1591 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH] // 1100110
1592 = EAST_HORIZONTAL;
1593 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1100111
1594 = CARPET_CENTER;
1595 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST] // 1101000
1596 = SOUTHWEST_CORNER;
1597 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHWEST] // 1101001
1598 = SOUTHWEST_CORNER;
1599 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH] // 1101010
1600 = WEST_HORIZONTAL;
1601 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1101011
1602 = WEST_HORIZONTAL;
1603 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST] // 1101100
1604 = SOUTHWEST_CORNER;
1605 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1101101
1606 = SOUTHWEST_CORNER;
1607 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1101110
1608 = WEST_HORIZONTAL;
1609 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1101111
1610 = WEST_HORIZONTAL;
1611 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST] // 1110000
1612 = SOUTHEAST_CORNER;
1613 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHWEST] // 1110001
1614 = SOUTHEAST_CORNER;
1615 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH] // 1110010
1616 = EAST_HORIZONTAL;
1617 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTH | TILE_NORTHWEST] // 1110011
1618 = EAST_HORIZONTAL;
1619 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST] // 1110100
1620 = SOUTHEAST_CORNER;
1621 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTHWEST] // 1110101
1622 = SOUTHEAST_CORNER;
1623 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH] // 1110110
1624 = EAST_HORIZONTAL;
1625 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1110111
1626 = EAST_HORIZONTAL;
1627 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST] // 1111000
1628 = SOUTH_HORIZONTAL;
1629 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHWEST] // 1111001
1630 = SOUTH_HORIZONTAL;
1631 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH] // 1111010
1632 = CARPET_CENTER;
1633 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTH | TILE_NORTHWEST] // 1111011
1634 = SOUTHWEST_DIAGONAL;
1635 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST] // 1111100
1636 = SOUTH_HORIZONTAL;
1637 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTHWEST] // 1111101
1638 = SOUTH_HORIZONTAL;
1639 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH] // 1111110
1640 = SOUTHEAST_DIAGONAL;
1641 CarpetBrush::carpet_types[TILE_SOUTHEAST | TILE_SOUTH | TILE_SOUTHWEST | TILE_EAST | TILE_WEST | TILE_NORTHEAST | TILE_NORTH | TILE_NORTHWEST] // 1111111
1642 = CARPET_CENTER;
1643}
1644
Top