# HG changeset patch # User Matti Hamalainen # Date 1534422541 -10800 # Node ID cdfda0354332b69cc0b044c48b69b4c462299597 # Parent 5d73681b97ebf29e847b7db5d5b67113df13bf34 Integrate changes from v1.8.2018. diff -r 5d73681b97eb -r cdfda0354332 Interface.pde --- a/Interface.pde Thu Aug 16 15:04:39 2018 +0300 +++ b/Interface.pde Thu Aug 16 15:29:01 2018 +0300 @@ -1356,6 +1356,39 @@ winsuy = 0; fill(32, 32, 32); } + else + if (mmode == 110) + { + g_ofx = 0; + g_ofy = 0; + maxx = MX - 1; + mayy = MY - 1; + winsux = g_windowx; + winsuy = g_windowy; + mag = 16; + } //mini flat aspect + else + if (mmode == 100) + { + g_ofx = 0; + g_ofy = 0; + maxx = MX - 1; + mayy = MY - 1; + winsux = g_windowx; + winsuy = g_windowy; + mag = 24; + } //normal flat aspect + else + if (mmode == 120) + { + g_ofx = 0; + g_ofy = 0; + maxx = MX - 1; + mayy = MY - 1; + winsux = g_windowx; + winsuy = g_windowy; + mag = 32; + } //maxi flat aspect b = 0; c = 0; @@ -1624,28 +1657,234 @@ 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; + + //flat NORMI + case 100: + raddr = (xo * 24 + x * 3) + (yo * 16 + y * 2) * width; + raddr = raddr + g_windowx; + raddr = raddr + (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; + break; + + case 101: + raddr = (xo * 72 + x * 9) + (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; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = ari; + break; + + case 102: + e_rect(xo * (8 * psizex) + x * (psizex), yo * (8 * psizey) + y * (psizey), psizex, psizey, g_rgb[fari]); + break; + + // flat mini modes = probably redundant + // mini modes + case 110: + raddr = (xo * 24 + x * 3) + (yo * 16 + y * 2) * width; + raddr = raddr + g_windowx; + raddr = raddr + (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; + break; + + case 111: + raddr = (xo * 72 + x * 9) + (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; + pixels[raddr + 6] = ari; + pixels[raddr + 7] = ari; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = 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; + pixels[raddr + 8] = ari; + break; + case 112: + e_rect(xo * (8 * psizex) + x * (psizex), yo * (8 * psizey) + y * (psizey), psizex, psizey, g_rgb[fari]); + break; + + // flat maxi modes + case 120: + raddr = (xo * (8 * 6) + x * 6) + (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; + 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 121: + e_rect(xo * (8 * psizex) + x * (psizex), yo * (8 * psizey) + y * (psizey), psizex, psizey, g_rgb[fari]); + break; + case 122: + e_rect(xo * (8 * psizex) + x * (psizex), yo * (8 * psizey) + y * (psizey), psizex, psizey, 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) { - int lapx = chopv(xx * 8, g_gridx); - if (lapx == (xx * 8)) { - t_rect(xo * xcmag + winsux, yo * xcmag + winsuy, 1, xcmag, g_rgb[257]); - if (g_gridx == 4) { - t_rect(xo * xcmag + winsux + 4 * psizex, yo * xcmag + winsuy + 1, 1, int(xcmag / 2) - 2, g_rgb[257]); - t_rect(xo * xcmag + winsux + 4 * psizex, yo * xcmag + winsuy + xcmag - int(xcmag / 2) + 2, 1, int(xcmag / 2) - 2, g_rgb[257]); + if (int(g_data[int('g')]) == 1) + { + if (chopv(xx * 8, g_gridx) == (xx * 8)) + { + t_rect(xo * psizex * 8 + winsux, yo * ycmag + winsuy, 1, ycmag, g_rgb[257]); + if (g_gridx == 4) + { + t_rect(xo * psizex * 8 + winsux + 4 * psizex, yo * ycmag + winsuy + 1, 1, ycmag / 2 - 2, g_rgb[257]); + t_rect(xo * psizex * 8 + winsux + 4 * psizex, yo * ycmag + winsuy + ycmag - ycmag / 2 + 2, 1, ycmag / 2 - 2, g_rgb[257]); } } - lapx = chopv(yy * 8, g_gridy); - if (lapx == (yy * 8)) { - t_rect(xo * xcmag + winsux + 1, yo * xcmag + winsuy, xcmag - 1, 1, g_rgb[257]); - if (g_gridy == 4) { - t_rect(xo * xcmag + winsux + 1, yo * xcmag + winsuy + 4 * psizex, int(xcmag / 2) - 2, 1, g_rgb[257]); - t_rect(xo * xcmag + winsux + 2 + xcmag - int(xcmag / 2), yo * xcmag + winsuy + 4 * psizex, int(xcmag / 2) - 2, 1, g_rgb[257]); + if (chopv(yy * 8, g_gridy) == (yy * 8)) + { + t_rect(xo * psizex * 8 + winsux + 1, yo * ycmag + winsuy, psizex * 8 - 1, 1, g_rgb[257]); + if (g_gridy == 4) + { + t_rect(xo * psizex * 8 + winsux + 1, yo * ycmag + winsuy + 4 * psizex, xcmag / 2 - 2, 1, g_rgb[257]); + t_rect(xo * psizex * 8 + winsux + 2 + xcmag - xcmag / 2, yo * ycmag + winsuy + 4 * psizex, xcmag / 2 - 2, 1, g_rgb[257]); } } } diff -r 5d73681b97eb -r cdfda0354332 events.pde --- a/events.pde Thu Aug 16 15:04:39 2018 +0300 +++ b/events.pde Thu Aug 16 15:29:01 2018 +0300 @@ -614,17 +614,10 @@ } } if (g_data[int('B')] == 1) { - g_data[int('B')] = 0; - if (machine != MSX) { - store_undo(); - g_map[0] = byte(zxcolor(g_farge)); - sussborder(); - message("Set border"); - } - if (machine == MSX) { - g_data[int('C')] = 1; - } + changeborder(LEFT); + if (machine == MSX) g_data['C'] = 1; } + if (g_data[int('C')] == 1) { g_data[int('C')] = 0; if (int(g_map[1]) != 255) { @@ -677,9 +670,8 @@ g_data[ckey] = 0; } - if (g_data[int('t')] == 1) { - if (ckey == 't') message("Tile mode"); - } + if (g_data['t'] == 1 && ckey == 't') + message("Tile mode"); if (ckey == 'n') { if (g_data[int('n')] == 1) { @@ -760,6 +752,7 @@ g_data[int('m')] = 0; ckey = 0; g_boxreconstruct = 2; + refresh(); } g_data[int('M')] = 0; } @@ -767,11 +760,8 @@ if (g_data[int('m')] == 1) { if (ckey == 'm') { g_data[int('M')] = 0; - int moux, mouy; - moux = int(g_mx / g_wzoom); - mouy = int(g_my / g_wzoom); - g_ofx = int(moux / 8) - int(magx() / 2); - g_ofy = int(mouy / 8) - int(magy() / 2); + g_ofx = int(g_storedcoordx / 8) - int(magx() / 2); + g_ofy = int(g_storedcoordy / 8) - int(magy() / 2); message("Magnify"); if (tool() == 0) { set_tool(g_prevtool); @@ -841,9 +831,8 @@ restoreparameters(); } - if (g_data[int('e')] == 1) { + if (g_data[int('e')] == 1) g_data[int('e')] = 0; - } if (g_data[int('h')] == 1) { g_data[int('h')] = 0;