DX6 more compatibility.

slawek omega496 at wp.pl
Fri Jun 27 04:26:13 CDT 2008


I have one game, that needs DX6, but lowest clone version of DX is 7.
The game don't run, because in
<source>dlls/ddraw/surface.c:IDirectDrawSurface7Impl_AddAttachedSurface
is check the surface have z-buffer. There's a notice, that the check
been added, because of information in msdn about this function. This
information suggested, that DX returning error if surface don't have
z-buffer. If I remove this block and " Caps.dwCaps |=
DDSCAPS_BACKBUFFER;" line in IDirectDrawSurfaceImpl_Flip, the game will
run and there's no graphics issue.

I think, that game written for DX7 won't give surface without z-buffer
as parameter to this functions, but code, that i removed is bad for dx
less 7 games. I read in winehq.org, that some games(like capitalism)
have the same issue(displaying the same error message), so my hack will
repair it.

Sorry for my english, I still learning.




More information about the wine-devel mailing list