{
bs_set_pixel_on(am, j, 31 - i, 32, 1, 1);
}
- if (bs_is_pixel_on((char *)xormask, j, i, 32, 24))
+ if (bs_is_pixel_on((char *)xormask, j, i, 32, xor_bpp))
{
bs_set_pixel_on(xm, j, 31 - i, 32, 1, 1);
}
int red;
int green;
int blue;
+ int index;
ZeroMemory(&bi, sizeof(bi));
bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
}
}
}
- else if (g_server_depth == 24 || g_server_depth == 32)
+ else if (g_server_depth == 24)
+ {
+ for (i = cy - 1; i >= 0; i--)
+ {
+ for (j = cx - 1; j >= 0; j--)
+ {
+ index = (i * cx + j) * 3;
+ red = ((unsigned char*)data)[index + 2];
+ green = ((unsigned char*)data)[index + 1];
+ blue = ((unsigned char*)data)[index];
+ MAKE_COLOUR32(colour, red, green, blue);
+ ((unsigned int*)bits)[i * cx + j] = colour;
+ }
+ }
+ }
+ else if (g_server_depth == 32)
{
memcpy(bits, data, cx*cy*4);
}