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 }