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 }