Mercurial > hg > forks > multipaint-js
diff exporters.pde @ 154:1b2cbf3ab441
Cleanups.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 16 Aug 2018 13:00:03 +0300 |
parents | f5c32f6470d0 |
children | c9515fd7d897 |
line wrap: on
line diff
--- a/exporters.pde Wed Aug 15 15:55:14 2018 +0300 +++ b/exporters.pde Thu Aug 16 13:00:03 2018 +0300 @@ -1071,34 +1071,30 @@ vertti = 1; erkki = 8; } - if (g_multic == 1) { + if (g_multic == 1) limitter = 4; - } //because zero color can be anywhere? - if (g_multic == 2) { + else + //because zero color can be anywhere? + if (g_multic == 2) limitter = 16; - } command(int('O')); //special clear screen balx = int(image.width / X) * g_pixelw; baly = int(image.height / Y); - if (balx < 1) { + if (balx < 1) balx = 1; - } - if (baly < 1) { + if (baly < 1) baly = 1; - } if (g_palsteps > 0) { - for (i = 0; i < g_maxcolors; i++) { - makecolor(i, 0, 0, 0); - } + int psteps = int(g_palsteps - 1), + maxhis = 0, + palls = int(255 / psteps); - int maxhis, palls, psteps; - psteps = int(g_palsteps - 1); - maxhis = 0; - palls = int(255 / psteps); + for (i = 0; i < g_maxcolors; i++) + makecolor(i, 0, 0, 0); for (cy = 0; cy < MY * erkki; cy++) for (cx = 0; cx < MX; cx++) @@ -1112,28 +1108,23 @@ bb = 0; avg = 0; - for (avy = 0; avy < baly; avy++) { - for (avx = 0; avx < balx; avx++) { - c = image.get(x2 + avx, y2 + avy); - rr = rr + int(red(c)); - gg = gg + int(green(c)); - bb = bb + int(blue(c)); - avg++; - } + for (avy = 0; avy < baly; avy++) + for (avx = 0; avx < balx; avx++) + { + c = image.get(x2 + avx, y2 + avy); + rr = rr + int(red(c)); + gg = gg + int(green(c)); + bb = bb + int(blue(c)); + avg++; } - rh = rr / (avg); - gh = gg / (avg); - bh = bb / (avg); + rh = int(int(rr / avg) / palls); + gh = int(int(gg / avg) / palls); + bh = int(int(bb / avg) / palls); - rh = int(rh) / palls; - gh = int(gh) / palls; - bh = int(bh) / palls; - histog[int(rh * (g_palsteps * g_palsteps) + gh * (g_palsteps) + bh)]++; - - if (histog[int(rh * (g_palsteps * g_palsteps) + gh * (g_palsteps) + bh)] > maxhis) { - maxhis = histog[int(rh * (g_palsteps * g_palsteps) + gh * (g_palsteps) + bh)]; - } + int hindex = int(rh * (g_palsteps * g_palsteps) + gh * (g_palsteps) + bh); + if (++histog[hindex] > maxhis) + maxhis = histog[hindex]; } int step = 0; @@ -1150,7 +1141,8 @@ rh = rh * int(palls); gh = gh * int(palls); bh = bh * int(palls); - if (step < g_maxcolors) { + if (step < g_maxcolors) + { makecolor(step, rh, gh, bh); step++; } @@ -1159,8 +1151,10 @@ } for (cy = 0; cy < MY * erkki; cy++) - for (cx = 0; cx < MX; cx++) { - for (i = 0; i < xcolors; i++) { + for (cx = 0; cx < MX; cx++) + { + for (i = 0; i < xcolors; i++) + { pixut[i] = 0; idx[i] = i; } @@ -1172,24 +1166,28 @@ gg = 0; bb = 0; avg = 0; - for (avy = 0; avy < baly; avy++) { - for (avx = 0; avx < balx; avx++) { - c = image.get(x2 + avx, y2 + avy); - rr = rr + int(red(c)); - gg = gg + int(green(c)); - bb = bb + int(blue(c)); - avg++; - } + + for (avy = 0; avy < baly; avy++) + for (avx = 0; avx < balx; avx++) + { + c = image.get(x2 + avx, y2 + avy); + rr += int(red(c)); + gg += int(green(c)); + bb += int(blue(c)); + avg++; } - rr = rr / (avg); - gg = gg / (avg); - bb = bb / (avg); + + rr = int(rr / avg); + gg = int(gg / avg); + bb = int(bb / avg); g_farge = 0; target = -1; compa = 9999; - for (i = 0; i < xcolors; i++) { + for (i = 0; i < xcolors; i++) + { fld = dist(rr, gg, bb, g_r[i], g_g[i], g_b[i]); - if (fld < compa) { + if (fld < compa) + { compa = fld; target = i; } @@ -1218,43 +1216,41 @@ { i = idx[idefix]; for (yy = cy * vertti; yy <= cy * vertti + vertti - 1; yy++) + for (xx = cx * 8; xx <= cx * 8 + 7; xx = xx + g_pixelw) { - for (xx = cx * 8; xx <= cx * 8 + 7; xx = xx + g_pixelw) - { - x2 = int(image.width / X) * xx; - y2 = int(image.height / Y) * yy; + x2 = int(image.width / X) * xx; + y2 = int(image.height / Y) * yy; - rr = 0; - gg = 0; - bb = 0; - avg = 0; - for (avy = 0; avy < baly; avy++) { - for (avx = 0; avx < balx; avx++) { - c = image.get(x2 + avx, y2 + avy); - rr = rr + int(red(c)); - gg = gg + int(green(c)); - bb = bb + int(blue(c)); - avg++; - } + rr = 0; + gg = 0; + bb = 0; + avg = 0; + for (avy = 0; avy < baly; avy++) { + for (avx = 0; avx < balx; avx++) { + c = image.get(x2 + avx, y2 + avy); + rr = rr + int(red(c)); + gg = gg + int(green(c)); + bb = bb + int(blue(c)); + avg++; } - rr = rr / (avg); - gg = gg / (avg); - bb = bb / (avg); - g_farge = 0; - target = -1; - compa = 9999; - for (j = 0; j < limitter; j++) { - fld = dist(rr, gg, bb, g_r[idx[j]], g_g[idx[j]], g_b[idx[j]]); - if (fld < compa) { - compa = fld; - target = idx[j]; - } + } + rr = rr / (avg); + gg = gg / (avg); + bb = bb / (avg); + g_farge = 0; + target = -1; + compa = 9999; + for (j = 0; j < limitter; j++) { + fld = dist(rr, gg, bb, g_r[idx[j]], g_g[idx[j]], g_b[idx[j]]); + if (fld < compa) { + compa = fld; + target = idx[j]; } - if (i == target) { + } + if (i == target) { - g_farge = target; - makepoint(xx, yy); - } + g_farge = target; + makepoint(xx, yy); } } @@ -1333,191 +1329,200 @@ } -void make_c64_palette() { +void make_c64_palette() +{ // Pepto's murky C64 palette: http://www.pepto.de/projects/colorvic - int rgb[] = { - 0xff000000, - 0xffFFFFFF, - 0xff68372B, - 0xff70A4B2, - 0xff6F3D86, - 0xff588D43, - 0xff352879, - 0xffB8C76F, - 0xff6F4F25, - 0xff433900, - 0xff9A6759, - 0xff444444, - 0xff6C6C6C, - 0xff9AD284, - 0xff6C5EB5, - 0xff959595 + int rgb[] = + { + 0x000000, + 0xFFFFFF, + 0x68372B, + 0x70A4B2, + 0x6F3D86, + 0x588D43, + 0x352879, + 0xB8C76F, + 0x6F4F25, + 0x433900, + 0x9A6759, + 0x444444, + 0x6C6C6C, + 0x9AD284, + 0x6C5EB5, + 0x959595 }; - for (int i = 0; i < g_maxcolors; i++) { - rgb[i] = rgb[i] & 0xffffff; - g_grids[i] = rgb[i] + 0xff282828; - makecolor(i, rgb[i] >> 16, (rgb[i] & 0xff00FF00) >> 8, rgb[i] & 0xff0000FF); + for (int i = 0; i < g_maxcolors; i++) + { + g_grids[i] = (rgb[i] + 0x282828) | 0xff000000; + makecolor(i, (rgb[i] >> 16) & 0xff, (rgb[i] >> 8) & 0xff, rgb[i] & 0xff); } g_grids[1] = 0xffd0d0d0; g_gridmode = NEW; g_map[13] = byte(C64); } -void make_plus4_palette() { - int rgb[] = { - 0xff000000, - 0xff2C2C2C, - 0xff621307, - 0xff00424C, - 0xff510378, - 0xff004E00, - 0xff27188E, - 0xff303E00, - 0xff582100, - 0xff463000, - 0xff244400, - 0xff630448, - 0xff004E0C, - 0xff0E2784, - 0xff33118E, - 0xff184800, - 0xff3B3B3B, - 0xff702419, - 0xff00505A, - 0xff601685, - 0xff125D00, - 0xff36289B, - 0xff3F4C00, - 0xff663100, - 0xff553F00, - 0xff345200, - 0xff711656, - 0xff005C1D, - 0xff1F3691, - 0xff42229B, - 0xff285700, - 0xff424242, - 0xff772C21, - 0xff055861, - 0xff661E8C, - 0xff1B6400, - 0xff3E30A2, - 0xff475400, - 0xff6D3900, - 0xff5C4700, - 0xff3B5900, - 0xff771F5D, - 0xff046325, - 0xff273E98, - 0xff492AA1, - 0xff305E00, - 0xff515151, - 0xff843B31, - 0xff17656F, - 0xff742E99, - 0xff2B7100, - 0xff4C3FAF, - 0xff556200, - 0xff7A4709, - 0xff6A5500, - 0xff4A6700, - 0xff852F6B, - 0xff177135, - 0xff364CA5, - 0xff5739AE, - 0xff3F6B00, - 0xff7A7A7A, - 0xffAC665C, - 0xff468E97, - 0xff9C5AC0, - 0xff57992E, - 0xff766AD5, - 0xff7E8A13, - 0xffA2713A, - 0xff927E20, - 0xff748F14, - 0xffAC5A93, - 0xff459960, - 0xff6276CB, - 0xff8064D4, - 0xff6A9419, - 0xff959595, - 0xffC58178, - 0xff62A8B1, - 0xffB675D9, - 0xff73B34C, - 0xff9185ED, - 0xff99A433, - 0xffBB8C57, - 0xffAC993E, - 0xff8FAA34, - 0xffC676AD, - 0xff62B37B, - 0xff7D91E4, - 0xff9B80ED, - 0xff85AE38, - 0xffAFAFAF, - 0xffDE9B93, - 0xff7DC2CA, - 0xffCF90F2, - 0xff8DCD68, - 0xffAB9FFF, - 0xffB3BE51, - 0xffD5A673, - 0xffC6B35B, - 0xffA9C351, - 0xffDF91C7, - 0xff7DCC96, - 0xff97ABFD, - 0xffB59AFF, - 0xff9FC755, - 0xffE1E1E1, - 0xffFFCFC6, - 0xffB2F4FC, - 0xffFFC4FF, - 0xffC1FE9D, - 0xffDDD2FF, - 0xffE5F088, - 0xffFFD9A8, - 0xffF7E591, - 0xffDBF588, - 0xffFFC4F9, - 0xffB1FEC9, - 0xffCBDDFF, - 0xffE7CDFF, - 0xffD2F98C + +void make_plus4_palette() +{ + int rgb[] = + { + 0x000000, + 0x2C2C2C, + 0x621307, + 0x00424C, + 0x510378, + 0x004E00, + 0x27188E, + 0x303E00, + 0x582100, + 0x463000, + 0x244400, + 0x630448, + 0x004E0C, + 0x0E2784, + 0x33118E, + 0x184800, + 0x3B3B3B, + 0x702419, + 0x00505A, + 0x601685, + 0x125D00, + 0x36289B, + 0x3F4C00, + 0x663100, + 0x553F00, + 0x345200, + 0x711656, + 0x005C1D, + 0x1F3691, + 0x42229B, + 0x285700, + 0x424242, + 0x772C21, + 0x055861, + 0x661E8C, + 0x1B6400, + 0x3E30A2, + 0x475400, + 0x6D3900, + 0x5C4700, + 0x3B5900, + 0x771F5D, + 0x046325, + 0x273E98, + 0x492AA1, + 0x305E00, + 0x515151, + 0x843B31, + 0x17656F, + 0x742E99, + 0x2B7100, + 0x4C3FAF, + 0x556200, + 0x7A4709, + 0x6A5500, + 0x4A6700, + 0x852F6B, + 0x177135, + 0x364CA5, + 0x5739AE, + 0x3F6B00, + 0x7A7A7A, + 0xAC665C, + 0x468E97, + 0x9C5AC0, + 0x57992E, + 0x766AD5, + 0x7E8A13, + 0xA2713A, + 0x927E20, + 0x748F14, + 0xAC5A93, + 0x459960, + 0x6276CB, + 0x8064D4, + 0x6A9419, + 0x959595, + 0xC58178, + 0x62A8B1, + 0xB675D9, + 0x73B34C, + 0x9185ED, + 0x99A433, + 0xBB8C57, + 0xAC993E, + 0x8FAA34, + 0xC676AD, + 0x62B37B, + 0x7D91E4, + 0x9B80ED, + 0x85AE38, + 0xAFAFAF, + 0xDE9B93, + 0x7DC2CA, + 0xCF90F2, + 0x8DCD68, + 0xAB9FFF, + 0xB3BE51, + 0xD5A673, + 0xC6B35B, + 0xA9C351, + 0xDF91C7, + 0x7DCC96, + 0x97ABFD, + 0xB59AFF, + 0x9FC755, + 0xE1E1E1, + 0xFFCFC6, + 0xB2F4FC, + 0xFFC4FF, + 0xC1FE9D, + 0xDDD2FF, + 0xE5F088, + 0xFFD9A8, + 0xF7E591, + 0xDBF588, + 0xFFC4F9, + 0xB1FEC9, + 0xCBDDFF, + 0xE7CDFF, + 0xD2F98C }; - for (int i = 0; i < g_maxcolors; i++) { - rgb[i] = rgb[i] & 0xffffff; - makecolor(i, rgb[i] >> 16, (rgb[i] & 0xff00FF00) >> 8, rgb[i] & 0xff0000FF); + for (int i = 0; i < g_maxcolors; i++) + { + makecolor(i, (rgb[i] >> 16) & 0xff, (rgb[i] >> 8) & 0xff, rgb[i] & 0xff); } } -void make_msx_palette() { - int rgb[] = { - 0xff000000, - 0xff000000, - 0xff3EB849, - 0xff74D07D, - 0xff5955E0, - 0xff8076F1, - 0xffB95E51, - 0xff65DBEF, - 0xffDB6559, - 0xffFF897D, - 0xffCCC35E, - 0xffDED087, - 0xff3AA241, - 0xffB766B5, - 0xffCCCCCC, - 0xffFFFFFF + +void make_msx_palette() +{ + int rgb[] = + { + 0x000000, + 0x000000, + 0x3EB849, + 0x74D07D, + 0x5955E0, + 0x8076F1, + 0xB95E51, + 0x65DBEF, + 0xDB6559, + 0xFF897D, + 0xCCC35E, + 0xDED087, + 0x3AA241, + 0xB766B5, + 0xCCCCCC, + 0xFFFFFF }; - for (int i = 0; i < g_maxcolors; i++) { - rgb[i] = rgb[i] & 0xffffff; - g_grids[i] = rgb[i] + 0xff1f1f1f; - makecolor(i, (rgb[i] >> 16), (rgb[i] & 0xff00FF00) >> 8, rgb[i] & 0xff0000FF); + for (int i = 0; i < g_maxcolors; i++) + { + g_grids[i] = (rgb[i] + 0x1f1f1f) | 0xff000000; + makecolor(i, (rgb[i] >> 16) & 0xff, (rgb[i] >> 8) & 0xff, rgb[i] & 0xff); } + g_grids[5] = 0xff9f95Ff; g_grids[7] = 0xff84faEF; g_grids[9] = 0xffffa99d; @@ -1525,24 +1530,27 @@ g_gridmode = NEW; } -void make_spectrum_palette() { - int rgb[] = { - 0xff000000, - 0xff0000C0, - 0xffC00000, - 0xffC000C0, - 0xff00C000, - 0xff00C0C0, - 0xffC0C000, - 0xffC0C0C0, - 0xff000000, - 0xff0000FF, - 0xffFF0000, - 0xffFF00FF, - 0xff00FF00, - 0xff00FFFF, - 0xffFFFF00, - 0xffFFFFFF + +void make_spectrum_palette() +{ + int rgb[] = + { + 0x000000, + 0x0000C0, + 0xC00000, + 0xC000C0, + 0x00C000, + 0x00C0C0, + 0xC0C000, + 0xC0C0C0, + 0x000000, + 0x0000FF, + 0xFF0000, + 0xFF00FF, + 0x00FF00, + 0x00FFFF, + 0xFFFF00, + 0xFFFFFF }; g_grids[9] = 0xff0000d8; @@ -1552,12 +1560,13 @@ g_grids[13] = 0xff00d8d8; g_grids[14] = 0xffd8d800; g_grids[15] = 0xffd8d8d8; - for (int i = 0; i < g_maxcolors; i++) { - rgb[i] = rgb[i] & 0xffffff; - if (i <= 8) { - g_grids[i] = rgb[i] + 0xff282828; - } - makecolor(i, (rgb[i] >> 16), (rgb[i] & 0xff00FF00) >> 8, rgb[i] & 0xff0000FF); + + for (int i = 0; i < g_maxcolors; i++) + { + if (i <= 8) + g_grids[i] = (rgb[i] + 0x282828) | 0xff000000; + + makecolor(i, (rgb[i] >> 16) & 0xff, (rgb[i] >> 8) & 0xff, rgb[i] & 0xff); } g_gridmode = NEW; } @@ -1566,7 +1575,15 @@ void mpSetupMachine(int m) { machine = m; + + g_name = "ERROR"; g_exportext = "none"; + g_exportname = ""; + g_formatname = ""; + g_formatext = ""; + g_formatname = ""; + g_formatext = ""; + g_map[3] = byte(machine); g_map[13] = byte(machine); g_palsteps = 0; @@ -1576,8 +1593,6 @@ g_charlimit = 0; g_hzoomer = 1; g_backmode = 0; - g_formatname = ""; - g_formatext = ""; g_maxcolors = 16; X = 320; Y = 200;