DDraw issues, etc.

Tim Hentenaar tth at one.net
Sun Apr 4 03:30:50 CDT 2004


On Sun, 4 Apr 2004 10:26:34 +0200
Lionel Ulmer <lionel.ulmer at free.fr> wrote:

>Of course, if it uses more than one, some adaptations
> would be needed :-/

And that it does :/ It seems not to update the screen properly, but then again, it could be something not completely implemented in Wine, or the game engine.

> What do you mean by 'a destination rect that isn't present in the clip list' ?

According to M$ DX7 Documentation, DirectDrawSurface::Blt() should only bit to areas that are in the clip list. And apparently 98% of the time that it's trying to blit to a rect that it's not putting in the clip list, it's almost identical to the RGNDATA.rcBound value, so i'm guessing it's for some type of back-buffer used by the engine :P

> Oh well, it can be LOTS of stuff... In Windows, they have direct frame
> buffer access so some games (like MI3) did a lot of updates of the screen
> (which leads to a lots of traffic in Wine between game memory, X11 and the
> frame buffer). It works perfectly well in Windows and will be slow as hell
> in Wine.

Yeah, that is unless the current DD code was rewritten to use GL and also assuming that the person running it had Direct Rendering, but then again, that would take a lot of time to do, and could possibly be horridly slow if the person happened not to have direct rendering :P

I'm also looking at some of the wave driver stuff. WineX's wave driver (at least the OSS driver) does the sound for the game perfectly whereas Wine's wave output sounds rather odd, crackling, and it seems not to flush the buffer properly. :P

Tim



More information about the wine-devel mailing list