Mercurial > hg > forks > multipaint-js
comparison draw_smart.pde @ 237:a3f79ce74471
Cleanups.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 10 Sep 2018 11:10:19 +0300 |
parents | 1d9f9c3d8ab1 |
children | 3a85cf4a4fef |
comparison
equal
deleted
inserted
replaced
236:69b031cc8064 | 237:a3f79ce74471 |
---|---|
1 //all "intelligent" stuff, the color behavior | 1 //all "intelligent" stuff, the color behavior |
2 //and flood fills | 2 //and flood fills |
3 | 3 |
4 void consistency() | 4 void consistency() |
5 { | 5 { |
6 int xx, yy, ad, a, b, x0, y0, x2, y2; | 6 int mat, mulu, ymax; |
7 int pat, mat, fad, bad, maxxy, mulu, ymax; | |
8 | 7 |
9 if (g_multic == 1 || g_multic == 2) | 8 if (g_multic == 1 || g_multic == 2) |
10 return; | 9 return; |
11 | 10 |
12 if (g_attrimode == 0) | 11 if (g_attrimode == 0) |
13 { | 12 { |
14 mat = 8; | 13 mat = 8; |
15 mulu = 1; | 14 mulu = 1; |
16 maxxy = Y; | |
17 ymax = 0; | 15 ymax = 0; |
18 } | 16 } |
19 else | 17 else |
20 { | 18 { |
21 mat = 64; | 19 mat = 64; |
22 mulu = 8; | 20 mulu = 8; |
23 maxxy = MY; | |
24 ymax = 7; | 21 ymax = 7; |
25 } | 22 } |
26 | 23 |
27 for (yy = 0; yy < MY; yy++) | 24 for (int yy = 0; yy < MY; yy++) |
28 for (xx = 0; xx < MX; xx++) | 25 for (int xx = 0; xx < MX; xx++) |
29 { | 26 { |
30 a = getattra(xx * 8, yy * mulu, 0); | 27 int a = getattra(xx * 8, yy * mulu, 0), |
31 b = getattra(xx * 8, yy * mulu, 1); | 28 b = getattra(xx * 8, yy * mulu, 1), |
32 if (a == b) { | 29 ad = 1024 + (xx * 8) + (yy * mulu * X); |
33 for (y0 = 0; y0 <= ymax; y0++) { | 30 |
34 for (x0 = 0; x0 <= 7; x0++) { | 31 if (a == b) |
35 ad = 1024 + (xx * 8) + (yy * X * mulu) + x0 + y0 * X; | 32 { |
36 g_map[ad] = byte(0); | 33 for (int y0 = 0; y0 <= ymax; y0++) |
37 } | 34 for (int x0 = 0; x0 <= 7; x0++) |
38 } | 35 { |
39 } | 36 g_map[ad + x0 + y0 * X] = byte(0); |
40 pat = 0; | 37 } |
41 for (y0 = 0; y0 <= ymax; y0++) { | 38 } |
42 for (x0 = 0; x0 <= 7; x0++) { | 39 |
43 ad = 1024 + (xx * 8) + (yy * X * mulu) + x0 + y0 * X; | 40 int pat = 0; |
44 pat = pat + int(g_map[ad]); | 41 for (int y0 = 0; y0 <= ymax; y0++) |
45 } | 42 for (int x0 = 0; x0 <= 7; x0++) |
46 } | 43 { |
47 if (pat == mat || pat == 0) { | 44 pat += int(g_map[ad + x0 + y0 * X]); |
48 for (y0 = 0; y0 <= ymax; y0++) { | 45 } |
49 fad = 65536 + xx + (yy * mulu + y0) * MX; | 46 |
50 bad = fad + (MX * MY * 8); | 47 if (pat == mat || pat == 0) |
48 { | |
49 for (y0 = 0; y0 <= ymax; y0++) | |
50 { | |
51 int fad = 65536 + xx + (yy * mulu + y0) * MX, | |
52 bad = fad + (MX * MY * 8); | |
53 | |
51 if (pat == 0) g_map[fad] = g_map[bad]; | 54 if (pat == 0) g_map[fad] = g_map[bad]; |
52 if (pat == mat) g_map[bad] = g_map[fad]; | 55 if (pat == mat) g_map[bad] = g_map[fad]; |
53 } | 56 } |
54 } | 57 } |
55 } | 58 } |