commit 94e041e

Devine Lu Linvega  ·  2025-04-04 15:50:36 +0000 UTC
parent 4d74840
(screen) Fixed issue with redraw bounds
2 files changed,  +8, -7
+7, -6
 1@@ -154,18 +154,19 @@ screen_deo(Uint8 addr)
 2 		if(ctrl & 0x80) {
 3 			int x1, y1, x2, y2, ax, bx, ay, by, hor, ver;
 4 			if(ctrl & 0x10)
 5-				x1 = MAR(0), x2 = MAR(rX);
 6+				x1 = 0, x2 = rX;
 7 			else
 8-				x1 = MAR(rX), x2 = MAR(uxn_screen.width);
 9+				x1 = rX, x2 = uxn_screen.width;
10 			if(ctrl & 0x20)
11-				y1 = MAR(0), y2 = MAR(rY);
12+				y1 = 0, y2 = rY;
13 			else
14-				y1 = MAR(rY), y2 = MAR(uxn_screen.height);
15-			hor = x2 - x1, ver = y2 - y1;
16+				y1 = rY, y2 = uxn_screen.height;
17+			screen_change(x1, y1, x2, y2);
18+			x1 = MAR(x1), y1 = MAR(y1);
19+			hor = MAR(x2) - x1, ver = MAR(y2) - y1;
20 			for(ay = y1 * len, by = ay + ver * len; ay < by; ay += len)
21 				for(ax = ay + x1, bx = ax + hor; ax < bx; ax++)
22 					layer[ax] = color;
23-			screen_change(x1, y1, x2, y2);
24 		}
25 		/* pixel mode */
26 		else {
+1, -1
1@@ -268,7 +268,7 @@ main(int argc, char **argv)
2 {
3 	int i = 1;
4 	if(argc == 2 && argv[1][0] == '-' && argv[1][1] == 'v')
5-		return !fprintf(stdout, "Uxn11 - Varvara Emulator, 16 Mar 2025.\n");
6+		return !fprintf(stdout, "Uxn11 - Varvara Emulator, 4 Apr 2025.\n");
7 	else if(argc == 1)
8 		return !fprintf(stdout, "usage: %s [-v] file.rom [args..]\n", argv[0]);
9 	else if(!display_init())