ddraw fix

Marko Kreen marko at l-t.ee
Mon Nov 11 19:35:22 CST 2002


On Tue, Nov 12, 2002 at 12:38:30AM +0100, Lionel Ulmer wrote:
> > I guess you are right.
> 
> In fact, no, I am wrong... I just tested on my box, and it seems that
> DirectX actually checks the rectangles and refuses the Blt (at least on mine
> it returns error code '150' => DDERR_INVALIDRECT).

Now I found this:

http://msdn.microsoft.com/archive/en-us/ddraw7/directdraw7/ddover_7ctz.asp

I read from there that source rect must be inside src.
Destination _may_ be outside, only if something called 'clipper'
is attached to dst.

> If anyone has a real Windows box, could you please test this proggie :
> 
>       http://www.bbrox.org/test_dx2.exe
> 
> To quit, just press the mouse button. It may crash a little bit (though I
> wonder why as it's my first Windows program :-) ).

Hehe.

> Please go near the border with the mouse and tell me (privately) if 
>    1) the application stops and if yes, the error code
>    2) if it does not stop, what happens (is the 'sprite' clipped, does it
>       disappear, ...) ?
> 
> Thanks.
> 
> > fixme:ddraw:DIB_DirectDrawSurface_Blt ddesc.dwHeight=480 xdst.top=382 xdst.bottom=36242
> 
> Hmmmm, this is REALLY strange... Where does this happen ? My last Grim
> Fandango testings did not show any of these errors.

Well, on my Grim Fandango testings it started when Calavera tried
to walk to Big Boss cabinet (after talking Celso) - so near the end.

As it was near the scene-change I could not observe the graphic
glitches.  But when running around greenhouse it gave a lot of
those errors.  When wine was simply emitting errors then Calavera
shadow was badly drawn.

Btw, there is some patch for Grim and my game was unpatched.
Maybe it was "supposed" to fail on windows too?  Then instead
of clipping it, wine should return error?  Anyway using assert
there is overreacting...

-- 
marko




More information about the wine-devel mailing list