commit 1141676

Devine Lu Linvega  ·  2024-11-25 22:50:15 +0000 UTC
parent 2edca88
(screen) Faster still
1 files changed,  +4, -4
+4, -4
 1@@ -230,10 +230,10 @@ screen_deo(Uxn *u, Uint8 addr)
 2 				Uint16 xx = MAR(x), yy = MAR(y);
 3 				if(xx < MAR(uxn_screen.width) && MAR(yy) < MAR2(uxn_screen.height)) {
 4 					Uint8 *sprite = &u->ram[rA];
 5-					int opaque = blend % 5, length = MAR2(uxn_screen.width), row = yy * length;
 6-					for(ay = yy, qy = fy < 0 ? 7 : 0; ay < yy + 8; ay++, qy += fy, row += length) {
 7-						ch1 = sprite[qy], ch2 = sprite[qy + 8] << 1, x2 = xx + 8 + row;
 8-						for(ax = xx + row, qx = fx > 0 ? 7 : 0; ax < x2; ax++, qx -= fx) {
 9+					int opaque = blend % 5, length = MAR2(uxn_screen.width), y2 = (yy + 8) * length;
10+					for(ay = yy * length, qy = fy < 0 ? 7 : 0; ay < y2; ay += length, qy += fy) {
11+						ch1 = sprite[qy], ch2 = sprite[qy + 8] << 1, x2 = xx + 8 + ay;
12+						for(ax = xx + ay, qx = fx > 0 ? 7 : 0; ax < x2; ax++, qx -= fx) {
13 							int color = ((ch1 >> qx) & 1) | ((ch2 >> qx) & 2);
14 							if(opaque || color) layer[ax] = blending[color][blend];
15 						}