commit ef76d11

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