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
- the application stops and if yes, the error code
- 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...