From 8c4cc2af468ac31de56cbb0ccb7bbbc627db1bd3 Mon Sep 17 00:00:00 2001 From: Henri Verbeet <hverbeet@codeweavers.com> Date: Thu, 22 Jan 2009 10:33:36 +0100 Subject: [PATCH] ddraw: Get rid of ICOM_THIS_FROM. --- dlls/ddraw/ddcomimpl.h | 3 - dlls/ddraw/ddraw.c | 60 +++---- dlls/ddraw/ddraw_thunks.c | 44 ++++-- dlls/ddraw/device.c | 305 +++++++++++++++++++----------------- dlls/ddraw/direct3d.c | 96 +++++++----- dlls/ddraw/executebuffer.c | 18 +-- dlls/ddraw/gamma.c | 16 +- dlls/ddraw/light.c | 12 +- dlls/ddraw/main.c | 10 +- dlls/ddraw/material.c | 23 +-- dlls/ddraw/palette.c | 12 +- dlls/ddraw/parent.c | 4 +- dlls/ddraw/surface.c | 92 +++++------ dlls/ddraw/surface_thunks.c | 11 +- dlls/ddraw/texture.c | 38 +++-- dlls/ddraw/vertexbuffer.c | 39 +++-- dlls/ddraw/viewport.c | 38 ++--- 17 files changed, 452 insertions(+), 369 deletions(-) diff --git a/dlls/ddraw/ddcomimpl.h b/dlls/ddraw/ddcomimpl.h index 394823d6df7..93915160cce 100644 --- a/dlls/ddraw/ddcomimpl.h +++ b/dlls/ddraw/ddcomimpl.h @@ -27,9 +27,6 @@ (impltype*)((ifaceptr) == NULL ? NULL \ : (char*)(ifaceptr) - offsetof(impltype, ifacename##_vtbl)) -#define ICOM_THIS_FROM(impltype, ifacename, ifaceptr) \ - impltype* This = ICOM_OBJECT(impltype, ifacename, ifaceptr) - #define COM_INTERFACE_CAST(impltype, ifnamefrom, ifnameto, ifaceptr) \ ((ifaceptr) ? (ifnameto *)&(((impltype *)((char *)(ifaceptr) \ - offsetof(impltype, ifnamefrom##_vtbl)))->ifnameto##_vtbl) : NULL) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index b7d4173c112..cdd90c32131 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -91,7 +91,7 @@ IDirectDrawImpl_QueryInterface(IDirectDraw7 *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(refiid), obj); @@ -234,7 +234,7 @@ IDirectDrawImpl_QueryInterface(IDirectDraw7 *iface, static ULONG WINAPI IDirectDrawImpl_AddRef(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref7); TRACE("(%p) : incrementing IDirectDraw7 refcount from %u.\n", This, ref -1); @@ -293,7 +293,7 @@ IDirectDrawImpl_Destroy(IDirectDrawImpl *This) static ULONG WINAPI IDirectDrawImpl_Release(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref7); TRACE("(%p)->() decrementing IDirectDraw7 refcount from %u.\n", This, ref +1); @@ -360,7 +360,7 @@ IDirectDrawImpl_SetCooperativeLevel(IDirectDraw7 *iface, HWND hwnd, DWORD cooplevel) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; HWND window; TRACE("(%p)->(%p,%08x)\n",This,hwnd,cooplevel); @@ -546,7 +546,7 @@ IDirectDrawImpl_SetDisplayModeNoOverride(IDirectDraw7 *iface, DWORD RefreshRate, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; WINED3DDISPLAYMODE Mode; HRESULT hr; TRACE("(%p)->(%d,%d,%d,%d,%x): Relay!\n", This, Width, Height, BPP, RefreshRate, Flags); @@ -662,7 +662,7 @@ IDirectDrawImpl_SetDisplayMode(IDirectDraw7 *iface, static HRESULT WINAPI IDirectDrawImpl_RestoreDisplayMode(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)\n", This); return IDirectDrawImpl_SetDisplayModeNoOverride(iface, @@ -689,7 +689,7 @@ IDirectDrawImpl_GetCaps(IDirectDraw7 *iface, DDCAPS *DriverCaps, DDCAPS *HELCaps) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; DDCAPS caps; WINED3DCAPS winecaps; HRESULT hr; @@ -784,7 +784,7 @@ IDirectDrawImpl_GetCaps(IDirectDraw7 *iface, static HRESULT WINAPI IDirectDrawImpl_Compact(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)\n", This); return DD_OK; @@ -808,7 +808,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetDisplayMode(IDirectDraw7 *iface, DDSURFACEDESC2 *DDSD) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; HRESULT hr; WINED3DDISPLAYMODE Mode; DWORD Size; @@ -879,7 +879,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetFourCCCodes(IDirectDraw7 *iface, DWORD *NumCodes, DWORD *Codes) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; WINED3DFORMAT formats[] = { WINED3DFMT_YUY2, WINED3DFMT_UYVY, WINED3DFMT_YV12, WINED3DFMT_DXT1, WINED3DFMT_DXT2, WINED3DFMT_DXT3, WINED3DFMT_DXT4, WINED3DFMT_DXT5, @@ -941,7 +941,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetMonitorFrequency(IDirectDraw7 *iface, DWORD *Freq) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%p)\n", This, Freq); /* Ideally this should be in WineD3D, as it concerns the screen setup, @@ -969,7 +969,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetVerticalBlankStatus(IDirectDraw7 *iface, BOOL *status) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%p)\n", This, status); /* This looks sane, the MSDN suggests it too */ @@ -1004,7 +1004,7 @@ IDirectDrawImpl_GetVerticalBlankStatus(IDirectDraw7 *iface, static HRESULT WINAPI IDirectDrawImpl_GetAvailableVidMem(IDirectDraw7 *iface, DDSCAPS2 *Caps, DWORD *total, DWORD *free) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%p, %p, %p)\n", This, Caps, total, free); if(TRACE_ON(ddraw)) @@ -1050,7 +1050,7 @@ static HRESULT WINAPI IDirectDrawImpl_Initialize(IDirectDraw7 *iface, GUID *Guid) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%s): No-op\n", This, debugstr_guid(Guid)); if(This->initialized) @@ -1079,7 +1079,7 @@ IDirectDrawImpl_Initialize(IDirectDraw7 *iface, static HRESULT WINAPI IDirectDrawImpl_FlipToGDISurface(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)\n", This); return DD_OK; @@ -1107,7 +1107,7 @@ IDirectDrawImpl_WaitForVerticalBlank(IDirectDraw7 *iface, DWORD Flags, HANDLE h) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; static BOOL hide = FALSE; /* This function is called often, so print the fixme only once */ @@ -1138,7 +1138,7 @@ IDirectDrawImpl_WaitForVerticalBlank(IDirectDraw7 *iface, *****************************************************************************/ static HRESULT WINAPI IDirectDrawImpl_GetScanLine(IDirectDraw7 *iface, DWORD *Scanline) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; static BOOL hide = FALSE; WINED3DDISPLAYMODE Mode; @@ -1180,7 +1180,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetScanLine(IDirectDraw7 *iface, DWORD *Sc static HRESULT WINAPI IDirectDrawImpl_TestCooperativeLevel(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; HRESULT hr; TRACE("(%p)\n", This); @@ -1248,7 +1248,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetGDISurface(IDirectDraw7 *iface, IDirectDrawSurface7 **GDISurface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IWineD3DSurface *Surf; IDirectDrawSurface7 *ddsurf; HRESULT hr; @@ -1319,7 +1319,7 @@ IDirectDrawImpl_EnumDisplayModes(IDirectDraw7 *iface, void *Context, LPDDENUMMODESCALLBACK2 cb) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; unsigned int modenum, fmt; WINED3DFORMAT pixelformat = WINED3DFMT_UNKNOWN; WINED3DDISPLAYMODE mode; @@ -1500,7 +1500,7 @@ IDirectDrawImpl_EvaluateMode(IDirectDraw7 *iface, DWORD Flags, DWORD *Timeout) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("(%p)->(%d,%p): Stub!\n", This, Flags, Timeout); /* When implementing this, implement it in WineD3D */ @@ -1528,7 +1528,7 @@ IDirectDrawImpl_GetDeviceIdentifier(IDirectDraw7 *iface, DDDEVICEIDENTIFIER2 *DDDI, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%p,%08x)\n", This, DDDI, Flags); if(!DDDI) @@ -1562,7 +1562,7 @@ IDirectDrawImpl_GetSurfaceFromDC(IDirectDraw7 *iface, HDC hdc, IDirectDrawSurface7 **Surface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("(%p)->(%p,%p): Stub!\n", This, hdc, Surface); /* Implementation idea if needed: Loop through all surfaces and compare @@ -1584,7 +1584,7 @@ IDirectDrawImpl_GetSurfaceFromDC(IDirectDraw7 *iface, static HRESULT WINAPI IDirectDrawImpl_RestoreAllSurfaces(IDirectDraw7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; FIXME("(%p): Stub\n", This); /* This isn't hard to implement: Enumerate all WineD3D surfaces, @@ -1623,7 +1623,7 @@ IDirectDrawImpl_StartModeTest(IDirectDraw7 *iface, DWORD NumModes, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; WARN("(%p)->(%p, %d, %x): Semi-Stub, most likely harmless\n", This, Modes, NumModes, Flags); /* This looks sane */ @@ -2326,7 +2326,7 @@ IDirectDrawImpl_CreateSurface(IDirectDraw7 *iface, IDirectDrawSurface7 **Surf, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawSurfaceImpl *object = NULL; HRESULT hr; LONG extra_surfaces = 0; @@ -2890,7 +2890,7 @@ IDirectDrawImpl_EnumSurfaces(IDirectDraw7 *iface, * because WineDDraw doesn't handle ddraw-like surface * caps structures */ - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawSurfaceImpl *surf; BOOL all, nomatch; DDSURFACEDESC2 desc; @@ -3157,7 +3157,7 @@ IDirectDrawImpl_CreateClipper(IDirectDraw7 *iface, IDirectDrawClipper **Clipper, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; TRACE("(%p)->(%x,%p,%p)\n", This, Flags, Clipper, UnkOuter); return DirectDrawCreateClipper(Flags, Clipper, UnkOuter); } @@ -3186,7 +3186,7 @@ IDirectDrawImpl_CreatePalette(IDirectDraw7 *iface, IDirectDrawPalette **Palette, IUnknown *pUnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawPaletteImpl *object; HRESULT hr = DDERR_GENERIC; TRACE("(%p)->(%x,%p,%p,%p)\n", This, Flags, ColorTable, Palette, pUnkOuter); @@ -3257,7 +3257,7 @@ IDirectDrawImpl_DuplicateSurface(IDirectDraw7 *iface, IDirectDrawSurface7 *Src, IDirectDrawSurface7 **Dest) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface); + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Src); FIXME("(%p)->(%p,%p)\n", This, Surf, Dest); diff --git a/dlls/ddraw/ddraw_thunks.c b/dlls/ddraw/ddraw_thunks.c index 1ae1d192cfc..c59669bf232 100644 --- a/dlls/ddraw/ddraw_thunks.c +++ b/dlls/ddraw/ddraw_thunks.c @@ -42,6 +42,26 @@ WINE_DEFAULT_DEBUG_CHANNEL(ddraw_thunk); WINE_DECLARE_DEBUG_CHANNEL(ddraw); +static inline IDirectDrawImpl *ddraw_from_ddraw1(IDirectDraw *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw_vtbl)); +} + +static inline IDirectDrawImpl *ddraw_from_ddraw2(IDirectDraw2 *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw2_vtbl)); +} + +static inline IDirectDrawImpl *ddraw_from_ddraw3(IDirectDraw3 *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw3_vtbl)); +} + +static inline IDirectDrawImpl *ddraw_from_ddraw4(IDirectDraw4 *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw4_vtbl)); +} + static HRESULT WINAPI IDirectDrawImpl_QueryInterface(LPDIRECTDRAW This, REFIID iid, LPVOID *ppObj) { @@ -81,7 +101,7 @@ IDirectDraw4Impl_QueryInterface(LPDIRECTDRAW4 This, REFIID iid, LPVOID *ppObj) static ULONG WINAPI IDirectDrawImpl_AddRef(LPDIRECTDRAW iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw, iface); + IDirectDrawImpl *This = ddraw_from_ddraw1(iface); ULONG ref = InterlockedIncrement(&This->ref1); TRACE("(%p) : incrementing IDirectDraw refcount from %u.\n", This, ref -1); @@ -94,7 +114,7 @@ IDirectDrawImpl_AddRef(LPDIRECTDRAW iface) static ULONG WINAPI IDirectDraw2Impl_AddRef(LPDIRECTDRAW2 iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw2, iface); + IDirectDrawImpl *This = ddraw_from_ddraw2(iface); ULONG ref = InterlockedIncrement(&This->ref2); TRACE("(%p) : incrementing IDirectDraw2 refcount from %u.\n", This, ref -1); @@ -107,7 +127,7 @@ IDirectDraw2Impl_AddRef(LPDIRECTDRAW2 iface) static ULONG WINAPI IDirectDraw3Impl_AddRef(LPDIRECTDRAW3 iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw3, iface); + IDirectDrawImpl *This = ddraw_from_ddraw3(iface); ULONG ref = InterlockedIncrement(&This->ref3); TRACE("(%p) : incrementing IDirectDraw3 refcount from %u.\n", This, ref -1); @@ -120,7 +140,7 @@ IDirectDraw3Impl_AddRef(LPDIRECTDRAW3 iface) static ULONG WINAPI IDirectDraw4Impl_AddRef(LPDIRECTDRAW4 iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw4, iface); + IDirectDrawImpl *This = ddraw_from_ddraw4(iface); ULONG ref = InterlockedIncrement(&This->ref4); TRACE("(%p) : incrementing IDirectDraw4 refcount from %u.\n", This, ref -1); @@ -133,7 +153,7 @@ IDirectDraw4Impl_AddRef(LPDIRECTDRAW4 iface) static ULONG WINAPI IDirectDrawImpl_Release(LPDIRECTDRAW iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw, iface); + IDirectDrawImpl *This = ddraw_from_ddraw1(iface); ULONG ref = InterlockedDecrement(&This->ref1); TRACE_(ddraw)("(%p)->() decrementing IDirectDraw refcount from %u.\n", This, ref +1); @@ -150,7 +170,7 @@ IDirectDrawImpl_Release(LPDIRECTDRAW iface) static ULONG WINAPI IDirectDraw2Impl_Release(LPDIRECTDRAW2 iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw2, iface); + IDirectDrawImpl *This = ddraw_from_ddraw2(iface); ULONG ref = InterlockedDecrement(&This->ref2); TRACE_(ddraw)("(%p)->() decrementing IDirectDraw2 refcount from %u.\n", This, ref +1); @@ -167,7 +187,7 @@ IDirectDraw2Impl_Release(LPDIRECTDRAW2 iface) static ULONG WINAPI IDirectDraw3Impl_Release(LPDIRECTDRAW3 iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw3, iface); + IDirectDrawImpl *This = ddraw_from_ddraw3(iface); ULONG ref = InterlockedDecrement(&This->ref3); TRACE_(ddraw)("(%p)->() decrementing IDirectDraw3 refcount from %u.\n", This, ref +1); @@ -184,7 +204,7 @@ IDirectDraw3Impl_Release(LPDIRECTDRAW3 iface) static ULONG WINAPI IDirectDraw4Impl_Release(LPDIRECTDRAW4 iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw4, iface); + IDirectDrawImpl *This = ddraw_from_ddraw4(iface); ULONG ref = InterlockedDecrement(&This->ref4); TRACE_(ddraw)("(%p)->() decrementing IDirectDraw4 refcount from %u.\n", This, ref +1); @@ -1123,7 +1143,7 @@ IDirectDraw4Impl_GetVerticalBlankStatus(LPDIRECTDRAW4 This, LPBOOL lpbIsInVB) static HRESULT WINAPI IDirectDrawImpl_Initialize(LPDIRECTDRAW iface, LPGUID pGUID) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw, iface); + IDirectDrawImpl *This = ddraw_from_ddraw1(iface); HRESULT ret_value; ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID); @@ -1134,7 +1154,7 @@ IDirectDrawImpl_Initialize(LPDIRECTDRAW iface, LPGUID pGUID) static HRESULT WINAPI IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface, LPGUID pGUID) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw2, iface); + IDirectDrawImpl *This = ddraw_from_ddraw2(iface); HRESULT ret_value; ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID); @@ -1145,7 +1165,7 @@ IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface, LPGUID pGUID) static HRESULT WINAPI IDirectDraw3Impl_Initialize(LPDIRECTDRAW3 iface, LPGUID pGUID) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw3, iface); + IDirectDrawImpl *This = ddraw_from_ddraw3(iface); HRESULT ret_value; ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID); @@ -1156,7 +1176,7 @@ IDirectDraw3Impl_Initialize(LPDIRECTDRAW3 iface, LPGUID pGUID) static HRESULT WINAPI IDirectDraw4Impl_Initialize(LPDIRECTDRAW4 iface, LPGUID pGUID) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw4, iface); + IDirectDrawImpl *This = ddraw_from_ddraw4(iface); HRESULT ret_value; ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID); diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 9855e75e7c3..dad204703ff 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -93,6 +93,21 @@ static inline WORD d3d_fpu_setup(void) return oldcw; } +static inline IDirect3DDeviceImpl *device_from_device1(IDirect3DDevice *iface) +{ + return (IDirect3DDeviceImpl *)((char*)iface - FIELD_OFFSET(IDirect3DDeviceImpl, IDirect3DDevice_vtbl)); +} + +static inline IDirect3DDeviceImpl *device_from_device2(IDirect3DDevice2 *iface) +{ + return (IDirect3DDeviceImpl *)((char*)iface - FIELD_OFFSET(IDirect3DDeviceImpl, IDirect3DDevice2_vtbl)); +} + +static inline IDirect3DDeviceImpl *device_from_device3(IDirect3DDevice3 *iface) +{ + return (IDirect3DDeviceImpl *)((char*)iface - FIELD_OFFSET(IDirect3DDeviceImpl, IDirect3DDevice3_vtbl)); +} + /***************************************************************************** * IUnknown Methods. Common for Version 1, 2, 3 and 7 *****************************************************************************/ @@ -120,7 +135,7 @@ IDirect3DDeviceImpl_7_QueryInterface(IDirect3DDevice7 *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(refiid), obj); /* According to COM docs, if the QueryInterface fails, obj should be set to NULL */ @@ -214,7 +229,7 @@ Thunk_IDirect3DDeviceImpl_3_QueryInterface(IDirect3DDevice3 *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DDevice7 interface.\n", This, debugstr_guid(riid), obj); return IDirect3DDevice7_QueryInterface((IDirect3DDevice7 *)This, riid, obj); } @@ -224,7 +239,7 @@ Thunk_IDirect3DDeviceImpl_2_QueryInterface(IDirect3DDevice2 *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DDevice7 interface.\n", This, debugstr_guid(riid), obj); return IDirect3DDevice7_QueryInterface((IDirect3DDevice7 *)This, riid, obj); } @@ -234,7 +249,7 @@ Thunk_IDirect3DDeviceImpl_1_QueryInterface(IDirect3DDevice *iface, REFIID riid, void **obp) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DDevice7 interface.\n", This, debugstr_guid(riid), obp); return IDirect3DDevice7_QueryInterface((IDirect3DDevice7 *)This, riid, obp); } @@ -254,7 +269,7 @@ Thunk_IDirect3DDeviceImpl_1_QueryInterface(IDirect3DDevice *iface, static ULONG WINAPI IDirect3DDeviceImpl_7_AddRef(IDirect3DDevice7 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p) : incrementing from %u.\n", This, ref -1); @@ -265,7 +280,7 @@ IDirect3DDeviceImpl_7_AddRef(IDirect3DDevice7 *iface) static ULONG WINAPI Thunk_IDirect3DDeviceImpl_3_AddRef(IDirect3DDevice3 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_AddRef((IDirect3DDevice7 *)This); } @@ -273,7 +288,7 @@ Thunk_IDirect3DDeviceImpl_3_AddRef(IDirect3DDevice3 *iface) static ULONG WINAPI Thunk_IDirect3DDeviceImpl_2_AddRef(IDirect3DDevice2 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_AddRef((IDirect3DDevice7 *)This); } @@ -300,7 +315,7 @@ Thunk_IDirect3DDeviceImpl_1_AddRef(IDirect3DDevice *iface) static ULONG WINAPI IDirect3DDeviceImpl_7_Release(IDirect3DDevice7 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %u.\n", This, ref +1); @@ -435,7 +450,7 @@ IDirect3DDeviceImpl_7_Release(IDirect3DDevice7 *iface) static ULONG WINAPI Thunk_IDirect3DDeviceImpl_3_Release(IDirect3DDevice3 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_Release((IDirect3DDevice7 *)This); } @@ -443,7 +458,7 @@ Thunk_IDirect3DDeviceImpl_3_Release(IDirect3DDevice3 *iface) static ULONG WINAPI Thunk_IDirect3DDeviceImpl_2_Release(IDirect3DDevice2 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_Release((IDirect3DDevice7 *)This); } @@ -451,7 +466,7 @@ Thunk_IDirect3DDeviceImpl_2_Release(IDirect3DDevice2 *iface) static ULONG WINAPI Thunk_IDirect3DDeviceImpl_1_Release(IDirect3DDevice *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_Release((IDirect3DDevice7 *)This); } @@ -479,7 +494,7 @@ IDirect3DDeviceImpl_1_Initialize(IDirect3DDevice *iface, IDirect3D *Direct3D, GUID *guid, D3DDEVICEDESC *Desc) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); /* It shouldn't be crucial, but print a FIXME, I'm interested if * any game calls it and when @@ -509,7 +524,7 @@ static HRESULT IDirect3DDeviceImpl_7_GetCaps(IDirect3DDevice7 *iface, D3DDEVICEDESC7 *Desc) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; D3DDEVICEDESC OldDesc; TRACE("(%p)->(%p)\n", This, Desc); @@ -559,7 +574,7 @@ IDirect3DDeviceImpl_3_GetCaps(IDirect3DDevice3 *iface, D3DDEVICEDESC *HWDesc, D3DDEVICEDESC *HelDesc) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); D3DDEVICEDESC7 newDesc; HRESULT hr; TRACE("(%p)->(%p,%p)\n", iface, HWDesc, HelDesc); @@ -576,7 +591,7 @@ Thunk_IDirect3DDeviceImpl_2_GetCaps(IDirect3DDevice2 *iface, D3DDEVICEDESC *D3DHWDevDesc, D3DDEVICEDESC *D3DHELDevDesc) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%p,%p) thunking to IDirect3DDevice3 interface.\n", This, D3DHWDevDesc, D3DHELDevDesc); return IDirect3DDevice3_GetCaps((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, D3DHWDevDesc, D3DHELDevDesc); } @@ -586,7 +601,7 @@ Thunk_IDirect3DDeviceImpl_1_GetCaps(IDirect3DDevice *iface, D3DDEVICEDESC *D3DHWDevDesc, D3DDEVICEDESC *D3DHELDevDesc) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->(%p,%p) thunking to IDirect3DDevice3 interface.\n", This, D3DHWDevDesc, D3DHELDevDesc); return IDirect3DDevice3_GetCaps((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, D3DHWDevDesc, D3DHELDevDesc); } @@ -608,7 +623,7 @@ IDirect3DDeviceImpl_2_SwapTextureHandles(IDirect3DDevice2 *iface, IDirect3DTexture2 *Tex1, IDirect3DTexture2 *Tex2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); DWORD swap; IDirectDrawSurfaceImpl *surf1 = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture2, Tex1); IDirectDrawSurfaceImpl *surf2 = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture2, Tex2); @@ -631,7 +646,7 @@ Thunk_IDirect3DDeviceImpl_1_SwapTextureHandles(IDirect3DDevice *iface, IDirect3DTexture *D3DTex1, IDirect3DTexture *D3DTex2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirectDrawSurfaceImpl *surf1 = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture, D3DTex1); IDirectDrawSurfaceImpl *surf2 = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture, D3DTex2); IDirect3DTexture2 *t1 = surf1 ? (IDirect3DTexture2 *)&surf1->IDirect3DTexture2_vtbl : NULL; @@ -662,7 +677,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_GetStats(IDirect3DDevice3 *iface, D3DSTATS *Stats) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); FIXME("(%p)->(%p): Stub!\n", This, Stats); if(!Stats) @@ -682,7 +697,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_GetStats(IDirect3DDevice2 *iface, D3DSTATS *Stats) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, Stats); return IDirect3DDevice3_GetStats((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, Stats); } @@ -691,7 +706,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_1_GetStats(IDirect3DDevice *iface, D3DSTATS *Stats) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, Stats); return IDirect3DDevice3_GetStats((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, Stats); } @@ -722,7 +737,7 @@ IDirect3DDeviceImpl_1_CreateExecuteBuffer(IDirect3DDevice *iface, IDirect3DExecuteBuffer **ExecuteBuffer, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirect3DExecuteBufferImpl* object; TRACE("(%p)->(%p,%p,%p)!\n", This, Desc, ExecuteBuffer, UnkOuter); @@ -805,7 +820,7 @@ IDirect3DDeviceImpl_1_Execute(IDirect3DDevice *iface, IDirect3DViewport *Viewport, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirect3DExecuteBufferImpl *Direct3DExecuteBufferImpl = ICOM_OBJECT(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, ExecuteBuffer); IDirect3DViewportImpl *Direct3DViewportImpl = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Viewport); @@ -843,7 +858,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_AddViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *Viewport) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Viewport); TRACE("(%p)->(%p)\n", This, vp); @@ -866,7 +881,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_AddViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *Direct3DViewport2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Direct3DViewport2); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, vp); return IDirect3DDevice3_AddViewport((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, (IDirect3DViewport3 *)vp); @@ -876,7 +891,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_1_AddViewport(IDirect3DDevice *iface, IDirect3DViewport *Direct3DViewport) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Direct3DViewport); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, vp); return IDirect3DDevice3_AddViewport((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, (IDirect3DViewport3 *)vp); @@ -902,7 +917,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_DeleteViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *Viewport) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirect3DViewportImpl *vp = (IDirect3DViewportImpl *) Viewport; IDirect3DViewportImpl *cur_viewport, *prev_viewport = NULL; @@ -932,7 +947,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_DeleteViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *Direct3DViewport2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Direct3DViewport2); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, vp); return IDirect3DDevice3_DeleteViewport((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, (IDirect3DViewport3 *)vp); @@ -942,7 +957,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_1_DeleteViewport(IDirect3DDevice *iface, IDirect3DViewport *Direct3DViewport) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Direct3DViewport); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, vp); return IDirect3DDevice3_DeleteViewport((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, (IDirect3DViewport3 *)vp); @@ -972,7 +987,7 @@ IDirect3DDeviceImpl_3_NextViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 **lplpDirect3DViewport3, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Viewport3); IDirect3DViewportImpl *res = NULL; @@ -1025,7 +1040,7 @@ Thunk_IDirect3DDeviceImpl_2_NextViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 **lplpDirect3DViewport2, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Viewport2); IDirect3DViewport3 *res; HRESULT hr; @@ -1042,7 +1057,7 @@ Thunk_IDirect3DDeviceImpl_1_NextViewport(IDirect3DDevice *iface, IDirect3DViewport **lplpDirect3DViewport, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Viewport); IDirect3DViewport3 *res; HRESULT hr; @@ -1081,7 +1096,7 @@ IDirect3DDeviceImpl_1_Pick(IDirect3DDevice *iface, DWORD Flags, D3DRECT *Rect) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); IDirect3DExecuteBufferImpl *execbuf = ICOM_OBJECT(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, ExecuteBuffer); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Viewport); FIXME("(%p)->(%p,%p,%08x,%p): stub!\n", This, execbuf, vp, Flags, Rect); @@ -1110,7 +1125,7 @@ IDirect3DDeviceImpl_1_GetPickRecords(IDirect3DDevice *iface, DWORD *Count, D3DPICKRECORD *D3DPickRec) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); FIXME("(%p)->(%p,%p): stub!\n", This, Count, D3DPickRec); return D3D_OK; @@ -1140,7 +1155,7 @@ IDirect3DDeviceImpl_7_EnumTextureFormats(IDirect3DDevice7 *iface, LPD3DENUMPIXELFORMATSCALLBACK Callback, void *Arg) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; WINED3DDISPLAYMODE mode; unsigned int i; @@ -1282,7 +1297,7 @@ Thunk_IDirect3DDeviceImpl_3_EnumTextureFormats(IDirect3DDevice3 *iface, LPD3DENUMPIXELFORMATSCALLBACK Callback, void *Arg) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%p,%p) thunking to IDirect3DDevice7 interface.\n", This, Callback, Arg); return IDirect3DDevice7_EnumTextureFormats((IDirect3DDevice7 *)This, Callback, Arg); } @@ -1302,7 +1317,7 @@ IDirect3DDeviceImpl_2_EnumTextureFormats(IDirect3DDevice2 *iface, LPD3DENUMTEXTUREFORMATSCALLBACK Callback, void *Arg) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); HRESULT hr; unsigned int i; WINED3DDISPLAYMODE mode; @@ -1382,7 +1397,7 @@ Thunk_IDirect3DDeviceImpl_1_EnumTextureFormats(IDirect3DDevice *iface, LPD3DENUMTEXTUREFORMATSCALLBACK Callback, void *Arg) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->(%p,%p) thunking to IDirect3DDevice2 interface.\n", This, Callback, Arg); return IDirect3DDevice2_EnumTextureFormats((IDirect3DDevice2 *)&This->IDirect3DDevice2_vtbl, Callback, Arg); } @@ -1406,7 +1421,7 @@ Thunk_IDirect3DDeviceImpl_1_EnumTextureFormats(IDirect3DDevice *iface, static HRESULT WINAPI IDirect3DDeviceImpl_1_CreateMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE *D3DMatHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); D3DMATRIX *Matrix; TRACE("(%p)->(%p)\n", This, D3DMatHandle); @@ -1460,7 +1475,7 @@ IDirect3DDeviceImpl_1_SetMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE D3DMatHandle, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE("(%p)->(%08x,%p)\n", This, D3DMatHandle, D3DMatrix); if( (!D3DMatHandle) || (!D3DMatrix) ) @@ -1529,7 +1544,7 @@ IDirect3DDeviceImpl_1_GetMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE D3DMatHandle, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE("(%p)->(%08x,%p)\n", This, D3DMatHandle, D3DMatrix); if(!D3DMatrix) @@ -1577,7 +1592,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_1_DeleteMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE D3DMatHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE("(%p)->(%08x)\n", This, D3DMatHandle); if(!D3DMatHandle) @@ -1622,7 +1637,7 @@ IDirect3DDeviceImpl_1_DeleteMatrix(IDirect3DDevice *iface, static HRESULT IDirect3DDeviceImpl_7_BeginScene(IDirect3DDevice7 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p): Relay\n", This); @@ -1655,7 +1670,7 @@ IDirect3DDeviceImpl_7_BeginScene_FPUPreserve(IDirect3DDevice7 *iface) static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_BeginScene(IDirect3DDevice3 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_BeginScene((IDirect3DDevice7 *)This); } @@ -1663,7 +1678,7 @@ Thunk_IDirect3DDeviceImpl_3_BeginScene(IDirect3DDevice3 *iface) static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_BeginScene(IDirect3DDevice2 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_BeginScene((IDirect3DDevice7 *)This); } @@ -1671,7 +1686,7 @@ Thunk_IDirect3DDeviceImpl_2_BeginScene(IDirect3DDevice2 *iface) static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_1_BeginScene(IDirect3DDevice *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_BeginScene((IDirect3DDevice7 *)This); } @@ -1693,7 +1708,7 @@ Thunk_IDirect3DDeviceImpl_1_BeginScene(IDirect3DDevice *iface) static HRESULT IDirect3DDeviceImpl_7_EndScene(IDirect3DDevice7 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p): Relay\n", This); @@ -1726,7 +1741,7 @@ IDirect3DDeviceImpl_7_EndScene_FPUPreserve(IDirect3DDevice7 *iface) static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_EndScene(IDirect3DDevice3 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_EndScene((IDirect3DDevice7 *)This); } @@ -1734,7 +1749,7 @@ Thunk_IDirect3DDeviceImpl_3_EndScene(IDirect3DDevice3 *iface) static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_EndScene(IDirect3DDevice2 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_EndScene((IDirect3DDevice7 *)This); } @@ -1742,7 +1757,7 @@ Thunk_IDirect3DDeviceImpl_2_EndScene(IDirect3DDevice2 *iface) static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_1_EndScene(IDirect3DDevice *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DDevice7 interface.\n", This); return IDirect3DDevice7_EndScene((IDirect3DDevice7 *)This); } @@ -1765,7 +1780,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_7_GetDirect3D(IDirect3DDevice7 *iface, IDirect3D7 **Direct3D7) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; TRACE("(%p)->(%p)\n", This, Direct3D7); if(!Direct3D7) @@ -1782,7 +1797,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_GetDirect3D(IDirect3DDevice3 *iface, IDirect3D3 **Direct3D3) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); HRESULT ret; IDirect3D7 *ret_ptr; @@ -1799,7 +1814,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_GetDirect3D(IDirect3DDevice2 *iface, IDirect3D2 **Direct3D2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); HRESULT ret; IDirect3D7 *ret_ptr; @@ -1816,7 +1831,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_1_GetDirect3D(IDirect3DDevice *iface, IDirect3D **Direct3D) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice, iface); + IDirect3DDeviceImpl *This = device_from_device1(iface); HRESULT ret; IDirect3D7 *ret_ptr; @@ -1849,7 +1864,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_SetCurrentViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *Direct3DViewport3) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Direct3DViewport3); TRACE("(%p)->(%p)\n", This, Direct3DViewport3); @@ -1887,7 +1902,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_SetCurrentViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *Direct3DViewport2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); IDirect3DViewportImpl *vp = ICOM_OBJECT(IDirect3DViewportImpl, IDirect3DViewport3, Direct3DViewport2); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, vp); return IDirect3DDevice3_SetCurrentViewport((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, @@ -1913,7 +1928,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_GetCurrentViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 **Direct3DViewport3) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE("(%p)->(%p)\n", This, Direct3DViewport3); if(!Direct3DViewport3) @@ -1935,7 +1950,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 **Direct3DViewport2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); HRESULT hr; TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, Direct3DViewport2); hr = IDirect3DDevice3_GetCurrentViewport((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, @@ -1968,7 +1983,7 @@ IDirect3DDeviceImpl_7_SetRenderTarget(IDirect3DDevice7 *iface, IDirectDrawSurface7 *NewTarget, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IDirectDrawSurfaceImpl *Target = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, NewTarget); HRESULT hr; TRACE("(%p)->(%p,%08x): Relay\n", This, NewTarget, Flags); @@ -2027,7 +2042,7 @@ Thunk_IDirect3DDeviceImpl_3_SetRenderTarget(IDirect3DDevice3 *iface, IDirectDrawSurface4 *NewRenderTarget, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirectDrawSurfaceImpl *Target = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, NewRenderTarget); TRACE_(ddraw_thunk)("(%p)->(%p,%08x) thunking to IDirect3DDevice7 interface.\n", This, Target, Flags); return IDirect3DDevice7_SetRenderTarget((IDirect3DDevice7 *)This, (IDirectDrawSurface7 *)Target, Flags); @@ -2038,7 +2053,7 @@ Thunk_IDirect3DDeviceImpl_2_SetRenderTarget(IDirect3DDevice2 *iface, IDirectDrawSurface *NewRenderTarget, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); IDirectDrawSurfaceImpl *Target = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface3, NewRenderTarget); TRACE_(ddraw_thunk)("(%p)->(%p,%08x) thunking to IDirect3DDevice7 interface.\n", This, Target, Flags); return IDirect3DDevice7_SetRenderTarget((IDirect3DDevice7 *)This, (IDirectDrawSurface7 *)Target, Flags); @@ -2065,7 +2080,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_7_GetRenderTarget(IDirect3DDevice7 *iface, IDirectDrawSurface7 **RenderTarget) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; TRACE("(%p)->(%p): Relay\n", This, RenderTarget); if(!RenderTarget) @@ -2083,7 +2098,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_GetRenderTarget(IDirect3DDevice3 *iface, IDirectDrawSurface4 **RenderTarget) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); HRESULT hr; TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, RenderTarget); hr = IDirect3DDevice7_GetRenderTarget((IDirect3DDevice7 *)This, (IDirectDrawSurface7 **)RenderTarget); @@ -2096,7 +2111,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_GetRenderTarget(IDirect3DDevice2 *iface, IDirectDrawSurface **RenderTarget) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); HRESULT hr; TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, RenderTarget); hr = IDirect3DDevice7_GetRenderTarget((IDirect3DDevice7 *)This, (IDirectDrawSurface7 **)RenderTarget); @@ -2129,7 +2144,7 @@ IDirect3DDeviceImpl_3_Begin(IDirect3DDevice3 *iface, DWORD VertexTypeDesc, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE("(%p)->(%d,%d,%08x)\n", This, PrimitiveType, VertexTypeDesc, Flags); EnterCriticalSection(&ddraw_cs); @@ -2150,7 +2165,7 @@ Thunk_IDirect3DDeviceImpl_2_Begin(IDirect3DDevice2 *iface, DWORD dwFlags) { DWORD FVF; - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p/%p)->(%08x,%08x,%08x): Thunking to IDirect3DDevice3\n", This, iface, d3dpt, dwVertexTypeDesc, dwFlags); switch(dwVertexTypeDesc) @@ -2193,7 +2208,7 @@ IDirect3DDeviceImpl_3_BeginIndexed(IDirect3DDevice3 *iface, DWORD NumVertices, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); FIXME("(%p)->(%08x,%08x,%p,%08x,%08x): stub!\n", This, PrimitiveType, VertexType, Vertices, NumVertices, Flags); return D3D_OK; } @@ -2208,7 +2223,7 @@ Thunk_IDirect3DDeviceImpl_2_BeginIndexed(IDirect3DDevice2 *iface, DWORD dwFlags) { DWORD FVF; - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p/%p)->(%08x,%08x,%p,%08x,%08x): Thunking to IDirect3DDevice3\n", This, iface, d3dptPrimitiveType, d3dvtVertexType, lpvVertices, dwNumVertices, dwFlags); switch(d3dvtVertexType) @@ -2246,7 +2261,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_Vertex(IDirect3DDevice3 *iface, void *Vertex) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE("(%p)->(%p)\n", This, Vertex); if(!Vertex) @@ -2276,7 +2291,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_Vertex(IDirect3DDevice2 *iface, void *lpVertexType) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", This, lpVertexType); return IDirect3DDevice3_Vertex((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, lpVertexType); } @@ -2298,7 +2313,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_Index(IDirect3DDevice3 *iface, WORD VertexIndex) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); FIXME("(%p)->(%04x): stub!\n", This, VertexIndex); return D3D_OK; } @@ -2307,7 +2322,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_Index(IDirect3DDevice2 *iface, WORD wVertexIndex) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%04x) thunking to IDirect3DDevice3 interface.\n", This, wVertexIndex); return IDirect3DDevice3_Index((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, wVertexIndex); } @@ -2334,7 +2349,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_3_End(IDirect3DDevice3 *iface, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE("(%p)->(%08x)\n", This, Flags); return IDirect3DDevice7_DrawPrimitive((IDirect3DDevice7 *)This, This->primitive_type, @@ -2345,7 +2360,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_End(IDirect3DDevice2 *iface, DWORD dwFlags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x) thunking to IDirect3DDevice3 interface.\n", This, dwFlags); return IDirect3DDevice3_End((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, dwFlags); } @@ -2372,7 +2387,7 @@ IDirect3DDeviceImpl_7_GetRenderState(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE RenderStateType, DWORD *Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%p): Relay\n", This, RenderStateType, Value); @@ -2478,7 +2493,7 @@ IDirect3DDeviceImpl_3_GetRenderState(IDirect3DDevice3 *iface, D3DRENDERSTATETYPE dwRenderStateType, DWORD *lpdwRenderState) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); HRESULT hr; TRACE("(%p)->(%08x,%p)\n", This, dwRenderStateType, lpdwRenderState); @@ -2607,7 +2622,7 @@ Thunk_IDirect3DDeviceImpl_2_GetRenderState(IDirect3DDevice2 *iface, D3DRENDERSTATETYPE dwRenderStateType, DWORD *lpdwRenderState) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice3 interface.\n", This, dwRenderStateType, lpdwRenderState); return IDirect3DDevice3_GetRenderState((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, dwRenderStateType, lpdwRenderState); @@ -2635,7 +2650,7 @@ IDirect3DDeviceImpl_7_SetRenderState(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE RenderStateType, DWORD Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%d): Relay\n", This, RenderStateType, Value); @@ -2787,7 +2802,7 @@ IDirect3DDeviceImpl_3_SetRenderState(IDirect3DDevice3 *iface, unless some broken game will be found that cares. */ HRESULT hr; - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE("(%p)->(%08x,%d)\n", This, RenderStateType, Value); EnterCriticalSection(&ddraw_cs); @@ -2931,7 +2946,7 @@ Thunk_IDirect3DDeviceImpl_2_SetRenderState(IDirect3DDevice2 *iface, D3DRENDERSTATETYPE RenderStateType, DWORD Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%d) thunking to IDirect3DDevice3 interface.\n", This, RenderStateType, Value); return IDirect3DDevice3_SetRenderState((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, RenderStateType, Value); } @@ -2959,7 +2974,7 @@ IDirect3DDeviceImpl_3_SetLightState(IDirect3DDevice3 *iface, D3DLIGHTSTATETYPE LightStateType, DWORD Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); HRESULT hr; TRACE("(%p)->(%08x,%08x)\n", This, LightStateType, Value); @@ -3064,7 +3079,7 @@ Thunk_IDirect3DDeviceImpl_2_SetLightState(IDirect3DDevice2 *iface, D3DLIGHTSTATETYPE LightStateType, DWORD Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x) thunking to IDirect3DDevice3 interface.\n", This, LightStateType, Value); return IDirect3DDevice3_SetLightState((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, LightStateType, Value); } @@ -3092,7 +3107,7 @@ IDirect3DDeviceImpl_3_GetLightState(IDirect3DDevice3 *iface, D3DLIGHTSTATETYPE LightStateType, DWORD *Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); HRESULT hr; TRACE("(%p)->(%08x,%p)\n", This, LightStateType, Value); @@ -3158,7 +3173,7 @@ Thunk_IDirect3DDeviceImpl_2_GetLightState(IDirect3DDevice2 *iface, D3DLIGHTSTATETYPE LightStateType, DWORD *Value) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice3 interface.\n", This, LightStateType, Value); return IDirect3DDevice3_GetLightState((IDirect3DDevice3 *)&This->IDirect3DDevice3_vtbl, LightStateType, Value); } @@ -3189,7 +3204,7 @@ IDirect3DDeviceImpl_7_SetTransform(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *Matrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; D3DTRANSFORMSTATETYPE type; HRESULT hr; TRACE("(%p)->(%08x,%p): Relay\n", This, TransformStateType, Matrix); @@ -3243,7 +3258,7 @@ Thunk_IDirect3DDeviceImpl_3_SetTransform(IDirect3DDevice3 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, TransformStateType, D3DMatrix); return IDirect3DDevice7_SetTransform((IDirect3DDevice7 *)This, TransformStateType, D3DMatrix); } @@ -3253,7 +3268,7 @@ Thunk_IDirect3DDeviceImpl_2_SetTransform(IDirect3DDevice2 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, TransformStateType, D3DMatrix); return IDirect3DDevice7_SetTransform((IDirect3DDevice7 *)This, TransformStateType, D3DMatrix); } @@ -3280,7 +3295,7 @@ IDirect3DDeviceImpl_7_GetTransform(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *Matrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; D3DTRANSFORMSTATETYPE type; HRESULT hr; TRACE("(%p)->(%08x,%p): Relay\n", This, TransformStateType, Matrix); @@ -3332,7 +3347,7 @@ Thunk_IDirect3DDeviceImpl_3_GetTransform(IDirect3DDevice3 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, TransformStateType, D3DMatrix); return IDirect3DDevice7_GetTransform((IDirect3DDevice7 *)This, TransformStateType, D3DMatrix); } @@ -3342,7 +3357,7 @@ Thunk_IDirect3DDeviceImpl_2_GetTransform(IDirect3DDevice2 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, TransformStateType, D3DMatrix); return IDirect3DDevice7_GetTransform((IDirect3DDevice7 *)This, TransformStateType, D3DMatrix); } @@ -3370,7 +3385,7 @@ IDirect3DDeviceImpl_7_MultiplyTransform(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; D3DTRANSFORMSTATETYPE type; TRACE("(%p)->(%08x,%p): Relay\n", This, TransformStateType, D3DMatrix); @@ -3421,7 +3436,7 @@ Thunk_IDirect3DDeviceImpl_3_MultiplyTransform(IDirect3DDevice3 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, TransformStateType, D3DMatrix); return IDirect3DDevice7_MultiplyTransform((IDirect3DDevice7 *)This, TransformStateType, D3DMatrix); } @@ -3431,7 +3446,7 @@ Thunk_IDirect3DDeviceImpl_2_MultiplyTransform(IDirect3DDevice2 *iface, D3DTRANSFORMSTATETYPE TransformStateType, D3DMATRIX *D3DMatrix) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, TransformStateType, D3DMatrix); return IDirect3DDevice7_MultiplyTransform((IDirect3DDevice7 *)This, TransformStateType, D3DMatrix); } @@ -3465,7 +3480,7 @@ IDirect3DDeviceImpl_7_DrawPrimitive(IDirect3DDevice7 *iface, DWORD VertexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; UINT PrimitiveCount, stride; HRESULT hr; TRACE("(%p)->(%08x,%08x,%p,%08x,%08x): Relay!\n", This, PrimitiveType, VertexType, Vertices, VertexCount, Flags); @@ -3564,7 +3579,7 @@ Thunk_IDirect3DDeviceImpl_3_DrawPrimitive(IDirect3DDevice3 *iface, DWORD VertexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, VertexType, Vertices, VertexCount, Flags); return IDirect3DDevice7_DrawPrimitive((IDirect3DDevice7 *)This, PrimitiveType, VertexType, Vertices, VertexCount, Flags); @@ -3578,7 +3593,7 @@ Thunk_IDirect3DDeviceImpl_2_DrawPrimitive(IDirect3DDevice2 *iface, DWORD VertexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); DWORD FVF; TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, VertexType, Vertices, VertexCount, Flags); @@ -3629,7 +3644,7 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitive(IDirect3DDevice7 *iface, DWORD IndexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; UINT PrimitiveCount = 0; HRESULT hr; TRACE("(%p)->(%08x,%08x,%p,%08x,%p,%08x,%08x): Relay!\n", This, PrimitiveType, VertexType, Vertices, VertexCount, Indices, IndexCount, Flags); @@ -3732,7 +3747,7 @@ Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitive(IDirect3DDevice3 *iface, DWORD IndexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p,%08x,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, VertexType, Vertices, VertexCount, Indices, IndexCount, Flags); return IDirect3DDevice7_DrawIndexedPrimitive((IDirect3DDevice7 *)This, PrimitiveType, VertexType, Vertices, VertexCount, Indices, IndexCount, Flags); @@ -3749,7 +3764,7 @@ Thunk_IDirect3DDeviceImpl_2_DrawIndexedPrimitive(IDirect3DDevice2 *iface, DWORD Flags) { DWORD FVF; - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p,%08x,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, VertexType, Vertices, VertexCount, Indices, IndexCount, Flags); switch(VertexType) @@ -3786,7 +3801,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_7_SetClipStatus(IDirect3DDevice7 *iface, D3DCLIPSTATUS *ClipStatus) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; FIXME("(%p)->(%p): Stub!\n", This, ClipStatus); /* D3DCLIPSTATUS and WINED3DCLIPSTATUS are different. I don't know how to convert them @@ -3800,7 +3815,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_SetClipStatus(IDirect3DDevice3 *iface, D3DCLIPSTATUS *ClipStatus) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, ClipStatus); return IDirect3DDevice7_SetClipStatus((IDirect3DDevice7 *)This, ClipStatus); } @@ -3809,7 +3824,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_SetClipStatus(IDirect3DDevice2 *iface, D3DCLIPSTATUS *ClipStatus) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, ClipStatus); return IDirect3DDevice7_SetClipStatus((IDirect3DDevice7 *)This, ClipStatus); } @@ -3830,7 +3845,7 @@ static HRESULT WINAPI IDirect3DDeviceImpl_7_GetClipStatus(IDirect3DDevice7 *iface, D3DCLIPSTATUS *ClipStatus) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; FIXME("(%p)->(%p): Stub!\n", This, ClipStatus); /* D3DCLIPSTATUS and WINED3DCLIPSTATUS are different. I don't know how to convert them */ @@ -3842,7 +3857,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_GetClipStatus(IDirect3DDevice3 *iface, D3DCLIPSTATUS *ClipStatus) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, ClipStatus); return IDirect3DDevice7_GetClipStatus((IDirect3DDevice7 *)This, ClipStatus); } @@ -3851,7 +3866,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_2_GetClipStatus(IDirect3DDevice2 *iface, D3DCLIPSTATUS *ClipStatus) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice2, iface); + IDirect3DDeviceImpl *This = device_from_device2(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, ClipStatus); return IDirect3DDevice7_GetClipStatus((IDirect3DDevice7 *)This, ClipStatus); } @@ -3885,7 +3900,7 @@ IDirect3DDeviceImpl_7_DrawPrimitiveStrided(IDirect3DDevice7 *iface, DWORD VertexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; WineDirect3DVertexStridedData WineD3DStrided; DWORD i; UINT PrimitiveCount; @@ -4026,7 +4041,7 @@ Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveStrided(IDirect3DDevice3 *iface, DWORD VertexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Flags); return IDirect3DDevice7_DrawPrimitiveStrided((IDirect3DDevice7 *)This, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Flags); @@ -4059,7 +4074,7 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitiveStrided(IDirect3DDevice7 *iface, DWORD IndexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; WineDirect3DVertexStridedData WineD3DStrided; DWORD i; UINT PrimitiveCount; @@ -4209,7 +4224,7 @@ Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveStrided(IDirect3DDevice3 *iface, DWORD IndexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p,%08x,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", iface, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Indices, IndexCount, Flags); return IDirect3DDevice7_DrawIndexedPrimitiveStrided((IDirect3DDevice7 *)This, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Indices, IndexCount, Flags); @@ -4242,7 +4257,7 @@ IDirect3DDeviceImpl_7_DrawPrimitiveVB(IDirect3DDevice7 *iface, DWORD NumVertices, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IDirect3DVertexBufferImpl *vb = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, D3DVertexBuf); UINT PrimitiveCount; HRESULT hr; @@ -4369,7 +4384,7 @@ Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveVB(IDirect3DDevice3 *iface, DWORD NumVertices, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirect3DVertexBufferImpl *vb = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, D3DVertexBuf); TRACE_(ddraw_thunk)("(%p)->(%08x,%p,%08x,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, vb, StartVertex, NumVertices, Flags); return IDirect3DDevice7_DrawPrimitiveVB((IDirect3DDevice7 *)This, PrimitiveType, @@ -4404,7 +4419,7 @@ IDirect3DDeviceImpl_7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface, DWORD IndexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IDirect3DVertexBufferImpl *vb = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, D3DVertexBuf); DWORD stride; UINT PrimitiveCount; @@ -4571,7 +4586,7 @@ Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(IDirect3DDevice3 *iface, DWORD IndexCount, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirect3DVertexBufferImpl *VB = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, D3DVertexBuf); TRACE_(ddraw_thunk)("(%p)->(%08x,%p,%p,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, PrimitiveType, VB, Indices, IndexCount, Flags); @@ -4615,7 +4630,7 @@ IDirect3DDeviceImpl_7_ComputeSphereVisibility(IDirect3DDevice7 *iface, DWORD Flags, DWORD *ReturnValues) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; FIXME("(%p)->(%p,%p,%08x,%08x,%p): stub!\n", This, Centers, Radii, NumSpheres, Flags, ReturnValues); /* the DirectX 7 sdk says that the visibility is computed by @@ -4651,7 +4666,7 @@ Thunk_IDirect3DDeviceImpl_3_ComputeSphereVisibility(IDirect3DDevice3 *iface, DWORD Flags, DWORD *ReturnValues) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%p,%p,%08x,%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, Centers, Radii, NumSpheres, Flags, ReturnValues); return IDirect3DDevice7_ComputeSphereVisibility((IDirect3DDevice7 *)This, Centers, Radii, NumSpheres, Flags, ReturnValues); @@ -4681,7 +4696,7 @@ IDirect3DDeviceImpl_7_GetTexture(IDirect3DDevice7 *iface, DWORD Stage, IDirectDrawSurface7 **Texture) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IWineD3DBaseTexture *Surf; HRESULT hr; TRACE("(%p)->(%d,%p): Relay\n", This, Stage, Texture); @@ -4738,7 +4753,7 @@ Thunk_IDirect3DDeviceImpl_3_GetTexture(IDirect3DDevice3 *iface, DWORD Stage, IDirect3DTexture2 **Texture2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); HRESULT ret; IDirectDrawSurface7 *ret_val; @@ -4773,7 +4788,7 @@ IDirect3DDeviceImpl_7_SetTexture(IDirect3DDevice7 *iface, DWORD Stage, IDirectDrawSurface7 *Texture) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IDirectDrawSurfaceImpl *surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Texture); HRESULT hr; TRACE("(%p)->(%08x,%p): Relay!\n", This, Stage, surf); @@ -4815,7 +4830,7 @@ IDirect3DDeviceImpl_3_SetTexture(IDirect3DDevice3 *iface, DWORD Stage, IDirect3DTexture2 *Texture2) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); IDirectDrawSurfaceImpl *tex = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture2, Texture2); DWORD texmapblend; HRESULT hr; @@ -4932,7 +4947,7 @@ IDirect3DDeviceImpl_7_GetTextureStageState(IDirect3DDevice7 *iface, D3DTEXTURESTAGESTATETYPE TexStageStateType, DWORD *State) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; const struct tss_lookup *l = &tss_lookup[TexStageStateType]; TRACE("(%p)->(%08x,%08x,%p): Relay!\n", This, Stage, TexStageStateType, State); @@ -5026,7 +5041,7 @@ Thunk_IDirect3DDeviceImpl_3_GetTextureStageState(IDirect3DDevice3 *iface, D3DTEXTURESTAGESTATETYPE TexStageStateType, DWORD *State) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%p) thunking to IDirect3DDevice7 interface.\n", This, Stage, TexStageStateType, State); return IDirect3DDevice7_GetTextureStageState((IDirect3DDevice7 *)This, Stage, TexStageStateType, State); } @@ -5055,7 +5070,7 @@ IDirect3DDeviceImpl_7_SetTextureStageState(IDirect3DDevice7 *iface, D3DTEXTURESTAGESTATETYPE TexStageStateType, DWORD State) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; const struct tss_lookup *l = &tss_lookup[TexStageStateType]; HRESULT hr; TRACE("(%p)->(%08x,%08x,%08x): Relay!\n", This, Stage, TexStageStateType, State); @@ -5151,7 +5166,7 @@ Thunk_IDirect3DDeviceImpl_3_SetTextureStageState(IDirect3DDevice3 *iface, D3DTEXTURESTAGESTATETYPE TexStageStateType, DWORD State) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%08x,%08x) thunking to IDirect3DDevice7 interface.\n", This, Stage, TexStageStateType, State); return IDirect3DDevice7_SetTextureStageState((IDirect3DDevice7 *)This, Stage, TexStageStateType, State); } @@ -5178,7 +5193,7 @@ static HRESULT IDirect3DDeviceImpl_7_ValidateDevice(IDirect3DDevice7 *iface, DWORD *NumPasses) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay\n", This, NumPasses); @@ -5213,7 +5228,7 @@ static HRESULT WINAPI Thunk_IDirect3DDeviceImpl_3_ValidateDevice(IDirect3DDevice3 *iface, DWORD *Passes) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice3, iface); + IDirect3DDeviceImpl *This = device_from_device3(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", This, Passes); return IDirect3DDevice7_ValidateDevice((IDirect3DDevice7 *)This, Passes); } @@ -5248,7 +5263,7 @@ IDirect3DDeviceImpl_7_Clear(IDirect3DDevice7 *iface, D3DVALUE Z, DWORD Stencil) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%p,%08x,%08x,%f,%08x): Relay\n", This, Count, Rects, Flags, Color, Z, Stencil); @@ -5311,7 +5326,7 @@ static HRESULT IDirect3DDeviceImpl_7_SetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *Data) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p) Relay!\n", This, Data); @@ -5367,7 +5382,7 @@ static HRESULT IDirect3DDeviceImpl_7_GetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *Data) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p) Relay!\n", This, Data); @@ -5424,7 +5439,7 @@ static HRESULT IDirect3DDeviceImpl_7_SetMaterial(IDirect3DDevice7 *iface, D3DMATERIAL7 *Mat) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay!\n", This, Mat); @@ -5478,7 +5493,7 @@ static HRESULT IDirect3DDeviceImpl_7_GetMaterial(IDirect3DDevice7 *iface, D3DMATERIAL7 *Mat) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay!\n", This, Mat); @@ -5532,7 +5547,7 @@ IDirect3DDeviceImpl_7_SetLight(IDirect3DDevice7 *iface, DWORD LightIndex, D3DLIGHT7 *Light) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%p): Relay!\n", This, LightIndex, Light); @@ -5587,7 +5602,7 @@ IDirect3DDeviceImpl_7_GetLight(IDirect3DDevice7 *iface, DWORD LightIndex, D3DLIGHT7 *Light) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT rc; TRACE("(%p)->(%08x,%p): Relay!\n", This, LightIndex, Light); @@ -5640,7 +5655,7 @@ IDirect3DDeviceImpl_7_GetLight_FPUPreserve(IDirect3DDevice7 *iface, static HRESULT IDirect3DDeviceImpl_7_BeginStateBlock(IDirect3DDevice7 *iface) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(): Relay!\n", This); @@ -5690,7 +5705,7 @@ static HRESULT IDirect3DDeviceImpl_7_EndStateBlock(IDirect3DDevice7 *iface, DWORD *BlockHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay!\n", This, BlockHandle); @@ -5757,7 +5772,7 @@ static HRESULT IDirect3DDeviceImpl_7_PreLoad(IDirect3DDevice7 *iface, IDirectDrawSurface7 *Texture) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IDirectDrawSurfaceImpl *surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Texture); TRACE("(%p)->(%p): Relay!\n", This, surf); @@ -5809,7 +5824,7 @@ static HRESULT IDirect3DDeviceImpl_7_ApplyStateBlock(IDirect3DDevice7 *iface, DWORD BlockHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x): Relay!\n", This, BlockHandle); @@ -5873,7 +5888,7 @@ static HRESULT IDirect3DDeviceImpl_7_CaptureStateBlock(IDirect3DDevice7 *iface, DWORD BlockHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x): Relay!\n", This, BlockHandle); @@ -5936,7 +5951,7 @@ static HRESULT IDirect3DDeviceImpl_7_DeleteStateBlock(IDirect3DDevice7 *iface, DWORD BlockHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; ULONG ref; TRACE("(%p)->(%08x): Relay!\n", This, BlockHandle); @@ -6008,7 +6023,7 @@ IDirect3DDeviceImpl_7_CreateStateBlock(IDirect3DDevice7 *iface, D3DSTATEBLOCKTYPE Type, DWORD *BlockHandle) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%p)!\n", This, Type, BlockHandle); @@ -6253,7 +6268,7 @@ IDirect3DDeviceImpl_7_Load(IDirect3DDevice7 *iface, RECT *SrcRect, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; IDirectDrawSurfaceImpl *dest = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DestTex); IDirectDrawSurfaceImpl *src = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, SrcTex); POINT destpoint; @@ -6466,7 +6481,7 @@ IDirect3DDeviceImpl_7_LightEnable(IDirect3DDevice7 *iface, DWORD LightIndex, BOOL Enable) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%d): Relay!\n", This, LightIndex, Enable); @@ -6521,7 +6536,7 @@ IDirect3DDeviceImpl_7_GetLightEnable(IDirect3DDevice7 *iface, DWORD LightIndex, BOOL* Enable) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%p): Relay\n", This, LightIndex, Enable); @@ -6579,7 +6594,7 @@ IDirect3DDeviceImpl_7_SetClipPlane(IDirect3DDevice7 *iface, DWORD Index, D3DVALUE* PlaneEquation) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%08x,%p): Relay!\n", This, Index, PlaneEquation); @@ -6635,7 +6650,7 @@ IDirect3DDeviceImpl_7_GetClipPlane(IDirect3DDevice7 *iface, DWORD Index, D3DVALUE* PlaneEquation) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; HRESULT hr; TRACE("(%p)->(%d,%p): Relay!\n", This, Index, PlaneEquation); @@ -6693,7 +6708,7 @@ IDirect3DDeviceImpl_7_GetInfo(IDirect3DDevice7 *iface, void *DevInfoStruct, DWORD Size) { - ICOM_THIS_FROM(IDirect3DDeviceImpl, IDirect3DDevice7, iface); + IDirect3DDeviceImpl *This = (IDirect3DDeviceImpl *)iface; TRACE("(%p)->(%08x,%p,%08x)\n", This, DevInfoID, DevInfoStruct, Size); if (TRACE_ON(d3d7)) diff --git a/dlls/ddraw/direct3d.c b/dlls/ddraw/direct3d.c index 2d984819a17..feb5aa5d261 100644 --- a/dlls/ddraw/direct3d.c +++ b/dlls/ddraw/direct3d.c @@ -40,6 +40,26 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d7); +static inline IDirectDrawImpl *ddraw_from_d3d1(IDirect3D *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D_vtbl)); +} + +static inline IDirectDrawImpl *ddraw_from_d3d2(IDirect3D2 *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D2_vtbl)); +} + +static inline IDirectDrawImpl *ddraw_from_d3d3(IDirect3D3 *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D3_vtbl)); +} + +static inline IDirectDrawImpl *ddraw_from_d3d7(IDirect3D7 *iface) +{ + return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D7_vtbl)); +} + /***************************************************************************** * IDirect3D7::QueryInterface * @@ -51,7 +71,7 @@ Thunk_IDirect3DImpl_7_QueryInterface(IDirect3D7 *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj); return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj); @@ -62,7 +82,7 @@ Thunk_IDirect3DImpl_3_QueryInterface(IDirect3D3 *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj); return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj); @@ -73,7 +93,7 @@ Thunk_IDirect3DImpl_2_QueryInterface(IDirect3D2 *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj); return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj); @@ -84,7 +104,7 @@ Thunk_IDirect3DImpl_1_QueryInterface(IDirect3D *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj); return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj); @@ -112,7 +132,7 @@ Thunk_IDirect3DImpl_1_QueryInterface(IDirect3D *iface, static ULONG WINAPI Thunk_IDirect3DImpl_7_AddRef(IDirect3D7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); TRACE("(%p) : Thunking to IDirectDraw7.\n", This); return IDirectDraw7_AddRef((IDirectDraw7 *)This); @@ -121,7 +141,7 @@ Thunk_IDirect3DImpl_7_AddRef(IDirect3D7 *iface) static ULONG WINAPI Thunk_IDirect3DImpl_3_AddRef(IDirect3D3 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); TRACE("(%p) : Thunking to IDirectDraw.\n", This); return IDirectDraw_AddRef((IDirectDraw *)&This->IDirectDraw_vtbl); @@ -130,7 +150,7 @@ Thunk_IDirect3DImpl_3_AddRef(IDirect3D3 *iface) static ULONG WINAPI Thunk_IDirect3DImpl_2_AddRef(IDirect3D2 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p) : Thunking to IDirectDraw.\n", This); return IDirectDraw_AddRef((IDirectDraw *)&This->IDirectDraw_vtbl); @@ -139,7 +159,7 @@ Thunk_IDirect3DImpl_2_AddRef(IDirect3D2 *iface) static ULONG WINAPI Thunk_IDirect3DImpl_1_AddRef(IDirect3D *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p) : Thunking to IDirectDraw.\n", This); return IDirectDraw_AddRef((IDirectDraw *)&This->IDirectDraw_vtbl); @@ -156,7 +176,7 @@ Thunk_IDirect3DImpl_1_AddRef(IDirect3D *iface) static ULONG WINAPI Thunk_IDirect3DImpl_7_Release(IDirect3D7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); TRACE("(%p) : Thunking to IDirectDraw7.\n", This); return IDirectDraw7_Release((IDirectDraw7 *)This); @@ -165,7 +185,7 @@ Thunk_IDirect3DImpl_7_Release(IDirect3D7 *iface) static ULONG WINAPI Thunk_IDirect3DImpl_3_Release(IDirect3D3 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); TRACE("(%p) : Thunking to IDirectDraw.\n", This); return IDirectDraw_Release((IDirectDraw *)&This->IDirectDraw_vtbl); @@ -174,7 +194,7 @@ Thunk_IDirect3DImpl_3_Release(IDirect3D3 *iface) static ULONG WINAPI Thunk_IDirect3DImpl_2_Release(IDirect3D2 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p) : Thunking to IDirectDraw.\n", This); return IDirectDraw_Release((IDirectDraw *)&This->IDirectDraw_vtbl); @@ -183,7 +203,7 @@ Thunk_IDirect3DImpl_2_Release(IDirect3D2 *iface) static ULONG WINAPI Thunk_IDirect3DImpl_1_Release(IDirect3D *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p) : Thunking to IDirectDraw.\n", This); return IDirectDraw_Release((IDirectDraw *)&This->IDirectDraw_vtbl); @@ -212,7 +232,7 @@ static HRESULT WINAPI IDirect3DImpl_1_Initialize(IDirect3D *iface, REFIID refiid) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p)->(%s) no-op...\n", This, debugstr_guid(refiid)); return D3D_OK; @@ -237,7 +257,7 @@ IDirect3DImpl_7_EnumDevices(IDirect3D7 *iface, LPD3DENUMDEVICESCALLBACK7 Callback, void *Context) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); char interface_name_tnl[] = "WINE Direct3D7 Hardware Transform and Lighting acceleration using WineD3D"; char device_name_tnl[] = "Wine D3D7 T&L HAL"; char interface_name_hal[] = "WINE Direct3D7 Hardware acceleration using WineD3D"; @@ -293,7 +313,7 @@ IDirect3DImpl_3_EnumDevices(IDirect3D3 *iface, LPD3DENUMDEVICESCALLBACK Callback, void *Context) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); D3DDEVICEDESC dref, d1, d2; D3DDEVICEDESC7 newDesc; static CHAR wined3d_description[] = "Wine D3DDevice using WineD3D and OpenGL"; @@ -377,7 +397,7 @@ Thunk_IDirect3DImpl_2_EnumDevices(IDirect3D2 *iface, LPD3DENUMDEVICESCALLBACK Callback, void *Context) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Callback, Context); return IDirect3D3_EnumDevices((IDirect3D3 *)&This->IDirect3D3_vtbl, Callback, Context); } @@ -387,7 +407,7 @@ Thunk_IDirect3DImpl_1_EnumDevices(IDirect3D *iface, LPD3DENUMDEVICESCALLBACK Callback, void *Context) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Callback, Context); return IDirect3D3_EnumDevices((IDirect3D3 *)&This->IDirect3D3_vtbl, Callback, Context); } @@ -418,7 +438,7 @@ IDirect3DImpl_3_CreateLight(IDirect3D3 *iface, IDirect3DLight **Light, IUnknown *UnkOuter ) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); IDirect3DLightImpl *object; TRACE("(%p)->(%p,%p)\n", This, Light, UnkOuter); @@ -454,7 +474,7 @@ Thunk_IDirect3DImpl_2_CreateLight(IDirect3D2 *iface, IDirect3DLight **Direct3DLight, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Direct3DLight, UnkOuter); return IDirect3D3_CreateLight((IDirect3D3 *)&This->IDirect3D3_vtbl, Direct3DLight, UnkOuter); } @@ -464,7 +484,7 @@ Thunk_IDirect3DImpl_1_CreateLight(IDirect3D *iface, IDirect3DLight **Direct3DLight, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Direct3DLight, UnkOuter); return IDirect3D3_CreateLight((IDirect3D3 *)&This->IDirect3D3_vtbl, Direct3DLight, UnkOuter); } @@ -494,7 +514,7 @@ IDirect3DImpl_3_CreateMaterial(IDirect3D3 *iface, IDirect3DMaterial3 **Material, IUnknown *UnkOuter ) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); IDirect3DMaterialImpl *object; TRACE("(%p)->(%p,%p)\n", This, Material, UnkOuter); @@ -525,7 +545,7 @@ Thunk_IDirect3DImpl_2_CreateMaterial(IDirect3D2 *iface, IDirect3DMaterial2 **Direct3DMaterial, IUnknown* UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); HRESULT ret; IDirect3DMaterial3 *ret_val; @@ -544,7 +564,7 @@ Thunk_IDirect3DImpl_1_CreateMaterial(IDirect3D *iface, IDirect3DMaterial **Direct3DMaterial, IUnknown* UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); HRESULT ret; LPDIRECT3DMATERIAL3 ret_val; @@ -583,7 +603,7 @@ IDirect3DImpl_3_CreateViewport(IDirect3D3 *iface, IDirect3DViewport3 **Viewport, IUnknown *UnkOuter ) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); IDirect3DViewportImpl *object; if(UnkOuter) @@ -615,7 +635,7 @@ Thunk_IDirect3DImpl_2_CreateViewport(IDirect3D2 *iface, IDirect3DViewport2 **D3DViewport2, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, D3DViewport2, UnkOuter); return IDirect3D3_CreateViewport((IDirect3D3 *)&This->IDirect3D3_vtbl, @@ -628,7 +648,7 @@ Thunk_IDirect3DImpl_1_CreateViewport(IDirect3D *iface, IDirect3DViewport **D3DViewport, IUnknown* UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, D3DViewport, UnkOuter); return IDirect3D3_CreateViewport((IDirect3D3 *)&This->IDirect3D3_vtbl, @@ -657,7 +677,7 @@ IDirect3DImpl_3_FindDevice(IDirect3D3 *iface, D3DFINDDEVICESEARCH *D3DDFS, D3DFINDDEVICERESULT *D3DFDR) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); D3DDEVICEDESC desc; D3DDEVICEDESC7 newDesc; HRESULT hr; @@ -701,7 +721,7 @@ Thunk_IDirect3DImpl_2_FindDevice(IDirect3D2 *iface, D3DFINDDEVICESEARCH *D3DDFS, D3DFINDDEVICERESULT *D3DFDR) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", iface, D3DDFS, D3DFDR); return IDirect3D3_FindDevice((IDirect3D3 *)&This->IDirect3D3_vtbl, D3DDFS, D3DFDR); } @@ -711,7 +731,7 @@ Thunk_IDirect3DImpl_1_FindDevice(IDirect3D *iface, D3DFINDDEVICESEARCH *D3DDFS, D3DFINDDEVICERESULT *D3DDevice) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface); + IDirectDrawImpl *This = ddraw_from_d3d1(iface); TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, D3DDFS, D3DDevice); return IDirect3D3_FindDevice((IDirect3D3 *)&This->IDirect3D3_vtbl, D3DDFS, D3DDevice); } @@ -743,7 +763,7 @@ IDirect3DImpl_7_CreateDevice(IDirect3D7 *iface, IDirectDrawSurface7 *Surface, IDirect3DDevice7 **Device) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); IDirect3DDeviceImpl *object; IParentImpl *IndexBufferParent; HRESULT hr; @@ -922,7 +942,7 @@ Thunk_IDirect3DImpl_3_CreateDevice(IDirect3D3 *iface, IDirect3DDevice3 **Device, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); HRESULT hr; TRACE("(%p)->(%s,%p,%p,%p): Thunking to IDirect3D7\n", This, debugstr_guid(refiid), Surface, Device, UnkOuter); @@ -942,7 +962,7 @@ Thunk_IDirect3DImpl_2_CreateDevice(IDirect3D2 *iface, IDirectDrawSurface *Surface, IDirect3DDevice2 **Device) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface); + IDirectDrawImpl *This = ddraw_from_d3d2(iface); HRESULT hr; TRACE("(%p)->(%s,%p,%p): Thunking to IDirect3D7\n", This, debugstr_guid(refiid), Surface, Device); @@ -980,7 +1000,7 @@ IDirect3DImpl_7_CreateVertexBuffer(IDirect3D7 *iface, IDirect3DVertexBuffer7 **VertexBuffer, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); IDirect3DVertexBufferImpl *object; HRESULT hr; TRACE("(%p)->(%p,%p,%08x)\n", This, Desc, VertexBuffer, Flags); @@ -1068,7 +1088,7 @@ Thunk_IDirect3DImpl_3_CreateVertexBuffer(IDirect3D3 *iface, DWORD Flags, IUnknown *UnkOuter) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); HRESULT hr; TRACE("(%p)->(%p,%p,%08x,%p): Relaying to IDirect3D7\n", This, Desc, VertexBuffer, Flags, UnkOuter); @@ -1106,7 +1126,7 @@ IDirect3DImpl_7_EnumZBufferFormats(IDirect3D7 *iface, LPD3DENUMPIXELFORMATSCALLBACK Callback, void *Context) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); HRESULT hr; unsigned int i; WINED3DDISPLAYMODE d3ddm; @@ -1206,7 +1226,7 @@ Thunk_IDirect3DImpl_3_EnumZBufferFormats(IDirect3D3 *iface, LPD3DENUMPIXELFORMATSCALLBACK Callback, void *Context) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); TRACE("(%p)->(%s,%p,%p) thunking to IDirect3D7 interface.\n", This, debugstr_guid(riidDevice), Callback, Context); return IDirect3D7_EnumZBufferFormats((IDirect3D7 *)&This->IDirect3D7_vtbl, riidDevice, Callback, Context); } @@ -1226,7 +1246,7 @@ Thunk_IDirect3DImpl_3_EnumZBufferFormats(IDirect3D3 *iface, static HRESULT WINAPI IDirect3DImpl_7_EvictManagedTextures(IDirect3D7 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface); + IDirectDrawImpl *This = ddraw_from_d3d7(iface); FIXME("(%p): Stub!\n", This); /* Implementation idea: @@ -1240,7 +1260,7 @@ IDirect3DImpl_7_EvictManagedTextures(IDirect3D7 *iface) static HRESULT WINAPI Thunk_IDirect3DImpl_3_EvictManagedTextures(IDirect3D3 *iface) { - ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface); + IDirectDrawImpl *This = ddraw_from_d3d3(iface); TRACE("(%p)->() thunking to IDirect3D7 interface.\n", This); return IDirect3D7_EvictManagedTextures((IDirect3D7 *)&This->IDirect3D7_vtbl); } diff --git a/dlls/ddraw/executebuffer.c b/dlls/ddraw/executebuffer.c index be48ed772af..3ff794d93b8 100644 --- a/dlls/ddraw/executebuffer.c +++ b/dlls/ddraw/executebuffer.c @@ -624,7 +624,7 @@ IDirect3DExecuteBufferImpl_QueryInterface(IDirect3DExecuteBuffer *iface, static ULONG WINAPI IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *iface) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); FIXME("(%p)->()incrementing from %u.\n", This, ref - 1); @@ -644,7 +644,7 @@ IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *iface) static ULONG WINAPI IDirect3DExecuteBufferImpl_Release(IDirect3DExecuteBuffer *iface) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->()decrementing from %u.\n", This, ref + 1); @@ -676,7 +676,7 @@ IDirect3DExecuteBufferImpl_Initialize(IDirect3DExecuteBuffer *iface, IDirect3DDevice *lpDirect3DDevice, D3DEXECUTEBUFFERDESC *lpDesc) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("(%p)->(%p,%p) no-op....\n", This, lpDirect3DDevice, lpDesc); return D3D_OK; } @@ -698,7 +698,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface, D3DEXECUTEBUFFERDESC *lpDesc) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; DWORD dwSize; TRACE("(%p)->(%p)\n", This, lpDesc); @@ -725,7 +725,7 @@ IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface, static HRESULT WINAPI IDirect3DExecuteBufferImpl_Unlock(IDirect3DExecuteBuffer *iface) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("(%p)->() no-op...\n", This); return D3D_OK; } @@ -748,7 +748,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_SetExecuteData(IDirect3DExecuteBuffer *iface, D3DEXECUTEDATA *lpData) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; DWORD nbvert; TRACE("(%p)->(%p)\n", This, lpData); @@ -784,7 +784,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_GetExecuteData(IDirect3DExecuteBuffer *iface, D3DEXECUTEDATA *lpData) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; DWORD dwSize; TRACE("(%p)->(%p): stub!\n", This, lpData); @@ -820,7 +820,7 @@ IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer *iface, void *UserArg, DWORD Reserved) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("(%p)->(%p,%p,%p,%08x): Unimplemented!\n", This, Offset, Func, UserArg, Reserved); return DDERR_UNSUPPORTED; /* Unchecked */ } @@ -842,7 +842,7 @@ static HRESULT WINAPI IDirect3DExecuteBufferImpl_Optimize(IDirect3DExecuteBuffer *iface, DWORD Dummy) { - ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface); + IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface; TRACE("(%p)->(%08x): Unimplemented\n", This, Dummy); return DDERR_UNSUPPORTED; /* Unchecked */ } diff --git a/dlls/ddraw/gamma.c b/dlls/ddraw/gamma.c index 16018f0490a..df631a4d6bf 100644 --- a/dlls/ddraw/gamma.c +++ b/dlls/ddraw/gamma.c @@ -43,6 +43,12 @@ WINE_DEFAULT_DEBUG_CHANNEL(ddraw); WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk); +static inline IDirectDrawSurfaceImpl *surface_from_gamma_control(IDirectDrawGammaControl *iface) +{ + return (IDirectDrawSurfaceImpl *)((char*)iface + - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirectDrawGammaControl_vtbl)); +} + /********************************************************** * IUnknown parts follow **********************************************************/ @@ -64,7 +70,7 @@ static HRESULT WINAPI IDirectDrawGammaControlImpl_QueryInterface(IDirectDrawGammaControl *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface); + IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface); TRACE_(ddraw_thunk)("(%p)->(%s,%p): Thunking to IDirectDrawSurface7\n", This, debugstr_guid(riid), obj); return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)This, riid, obj); @@ -82,7 +88,7 @@ IDirectDrawGammaControlImpl_QueryInterface(IDirectDrawGammaControl *iface, REFII static ULONG WINAPI IDirectDrawGammaControlImpl_AddRef(IDirectDrawGammaControl *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface); + IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface); TRACE_(ddraw_thunk)("(%p)->() Thunking to IDirectDrawSurface7\n", This); return IDirectDrawSurface7_AddRef((IDirectDrawSurface7 *)This); @@ -100,7 +106,7 @@ IDirectDrawGammaControlImpl_AddRef(IDirectDrawGammaControl *iface) static ULONG WINAPI IDirectDrawGammaControlImpl_Release(IDirectDrawGammaControl *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface); + IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface); TRACE_(ddraw_thunk)("(%p)->() Thunking to IDirectDrawSurface7\n", This); return IDirectDrawSurface7_Release((IDirectDrawSurface7 *)This); @@ -129,7 +135,7 @@ IDirectDrawGammaControlImpl_GetGammaRamp(IDirectDrawGammaControl *iface, DWORD Flags, DDGAMMARAMP *GammaRamp) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface); + IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface); TRACE("(%p)->(%08x,%p)\n", This,Flags,GammaRamp); /* This looks sane */ @@ -175,7 +181,7 @@ IDirectDrawGammaControlImpl_SetGammaRamp(IDirectDrawGammaControl *iface, DWORD Flags, DDGAMMARAMP *GammaRamp) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface); + IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface); TRACE("(%p)->(%08x,%p)\n", This,Flags,GammaRamp); /* This looks sane */ diff --git a/dlls/ddraw/light.c b/dlls/ddraw/light.c index 6c5ef8a7b2a..446c66255e0 100644 --- a/dlls/ddraw/light.c +++ b/dlls/ddraw/light.c @@ -65,7 +65,7 @@ IDirect3DLightImpl_QueryInterface(IDirect3DLight *iface, REFIID riid, void **obp) { - ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface); + IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; FIXME("(%p)->(%s,%p): stub!\n", This, debugstr_guid(riid), obp); *obp = NULL; return E_NOINTERFACE; @@ -83,7 +83,7 @@ IDirect3DLightImpl_QueryInterface(IDirect3DLight *iface, static ULONG WINAPI IDirect3DLightImpl_AddRef(IDirect3DLight *iface) { - ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface); + IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); @@ -104,7 +104,7 @@ IDirect3DLightImpl_AddRef(IDirect3DLight *iface) static ULONG WINAPI IDirect3DLightImpl_Release(IDirect3DLight *iface) { - ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface); + IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); @@ -137,7 +137,7 @@ static HRESULT WINAPI IDirect3DLightImpl_Initialize(IDirect3DLight *iface, IDirect3D *lpDirect3D) { - ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface); + IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; IDirectDrawImpl *d3d = ICOM_OBJECT(IDirectDrawImpl, IDirect3D, lpDirect3D); TRACE("(%p)->(%p) no-op...\n", This, d3d); return D3D_OK; @@ -169,7 +169,7 @@ static HRESULT WINAPI IDirect3DLightImpl_SetLight(IDirect3DLight *iface, D3DLIGHT *lpLight) { - ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface); + IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; LPD3DLIGHT7 light7 = &(This->light7); TRACE("(%p)->(%p)\n", This, lpLight); if (TRACE_ON(d3d7)) { @@ -226,7 +226,7 @@ static HRESULT WINAPI IDirect3DLightImpl_GetLight(IDirect3DLight *iface, D3DLIGHT *lpLight) { - ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface); + IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface; TRACE("(%p/%p)->(%p)\n", This, iface, lpLight); if (TRACE_ON(d3d7)) { TRACE(" Returning light definition :\n"); diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c index 0abe903c06e..6967547e19d 100644 --- a/dlls/ddraw/main.c +++ b/dlls/ddraw/main.c @@ -539,7 +539,7 @@ IDirectDrawClassFactoryImpl_QueryInterface(IClassFactory *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface); + IClassFactoryImpl *This = (IClassFactoryImpl *)iface; TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj); @@ -567,7 +567,7 @@ IDirectDrawClassFactoryImpl_QueryInterface(IClassFactory *iface, static ULONG WINAPI IDirectDrawClassFactoryImpl_AddRef(IClassFactory *iface) { - ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface); + IClassFactoryImpl *This = (IClassFactoryImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p)->() incrementing from %d.\n", This, ref - 1); @@ -588,7 +588,7 @@ IDirectDrawClassFactoryImpl_AddRef(IClassFactory *iface) static ULONG WINAPI IDirectDrawClassFactoryImpl_Release(IClassFactory *iface) { - ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface); + IClassFactoryImpl *This = (IClassFactoryImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %d.\n", This, ref+1); @@ -617,7 +617,7 @@ IDirectDrawClassFactoryImpl_CreateInstance(IClassFactory *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface); + IClassFactoryImpl *This = (IClassFactoryImpl *)iface; TRACE("(%p)->(%p,%s,%p)\n",This,UnkOuter,debugstr_guid(riid),obj); @@ -639,7 +639,7 @@ IDirectDrawClassFactoryImpl_CreateInstance(IClassFactory *iface, static HRESULT WINAPI IDirectDrawClassFactoryImpl_LockServer(IClassFactory *iface,BOOL dolock) { - ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface); + IClassFactoryImpl *This = (IClassFactoryImpl *)iface; FIXME("(%p)->(%d),stub!\n",This,dolock); return S_OK; } diff --git a/dlls/ddraw/material.c b/dlls/ddraw/material.c index a322e3a1141..3a0722d1437 100644 --- a/dlls/ddraw/material.c +++ b/dlls/ddraw/material.c @@ -50,6 +50,11 @@ static void dump_material(const D3DMATERIAL *mat) TRACE(" dwSize : %d\n", mat->dwSize); } +static inline IDirect3DMaterialImpl *material_from_material1(IDirect3DMaterial *iface) +{ + return (IDirect3DMaterialImpl *)((char*)iface - FIELD_OFFSET(IDirect3DMaterialImpl, IDirect3DMaterial_vtbl)); +} + /***************************************************************************** * IUnknown Methods. *****************************************************************************/ @@ -74,7 +79,7 @@ IDirect3DMaterialImpl_QueryInterface(IDirect3DMaterial3 *iface, REFIID riid, LPVOID* obp) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface); + IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obp); *obp = NULL; @@ -119,7 +124,7 @@ IDirect3DMaterialImpl_QueryInterface(IDirect3DMaterial3 *iface, static ULONG WINAPI IDirect3DMaterialImpl_AddRef(IDirect3DMaterial3 *iface) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface); + IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); @@ -140,7 +145,7 @@ IDirect3DMaterialImpl_AddRef(IDirect3DMaterial3 *iface) static ULONG WINAPI IDirect3DMaterialImpl_Release(IDirect3DMaterial3 *iface) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface); + IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); @@ -181,7 +186,7 @@ static HRESULT WINAPI IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface, IDirect3D *Direct3D) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial, iface); + IDirect3DMaterialImpl *This = material_from_material1(iface); TRACE("(%p)->(%p) no-op...!\n", This, Direct3D); @@ -201,7 +206,7 @@ IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface, static HRESULT WINAPI IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial, iface); + IDirect3DMaterialImpl *This = material_from_material1(iface); TRACE("(%p)->() not implemented\n", This); return DDERR_UNSUPPORTED; @@ -219,7 +224,7 @@ IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface) static HRESULT WINAPI IDirect3DMaterialImpl_Unreserve(IDirect3DMaterial *iface) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial, iface); + IDirect3DMaterialImpl *This = material_from_material1(iface); TRACE("(%p)->() not implemented.\n", This); return DDERR_UNSUPPORTED; @@ -242,7 +247,7 @@ static HRESULT WINAPI IDirect3DMaterialImpl_SetMaterial(IDirect3DMaterial3 *iface, D3DMATERIAL *lpMat) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface); + IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; TRACE("(%p)->(%p)\n", This, lpMat); if (TRACE_ON(d3d7)) dump_material(lpMat); @@ -273,7 +278,7 @@ static HRESULT WINAPI IDirect3DMaterialImpl_GetMaterial(IDirect3DMaterial3 *iface, D3DMATERIAL *lpMat) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface); + IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; DWORD dwSize; TRACE("(%p)->(%p)\n", This, lpMat); if (TRACE_ON(d3d7)) { @@ -311,7 +316,7 @@ IDirect3DMaterialImpl_GetHandle(IDirect3DMaterial3 *iface, IDirect3DDevice3 *lpDirect3DDevice3, D3DMATERIALHANDLE *lpHandle) { - ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface); + IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface; IDirect3DDeviceImpl *device = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice3, lpDirect3DDevice3); TRACE("(%p/%p)->(%p,%p)\n", This, iface, device, lpHandle); diff --git a/dlls/ddraw/palette.c b/dlls/ddraw/palette.c index 7e9776e4fc6..9ef0a7ce031 100644 --- a/dlls/ddraw/palette.c +++ b/dlls/ddraw/palette.c @@ -49,7 +49,7 @@ IDirectDrawPaletteImpl_QueryInterface(IDirectDrawPalette *iface, REFIID refiid, void **obj) { - ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface); + IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(refiid),obj); if (IsEqualGUID(refiid, &IID_IUnknown) @@ -78,7 +78,7 @@ IDirectDrawPaletteImpl_QueryInterface(IDirectDrawPalette *iface, static ULONG WINAPI IDirectDrawPaletteImpl_AddRef(IDirectDrawPalette *iface) { - ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface); + IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); @@ -98,7 +98,7 @@ IDirectDrawPaletteImpl_AddRef(IDirectDrawPalette *iface) static ULONG WINAPI IDirectDrawPaletteImpl_Release(IDirectDrawPalette *iface) { - ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface); + IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); @@ -161,7 +161,7 @@ static HRESULT WINAPI IDirectDrawPaletteImpl_GetCaps(IDirectDrawPalette *iface, DWORD *Caps) { - ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface); + IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay\n", This, Caps); @@ -196,7 +196,7 @@ IDirectDrawPaletteImpl_SetEntries(IDirectDrawPalette *iface, DWORD Count, PALETTEENTRY *PalEnt) { - ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface); + IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; HRESULT hr; TRACE("(%p)->(%x,%d,%d,%p): Relay\n", This, Flags, Start, Count, PalEnt); @@ -233,7 +233,7 @@ IDirectDrawPaletteImpl_GetEntries(IDirectDrawPalette *iface, DWORD Count, PALETTEENTRY *PalEnt) { - ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface); + IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface; HRESULT hr; TRACE("(%p)->(%x,%d,%d,%p): Relay\n", This, Flags, Start, Count, PalEnt); diff --git a/dlls/ddraw/parent.c b/dlls/ddraw/parent.c index 7ecf0cf592e..ec4cfde7cfd 100644 --- a/dlls/ddraw/parent.c +++ b/dlls/ddraw/parent.c @@ -95,7 +95,7 @@ IParentImpl_QueryInterface(IParent *iface, static ULONG WINAPI IParentImpl_AddRef(IParent *iface) { - ICOM_THIS_FROM(IParentImpl, IParent, iface); + IParentImpl *This = (IParentImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p) : AddRef from %d\n", This, ref - 1); @@ -120,7 +120,7 @@ IParentImpl_AddRef(IParent *iface) static ULONG WINAPI IParentImpl_Release(IParent *iface) { - ICOM_THIS_FROM(IParentImpl, IParent, iface); + IParentImpl *This = (IParentImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p) : ReleaseRef to %d\n", This, ref); diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index c3789b41f65..fc442655bca 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -75,7 +75,7 @@ IDirectDrawSurfaceImpl_QueryInterface(IDirectDrawSurface7 *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; /* According to COM docs, if the QueryInterface fails, obj should be set to NULL */ *obj = NULL; @@ -156,7 +156,7 @@ IDirectDrawSurfaceImpl_QueryInterface(IDirectDrawSurface7 *iface, static ULONG WINAPI IDirectDrawSurfaceImpl_AddRef(IDirectDrawSurface7 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; ULONG refCount = InterlockedIncrement(&This->ref); TRACE("(%p) : AddRef increasing from %d\n", This, refCount - 1); @@ -271,7 +271,7 @@ void IDirectDrawSurfaceImpl_Destroy(IDirectDrawSurfaceImpl *This) static ULONG WINAPI IDirectDrawSurfaceImpl_Release(IDirectDrawSurface7 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; ULONG ref; TRACE("(%p) : Releasing from %d\n", This, This->ref); ref = InterlockedDecrement(&This->ref); @@ -463,7 +463,7 @@ IDirectDrawSurfaceImpl_GetAttachedSurface(IDirectDrawSurface7 *iface, DDSCAPS2 *Caps, IDirectDrawSurface7 **Surface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *surf; DDSCAPS2 our_caps; int i; @@ -574,7 +574,7 @@ IDirectDrawSurfaceImpl_Lock(IDirectDrawSurface7 *iface, DWORD Flags, HANDLE h) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; WINED3DLOCKED_RECT LockedRect; HRESULT hr; TRACE("(%p)->(%p,%p,%x,%p)\n", This, Rect, DDSD, Flags, h); @@ -668,7 +668,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_Unlock(IDirectDrawSurface7 *iface, RECT *pRect) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p)\n", This, pRect); @@ -706,7 +706,7 @@ IDirectDrawSurfaceImpl_Flip(IDirectDrawSurface7 *iface, IDirectDrawSurface7 *DestOverride, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *Override = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DestOverride); IDirectDrawSurface7 *Override7; HRESULT hr; @@ -772,7 +772,7 @@ IDirectDrawSurfaceImpl_Blt(IDirectDrawSurface7 *iface, DWORD Flags, DDBLTFX *DDBltFx) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; IDirectDrawSurfaceImpl *Src = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, SrcSurface); TRACE("(%p)->(%p,%p,%p,%x,%p)\n", This, DestRect, Src, SrcRect, Flags, DDBltFx); @@ -932,7 +932,7 @@ static HRESULT WINAPI IDirectDrawSurface7Impl_AddAttachedSurface(IDirectDrawSurface7 *iface, IDirectDrawSurface7 *Attach) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Attach); /* Version 7 of this interface seems to refuse everything except z buffers, as per msdn */ @@ -967,7 +967,7 @@ IDirectDrawSurfaceImpl_DeleteAttachedSurface(IDirectDrawSurface7 *iface, DWORD Flags, IDirectDrawSurface7 *Attach) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Attach); IDirectDrawSurfaceImpl *Prev = This; TRACE("(%p)->(%08x,%p)\n", This, Flags, Surf); @@ -1030,7 +1030,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_AddOverlayDirtyRect(IDirectDrawSurface7 *iface, LPRECT Rect) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n",This,Rect); /* MSDN says it's not implemented. I could forward it to WineD3D, @@ -1061,7 +1061,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetDC(IDirectDrawSurface7 *iface, HDC *hdc) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay\n", This, hdc); @@ -1092,7 +1092,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_ReleaseDC(IDirectDrawSurface7 *iface, HDC hdc) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p): Relay\n", This, hdc); @@ -1119,7 +1119,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetCaps(IDirectDrawSurface7 *iface, DDSCAPS2 *Caps) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n",This,Caps); if(!Caps) @@ -1145,7 +1145,7 @@ IDirectDrawSurfaceImpl_GetCaps(IDirectDrawSurface7 *iface, static HRESULT WINAPI IDirectDrawSurfaceImpl_SetPriority(IDirectDrawSurface7 *iface, DWORD Priority) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%d): Relay!\n",This,Priority); @@ -1173,7 +1173,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetPriority(IDirectDrawSurface7 *iface, DWORD *Priority) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p): Relay\n",This,Priority); if(!Priority) @@ -1211,7 +1211,7 @@ IDirectDrawSurfaceImpl_SetPrivateData(IDirectDrawSurface7 *iface, DWORD Size, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%s,%p,%d,%x): Relay\n", This, debugstr_guid(tag), Data, Size, Flags); @@ -1251,7 +1251,7 @@ IDirectDrawSurfaceImpl_GetPrivateData(IDirectDrawSurface7 *iface, void *Data, DWORD *Size) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%s,%p,%p): Relay\n", This, debugstr_guid(tag), Data, Size); @@ -1284,7 +1284,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_FreePrivateData(IDirectDrawSurface7 *iface, REFGUID tag) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%s): Relay\n", This, debugstr_guid(tag)); @@ -1376,7 +1376,7 @@ IDirectDrawSurfaceImpl_EnumAttachedSurfaces(IDirectDrawSurface7 *iface, void *context, LPDDENUMSURFACESCALLBACK7 cb) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *surf; DDSURFACEDESC2 desc; int i; @@ -1462,7 +1462,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetBltStatus(IDirectDrawSurface7 *iface, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%x): Relay\n", This, Flags); @@ -1495,7 +1495,7 @@ IDirectDrawSurfaceImpl_GetColorKey(IDirectDrawSurface7 *iface, DWORD Flags, DDCOLORKEY *CKey) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%08x,%p)\n", This, Flags, CKey); if(!CKey) @@ -1566,7 +1566,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetFlipStatus(IDirectDrawSurface7 *iface, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%x): Relay\n", This, Flags); @@ -1596,7 +1596,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetOverlayPosition(IDirectDrawSurface7 *iface, LONG *X, LONG *Y) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%p,%p): Relay\n", This, X, Y); @@ -1627,7 +1627,7 @@ IDirectDrawSurfaceImpl_GetPixelFormat(IDirectDrawSurface7 *iface, DDPIXELFORMAT *PixelFormat) { /* What is DDERR_INVALIDSURFACETYPE for here? */ - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n",This,PixelFormat); if(!PixelFormat) @@ -1659,7 +1659,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetSurfaceDesc(IDirectDrawSurface7 *iface, DDSURFACEDESC2 *DDSD) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n",This,DDSD); @@ -1699,7 +1699,7 @@ IDirectDrawSurfaceImpl_Initialize(IDirectDrawSurface7 *iface, IDirectDraw *DD, DDSURFACEDESC2 *DDSD) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawImpl *ddimpl = ICOM_OBJECT(IDirectDrawImpl, IDirectDraw, DD); TRACE("(%p)->(%p,%p)\n",This,ddimpl,DDSD); @@ -1720,7 +1720,7 @@ IDirectDrawSurfaceImpl_Initialize(IDirectDrawSurface7 *iface, static HRESULT WINAPI IDirectDrawSurfaceImpl_IsLost(IDirectDrawSurface7 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)\n", This); @@ -1763,7 +1763,7 @@ IDirectDrawSurfaceImpl_IsLost(IDirectDrawSurface7 *iface) static HRESULT WINAPI IDirectDrawSurfaceImpl_Restore(IDirectDrawSurface7 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)\n", This); @@ -1798,7 +1798,7 @@ IDirectDrawSurfaceImpl_SetOverlayPosition(IDirectDrawSurface7 *iface, LONG X, LONG Y) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%d,%d): Relay\n", This, X, Y); @@ -1833,7 +1833,7 @@ IDirectDrawSurfaceImpl_UpdateOverlay(IDirectDrawSurface7 *iface, DWORD Flags, LPDDOVERLAYFX FX) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawSurfaceImpl *Dst = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DstSurface); HRESULT hr; TRACE("(%p)->(%p,%p,%p,%x,%p): Relay\n", This, SrcRect, Dst, DstRect, Flags, FX); @@ -1870,7 +1870,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_UpdateOverlayDisplay(IDirectDrawSurface7 *iface, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%x)\n", This, Flags); return DDERR_UNSUPPORTED; } @@ -1893,7 +1893,7 @@ IDirectDrawSurfaceImpl_UpdateOverlayZOrder(IDirectDrawSurface7 *iface, DWORD Flags, IDirectDrawSurface7 *DDSRef) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; IDirectDrawSurfaceImpl *Ref = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DDSRef); @@ -1924,7 +1924,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetDDInterface(IDirectDrawSurface7 *iface, void **DD) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n",This,DD); @@ -1958,7 +1958,7 @@ IDirectDrawSurfaceImpl_GetDDInterface(IDirectDrawSurface7 *iface, /* This seems also windows implementation specific - I don't think WineD3D needs this */ static HRESULT WINAPI IDirectDrawSurfaceImpl_ChangeUniquenessValue(IDirectDrawSurface7 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; volatile IDirectDrawSurfaceImpl* vThis = This; TRACE("(%p)\n",This); @@ -1987,7 +1987,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_ChangeUniquenessValue(IDirectDrawSu static HRESULT WINAPI IDirectDrawSurfaceImpl_GetUniquenessValue(IDirectDrawSurface7 *iface, LPDWORD pValue) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n",This,pValue); EnterCriticalSection(&ddraw_cs); @@ -2013,7 +2013,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_SetLOD(IDirectDrawSurface7 *iface, DWORD MaxLOD) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; TRACE("(%p)->(%d)\n", This, MaxLOD); @@ -2055,7 +2055,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetLOD(IDirectDrawSurface7 *iface, DWORD *MaxLOD) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n", This, MaxLOD); if(!MaxLOD) @@ -2098,7 +2098,7 @@ IDirectDrawSurfaceImpl_BltFast(IDirectDrawSurface7 *iface, RECT *rsrc, DWORD trans) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; HRESULT hr; IDirectDrawSurfaceImpl *src = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Source); TRACE("(%p)->(%d,%d,%p,%p,%d): Relay\n", This, dstx, dsty, Source, rsrc, trans); @@ -2166,7 +2166,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetClipper(IDirectDrawSurface7 *iface, IDirectDrawClipper **Clipper) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; TRACE("(%p)->(%p)\n", This, Clipper); if(!Clipper) @@ -2204,7 +2204,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_SetClipper(IDirectDrawSurface7 *iface, IDirectDrawClipper *Clipper) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawClipperImpl *oldClipper = This->clipper; HWND clipWindow; HRESULT hr; @@ -2266,7 +2266,7 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface, DDSURFACEDESC2 *DDSD, DWORD Flags) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; WINED3DFORMAT newFormat = WINED3DFMT_UNKNOWN; HRESULT hr; TRACE("(%p)->(%p,%x)\n", This, DDSD, Flags); @@ -2361,7 +2361,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetPalette(IDirectDrawSurface7 *iface, IDirectDrawPalette **Pal) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IWineD3DPalette *wPal; HRESULT hr; TRACE("(%p)->(%p): Relay\n", This, Pal); @@ -2410,7 +2410,7 @@ SetColorKeyEnum(IDirectDrawSurface7 *surface, DDSURFACEDESC2 *desc, void *context) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, surface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)surface; struct SCKContext *ctx = context; HRESULT hr; @@ -2451,7 +2451,7 @@ IDirectDrawSurfaceImpl_SetColorKey(IDirectDrawSurface7 *iface, DWORD Flags, DDCOLORKEY *CKey) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; struct SCKContext ctx = { DD_OK, (WINEDDCOLORKEY *) CKey, Flags }; TRACE("(%p)->(%x,%p)\n", This, Flags, CKey); @@ -2540,7 +2540,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_SetPalette(IDirectDrawSurface7 *iface, IDirectDrawPalette *Pal) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface; IDirectDrawPalette *oldPal; IDirectDrawSurfaceImpl *surf; IDirectDrawPaletteImpl *PalImpl = ICOM_OBJECT(IDirectDrawPaletteImpl, IDirectDrawPalette, Pal); diff --git a/dlls/ddraw/surface_thunks.c b/dlls/ddraw/surface_thunks.c index a0786bb78b6..86bd0342f46 100644 --- a/dlls/ddraw/surface_thunks.c +++ b/dlls/ddraw/surface_thunks.c @@ -44,6 +44,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(ddraw_thunk); WINE_DECLARE_DEBUG_CHANNEL(ddraw); +static inline IDirectDrawSurfaceImpl *surface_from_surface3(IDirectDrawSurface3 *iface) +{ + return (IDirectDrawSurfaceImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirectDrawSurface3_vtbl)); +} + static HRESULT WINAPI IDirectDrawSurface3Impl_QueryInterface(LPDIRECTDRAWSURFACE3 This, REFIID iid, LPVOID *ppObj) @@ -60,7 +65,7 @@ IDirectDrawSurface3Impl_AddRef(LPDIRECTDRAWSURFACE3 This) static ULONG WINAPI IDirectDrawSurface3Impl_Release(LPDIRECTDRAWSURFACE3 iface) { - ICOM_THIS_FROM( IDirectDrawSurfaceImpl, IDirectDrawSurface3, iface); + IDirectDrawSurfaceImpl *This = surface_from_surface3(iface); TRACE("(%p)\n", This); return IDirectDrawSurface7_Release(CONVERT(iface)); } @@ -69,7 +74,7 @@ static HRESULT WINAPI IDirectDrawSurface3Impl_AddAttachedSurface(LPDIRECTDRAWSURFACE3 iface, LPDIRECTDRAWSURFACE3 pAttach) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface3, iface); + IDirectDrawSurfaceImpl *This = surface_from_surface3(iface); IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface3, pAttach); TRACE("(%p)->(%p)\n", This, Surf); @@ -303,7 +308,7 @@ static HRESULT WINAPI IDirectDrawSurface3Impl_GetSurfaceDesc(LPDIRECTDRAWSURFACE3 iface, LPDDSURFACEDESC pDDSD) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface3, iface); + IDirectDrawSurfaceImpl *This = surface_from_surface3(iface); TRACE_(ddraw)("(%p)->(%p)\n",This,pDDSD); diff --git a/dlls/ddraw/texture.c b/dlls/ddraw/texture.c index b3caabbd874..b6759c620bd 100644 --- a/dlls/ddraw/texture.c +++ b/dlls/ddraw/texture.c @@ -45,6 +45,16 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk); +static inline IDirectDrawSurfaceImpl *surface_from_texture1(IDirect3DTexture *iface) +{ + return (IDirectDrawSurfaceImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirect3DTexture_vtbl)); +} + +static inline IDirectDrawSurfaceImpl *surface_from_texture2(IDirect3DTexture2 *iface) +{ + return (IDirectDrawSurfaceImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirect3DTexture2_vtbl)); +} + /***************************************************************************** * IUnknown interfaces. They are thunks to IDirectDrawSurface7 *****************************************************************************/ @@ -53,7 +63,7 @@ Thunk_IDirect3DTextureImpl_2_QueryInterface(IDirect3DTexture2 *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture2(iface); TRACE("(%p)->(%s,%p) thunking to IDirectDrawSurface7 interface.\n", This, debugstr_guid(riid), obj); return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)This, riid, obj); } @@ -63,7 +73,7 @@ Thunk_IDirect3DTextureImpl_1_QueryInterface(IDirect3DTexture *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); TRACE("(%p)->(%s,%p) thunking to IDirectDrawSurface7 interface.\n", This, debugstr_guid(riid), obj); return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)This, riid, obj); @@ -72,7 +82,7 @@ Thunk_IDirect3DTextureImpl_1_QueryInterface(IDirect3DTexture *iface, static ULONG WINAPI Thunk_IDirect3DTextureImpl_2_AddRef(IDirect3DTexture2 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture2(iface); TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This); return IDirectDrawSurface7_AddRef((IDirectDrawSurface7 *)This); @@ -81,7 +91,7 @@ Thunk_IDirect3DTextureImpl_2_AddRef(IDirect3DTexture2 *iface) static ULONG WINAPI Thunk_IDirect3DTextureImpl_1_AddRef(IDirect3DTexture *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This); return IDirectDrawSurface7_AddRef(COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture, IDirectDrawSurface7, iface)); @@ -90,7 +100,7 @@ Thunk_IDirect3DTextureImpl_1_AddRef(IDirect3DTexture *iface) static ULONG WINAPI Thunk_IDirect3DTextureImpl_2_Release(IDirect3DTexture2 *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture2(iface); TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This); return IDirectDrawSurface7_Release((IDirectDrawSurface7 *)This); @@ -100,7 +110,7 @@ Thunk_IDirect3DTextureImpl_2_Release(IDirect3DTexture2 *iface) static ULONG WINAPI Thunk_IDirect3DTextureImpl_1_Release(IDirect3DTexture *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This); return IDirectDrawSurface7_Release(COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture, IDirectDrawSurface7, iface)); @@ -127,7 +137,7 @@ IDirect3DTextureImpl_1_Initialize(IDirect3DTexture *iface, IDirect3DDevice *Direct3DDevice, IDirectDrawSurface *DDSurface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); IDirect3DDeviceImpl *d3d = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice, Direct3DDevice); IDirectDrawSurfaceImpl *surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface3, DDSurface); TRACE("(%p)->(%p,%p) Not implemented\n", This, d3d, surf); @@ -152,7 +162,7 @@ IDirect3DTextureImpl_PaletteChanged(IDirect3DTexture2 *iface, DWORD Start, DWORD Count) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture2(iface); FIXME("(%p)->(%08x,%08x): stub!\n", This, Start, Count); return D3D_OK; } @@ -162,7 +172,7 @@ Thunk_IDirect3DTextureImpl_1_PaletteChanged(IDirect3DTexture *iface, DWORD Start, DWORD Count) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); TRACE("(%p)->(%08x,%08x) thunking to IDirect3DTexture2 interface.\n", This, Start, Count); return IDirect3DTexture2_PaletteChanged(COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture, IDirect3DTexture2, iface), @@ -184,7 +194,7 @@ Thunk_IDirect3DTextureImpl_1_PaletteChanged(IDirect3DTexture *iface, static HRESULT WINAPI IDirect3DTextureImpl_1_Unload(IDirect3DTexture *iface) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); TRACE("(%p)->(): not implemented!\n", This); return DDERR_UNSUPPORTED; } @@ -208,7 +218,7 @@ IDirect3DTextureImpl_GetHandle(IDirect3DTexture2 *iface, IDirect3DDevice2 *Direct3DDevice2, D3DTEXTUREHANDLE *lpHandle) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture2(iface); IDirect3DDeviceImpl *d3d = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice2, Direct3DDevice2); TRACE("(%p)->(%p,%p)\n", This, d3d, lpHandle); @@ -236,7 +246,7 @@ Thunk_IDirect3DTextureImpl_1_GetHandle(IDirect3DTexture *iface, LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); IDirect3DDeviceImpl *d3d = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice, lpDirect3DDevice); IDirect3DTexture2 *d3d_texture2 = (IDirect3DTexture2 *)&This->IDirect3DTexture2_vtbl; IDirect3DDevice2 *d3d_device2 = (IDirect3DDevice2 *)&d3d->IDirect3DDevice2_vtbl; @@ -294,7 +304,7 @@ static HRESULT WINAPI IDirect3DTextureImpl_Load(IDirect3DTexture2 *iface, IDirect3DTexture2 *D3DTexture2) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture2(iface); IDirectDrawSurfaceImpl *src_ptr = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture2, D3DTexture2); HRESULT ret_value = D3D_OK; if(src_ptr == This) @@ -468,7 +478,7 @@ static HRESULT WINAPI Thunk_IDirect3DTextureImpl_1_Load(IDirect3DTexture *iface, IDirect3DTexture *D3DTexture) { - ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface); + IDirectDrawSurfaceImpl *This = surface_from_texture1(iface); IDirectDrawSurfaceImpl *Texture = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture, D3DTexture); TRACE("(%p)->(%p) thunking to IDirect3DTexture2 interface.\n", This, Texture); diff --git a/dlls/ddraw/vertexbuffer.c b/dlls/ddraw/vertexbuffer.c index 3534616c9e7..2e001178b88 100644 --- a/dlls/ddraw/vertexbuffer.c +++ b/dlls/ddraw/vertexbuffer.c @@ -44,6 +44,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d7); WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk); +static inline IDirect3DVertexBufferImpl *vb_from_vb1(IDirect3DVertexBuffer *iface) +{ + return (IDirect3DVertexBufferImpl *)((char*)iface + - FIELD_OFFSET(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer_vtbl)); +} /***************************************************************************** * IUnknown Methods @@ -69,7 +74,7 @@ IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBuffer7 *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj); /* By default, set the object pointer to NULL */ @@ -105,7 +110,7 @@ Thunk_IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertexBuffer *iface, REFIID riid, void **obj) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, debugstr_guid(riid), obj); return IDirect3DVertexBuffer7_QueryInterface((IDirect3DVertexBuffer7 *)This, riid, obj); @@ -123,7 +128,7 @@ Thunk_IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertexBuffer *iface, static ULONG WINAPI IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p/%p)->() incrementing from %u.\n", This, iface, ref - 1); @@ -134,7 +139,7 @@ IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface) static ULONG WINAPI Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This); return IDirect3DVertexBuffer7_AddRef((IDirect3DVertexBuffer7 *)This); @@ -153,7 +158,7 @@ Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface) static ULONG WINAPI IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); @@ -199,7 +204,7 @@ IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface) static ULONG WINAPI Thunk_IDirect3DVertexBufferImpl_1_Release(IDirect3DVertexBuffer *iface) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This); return IDirect3DVertexBuffer7_Release((IDirect3DVertexBuffer7 *)This); @@ -234,7 +239,7 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface, void **Data, DWORD *Size) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; WINED3DVERTEXBUFFER_DESC Desc; HRESULT hr; TRACE("(%p)->(%08x,%p,%p)\n", This, Flags, Data, Size); @@ -269,7 +274,7 @@ Thunk_IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *iface, void **Data, DWORD *Size) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->(%08x,%p,%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, Flags, Data, Size); return IDirect3DVertexBuffer7_Lock((IDirect3DVertexBuffer7 *)This, Flags, Data, Size); @@ -287,7 +292,7 @@ Thunk_IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *iface, static HRESULT WINAPI IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; HRESULT hr; TRACE("(%p)->()\n", This); @@ -301,7 +306,7 @@ IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface) static HRESULT WINAPI Thunk_IDirect3DVertexBufferImpl_1_Unlock(IDirect3DVertexBuffer *iface) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This); return IDirect3DVertexBuffer7_Unlock((IDirect3DVertexBuffer7 *)This); @@ -340,7 +345,7 @@ IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexBuffer7 *iface, IDirect3DDevice7 *D3DDevice, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DVertexBufferImpl *Src = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, SrcBuffer); IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice7, D3DDevice); BOOL oldClip, doClip; @@ -413,7 +418,7 @@ Thunk_IDirect3DVertexBufferImpl_1_ProcessVertices(IDirect3DVertexBuffer *iface, IDirect3DDevice3 *D3DDevice, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); IDirect3DVertexBufferImpl *Src = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, SrcBuffer); IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice3, D3DDevice); @@ -440,7 +445,7 @@ static HRESULT WINAPI IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface, D3DVERTEXBUFFERDESC *Desc) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; WINED3DVERTEXBUFFER_DESC WDesc; HRESULT hr; TRACE("(%p)->(%p)\n", This, Desc); @@ -470,7 +475,7 @@ static HRESULT WINAPI Thunk_IDirect3DVertexBufferImpl_1_GetVertexBufferDesc(IDirect3DVertexBuffer *iface, D3DVERTEXBUFFERDESC *Desc) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, Desc); return IDirect3DVertexBuffer7_GetVertexBufferDesc((IDirect3DVertexBuffer7 *)This, Desc); @@ -495,7 +500,7 @@ IDirect3DVertexBufferImpl_Optimize(IDirect3DVertexBuffer7 *iface, IDirect3DDevice7 *D3DDevice, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice7, D3DDevice); static BOOL hide = FALSE; @@ -520,7 +525,7 @@ Thunk_IDirect3DVertexBufferImpl_1_Optimize(IDirect3DVertexBuffer *iface, IDirect3DDevice3 *D3DDevice, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface); + IDirect3DVertexBufferImpl *This = vb_from_vb1(iface); IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice3, D3DDevice); TRACE_(ddraw_thunk)("(%p)->(%p,%08x) thunking to IDirect3DVertexBuffer7 interface.\n", This, D3D, Flags); @@ -559,7 +564,7 @@ IDirect3DVertexBufferImpl_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface, IDirect3DDevice7 *D3DDevice, DWORD Flags) { - ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface); + IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface; IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice7, D3DDevice); FIXME("(%p)->(%08x,%08x,%08x,%p,%08x,%p,%08x): stub!\n", This, VertexOp, DestIndex, Count, StrideData, VertexTypeDesc, D3D, Flags); return DD_OK; diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c index 497a68c5c90..c13396d7d51 100644 --- a/dlls/ddraw/viewport.c +++ b/dlls/ddraw/viewport.c @@ -177,7 +177,7 @@ IDirect3DViewportImpl_QueryInterface(IDirect3DViewport3 *iface, static ULONG WINAPI IDirect3DViewportImpl_AddRef(IDirect3DViewport3 *iface) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; ULONG ref = InterlockedIncrement(&This->ref); TRACE("(%p)->() incrementing from %u.\n", This, ref - 1); @@ -197,7 +197,7 @@ IDirect3DViewportImpl_AddRef(IDirect3DViewport3 *iface) static ULONG WINAPI IDirect3DViewportImpl_Release(IDirect3DViewport3 *iface) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; ULONG ref = InterlockedDecrement(&This->ref); TRACE("(%p)->() decrementing from %u.\n", This, ref + 1); @@ -250,7 +250,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_GetViewport(IDirect3DViewport3 *iface, D3DVIEWPORT *lpData) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; DWORD dwSize; TRACE("(%p/%p)->(%p)\n", This, iface, lpData); @@ -290,7 +290,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_SetViewport(IDirect3DViewport3 *iface, D3DVIEWPORT *lpData) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; LPDIRECT3DVIEWPORT3 current_viewport; TRACE("(%p/%p)->(%p)\n", This, iface, lpData); @@ -358,7 +358,7 @@ IDirect3DViewportImpl_TransformVertices(IDirect3DViewport3 *iface, DWORD dwFlags, DWORD *lpOffScreen) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; D3DMATRIX view_mat, world_mat, proj_mat, mat; float *in; float *out; @@ -497,7 +497,7 @@ IDirect3DViewportImpl_LightElements(IDirect3DViewport3 *iface, DWORD dwElementCount, LPD3DLIGHTDATA lpData) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; TRACE("(%p)->(%08x,%p): Unimplemented!\n", This, dwElementCount, lpData); return DDERR_UNSUPPORTED; } @@ -518,7 +518,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_SetBackground(IDirect3DViewport3 *iface, D3DMATERIALHANDLE hMat) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; TRACE("(%p)->(%d)\n", This, hMat); EnterCriticalSection(&ddraw_cs); @@ -572,7 +572,7 @@ IDirect3DViewportImpl_GetBackground(IDirect3DViewport3 *iface, D3DMATERIALHANDLE *lphMat, BOOL *lpValid) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; TRACE("(%p)->(%p,%p)\n", This, lphMat, lpValid); EnterCriticalSection(&ddraw_cs); @@ -612,7 +612,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_SetBackgroundDepth(IDirect3DViewport3 *iface, IDirectDrawSurface *lpDDSurface) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("(%p)->(%p): stub!\n", This, lpDDSurface); return D3D_OK; } @@ -636,7 +636,7 @@ IDirect3DViewportImpl_GetBackgroundDepth(IDirect3DViewport3 *iface, IDirectDrawSurface **lplpDDSurface, LPBOOL lpValid) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("(%p)->(%p,%p): stub!\n", This, lplpDDSurface, lpValid); return DD_OK; } @@ -664,7 +664,7 @@ IDirect3DViewportImpl_Clear(IDirect3DViewport3 *iface, D3DRECT *lpRects, DWORD dwFlags) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; DWORD color = 0x00000000; HRESULT hr; LPDIRECT3DVIEWPORT3 current_viewport; @@ -726,7 +726,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_AddLight(IDirect3DViewport3 *iface, IDirect3DLight *lpDirect3DLight) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DLightImpl *lpDirect3DLightImpl = ICOM_OBJECT(IDirect3DLightImpl, IDirect3DLight, lpDirect3DLight); DWORD i = 0; DWORD map = This->map_lights; @@ -782,7 +782,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_DeleteLight(IDirect3DViewport3 *iface, IDirect3DLight *lpDirect3DLight) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; IDirect3DLightImpl *lpDirect3DLightImpl = ICOM_OBJECT(IDirect3DLightImpl, IDirect3DLight, lpDirect3DLight); IDirect3DLightImpl *cur_light, *prev_light = NULL; @@ -829,7 +829,7 @@ IDirect3DViewportImpl_NextLight(IDirect3DViewport3 *iface, IDirect3DLight **lplpDirect3DLight, DWORD dwFlags) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("(%p)->(%p,%p,%08x): stub!\n", This, lpDirect3DLight, lplpDirect3DLight, dwFlags); return D3D_OK; } @@ -858,7 +858,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_GetViewport2(IDirect3DViewport3 *iface, D3DVIEWPORT2 *lpData) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; DWORD dwSize; TRACE("(%p)->(%p)\n", This, lpData); @@ -897,7 +897,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_SetViewport2(IDirect3DViewport3 *iface, D3DVIEWPORT2 *lpData) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; LPDIRECT3DVIEWPORT3 current_viewport; TRACE("(%p/%p)->(%p)\n", This, iface, lpData); @@ -945,7 +945,7 @@ static HRESULT WINAPI IDirect3DViewportImpl_SetBackgroundDepth2(IDirect3DViewport3 *iface, IDirectDrawSurface4 *lpDDS) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("(%p)->(%p): stub!\n", This, lpDDS); return D3D_OK; } @@ -968,7 +968,7 @@ IDirect3DViewportImpl_GetBackgroundDepth2(IDirect3DViewport3 *iface, IDirectDrawSurface4 **lplpDDS, BOOL *lpValid) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; FIXME("(%p/%p)->(%p,%p): stub!\n", This, iface, lplpDDS, lpValid); return D3D_OK; } @@ -998,7 +998,7 @@ IDirect3DViewportImpl_Clear2(IDirect3DViewport3 *iface, D3DVALUE dvZ, DWORD dwStencil) { - ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface); + IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface; HRESULT hr; LPDIRECT3DVIEWPORT3 current_viewport; IDirect3DDevice3 *d3d_device3; -- GitLab