[Bug 822] New: - DIB_DirectDrawSurface_Blt does not currently support DDBLT_KEYSRCOVERRIDE

wine-bugs at winehq.com wine-bugs at winehq.com
Mon Jun 24 23:25:09 CDT 2002


http://bugs.winehq.com/show_bug.cgi?id=822

           Summary: DIB_DirectDrawSurface_Blt does not currently support
                    DDBLT_KEYSRCOVERRIDE
           Product: Wine
           Version: CVS
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: wine-directx
        AssignedTo: wine-bugs at winehq.com
        ReportedBy: tony_lambregts at telusplanet.net


The DIB_DirectDrawSurface_Blt function does not currently support
DDBLT_KEYSRCOVERRIDE

Before I start I would like to say that I am aware that maxis came out with a
linux version so please do not flame me. The purpose of this bug report is to
fix wine.

Sim City 3000 is the only program I have that seems to use this but it uses it a
lot. It fills up any debug log with fixme's. So I decided to do some
investigation. I wnt ont Microsofts web site and I found this entry for
DDBLT_KEYSRCOVERRIDE

> Use the dckSrcColorkey member in the DDBLTFX structure (defined in the
> DirectDraw SDK documentation) as the color key for the source surface. If an 
> override is not being set, then dckDestColorkey does not contain the color 
> key. The driver should test the surface itself.

What this sounded like to me was that if I made DIB_DirectDrawSurface_Blt ignore
  the DDBLT_KEYSRCOVERRIDE flag then the worst result would be that it used the
wrong colors. With this in mind I went into dlls/ddraw/dsurface/dib.c and 
changed it so it in fact ignored this flag. The result was better then I expected.

At the beginning of the game there is a unique menu system that was invisible
because nothing was being drawn. When I made DIB_DirectDrawSurface_Blt ignore
the flag the menu system showed up almost right (at least it isn't invisible
anymore). This minor change improves how the whole game works. In fact there are
very few places that this does not make the game look better. It seems that in
this case at least the only thing it is used for is to mask out portions of the
area that is being drawn.

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://bugs.winehq.com/show_bug.cgi?id=822>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.



More information about the wine-bugs mailing list