http://bugs.winehq.org/show_bug.cgi?id=9030
--- Comment #41 from EA Durbin ead1234@hotmail.com 2010-09-08 07:12:11 CDT --- (In reply to comment #40)
It's not clear at all what is the source of the problem.
According to Henri Verbeet,
It seems the game uses the system palette to generate a palette for its ddraw surfaces, but the system palette is empty. The reason the system palette is empty is that http://source.winehq.org/git/wine.git/?a=blob;f=dlls/winex11.drv/palette.c;h... explicitly creates an empty palette for TrueColor (and DirectColor) visuals. Always taking the else-branch there also makes the game display something.
Writing some tests for GetSystemPaletteEntries() should probably be the first step for fixing that bug. Note that this pretty much seems to be a gdi32/winex11.drv issue, and I'm not familiar with most of the code in there.