http://bugs.winehq.org/show_bug.cgi?id=15146
rainy6144@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rainy6144@gmail.com
--- Comment #15 from rainy6144@gmail.com 2010-04-10 10:04:33 --- I'm seeing this bug in git revision 68632904 (2010-03-31) plus the DIB engine patch. My system is Fedora 12 running a recent git version of Mesa for my Radeon 3450 in 32bpp mode.
When WINEDIB=OFF, the semi-transparent or strangely-colored text seems to be due to incorrect software depth conversion for 16-bit RGB444 DIB sections used by the game; there is no corresponding XRender format, and the software depth conversion functions X11DRV_DIB_SetImageBits_16() and X11DRV_DIB_GetImageBits_16() silently assumes 555 or 565 color masks. When these functions are fixed, the foreground color of the text becomes correct. There is still the black-background problem (bug 10408) in e.g. th12, and the text is entirely invisible in e.g. th07; this is probably due to incorrect alpha handling.
When WINEDIB=ON, similar problems seem to be caused by a strange biSize in BITMAPINFOHEADER, which makes the DIB engine retrieve incorrect color masks. If the color masks are retrieved using the bmiColors field instead, as is done in wine's gdi32, all the games now run perfectly.