uxn

Varvara Ordinator, written in ANSI C(SDL2)
git clone https://git.eamoncaddigan.net/uxn.git
Log | Files | Refs | README | LICENSE

commit 289a265c4186e84308d817f5b34086853d816fd4
parent 7bdf99afc4748ed5c1f1b356fdff488164111d1e
Author: Devine Lu Linvega <aliceffekt@gmail.com>
Date:   Fri,  4 Apr 2025 08:52:12 -0700

(screen) Fixed issue with redraw bounds

Diffstat:
Msrc/devices/screen.c | 13+++++++------
Msrc/uxnemu.c | 2+-
2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/src/devices/screen.c b/src/devices/screen.c @@ -154,18 +154,19 @@ screen_deo(Uint8 addr) if(ctrl & 0x80) { int x1, y1, x2, y2, ax, bx, ay, by, hor, ver; if(ctrl & 0x10) - x1 = MAR(0), x2 = MAR(rX); + x1 = 0, x2 = rX; else - x1 = MAR(rX), x2 = MAR(uxn_screen.width); + x1 = rX, x2 = uxn_screen.width; if(ctrl & 0x20) - y1 = MAR(0), y2 = MAR(rY); + y1 = 0, y2 = rY; else - y1 = MAR(rY), y2 = MAR(uxn_screen.height); - hor = x2 - x1, ver = y2 - y1; + y1 = rY, y2 = uxn_screen.height; + screen_change(x1, y1, x2, y2); + x1 = MAR(x1), y1 = MAR(y1); + hor = MAR(x2) - x1, ver = MAR(y2) - y1; for(ay = y1 * len, by = ay + ver * len; ay < by; ay += len) for(ax = ay + x1, bx = ax + hor; ax < bx; ax++) layer[ax] = color; - screen_change(x1, y1, x2, y2); } /* pixel mode */ else { diff --git a/src/uxnemu.c b/src/uxnemu.c @@ -469,7 +469,7 @@ main(int argc, char **argv) /* flags */ if(argc > 1 && argv[i][0] == '-') { if(!strcmp(argv[i], "-v")) - return system_error("Uxn(gui) - Varvara Emulator", "31 Jan 2025."); + return system_error("Uxn(gui) - Varvara Emulator", "4 Apr 2025."); else if(!strcmp(argv[i], "-2x")) set_zoom(2, 0); else if(!strcmp(argv[i], "-3x"))