commit 8406e8c

Devine Lu Linvega  ·  2024-11-25 21:41:40 +0000 UTC
parent a5ea25c
(screen) Optimization
1 files changed,  +6, -6
+6, -6
 1@@ -33,11 +33,11 @@ screen_2bpp(Uint8 *layer, Uint8 *addr, Uint16 x1, Uint16 y1, Uint16 blend, int f
 2 {
 3 	int x, y, qx, qy, opaque = blend % 5, length = MAR2(uxn_screen.width), row = y1 * length;
 4 	for(y = y1, qy = fy < 0 ? 7 : 0; y < y1 + 8; y++, qy += fy, row += length) {
 5-		int ch1 = addr[qy], ch2 = addr[qy + 8] << 1;
 6-		for(x = x1, qx = fx > 0 ? 7 : 0; x < x1 + 8; x++, qx -= fx) {
 7+		int ch1 = addr[qy], ch2 = addr[qy + 8] << 1, x2 = x1 + 8 + row;
 8+		for(x = x1 + row, qx = fx > 0 ? 7 : 0; x < x2; x++, qx -= fx) {
 9 			int color = ((ch1 >> qx) & 1) | ((ch2 >> qx) & 2);
10 			if(opaque || color)
11-				layer[x + row] = blending[color][blend];
12+				layer[x] = blending[color][blend];
13 		}
14 	}
15 }
16@@ -47,11 +47,11 @@ screen_1bpp(Uint8 *layer, Uint8 *addr, Uint16 x1, Uint16 y1, Uint16 blend, int f
17 {
18 	int x, y, qx, qy, opaque = blend % 5, length = MAR2(uxn_screen.width), row = y1 * length;
19 	for(y = y1, qy = fy < 0 ? 7 : 0; y < y1 + 8; y++, qy += fy, row += length) {
20-		int ch1 = addr[qy];
21-		for(x = x1, qx = fx > 0 ? 7 : 0; x < x1 + 8; x++, qx -= fx) {
22+		int ch1 = addr[qy], x2 = x1 + 8 + row;
23+		for(x = x1 + row, qx = fx > 0 ? 7 : 0; x < x2; x++, qx -= fx) {
24 			int color = (ch1 >> qx) & 1;
25 			if(opaque || color)
26-				layer[x + row] = blending[color][blend];
27+				layer[x] = blending[color][blend];
28 		}
29 	}
30 }