http://bugs.winehq.org/show_bug.cgi?id=13198
--- Comment #4 from Alexander Dorofeyev alexd4@inbox.lv 2008-05-14 04:49:21 --- Created an attachment (id=13048) --> (http://bugs.winehq.org/attachment.cgi?id=13048) hack to get past the black screen
The problem comes from the fact the game uses 8bpp surfaces, but doesn't set a palette using ddraw methods. There is an undocumented feature that it's possible to use such surfaces in ddraw, and palette is coming from somewhere else in the system (current windows system palette afaik). I hoped there is no stupid games that would use it but apparently I was wrong.
The attached proof of concept hack gets it (seemingly) working, but an actual right fix for this has to be more complex. For one thing, brokedness of {Get/Set}SystemPaletteEntries must be properly addressed in winex11.drv, and a right place(s) must be found in wined3d to put these changes into, so that it fixes both gdi and opengl renderers. This hack only fixes the DirectDrawnRenderer=gdi part.