Browse code

Cleaned up screen colors code

neauoire authored on 28/03/2021 19:09:21
Showing 1 changed files
... ...
@@ -148,15 +148,14 @@ error(char *msg, const char *err)
148 148
 void
149 149
 loadtheme(Uint8 *addr)
150 150
 {
151
-	Uint8 r, g, b;
152
-	r = *(addr + 0) >> 4 & 0xf, g = *(addr + 2) >> 4 & 0xf, b = *(addr + 4) >> 4 & 0xf;
153
-	theme[0] = ((r + (r << 4)) << 16) + ((g + (g << 4)) << 8) + (b + (b << 4));
154
-	r = *(addr + 0) & 0xf, g = *(addr + 2) & 0xf, b = *(addr + 4) & 0xf;
155
-	theme[1] = ((r + (r << 4)) << 16) + ((g + (g << 4)) << 8) + (b + (b << 4));
156
-	r = *(addr + 1) >> 4 & 0xf, g = *(addr + 3) >> 4 & 0xf, b = *(addr + 5) >> 4 & 0xf;
157
-	theme[2] = ((r + (r << 4)) << 16) + ((g + (g << 4)) << 8) + (b + (b << 4));
158
-	r = *(addr + 1) & 0xf, g = *(addr + 3) & 0xf, b = *(addr + 5) & 0xf;
159
-	theme[3] = ((r + (r << 4)) << 16) + ((g + (g << 4)) << 8) + (b + (b << 4));
151
+	int i;
152
+	for(i = 0; i < 4; ++i) {
153
+		Uint8
154
+			r = (*(addr + i / 2) >> (!(i % 2) * 4)) & 0x0f,
155
+			g = (*(addr + 2 + i / 2) >> (!(i % 2) * 4)) & 0x0f,
156
+			b = (*(addr + 4 + i / 2) >> (!(i % 2) * 4)) & 0x0f;
157
+		theme[i] = ((r << 4) << 16) + ((g << 4) << 8) + (b << 4);
158
+	}
160 159
 	screen.reqdraw = 1;
161 160
 }
162 161