http://bugs.winehq.org/show_bug.cgi?id=20672
Summary: GetDC change causes black screen in Seven Kingdoms Product: Wine Version: 1.1.30 Platform: PC URL: http://www.7kfans.com/ OS/Version: Linux Status: NEW Keywords: regression, source Severity: normal Priority: P2 Component: directx-ddraw AssignedTo: wine-bugs@winehq.org ReportedBy: the3dfxdude@gmail.com CC: stefan@codeweavers.com
The following patch causes a black screen upon running Seven Kingdoms: e1469961d42d0eb077d3fa0236de17b56bc51a56 is the first bad commit commit e1469961d42d0eb077d3fa0236de17b56bc51a56 Author: Stefan Dösinger stefan@codeweavers.com Date: Sat Sep 5 16:37:19 2009 +0200
wined3d: Test and fix ddraw and d3d9 GetDC differences.
The MSDN is not totally correct: A8R8G8B8 and A1R5G5B5 also allow GetDC. The main differences that have to be filtered out in d3d9.dll are GetDC on A8B8G8R8, X8B8G8R8 and P8.
:040000 040000 50563852d85b047d42d3ff67801850c834b63244 e64032236cf06c87a6d12bf361cb94417db71efa M dlls
Running the ddraw dsurface test seems to indicate that ddraw wants opengl enabled in the registry as the DirectDrawRenderer. Then when enabling opengl, a full-screen Seven Kingdoms draws the screen partially offscreen incorrectly. When virtual desktop is enabled, the game is visible correctly.
Also note, Seven Kingdoms uses an 8-bit color depth.
It is expected that GDI mode should not produce a black screen.
Bug 20327 is similar, but I question whether it is the same problem as it is a D3D game.