Am Freitag, den 27.06.2008, 18:24 +0200 schrieb Stefan Dösinger:
> On a sidenode, I think it is impossible to QueryInterface
> IDirectDrawSurface7 from IDirectDrawSurface < 7, or vice versa, but I am not
> sure.
Nope. You can sucessfully query IDirectDrawSurface{,2,3,4,7} from
IDirectDraw{,2,3,4,7}
>
> Good summary about C++ templates and Co skipped
>
> And this is where I discovered
> what a thunk it: Exactly a function that adjusts the this pointer
> before
> calling the main implementation; these thunks are unavoidable if
> functions from one vtable are forwarded to functions belonging to
> If I get it right, the correct fix is to add a thunk vtable for
> IDirectDraw4 that uses relaxed parameter checks on AddAttachedSurface.
Most likely yes
> [1] In fact, an API test is required. Strict or relaxed semantics might
also > depend on how the surface was created (from IDirectDraw4 or
>
Am Freitag, den 27.06.2008, 09:13 -0400 schrieb Chris Ahrendt:
> > The problem is that currently, if the application requests a
> > IDirectDrawSurface4 what it gets is a IDirectDrawSurface7. Which is (on
> > the first look) not a issue, as the vtables are compatible (same
> > functions with same si
> The problem is that currently, if the application requests a
> IDirectDrawSurface4 what it gets is a IDirectDrawSurface7. Which is (on
> the first look) not a issue, as the vtables are compatible (same
> functions with same signature at same offsets, except for
> IDirectDrawSurface7 having added
Am Freitag, den 27.06.2008, 07:46 -0400 schrieb Christopher J. Ahrendt:
> > If I get it right, the correct fix is to add a thunk vtable for
> > IDirectDraw4 that uses relaxed parameter checks on AddAttachedSurface.
> >
> > Regards,
> > Michael Karcher
> Are we sure its 6.0 and not 6.1? from what
Michael Karcher wrote:
> Am Freitag, den 27.06.2008, 11:26 +0200 schrieb slawek:
>> I have one game, that needs DX6, but lowest clone version of DX is 7.
> That statement is wrong. dlls/ddraw implements DirectDraw 1 to 7. Core
> functionality for surfaces and DX7 special functions are in surface.c,
Am Freitag, den 27.06.2008, 11:26 +0200 schrieb slawek:
> I have one game, that needs DX6, but lowest clone version of DX is 7.
That statement is wrong. dlls/ddraw implements DirectDraw 1 to 7. Core
functionality for surfaces and DX7 special functions are in surface.c,
whereas DX1-5 surfaces are im
I have one game, that needs DX6, but lowest clone version of DX is 7.
The game don't run, because in
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. T