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 }