Mercurial > hg > forks > multipaint-js
changeset 11:c1667eb54808
Cosmetics and indentation.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 04 Jul 2018 09:03:08 +0300 |
parents | 80380099f1ad |
children | a0a00f80b042 |
files | Interface.pde draw_outputs.pde events.pde exporters.pde multipaint.pde prefread.pde |
diffstat | 6 files changed, 319 insertions(+), 288 deletions(-) [+] |
line wrap: on
line diff
--- a/Interface.pde Wed Jul 04 08:57:43 2018 +0300 +++ b/Interface.pde Wed Jul 04 09:03:08 2018 +0300 @@ -315,7 +315,8 @@ //updatepixels has to be handled elsewhere for (int yy = 0; yy < h; yy++) { for (int xx = 0; xx < w; xx++) { - if (xx == 0 || yy == 0 || xx == w - 1 || yy == h - 1) pixels[ad + xx] = rgb; + if (xx == 0 || yy == 0 || xx == w - 1 || yy == h - 1) + pixels[ad + xx] = rgb; } ad += width; } @@ -435,6 +436,7 @@ far = metal; if (mm == 1) far = 0xffffff80; } + if (t == 66) { //raster icon if (x >= 1 && y >= 2 && x <= 13 && y <= 12) { far = metal; @@ -442,6 +444,7 @@ if (get_raster(x + 1, y) == 1) far = 0xff000000; } } + e_rect(xo + x * g_uizoom, yo + y * g_uizoom, g_uizoom, g_uizoom, far); } ad = ad + 256; @@ -453,7 +456,8 @@ int ad, cad, x, y, xx, yy, far; far = 0xff000000; if (t < 32) return; - t = t - 32; + + t -= 32; yy = int(t / 32); xx = t - yy * 32; yy = yy + 18; @@ -472,6 +476,7 @@ if (g_spare == 1 && t <= 95) far = 0xff008000; //different background color for spare mode if (g_msgctr > 0 && t + 32 < 128) far = 0xff0000ff; //different background color } + e_rect(xo + x * g_uizoom, yo + y * g_uizoom, g_uizoom, g_uizoom, far); } } @@ -522,7 +527,7 @@ g_data[256 + xx + yy * 12] = byte(tex.charCodeAt(tit)); g_chaup[xx + yy * 16] = 1; } - xx++; + xx++; } else { xx = 0; yy++; @@ -583,12 +588,12 @@ else { xc = abs(g_rx2 - g_rx) + 1; yc = abs(g_ry2 - g_ry) + 1; - } + } break; } } - //coordinates + // coordinates if (xc < X && yc < Y) { printat(0, 0, str(a)); printat(4, 0, str(b)); @@ -770,15 +775,18 @@ teks = "No Help"; break; } + printat(0, 0, teks); } + void icontable(int xx, int yy, int tabletype, int realdraw) { String pan = ""; int x, y, ad; g_data[int('9')] = 0; if (g_btype == 9) g_data[int('9')] = 1; + // the main and sideboard icon panel order if (tabletype == 0) pan = ";;h9::123456::78::pzxy::XYtn::lsEAwW::jc0g::uo::.b"; if (tabletype == 1) pan = "BCrRfd"; @@ -940,6 +948,7 @@ return 0; } + void set_tool(int s) { //set current tool, for convenience for (int i = '0'; i <= '9'; i++) { @@ -949,6 +958,7 @@ g_map[12] = byte(s); } + void selectcolor(int hand, int x) { if (x >= g_maxcolors) x = x - g_maxcolors; if (x < 0) x = x + g_maxcolors; @@ -1049,6 +1059,7 @@ maxp = int(g_maxcolors / 2); xonko = int(1024 / g_maxcolors); } + if (machine == PLUS4 || machine == PLUS4M) xonko = 15 * g_uizoom; for (x = 0; x < g_maxcolors; x++) { @@ -1148,6 +1159,7 @@ int cz = 8 * g_uizoom; // lcd character display chardisplay textbox // coordinates. has its own "dirtychar" + for (int xx = 0; xx <= 11; xx++) { for (int yy = 0; yy <= 3; yy++) { if (g_chaup[xx + yy * 16] == 1) { @@ -1319,294 +1331,294 @@ } for (ywin = 0; ywin <= mayy; ywin++) - for (xwin = 0; xwin <= maxx; xwin++) { + for (xwin = 0; xwin <= maxx; xwin++) { - // source coords: is 0,0 if not magged - xx = g_ofx + xwin; - yy = g_ofy + ywin; - // divided into character area blocks - // which are only updated if necessary - xo = xwin; - yo = ywin; + // source coords: is 0,0 if not magged + xx = g_ofx + xwin; + yy = g_ofy + ywin; + // divided into character area blocks + // which are only updated if necessary + xo = xwin; + yo = ywin; - if (int(g_redo[xx + yy * MX]) == 0) { + if (int(g_redo[xx + yy * MX]) == 0) { - for (y = 0; y <= 7; y++) { //pixel rows inside "char" + for (y = 0; y <= 7; y++) { //pixel rows inside "char" - switch (g_multic) { - case 0: - cad = 65536 + xx + ((yy * X) + y * MX); - a = int(g_map[cad]); - b = int(g_map[(MX * MY) * 8 + cad]); - c = int(g_map[(MX * MY) * 8 + cad]); - break; - case 1: - cad = 65536 + xx + (yy * MX); - a = int(g_map[cad]); - b = int(g_map[cad + 1000]); - c = int(g_map[cad + 2000]); - if (machine == PLUS4M) { - c = int(g_map[2]); - } - break; - case 2: - cad = 65536 + xx + ((yy * X) + y * MX); - a = int(g_map[cad]); - b = int(g_map[(MX * MY) * 8 + cad]); - c = int(g_map[(MX * MY) * 8 + cad]); - break; + switch (g_multic) { + case 0: + cad = 65536 + xx + ((yy * X) + y * MX); + a = int(g_map[cad]); + b = int(g_map[(MX * MY) * 8 + cad]); + c = int(g_map[(MX * MY) * 8 + cad]); + break; + case 1: + cad = 65536 + xx + (yy * MX); + a = int(g_map[cad]); + b = int(g_map[cad + 1000]); + c = int(g_map[cad + 2000]); + if (machine == PLUS4M) { + c = int(g_map[2]); + } + break; + case 2: + cad = 65536 + xx + ((yy * X) + y * MX); + a = int(g_map[cad]); + b = int(g_map[(MX * MY) * 8 + cad]); + c = int(g_map[(MX * MY) * 8 + cad]); + break; + } + + ad = 1024 + xx * 8 + yy * (X * 8) + y * X; + + int po, vop; + + for (x = 0; x <= 7; x++) { //pixel columns inside pixel row + vop = int(x / 2); + if (g_multic == 0) { + if (int(g_map[ad + x]) == 1) { + fari = a; + if (fari == 0) fari = g_map[1]; + } else { + fari = b; + if (fari == 0) fari = g_map[1]; + } + } + if (g_multic == 1) { + po = int(g_map[ad + vop * 2]) + int(g_map[ad + vop * 2 + 1] * 2); + if (po == 0) fari = g_map[1]; //00 comes from $d021 in real c64 and background 1 in plus/4 + if (po == 1) fari = a; //10 + if (po == 2) fari = b; //01 + if (po == 3) fari = c; //g_map[2];//11 // comes from $d800 in real c64 and background 2 in plus/4 + } + if (g_multic == 2) { // "amiga" mode + fari = int(g_map[ad + x]); } - ad = 1024 + xx * 8 + yy * (X * 8) + y * X; - - int po, vop; - - for (x = 0; x <= 7; x++) { //pixel columns inside pixel row - vop = int(x / 2); - if (g_multic == 0) { - if (int(g_map[ad + x]) == 1) { - fari = a; - if (fari == 0) fari = g_map[1]; - } else { - fari = b; - if (fari == 0) fari = g_map[1]; - } + if (g_rubbermode == 1) { // rubberband mode + rubx = x; + if (g_multic == 1 || g_hzoomer == 2) { + rubx = chop2(x); } - if (g_multic == 1) { - po = int(g_map[ad + vop * 2]) + int(g_map[ad + vop * 2 + 1] * 2); - if (po == 0) fari = g_map[1]; //00 comes from $d021 in real c64 and background 1 in plus/4 - if (po == 1) fari = a; //10 - if (po == 2) fari = b; //01 - if (po == 3) fari = c; //g_map[2];//11 // comes from $d800 in real c64 and background 2 in plus/4 - } - if (g_multic == 2) { // "amiga" mode - fari = int(g_map[ad + x]); - } - - if (g_rubbermode == 1) { // rubberband mode - rubx = x; - if (g_multic == 1 || g_hzoomer == 2) { - rubx = chop2(x); + if (fylli() == 1) { + if (xx * 8 + rubx == g_rx || xx * 8 + rubx == g_rx2) { + if (yy * 8 + y >= g_ry && yy * 8 + y <= g_ry2) fari = 256; + if (yy * 8 + y >= g_ry && yy * 8 + y <= g_ry2) fari = 256; } - if (fylli() == 1) { - if (xx * 8 + rubx == g_rx || xx * 8 + rubx == g_rx2) { - if (yy * 8 + y >= g_ry && yy * 8 + y <= g_ry2) fari = 256; - if (yy * 8 + y >= g_ry && yy * 8 + y <= g_ry2) fari = 256; - } - if (yy * 8 + y == g_ry || yy * 8 + y == g_ry2) { - if (xx * 8 + x >= g_rx && xx * 8 + x <= g_rx2) fari = 256; - if (xx * 8 + x >= g_rx && xx * 8 + x <= g_rx2) fari = 256; - } + if (yy * 8 + y == g_ry || yy * 8 + y == g_ry2) { + if (xx * 8 + x >= g_rx && xx * 8 + x <= g_rx2) fari = 256; + if (xx * 8 + x >= g_rx && xx * 8 + x <= g_rx2) fari = 256; } } + } - color ari = g_rgb[fari]; - switch (mmode) { - case 0: - raddr = (xo * 24 + x * 3) + (yo * 24 + y * 3) * width; - raddr = raddr + g_windowx + g_windowy * width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - break; - case 1: - raddr = (xo * 64 + x * 8) + (yo * 64 + y * 8) * width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - pixels[raddr + 6] = ari; - pixels[raddr + 7] = ari; - break; - case 2: - e_rect(xo * (64 * g_uizoom) + x * (8 * g_uizoom), yo * (64 * g_uizoom) + y * (8 * g_uizoom), 8 * g_uizoom, 8 * g_uizoom, g_rgb[fari]); - break; - // mini modes - case 10: - raddr = (xo * 16 + x * 2) + (yo * 8 + y) * width * 2; - raddr = raddr + g_windowx + g_windowy * width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - break; - case 11: - raddr = (xo * 48 + x * 6) + (yo * 48 + y * 6) * width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - pixels[raddr + 4] = ari; - pixels[raddr + 5] = ari; - break; - case 12: - e_rect(xo * (64 * g_wzoom) + x * (8 * g_wzoom), yo * (64 * g_wzoom) + y * (8 * g_wzoom), 8 * g_wzoom, 8 * g_wzoom, g_rgb[fari]); - break; - // maxi modes - case 20: - raddr = (xo * (8 * 4) + x * 4) + (yo * (8 * 4) + y * 4) * width; - raddr = raddr + g_windowx + g_windowy * width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - raddr = raddr + width; - pixels[raddr] = ari; - pixels[raddr + 1] = ari; - pixels[raddr + 2] = ari; - pixels[raddr + 3] = ari; - break; - case 21: - e_rect(xo * (32 * g_wzoom) + x * (4 * g_wzoom), yo * (32 * g_wzoom) + y * (4 * g_wzoom), 4 * g_wzoom, 4 * g_wzoom, g_rgb[fari]); - break; - case 22: - e_rect(xo * (64 * g_wzoom) + x * (8 * g_wzoom), yo * (64 * g_wzoom) + y * (8 * g_wzoom), 8 * g_wzoom, 8 * g_wzoom, g_rgb[fari]); - break; - } - } //one pixel inside pixel row - } //one pixel row inside char + color ari = g_rgb[fari]; + switch (mmode) { + case 0: + raddr = (xo * 24 + x * 3) + (yo * 24 + y * 3) * width; + raddr = raddr + g_windowx + g_windowy * width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + break; + case 1: + raddr = (xo * 64 + x * 8) + (yo * 64 + y * 8) * width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + break; + case 2: + e_rect(xo * (64 * g_uizoom) + x * (8 * g_uizoom), yo * (64 * g_uizoom) + y * (8 * g_uizoom), 8 * g_uizoom, 8 * g_uizoom, g_rgb[fari]); + break; + // mini modes + case 10: + raddr = (xo * 16 + x * 2) + (yo * 8 + y) * width * 2; + raddr = raddr + g_windowx + g_windowy * width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + break; + case 11: + raddr = (xo * 48 + x * 6) + (yo * 48 + y * 6) * width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + pixels[raddr + 4] = ari; + pixels[raddr + 5] = ari; + break; + case 12: + e_rect(xo * (64 * g_wzoom) + x * (8 * g_wzoom), yo * (64 * g_wzoom) + y * (8 * g_wzoom), 8 * g_wzoom, 8 * g_wzoom, g_rgb[fari]); + break; + // maxi modes + case 20: + raddr = (xo * (8 * 4) + x * 4) + (yo * (8 * 4) + y * 4) * width; + raddr = raddr + g_windowx + g_windowy * width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + raddr = raddr + width; + pixels[raddr] = ari; + pixels[raddr + 1] = ari; + pixels[raddr + 2] = ari; + pixels[raddr + 3] = ari; + break; + case 21: + e_rect(xo * (32 * g_wzoom) + x * (4 * g_wzoom), yo * (32 * g_wzoom) + y * (4 * g_wzoom), 4 * g_wzoom, 4 * g_wzoom, g_rgb[fari]); + break; + case 22: + e_rect(xo * (64 * g_wzoom) + x * (8 * g_wzoom), yo * (64 * g_wzoom) + y * (8 * g_wzoom), 8 * g_wzoom, 8 * g_wzoom, g_rgb[fari]); + break; + } + } //one pixel inside pixel row + } //one pixel row inside char - //draw grid - //can in principle be non-square - if (int(g_data[int('g')]) == 1) { + //draw grid + //can in principle be non-square + if (int(g_data[int('g')]) == 1) { int lapx = int((xx * 8) / g_gridx) * g_gridx; - if (lapx == (xx * 8)) { - t_rect(xo * mag + winsux, yo * mag + winsuy, 1, mag, g_rgb[257]); - if (g_gridx == 4) { + if (lapx == (xx * 8)) { + t_rect(xo * mag + winsux, yo * mag + winsuy, 1, mag, g_rgb[257]); + if (g_gridx == 4) { t_rect(xo * mag + winsux + 4 * psize, yo * mag + winsuy + 1, 1, int(mag / 2) - 2, g_rgb[257]); t_rect(xo * mag + winsux + 4 * psize, yo * mag + winsuy + mag - int(mag / 2) + 2, 1, int(mag / 2) - 2, g_rgb[257]); - } } + } lapx = int((yy * 8) / g_gridy) * g_gridy; - if (lapx == (yy * 8)) { - t_rect(xo * mag + winsux + 1, yo * mag + winsuy, mag - 1, 1, g_rgb[257]); - if (g_gridy == 4) { + if (lapx == (yy * 8)) { + t_rect(xo * mag + winsux + 1, yo * mag + winsuy, mag - 1, 1, g_rgb[257]); + if (g_gridy == 4) { t_rect(xo * mag + winsux + 1, yo * mag + winsuy + 4 * psize, int(mag / 2) - 2, 1, g_rgb[257]); t_rect(xo * mag + winsux + 2 + mag - int(mag / 2), yo * mag + winsuy + 4 * psize, int(mag / 2) - 2, 1, g_rgb[257]); - } } } - g_redo[xx + yy * MX] = byte(1); - } //dirty char? - } //x char + } + g_redo[xx + yy * MX] = byte(1); + } //dirty char? + } //x char }
--- a/draw_outputs.pde Wed Jul 04 08:57:43 2018 +0300 +++ b/draw_outputs.pde Wed Jul 04 09:03:08 2018 +0300 @@ -21,8 +21,8 @@ //rectangle for brush drawing for (int ii = xf; ii <= xt; ii++) for (int jj = yf; jj <= yt; jj++) - createpoint(ii, jj, g_button); - } + createpoint(ii, jj, g_button); +} void docircx(int xf, int yf, int hh, int vv) { //circle for brush drawing @@ -34,12 +34,12 @@ prop = 1; } hh++; - for (int ii = -hh; ii <= hh; ii++) { - for (int jj = -vv; jj <= vv; jj++) { - if (dist(xf + ii, yf + jj * prop, xf, yf) <= hh - 1) { - createpoint(xf + ii, yf + jj, g_button); - } - } + + for (int ii = -hh; ii <= hh; ii++) + for (int jj = -vv; jj <= vv; jj++) + { + if (dist(xf + ii, yf + jj * prop, xf, yf) <= hh - 1) + createpoint(xf + ii, yf + jj, g_button); } } @@ -331,8 +331,10 @@ float prop; int xf, yf; float fh, fv; + if (x2 < x1) x2 = x1 - (x2 - x1); if (y2 < y1) y2 = y1 - (y2 - y1); + xf = x1; yf = y1; hh = x2 - x1; @@ -395,13 +397,17 @@ int x0, y0, molox; int yt, xt; int xf, yf; + xf = chop8(x1); xt = chop8(x2); + yf = chop8(y1); yt = chop8(y2); + yt = yt + 7; xt = xt + 6; molox = 1; + if (g_multic == 1 || g_hzoomer == 2) molox = 2; if (x2 < x1) { x0 = x2; @@ -564,10 +570,12 @@ ojoy = chop8(yy); miny = yy - ojoy; maxy = miny; + if (g_attrimode == 1) { miny = 0; maxy = 7; } + if (baba == g_backg) simplepaint(xx, yy, 1, g_farge); if (aba == g_backg) simplepaint(xx, yy, 0, g_farge); ignore = 1; @@ -649,8 +657,8 @@ } } break; + case 1: //c64 style zoomed multicolour - //foreg int looks, skippo; byte bit1, bit2, valu1, valu2; @@ -958,7 +966,6 @@ psizey = g_magpiy[magmode()]; //handles different tool behavior - if (g_data[int('m')] == 0 && g_data[int('M')] == 0) { if (g_uizoom == 1) { x = int(qqx / 2); @@ -1053,6 +1060,7 @@ if (tt == 1) craft(x, y, 0); //pixeller + if (tt == 2) { //spraycan //if(random(100)<50){fixed_raster_command(int('x'));} //if(random(100)<50){fixed_raster_command(int('y'));} @@ -1067,6 +1075,7 @@ } } + if (tt == 3) { //cont line if (g_phase == 0) { g_prex = x;
--- a/events.pde Wed Jul 04 08:57:43 2018 +0300 +++ b/events.pde Wed Jul 04 09:03:08 2018 +0300 @@ -113,7 +113,6 @@ msy = g_icony - (g_windowy); msx = g_msx - (g_windowx); msy = g_msy - (g_windowy); - } else { msx = g_iconx; msy = g_icony; @@ -396,6 +395,7 @@ g_btype = 9; return; } + if (ckey >= '0' && ckey <= '8') { g_repanel = -2; set_tool(ckey - 48);
--- a/exporters.pde Wed Jul 04 08:57:43 2018 +0300 +++ b/exporters.pde Wed Jul 04 09:03:08 2018 +0300 @@ -381,14 +381,14 @@ } void pushbyte(int ad, int head) { - g_map[ad] = byte((g_template[head] & 128) >> 7); + g_map[ad ] = byte((g_template[head] & 128) >> 7); g_map[ad + 1] = byte((g_template[head] & 64) >> 6); g_map[ad + 2] = byte((g_template[head] & 32) >> 5); g_map[ad + 3] = byte((g_template[head] & 16) >> 4); g_map[ad + 4] = byte((g_template[head] & 8) >> 3); g_map[ad + 5] = byte((g_template[head] & 4) >> 2); g_map[ad + 6] = byte((g_template[head] & 2) >> 1); - g_map[ad + 7] = byte(g_template[head] & 1); + g_map[ad + 7] = byte( g_template[head] & 1); } void format_import(String fname) { @@ -566,14 +566,15 @@ p1 = g_template[0x1f42 + x + y * 40] & 0x0f; p2 = (g_template[0x1f42 + x + y * 40] >> 4) & 0x0f; p3 = g_template[0x233a + x + y * 40] & 0x0f; + g_map[65536 + x + y * 40] = byte(p1); g_map[65536 + x + y * 40 + 1000] = byte(p2); g_map[65536 + x + y * 40 + 2000] = byte(p3); } } } - g_map[0] = byte(g_template[0x232a] & 15); //bord - g_map[1] = byte(g_template[0x232b] & 15); //baku + g_map[0] = byte(g_template[0x232a] & 0x0f); //bord + g_map[1] = byte(g_template[0x232b] & 0x0f); //baku } if (machine == MSX) { // sc2 @@ -2050,6 +2051,7 @@ g_expname = ""; g_formatname = ""; g_formatextension = ""; + X = 320; Y = 200; g_multic = 2; @@ -2064,6 +2066,7 @@ g_expname = ""; g_formatname = ""; g_formatextension = ""; + X = 128; Y = 128; g_farge = 15; @@ -2092,6 +2095,7 @@ g_expname = ""; g_formatname = ""; g_formatextension = ""; + X = 256; Y = 192; g_farge = 15;
--- a/multipaint.pde Wed Jul 04 08:57:43 2018 +0300 +++ b/multipaint.pde Wed Jul 04 09:03:08 2018 +0300 @@ -306,6 +306,7 @@ message("Page|loaded"); } + void draw() { int msx, msy; @@ -355,6 +356,7 @@ if (g_tooltrigger == 1) { // comes from mousepressed, or mousedragged if (g_mx <= width - g_hedge && g_my <= height - g_vedge) do_tool(msx, msy, g_button); } + g_msx = mouseX; g_msy = mouseY; switcher(0); @@ -377,6 +379,7 @@ //magport(); switcher(1); update_ui(); + updatePixels(); if (g_msgctr > 0) g_msgctr--;