Commit 3dffb34f authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

d3drm: Get rid of the IDirect3DRMImpl typedef.

parent 8644b627
...@@ -50,85 +50,83 @@ static const char* get_IID_string(const GUID* guid) ...@@ -50,85 +50,83 @@ static const char* get_IID_string(const GUID* guid)
return "?"; return "?";
} }
typedef struct { struct d3drm
{
IDirect3DRM IDirect3DRM_iface; IDirect3DRM IDirect3DRM_iface;
IDirect3DRM2 IDirect3DRM2_iface; IDirect3DRM2 IDirect3DRM2_iface;
IDirect3DRM3 IDirect3DRM3_iface; IDirect3DRM3 IDirect3DRM3_iface;
LONG ref; LONG ref;
} IDirect3DRMImpl; };
static inline IDirect3DRMImpl *impl_from_IDirect3DRM(IDirect3DRM *iface) static inline struct d3drm *impl_from_IDirect3DRM(IDirect3DRM *iface)
{ {
return CONTAINING_RECORD(iface, IDirect3DRMImpl, IDirect3DRM_iface); return CONTAINING_RECORD(iface, struct d3drm, IDirect3DRM_iface);
} }
static inline IDirect3DRMImpl *impl_from_IDirect3DRM2(IDirect3DRM2 *iface) static inline struct d3drm *impl_from_IDirect3DRM2(IDirect3DRM2 *iface)
{ {
return CONTAINING_RECORD(iface, IDirect3DRMImpl, IDirect3DRM2_iface); return CONTAINING_RECORD(iface, struct d3drm, IDirect3DRM2_iface);
} }
static inline IDirect3DRMImpl *impl_from_IDirect3DRM3(IDirect3DRM3 *iface) static inline struct d3drm *impl_from_IDirect3DRM3(IDirect3DRM3 *iface)
{ {
return CONTAINING_RECORD(iface, IDirect3DRMImpl, IDirect3DRM3_iface); return CONTAINING_RECORD(iface, struct d3drm, IDirect3DRM3_iface);
} }
/*** IUnknown methods ***/ static HRESULT WINAPI d3drm1_QueryInterface(IDirect3DRM *iface, REFIID riid, void **out)
static HRESULT WINAPI IDirect3DRMImpl_QueryInterface(IDirect3DRM* iface, REFIID riid, void** ppvObject)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
TRACE("(%p/%p)->(%s,%p)\n", iface, This, debugstr_guid(riid), ppvObject); TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
*ppvObject = NULL; if (IsEqualGUID(riid, &IID_IDirect3DRM)
|| IsEqualGUID(riid, &IID_IUnknown))
if(IsEqualGUID(riid, &IID_IUnknown) ||
IsEqualGUID(riid, &IID_IDirect3DRM))
{ {
*ppvObject = &This->IDirect3DRM_iface; *out = &d3drm->IDirect3DRM_iface;
} }
else if(IsEqualGUID(riid, &IID_IDirect3DRM2)) else if (IsEqualGUID(riid, &IID_IDirect3DRM2))
{ {
*ppvObject = &This->IDirect3DRM2_iface; *out = &d3drm->IDirect3DRM2_iface;
} }
else if(IsEqualGUID(riid, &IID_IDirect3DRM3)) else if (IsEqualGUID(riid, &IID_IDirect3DRM3))
{ {
*ppvObject = &This->IDirect3DRM3_iface; *out = &d3drm->IDirect3DRM3_iface;
} }
else else
{ {
FIXME("interface %s not implemented\n", debugstr_guid(riid)); *out = NULL;
WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
return E_NOINTERFACE; return E_NOINTERFACE;
} }
IDirect3DRM_AddRef(iface); IUnknown_AddRef((IUnknown *)*out);
return S_OK; return S_OK;
} }
static ULONG WINAPI IDirect3DRMImpl_AddRef(IDirect3DRM* iface) static ULONG WINAPI d3drm1_AddRef(IDirect3DRM *iface)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
ULONG ref = InterlockedIncrement(&This->ref); ULONG refcount = InterlockedIncrement(&d3drm->ref);
TRACE("(%p/%p)->(): new ref = %d\n", iface, This, ref); TRACE("%p increasing refcount to %u.\n", iface, refcount);
return ref; return refcount;
} }
static ULONG WINAPI IDirect3DRMImpl_Release(IDirect3DRM* iface) static ULONG WINAPI d3drm1_Release(IDirect3DRM *iface)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
ULONG ref = InterlockedDecrement(&This->ref); ULONG refcount = InterlockedDecrement(&d3drm->ref);
TRACE("(%p/%p)->(): new ref = %d\n", iface, This, ref); TRACE("%p decreasing refcount to %u.\n", iface, refcount);
if (!ref) if (!refcount)
HeapFree(GetProcessHeap(), 0, This); HeapFree(GetProcessHeap(), 0, d3drm);
return ref; return refcount;
} }
/*** IDirect3DRM methods ***/ static HRESULT WINAPI d3drm1_CreateObject(IDirect3DRM *iface,
static HRESULT WINAPI IDirect3DRMImpl_CreateObject(IDirect3DRM *iface,
REFCLSID clsid, IUnknown *outer, REFIID iid, void **out) REFCLSID clsid, IUnknown *outer, REFIID iid, void **out)
{ {
FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n", FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n",
...@@ -137,7 +135,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateObject(IDirect3DRM *iface, ...@@ -137,7 +135,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateObject(IDirect3DRM *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateFrame(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateFrame(IDirect3DRM *iface,
IDirect3DRMFrame *parent_frame, IDirect3DRMFrame **frame) IDirect3DRMFrame *parent_frame, IDirect3DRMFrame **frame)
{ {
TRACE("iface %p, parent_frame %p, frame %p.\n", iface, parent_frame, frame); TRACE("iface %p, parent_frame %p, frame %p.\n", iface, parent_frame, frame);
...@@ -145,67 +143,65 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateFrame(IDirect3DRM *iface, ...@@ -145,67 +143,65 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateFrame(IDirect3DRM *iface,
return Direct3DRMFrame_create(&IID_IDirect3DRMFrame, (IUnknown *)parent_frame, (IUnknown **)frame); return Direct3DRMFrame_create(&IID_IDirect3DRMFrame, (IUnknown *)parent_frame, (IUnknown **)frame);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateMesh(IDirect3DRM *iface, IDirect3DRMMesh **mesh) static HRESULT WINAPI d3drm1_CreateMesh(IDirect3DRM *iface, IDirect3DRMMesh **mesh)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
TRACE("iface %p, mesh %p.\n", iface, mesh); TRACE("iface %p, mesh %p.\n", iface, mesh);
return IDirect3DRM3_CreateMesh(&d3drm->IDirect3DRM3_iface, mesh); return IDirect3DRM3_CreateMesh(&d3drm->IDirect3DRM3_iface, mesh);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateMeshBuilder(IDirect3DRM *iface, IDirect3DRMMeshBuilder **mesh_builder) static HRESULT WINAPI d3drm1_CreateMeshBuilder(IDirect3DRM *iface, IDirect3DRMMeshBuilder **mesh_builder)
{ {
TRACE("iface %p, mesh_builder %p.\n", iface, mesh_builder); TRACE("iface %p, mesh_builder %p.\n", iface, mesh_builder);
return Direct3DRMMeshBuilder_create(&IID_IDirect3DRMMeshBuilder, (IUnknown **)mesh_builder); return Direct3DRMMeshBuilder_create(&IID_IDirect3DRMMeshBuilder, (IUnknown **)mesh_builder);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateFace(IDirect3DRM* iface, IDirect3DRMFace **face) static HRESULT WINAPI d3drm1_CreateFace(IDirect3DRM *iface, IDirect3DRMFace **face)
{ {
TRACE("iface %p, face %p.\n", iface, face); TRACE("iface %p, face %p.\n", iface, face);
return Direct3DRMFace_create(&IID_IDirect3DRMFace, (IUnknown **)face); return Direct3DRMFace_create(&IID_IDirect3DRMFace, (IUnknown **)face);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateAnimation(IDirect3DRM *iface, IDirect3DRMAnimation **animation) static HRESULT WINAPI d3drm1_CreateAnimation(IDirect3DRM *iface, IDirect3DRMAnimation **animation)
{ {
FIXME("iface %p, animation %p stub!\n", iface, animation); FIXME("iface %p, animation %p stub!\n", iface, animation);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateAnimationSet(IDirect3DRM *iface, IDirect3DRMAnimationSet **set) static HRESULT WINAPI d3drm1_CreateAnimationSet(IDirect3DRM *iface, IDirect3DRMAnimationSet **set)
{ {
FIXME("iface %p, set %p stub!\n", iface, set); FIXME("iface %p, set %p stub!\n", iface, set);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateTexture(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateTexture(IDirect3DRM *iface,
D3DRMIMAGE *image, IDirect3DRMTexture **texture) D3DRMIMAGE *image, IDirect3DRMTexture **texture)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
FIXME("(%p/%p)->(%p,%p): partial stub\n", iface, This, image, texture);
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateLight(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateLight(IDirect3DRM *iface,
D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light) D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
TRACE("iface %p, type %#x, color 0x%08x, light %p.\n", iface, type, color, light); TRACE("iface %p, type %#x, color 0x%08x, light %p.\n", iface, type, color, light);
return IDirect3DRM3_CreateLight(&d3drm->IDirect3DRM3_iface, type, color, light); return IDirect3DRM3_CreateLight(&d3drm->IDirect3DRM3_iface, type, color, light);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateLightRGB(IDirect3DRM *iface, D3DRMLIGHTTYPE type, static HRESULT WINAPI d3drm1_CreateLightRGB(IDirect3DRM *iface, D3DRMLIGHTTYPE type,
D3DVALUE red, D3DVALUE green, D3DVALUE blue, IDirect3DRMLight **light) D3DVALUE red, D3DVALUE green, D3DVALUE blue, IDirect3DRMLight **light)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
TRACE("iface %p, type %#x, red %.8e, green %.8e, blue %.8e, light %p.\n", TRACE("iface %p, type %#x, red %.8e, green %.8e, blue %.8e, light %p.\n",
iface, type, red, green, blue, light); iface, type, red, green, blue, light);
...@@ -213,17 +209,17 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateLightRGB(IDirect3DRM *iface, D3DRMLI ...@@ -213,17 +209,17 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateLightRGB(IDirect3DRM *iface, D3DRMLI
return IDirect3DRM3_CreateLightRGB(&d3drm->IDirect3DRM3_iface, type, red, green, blue, light); return IDirect3DRM3_CreateLightRGB(&d3drm->IDirect3DRM3_iface, type, red, green, blue, light);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateMaterial(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateMaterial(IDirect3DRM *iface,
D3DVALUE power, IDirect3DRMMaterial **material) D3DVALUE power, IDirect3DRMMaterial **material)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
TRACE("iface %p, power %.8e, material %p.\n", iface, power, material); TRACE("iface %p, power %.8e, material %p.\n", iface, power, material);
return IDirect3DRM3_CreateMaterial(&d3drm->IDirect3DRM3_iface, power, (IDirect3DRMMaterial2 **)material); return IDirect3DRM3_CreateMaterial(&d3drm->IDirect3DRM3_iface, power, (IDirect3DRMMaterial2 **)material);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateDevice(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateDevice(IDirect3DRM *iface,
DWORD width, DWORD height, IDirect3DRMDevice **device) DWORD width, DWORD height, IDirect3DRMDevice **device)
{ {
FIXME("iface %p, width %u, height %u, device %p partial stub!\n", iface, width, height, device); FIXME("iface %p, width %u, height %u, device %p partial stub!\n", iface, width, height, device);
...@@ -231,50 +227,43 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateDevice(IDirect3DRM *iface, ...@@ -231,50 +227,43 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateDevice(IDirect3DRM *iface,
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown **)device); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateDeviceFromSurface(IDirect3DRM *iface, GUID *pGUID, static HRESULT WINAPI d3drm1_CreateDeviceFromSurface(IDirect3DRM *iface, GUID *guid,
IDirectDraw *pDD, IDirectDrawSurface *pDDSBack, IDirect3DRMDevice **ppDevice) IDirectDraw *ddraw, IDirectDrawSurface *backbuffer, IDirect3DRMDevice **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, guid %s, ddraw %p, backbuffer %p, device %p partial stub.\n",
iface, debugstr_guid(guid), ddraw, backbuffer, device);
FIXME("(%p/%p)->(%s,%p,%p,%p): partial stub\n", iface, This, debugstr_guid(pGUID), pDD, return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown **)device);
pDDSBack, ppDevice);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown**)ppDevice);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateDeviceFromD3D(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateDeviceFromD3D(IDirect3DRM *iface,
IDirect3D *pD3D, IDirect3DDevice *pD3DDev, IDirect3DRMDevice **ppDevice) IDirect3D *d3d, IDirect3DDevice *d3d_device, IDirect3DRMDevice **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, d3d %p, d3d_device %p, device %p partial stub.\n",
iface, d3d, d3d_device, device);
FIXME("(%p/%p)->(%p,%p,%p): partial stub\n", iface, This, pD3D, pD3DDev, ppDevice);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown**)ppDevice); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateDeviceFromClipper(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateDeviceFromClipper(IDirect3DRM *iface,
IDirectDrawClipper *pDDClipper, GUID *pGUID, int width, int height, IDirectDrawClipper *clipper, GUID *guid, int width, int height,
IDirect3DRMDevice **ppDevice) IDirect3DRMDevice **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, clipper %p, guid %s, width %d, height %d, device %p.\n",
iface, clipper, debugstr_guid(guid), width, height, device);
FIXME("(%p/%p)->(%p,%s,%d,%d,%p): partial stub\n", iface, This, pDDClipper,
debugstr_guid(pGUID), width, height, ppDevice);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown**)ppDevice); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateTextureFromSurface(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateTextureFromSurface(IDirect3DRM *iface,
IDirectDrawSurface *pDDS, IDirect3DRMTexture **ppTexture) IDirectDrawSurface *surface, IDirect3DRMTexture **texture)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, surface %p, texture %p stub!\n", iface, surface, texture);
FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, pDDS, ppTexture);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateShadow(IDirect3DRM *iface, IDirect3DRMVisual *visual, static HRESULT WINAPI d3drm1_CreateShadow(IDirect3DRM *iface, IDirect3DRMVisual *visual,
IDirect3DRMLight *light, D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, IDirect3DRMLight *light, D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
IDirect3DRMVisual **shadow) IDirect3DRMVisual **shadow)
{ {
...@@ -284,7 +273,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateShadow(IDirect3DRM *iface, IDirect3D ...@@ -284,7 +273,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateShadow(IDirect3DRM *iface, IDirect3D
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateViewport(IDirect3DRM *iface, IDirect3DRMDevice *device, static HRESULT WINAPI d3drm1_CreateViewport(IDirect3DRM *iface, IDirect3DRMDevice *device,
IDirect3DRMFrame *camera, DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport **viewport) IDirect3DRMFrame *camera, DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport **viewport)
{ {
FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u, viewport %p partial stub!\n", FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u, viewport %p partial stub!\n",
...@@ -293,7 +282,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateViewport(IDirect3DRM *iface, IDirect ...@@ -293,7 +282,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateViewport(IDirect3DRM *iface, IDirect
return Direct3DRMViewport_create(&IID_IDirect3DRMViewport, (IUnknown **)viewport); return Direct3DRMViewport_create(&IID_IDirect3DRMViewport, (IUnknown **)viewport);
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateWrap(IDirect3DRM *iface, D3DRMWRAPTYPE type, IDirect3DRMFrame *frame, static HRESULT WINAPI d3drm1_CreateWrap(IDirect3DRM *iface, D3DRMWRAPTYPE type, IDirect3DRMFrame *frame,
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv,
IDirect3DRMWrap **wrap) IDirect3DRMWrap **wrap)
...@@ -305,7 +294,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateWrap(IDirect3DRM *iface, D3DRMWRAPTY ...@@ -305,7 +294,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateWrap(IDirect3DRM *iface, D3DRMWRAPTY
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_CreateUserVisual(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_CreateUserVisual(IDirect3DRM *iface,
D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual) D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual)
{ {
FIXME("iface %p, cb %p, ctx %p visual %p stub!\n", iface, cb, ctx, visual); FIXME("iface %p, cb %p, ctx %p visual %p stub!\n", iface, cb, ctx, visual);
...@@ -313,7 +302,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateUserVisual(IDirect3DRM *iface, ...@@ -313,7 +302,7 @@ static HRESULT WINAPI IDirect3DRMImpl_CreateUserVisual(IDirect3DRM *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_LoadTexture(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_LoadTexture(IDirect3DRM *iface,
const char *filename, IDirect3DRMTexture **texture) const char *filename, IDirect3DRMTexture **texture)
{ {
FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture); FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture);
...@@ -321,7 +310,7 @@ static HRESULT WINAPI IDirect3DRMImpl_LoadTexture(IDirect3DRM *iface, ...@@ -321,7 +310,7 @@ static HRESULT WINAPI IDirect3DRMImpl_LoadTexture(IDirect3DRM *iface,
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRMImpl_LoadTextureFromResource(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_LoadTextureFromResource(IDirect3DRM *iface,
HRSRC resource, IDirect3DRMTexture **texture) HRSRC resource, IDirect3DRMTexture **texture)
{ {
FIXME("iface %p, resource %p, texture %p stub!\n", iface, resource, texture); FIXME("iface %p, resource %p, texture %p stub!\n", iface, resource, texture);
...@@ -329,53 +318,49 @@ static HRESULT WINAPI IDirect3DRMImpl_LoadTextureFromResource(IDirect3DRM *iface ...@@ -329,53 +318,49 @@ static HRESULT WINAPI IDirect3DRMImpl_LoadTextureFromResource(IDirect3DRM *iface
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRMImpl_SetSearchPath(IDirect3DRM *iface, const char *path) static HRESULT WINAPI d3drm1_SetSearchPath(IDirect3DRM *iface, const char *path)
{ {
FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path)); FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_AddSearchPath(IDirect3DRM *iface, const char *path) static HRESULT WINAPI d3drm1_AddSearchPath(IDirect3DRM *iface, const char *path)
{ {
FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path)); FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_GetSearchPath(IDirect3DRM *iface, DWORD *size, char *path) static HRESULT WINAPI d3drm1_GetSearchPath(IDirect3DRM *iface, DWORD *size, char *path)
{ {
FIXME("iface %p, size %p, path %p stub!\n", iface, size, path); FIXME("iface %p, size %p, path %p stub!\n", iface, size, path);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_SetDefaultTextureColors(IDirect3DRM* iface, DWORD nb_colors) static HRESULT WINAPI d3drm1_SetDefaultTextureColors(IDirect3DRM *iface, DWORD color_count)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, color_count %u stub!\n", iface, color_count);
FIXME("(%p/%p)->(%d): stub\n", iface, This, nb_colors);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_SetDefaultTextureShades(IDirect3DRM* iface, DWORD nb_shades) static HRESULT WINAPI d3drm1_SetDefaultTextureShades(IDirect3DRM *iface, DWORD shade_count)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, shade_count %u stub!\n", iface, shade_count);
FIXME("(%p/%p)->(%d): stub\n", iface, This, nb_shades);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_GetDevices(IDirect3DRM *iface, IDirect3DRMDeviceArray **array) static HRESULT WINAPI d3drm1_GetDevices(IDirect3DRM *iface, IDirect3DRMDeviceArray **array)
{ {
FIXME("iface %p, array %p stub!\n", iface, array); FIXME("iface %p, array %p stub!\n", iface, array);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_GetNamedObject(IDirect3DRM *iface, static HRESULT WINAPI d3drm1_GetNamedObject(IDirect3DRM *iface,
const char *name, IDirect3DRMObject **object) const char *name, IDirect3DRMObject **object)
{ {
FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object); FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object);
...@@ -383,18 +368,18 @@ static HRESULT WINAPI IDirect3DRMImpl_GetNamedObject(IDirect3DRM *iface, ...@@ -383,18 +368,18 @@ static HRESULT WINAPI IDirect3DRMImpl_GetNamedObject(IDirect3DRM *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_EnumerateObjects(IDirect3DRM *iface, D3DRMOBJECTCALLBACK cb, void *ctx) static HRESULT WINAPI d3drm1_EnumerateObjects(IDirect3DRM *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
{ {
FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRMImpl_Load(IDirect3DRM *iface, void *source, void *object_id, IID **iids, static HRESULT WINAPI d3drm1_Load(IDirect3DRM *iface, void *source, void *object_id, IID **iids,
DWORD iid_count, D3DRMLOADOPTIONS flags, D3DRMLOADCALLBACK load_cb, void *load_ctx, DWORD iid_count, D3DRMLOADOPTIONS flags, D3DRMLOADCALLBACK load_cb, void *load_ctx,
D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx, IDirect3DRMFrame *parent_frame) D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx, IDirect3DRMFrame *parent_frame)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM(iface); struct d3drm *d3drm = impl_from_IDirect3DRM(iface);
IDirect3DRMFrame3 *parent_frame3 = NULL; IDirect3DRMFrame3 *parent_frame3 = NULL;
HRESULT hr = D3DRM_OK; HRESULT hr = D3DRM_OK;
...@@ -414,77 +399,74 @@ static HRESULT WINAPI IDirect3DRMImpl_Load(IDirect3DRM *iface, void *source, voi ...@@ -414,77 +399,74 @@ static HRESULT WINAPI IDirect3DRMImpl_Load(IDirect3DRM *iface, void *source, voi
return hr; return hr;
} }
static HRESULT WINAPI IDirect3DRMImpl_Tick(IDirect3DRM* iface, D3DVALUE tick) static HRESULT WINAPI d3drm1_Tick(IDirect3DRM *iface, D3DVALUE tick)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM(iface); FIXME("iface %p, tick %.8e stub!\n", iface, tick);
FIXME("(%p/%p)->(%f): stub\n", iface, This, tick);
return E_NOTIMPL; return E_NOTIMPL;
} }
static const struct IDirect3DRMVtbl Direct3DRM_Vtbl = static const struct IDirect3DRMVtbl d3drm1_vtbl =
{ {
IDirect3DRMImpl_QueryInterface, d3drm1_QueryInterface,
IDirect3DRMImpl_AddRef, d3drm1_AddRef,
IDirect3DRMImpl_Release, d3drm1_Release,
IDirect3DRMImpl_CreateObject, d3drm1_CreateObject,
IDirect3DRMImpl_CreateFrame, d3drm1_CreateFrame,
IDirect3DRMImpl_CreateMesh, d3drm1_CreateMesh,
IDirect3DRMImpl_CreateMeshBuilder, d3drm1_CreateMeshBuilder,
IDirect3DRMImpl_CreateFace, d3drm1_CreateFace,
IDirect3DRMImpl_CreateAnimation, d3drm1_CreateAnimation,
IDirect3DRMImpl_CreateAnimationSet, d3drm1_CreateAnimationSet,
IDirect3DRMImpl_CreateTexture, d3drm1_CreateTexture,
IDirect3DRMImpl_CreateLight, d3drm1_CreateLight,
IDirect3DRMImpl_CreateLightRGB, d3drm1_CreateLightRGB,
IDirect3DRMImpl_CreateMaterial, d3drm1_CreateMaterial,
IDirect3DRMImpl_CreateDevice, d3drm1_CreateDevice,
IDirect3DRMImpl_CreateDeviceFromSurface, d3drm1_CreateDeviceFromSurface,
IDirect3DRMImpl_CreateDeviceFromD3D, d3drm1_CreateDeviceFromD3D,
IDirect3DRMImpl_CreateDeviceFromClipper, d3drm1_CreateDeviceFromClipper,
IDirect3DRMImpl_CreateTextureFromSurface, d3drm1_CreateTextureFromSurface,
IDirect3DRMImpl_CreateShadow, d3drm1_CreateShadow,
IDirect3DRMImpl_CreateViewport, d3drm1_CreateViewport,
IDirect3DRMImpl_CreateWrap, d3drm1_CreateWrap,
IDirect3DRMImpl_CreateUserVisual, d3drm1_CreateUserVisual,
IDirect3DRMImpl_LoadTexture, d3drm1_LoadTexture,
IDirect3DRMImpl_LoadTextureFromResource, d3drm1_LoadTextureFromResource,
IDirect3DRMImpl_SetSearchPath, d3drm1_SetSearchPath,
IDirect3DRMImpl_AddSearchPath, d3drm1_AddSearchPath,
IDirect3DRMImpl_GetSearchPath, d3drm1_GetSearchPath,
IDirect3DRMImpl_SetDefaultTextureColors, d3drm1_SetDefaultTextureColors,
IDirect3DRMImpl_SetDefaultTextureShades, d3drm1_SetDefaultTextureShades,
IDirect3DRMImpl_GetDevices, d3drm1_GetDevices,
IDirect3DRMImpl_GetNamedObject, d3drm1_GetNamedObject,
IDirect3DRMImpl_EnumerateObjects, d3drm1_EnumerateObjects,
IDirect3DRMImpl_Load, d3drm1_Load,
IDirect3DRMImpl_Tick d3drm1_Tick,
}; };
static HRESULT WINAPI d3drm2_QueryInterface(IDirect3DRM2 *iface, REFIID riid, void **out)
/*** IUnknown methods ***/
static HRESULT WINAPI IDirect3DRM2Impl_QueryInterface(IDirect3DRM2* iface, REFIID riid,
void** ppvObject)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
return IDirect3DRM_QueryInterface(&This->IDirect3DRM_iface, riid, ppvObject);
return d3drm1_QueryInterface(&d3drm->IDirect3DRM_iface, riid, out);
} }
static ULONG WINAPI IDirect3DRM2Impl_AddRef(IDirect3DRM2* iface) static ULONG WINAPI d3drm2_AddRef(IDirect3DRM2 *iface)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
return IDirect3DRM_AddRef(&This->IDirect3DRM_iface);
return d3drm1_AddRef(&d3drm->IDirect3DRM_iface);
} }
static ULONG WINAPI IDirect3DRM2Impl_Release(IDirect3DRM2* iface) static ULONG WINAPI d3drm2_Release(IDirect3DRM2 *iface)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
return IDirect3DRM_Release(&This->IDirect3DRM_iface);
return d3drm1_Release(&d3drm->IDirect3DRM_iface);
} }
/*** IDirect3DRM2 methods ***/ static HRESULT WINAPI d3drm2_CreateObject(IDirect3DRM2 *iface,
static HRESULT WINAPI IDirect3DRM2Impl_CreateObject(IDirect3DRM2 *iface,
REFCLSID clsid, IUnknown *outer, REFIID iid, void **out) REFCLSID clsid, IUnknown *outer, REFIID iid, void **out)
{ {
FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n", FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n",
...@@ -493,77 +475,73 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateObject(IDirect3DRM2 *iface, ...@@ -493,77 +475,73 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateObject(IDirect3DRM2 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateFrame(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateFrame(IDirect3DRM2 *iface,
IDirect3DRMFrame *parent_frame, IDirect3DRMFrame2 **frame) IDirect3DRMFrame *parent_frame, IDirect3DRMFrame2 **frame)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); TRACE("iface %p, parent_frame %p, frame %p.\n", iface, parent_frame, frame);
TRACE("(%p/%p)->(%p,%p)\n", iface, This, parent_frame, frame);
return Direct3DRMFrame_create(&IID_IDirect3DRMFrame2, (IUnknown*)parent_frame, (IUnknown**)frame); return Direct3DRMFrame_create(&IID_IDirect3DRMFrame2, (IUnknown*)parent_frame, (IUnknown**)frame);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateMesh(IDirect3DRM2 *iface, IDirect3DRMMesh **mesh) static HRESULT WINAPI d3drm2_CreateMesh(IDirect3DRM2 *iface, IDirect3DRMMesh **mesh)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
TRACE("iface %p, mesh %p.\n", iface, mesh); TRACE("iface %p, mesh %p.\n", iface, mesh);
return IDirect3DRM3_CreateMesh(&d3drm->IDirect3DRM3_iface, mesh); return IDirect3DRM3_CreateMesh(&d3drm->IDirect3DRM3_iface, mesh);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateMeshBuilder(IDirect3DRM2 *iface, IDirect3DRMMeshBuilder2 **mesh_builder) static HRESULT WINAPI d3drm2_CreateMeshBuilder(IDirect3DRM2 *iface, IDirect3DRMMeshBuilder2 **mesh_builder)
{ {
TRACE("iface %p, mesh_builder %p.\n", iface, mesh_builder); TRACE("iface %p, mesh_builder %p.\n", iface, mesh_builder);
return Direct3DRMMeshBuilder_create(&IID_IDirect3DRMMeshBuilder2, (IUnknown **)mesh_builder); return Direct3DRMMeshBuilder_create(&IID_IDirect3DRMMeshBuilder2, (IUnknown **)mesh_builder);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateFace(IDirect3DRM2 *iface, IDirect3DRMFace **face) static HRESULT WINAPI d3drm2_CreateFace(IDirect3DRM2 *iface, IDirect3DRMFace **face)
{ {
TRACE("iface %p, face %p.\n", iface, face); TRACE("iface %p, face %p.\n", iface, face);
return Direct3DRMFace_create(&IID_IDirect3DRMFace, (IUnknown **)face); return Direct3DRMFace_create(&IID_IDirect3DRMFace, (IUnknown **)face);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateAnimation(IDirect3DRM2 *iface, IDirect3DRMAnimation **animation) static HRESULT WINAPI d3drm2_CreateAnimation(IDirect3DRM2 *iface, IDirect3DRMAnimation **animation)
{ {
FIXME("iface %p, animation %p stub!\n", iface, animation); FIXME("iface %p, animation %p stub!\n", iface, animation);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateAnimationSet(IDirect3DRM2 *iface, IDirect3DRMAnimationSet **set) static HRESULT WINAPI d3drm2_CreateAnimationSet(IDirect3DRM2 *iface, IDirect3DRMAnimationSet **set)
{ {
FIXME("iface %p, set %p stub!\n", iface, set); FIXME("iface %p, set %p stub!\n", iface, set);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateTexture(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateTexture(IDirect3DRM2 *iface,
D3DRMIMAGE *image, IDirect3DRMTexture2 **texture) D3DRMIMAGE *image, IDirect3DRMTexture2 **texture)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
FIXME("(%p/%p)->(%p,%p): partial stub\n", iface, This, image, texture);
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateLight(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateLight(IDirect3DRM2 *iface,
D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light) D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
TRACE("iface %p, type %#x, color 0x%08x, light %p.\n", iface, type, color, light); TRACE("iface %p, type %#x, color 0x%08x, light %p.\n", iface, type, color, light);
return IDirect3DRM3_CreateLight(&d3drm->IDirect3DRM3_iface, type, color, light); return IDirect3DRM3_CreateLight(&d3drm->IDirect3DRM3_iface, type, color, light);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateLightRGB(IDirect3DRM2 *iface, D3DRMLIGHTTYPE type, static HRESULT WINAPI d3drm2_CreateLightRGB(IDirect3DRM2 *iface, D3DRMLIGHTTYPE type,
D3DVALUE red, D3DVALUE green, D3DVALUE blue, IDirect3DRMLight **light) D3DVALUE red, D3DVALUE green, D3DVALUE blue, IDirect3DRMLight **light)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
TRACE("iface %p, type %#x, red %.8e, green %.8e, blue %.8e, light %p.\n", TRACE("iface %p, type %#x, red %.8e, green %.8e, blue %.8e, light %p.\n",
iface, type, red, green, blue, light); iface, type, red, green, blue, light);
...@@ -571,17 +549,17 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateLightRGB(IDirect3DRM2 *iface, D3DRM ...@@ -571,17 +549,17 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateLightRGB(IDirect3DRM2 *iface, D3DRM
return IDirect3DRM3_CreateLightRGB(&d3drm->IDirect3DRM3_iface, type, red, green, blue, light); return IDirect3DRM3_CreateLightRGB(&d3drm->IDirect3DRM3_iface, type, red, green, blue, light);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateMaterial(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateMaterial(IDirect3DRM2 *iface,
D3DVALUE power, IDirect3DRMMaterial **material) D3DVALUE power, IDirect3DRMMaterial **material)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
TRACE("iface %p, power %.8e, material %p.\n", iface, power, material); TRACE("iface %p, power %.8e, material %p.\n", iface, power, material);
return IDirect3DRM3_CreateMaterial(&d3drm->IDirect3DRM3_iface, power, (IDirect3DRMMaterial2 **)material); return IDirect3DRM3_CreateMaterial(&d3drm->IDirect3DRM3_iface, power, (IDirect3DRMMaterial2 **)material);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateDevice(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateDevice(IDirect3DRM2 *iface,
DWORD width, DWORD height, IDirect3DRMDevice2 **device) DWORD width, DWORD height, IDirect3DRMDevice2 **device)
{ {
FIXME("iface %p, width %u, height %u, device %p.\n", iface, width, height, device); FIXME("iface %p, width %u, height %u, device %p.\n", iface, width, height, device);
...@@ -589,50 +567,43 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateDevice(IDirect3DRM2 *iface, ...@@ -589,50 +567,43 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateDevice(IDirect3DRM2 *iface,
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown **)device); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateDeviceFromSurface(IDirect3DRM2 *iface, GUID *pGUID, static HRESULT WINAPI d3drm2_CreateDeviceFromSurface(IDirect3DRM2 *iface, GUID *guid,
IDirectDraw *pDD, IDirectDrawSurface *pDDSBack, IDirect3DRMDevice2 **ppDevice) IDirectDraw *ddraw, IDirectDrawSurface *backbuffer, IDirect3DRMDevice2 **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, guid %s, ddraw %p, backbuffer %p, device %p partial stub.\n",
iface, debugstr_guid(guid), ddraw, backbuffer, device);
FIXME("(%p/%p)->(%s,%p,%p,%p): partial stub\n", iface, This, debugstr_guid(pGUID), return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown **)device);
pDD, pDDSBack, ppDevice);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown**)ppDevice);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateDeviceFromD3D(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateDeviceFromD3D(IDirect3DRM2 *iface,
IDirect3D2 *pD3D, IDirect3DDevice2 *pD3DDev, IDirect3DRMDevice2 **ppDevice) IDirect3D2 *d3d, IDirect3DDevice2 *d3d_device, IDirect3DRMDevice2 **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, d3d %p, d3d_device %p, device %p partial stub.\n",
iface, d3d, d3d_device, device);
FIXME("(%p/%p)->(%p,%p,%p): partial stub\n", iface, This, pD3D, pD3DDev, ppDevice);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown**)ppDevice); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateDeviceFromClipper(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateDeviceFromClipper(IDirect3DRM2 *iface,
IDirectDrawClipper *pDDClipper, GUID *pGUID, int width, int height, IDirectDrawClipper *clipper, GUID *guid, int width, int height,
IDirect3DRMDevice2 **ppDevice) IDirect3DRMDevice2 **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, clipper %p, guid %s, width %d, height %d, device %p partial stub.\n",
iface, clipper, debugstr_guid(guid), width, height, device);
FIXME("(%p/%p)->(%p,%s,%d,%d,%p): partial stub\n", iface, This, pDDClipper, return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown **)device);
debugstr_guid(pGUID), width, height, ppDevice);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice2, (IUnknown**)ppDevice);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateTextureFromSurface(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateTextureFromSurface(IDirect3DRM2 *iface,
IDirectDrawSurface *pDDS, IDirect3DRMTexture2 **ppTexture) IDirectDrawSurface *surface, IDirect3DRMTexture2 **texture)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, surface %p, texture %p stub!\n", iface, surface, texture);
FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, pDDS, ppTexture);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateShadow(IDirect3DRM2 *iface, IDirect3DRMVisual *visual, static HRESULT WINAPI d3drm2_CreateShadow(IDirect3DRM2 *iface, IDirect3DRMVisual *visual,
IDirect3DRMLight *light, D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, IDirect3DRMLight *light, D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz,
IDirect3DRMVisual **shadow) IDirect3DRMVisual **shadow)
{ {
...@@ -642,7 +613,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateShadow(IDirect3DRM2 *iface, IDirect ...@@ -642,7 +613,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateShadow(IDirect3DRM2 *iface, IDirect
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateViewport(IDirect3DRM2 *iface, IDirect3DRMDevice *device, static HRESULT WINAPI d3drm2_CreateViewport(IDirect3DRM2 *iface, IDirect3DRMDevice *device,
IDirect3DRMFrame *camera, DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport **viewport) IDirect3DRMFrame *camera, DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport **viewport)
{ {
FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u, viewport %p partial stub!\n", FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u, viewport %p partial stub!\n",
...@@ -651,7 +622,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateViewport(IDirect3DRM2 *iface, IDire ...@@ -651,7 +622,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateViewport(IDirect3DRM2 *iface, IDire
return Direct3DRMViewport_create(&IID_IDirect3DRMViewport, (IUnknown **)viewport); return Direct3DRMViewport_create(&IID_IDirect3DRMViewport, (IUnknown **)viewport);
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateWrap(IDirect3DRM2 *iface, D3DRMWRAPTYPE type, IDirect3DRMFrame *frame, static HRESULT WINAPI d3drm2_CreateWrap(IDirect3DRM2 *iface, D3DRMWRAPTYPE type, IDirect3DRMFrame *frame,
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv,
IDirect3DRMWrap **wrap) IDirect3DRMWrap **wrap)
...@@ -663,7 +634,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateWrap(IDirect3DRM2 *iface, D3DRMWRAP ...@@ -663,7 +634,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateWrap(IDirect3DRM2 *iface, D3DRMWRAP
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateUserVisual(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_CreateUserVisual(IDirect3DRM2 *iface,
D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual) D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual)
{ {
FIXME("iface %p, cb %p, ctx %p, visual %p stub!\n", iface, cb, ctx, visual); FIXME("iface %p, cb %p, ctx %p, visual %p stub!\n", iface, cb, ctx, visual);
...@@ -671,7 +642,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateUserVisual(IDirect3DRM2 *iface, ...@@ -671,7 +642,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_CreateUserVisual(IDirect3DRM2 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_LoadTexture(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_LoadTexture(IDirect3DRM2 *iface,
const char *filename, IDirect3DRMTexture2 **texture) const char *filename, IDirect3DRMTexture2 **texture)
{ {
FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture); FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture);
...@@ -679,7 +650,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_LoadTexture(IDirect3DRM2 *iface, ...@@ -679,7 +650,7 @@ static HRESULT WINAPI IDirect3DRM2Impl_LoadTexture(IDirect3DRM2 *iface,
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRM2Impl_LoadTextureFromResource(IDirect3DRM2 *iface, HMODULE module, static HRESULT WINAPI d3drm2_LoadTextureFromResource(IDirect3DRM2 *iface, HMODULE module,
const char *resource_name, const char *resource_type, IDirect3DRMTexture2 **texture) const char *resource_name, const char *resource_type, IDirect3DRMTexture2 **texture)
{ {
FIXME("iface %p, resource_name %s, resource_type %s, texture %p stub!\n", FIXME("iface %p, resource_name %s, resource_type %s, texture %p stub!\n",
...@@ -688,53 +659,49 @@ static HRESULT WINAPI IDirect3DRM2Impl_LoadTextureFromResource(IDirect3DRM2 *ifa ...@@ -688,53 +659,49 @@ static HRESULT WINAPI IDirect3DRM2Impl_LoadTextureFromResource(IDirect3DRM2 *ifa
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture2, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRM2Impl_SetSearchPath(IDirect3DRM2 *iface, const char *path) static HRESULT WINAPI d3drm2_SetSearchPath(IDirect3DRM2 *iface, const char *path)
{ {
FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path)); FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_AddSearchPath(IDirect3DRM2 *iface, const char *path) static HRESULT WINAPI d3drm2_AddSearchPath(IDirect3DRM2 *iface, const char *path)
{ {
FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path)); FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_GetSearchPath(IDirect3DRM2 *iface, DWORD *size, char *path) static HRESULT WINAPI d3drm2_GetSearchPath(IDirect3DRM2 *iface, DWORD *size, char *path)
{ {
FIXME("iface %p, size %p, path %p stub!\n", iface, size, path); FIXME("iface %p, size %p, path %p stub!\n", iface, size, path);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_SetDefaultTextureColors(IDirect3DRM2* iface, DWORD nb_colors) static HRESULT WINAPI d3drm2_SetDefaultTextureColors(IDirect3DRM2 *iface, DWORD color_count)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, color_count %u stub!\n", iface, color_count);
FIXME("(%p/%p)->(%d): stub\n", iface, This, nb_colors);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_SetDefaultTextureShades(IDirect3DRM2* iface, DWORD nb_shades) static HRESULT WINAPI d3drm2_SetDefaultTextureShades(IDirect3DRM2 *iface, DWORD shade_count)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, shade_count %u stub!\n", iface, shade_count);
FIXME("(%p/%p)->(%d): stub\n", iface, This, nb_shades);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_GetDevices(IDirect3DRM2 *iface, IDirect3DRMDeviceArray **array) static HRESULT WINAPI d3drm2_GetDevices(IDirect3DRM2 *iface, IDirect3DRMDeviceArray **array)
{ {
FIXME("iface %p, array %p stub!\n", iface, array); FIXME("iface %p, array %p stub!\n", iface, array);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_GetNamedObject(IDirect3DRM2 *iface, static HRESULT WINAPI d3drm2_GetNamedObject(IDirect3DRM2 *iface,
const char *name, IDirect3DRMObject **object) const char *name, IDirect3DRMObject **object)
{ {
FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object); FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object);
...@@ -742,18 +709,18 @@ static HRESULT WINAPI IDirect3DRM2Impl_GetNamedObject(IDirect3DRM2 *iface, ...@@ -742,18 +709,18 @@ static HRESULT WINAPI IDirect3DRM2Impl_GetNamedObject(IDirect3DRM2 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_EnumerateObjects(IDirect3DRM2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx) static HRESULT WINAPI d3drm2_EnumerateObjects(IDirect3DRM2 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
{ {
FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_Load(IDirect3DRM2 *iface, void *source, void *object_id, IID **iids, static HRESULT WINAPI d3drm2_Load(IDirect3DRM2 *iface, void *source, void *object_id, IID **iids,
DWORD iid_count, D3DRMLOADOPTIONS flags, D3DRMLOADCALLBACK load_cb, void *load_ctx, DWORD iid_count, D3DRMLOADOPTIONS flags, D3DRMLOADCALLBACK load_cb, void *load_ctx,
D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx, IDirect3DRMFrame *parent_frame) D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx, IDirect3DRMFrame *parent_frame)
{ {
IDirect3DRMImpl *d3drm = impl_from_IDirect3DRM2(iface); struct d3drm *d3drm = impl_from_IDirect3DRM2(iface);
IDirect3DRMFrame3 *parent_frame3 = NULL; IDirect3DRMFrame3 *parent_frame3 = NULL;
HRESULT hr = D3DRM_OK; HRESULT hr = D3DRM_OK;
...@@ -773,85 +740,82 @@ static HRESULT WINAPI IDirect3DRM2Impl_Load(IDirect3DRM2 *iface, void *source, v ...@@ -773,85 +740,82 @@ static HRESULT WINAPI IDirect3DRM2Impl_Load(IDirect3DRM2 *iface, void *source, v
return hr; return hr;
} }
static HRESULT WINAPI IDirect3DRM2Impl_Tick(IDirect3DRM2* iface, D3DVALUE tick) static HRESULT WINAPI d3drm2_Tick(IDirect3DRM2 *iface, D3DVALUE tick)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM2(iface); FIXME("iface %p, tick %.8e stub!\n", iface, tick);
FIXME("(%p/%p)->(%f): stub\n", iface, This, tick);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM2Impl_CreateProgressiveMesh(IDirect3DRM2 *iface, IDirect3DRMProgressiveMesh **mesh) static HRESULT WINAPI d3drm2_CreateProgressiveMesh(IDirect3DRM2 *iface, IDirect3DRMProgressiveMesh **mesh)
{ {
FIXME("iface %p, mesh %p stub!\n", iface, mesh); FIXME("iface %p, mesh %p stub!\n", iface, mesh);
return E_NOTIMPL; return E_NOTIMPL;
} }
static const struct IDirect3DRM2Vtbl Direct3DRM2_Vtbl = static const struct IDirect3DRM2Vtbl d3drm2_vtbl =
{ {
IDirect3DRM2Impl_QueryInterface, d3drm2_QueryInterface,
IDirect3DRM2Impl_AddRef, d3drm2_AddRef,
IDirect3DRM2Impl_Release, d3drm2_Release,
IDirect3DRM2Impl_CreateObject, d3drm2_CreateObject,
IDirect3DRM2Impl_CreateFrame, d3drm2_CreateFrame,
IDirect3DRM2Impl_CreateMesh, d3drm2_CreateMesh,
IDirect3DRM2Impl_CreateMeshBuilder, d3drm2_CreateMeshBuilder,
IDirect3DRM2Impl_CreateFace, d3drm2_CreateFace,
IDirect3DRM2Impl_CreateAnimation, d3drm2_CreateAnimation,
IDirect3DRM2Impl_CreateAnimationSet, d3drm2_CreateAnimationSet,
IDirect3DRM2Impl_CreateTexture, d3drm2_CreateTexture,
IDirect3DRM2Impl_CreateLight, d3drm2_CreateLight,
IDirect3DRM2Impl_CreateLightRGB, d3drm2_CreateLightRGB,
IDirect3DRM2Impl_CreateMaterial, d3drm2_CreateMaterial,
IDirect3DRM2Impl_CreateDevice, d3drm2_CreateDevice,
IDirect3DRM2Impl_CreateDeviceFromSurface, d3drm2_CreateDeviceFromSurface,
IDirect3DRM2Impl_CreateDeviceFromD3D, d3drm2_CreateDeviceFromD3D,
IDirect3DRM2Impl_CreateDeviceFromClipper, d3drm2_CreateDeviceFromClipper,
IDirect3DRM2Impl_CreateTextureFromSurface, d3drm2_CreateTextureFromSurface,
IDirect3DRM2Impl_CreateShadow, d3drm2_CreateShadow,
IDirect3DRM2Impl_CreateViewport, d3drm2_CreateViewport,
IDirect3DRM2Impl_CreateWrap, d3drm2_CreateWrap,
IDirect3DRM2Impl_CreateUserVisual, d3drm2_CreateUserVisual,
IDirect3DRM2Impl_LoadTexture, d3drm2_LoadTexture,
IDirect3DRM2Impl_LoadTextureFromResource, d3drm2_LoadTextureFromResource,
IDirect3DRM2Impl_SetSearchPath, d3drm2_SetSearchPath,
IDirect3DRM2Impl_AddSearchPath, d3drm2_AddSearchPath,
IDirect3DRM2Impl_GetSearchPath, d3drm2_GetSearchPath,
IDirect3DRM2Impl_SetDefaultTextureColors, d3drm2_SetDefaultTextureColors,
IDirect3DRM2Impl_SetDefaultTextureShades, d3drm2_SetDefaultTextureShades,
IDirect3DRM2Impl_GetDevices, d3drm2_GetDevices,
IDirect3DRM2Impl_GetNamedObject, d3drm2_GetNamedObject,
IDirect3DRM2Impl_EnumerateObjects, d3drm2_EnumerateObjects,
IDirect3DRM2Impl_Load, d3drm2_Load,
IDirect3DRM2Impl_Tick, d3drm2_Tick,
IDirect3DRM2Impl_CreateProgressiveMesh d3drm2_CreateProgressiveMesh,
}; };
static HRESULT WINAPI d3drm3_QueryInterface(IDirect3DRM3 *iface, REFIID riid, void **out)
/*** IUnknown methods ***/
static HRESULT WINAPI IDirect3DRM3Impl_QueryInterface(IDirect3DRM3* iface, REFIID riid,
void** ppvObject)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); struct d3drm *d3drm = impl_from_IDirect3DRM3(iface);
return IDirect3DRM_QueryInterface(&This->IDirect3DRM_iface, riid, ppvObject);
return d3drm1_QueryInterface(&d3drm->IDirect3DRM_iface, riid, out);
} }
static ULONG WINAPI IDirect3DRM3Impl_AddRef(IDirect3DRM3* iface) static ULONG WINAPI d3drm3_AddRef(IDirect3DRM3 *iface)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); struct d3drm *d3drm = impl_from_IDirect3DRM3(iface);
return IDirect3DRM_AddRef(&This->IDirect3DRM_iface);
return d3drm1_AddRef(&d3drm->IDirect3DRM_iface);
} }
static ULONG WINAPI IDirect3DRM3Impl_Release(IDirect3DRM3* iface) static ULONG WINAPI d3drm3_Release(IDirect3DRM3 *iface)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); struct d3drm *d3drm = impl_from_IDirect3DRM3(iface);
return IDirect3DRM_Release(&This->IDirect3DRM_iface);
return d3drm1_Release(&d3drm->IDirect3DRM_iface);
} }
/*** IDirect3DRM3 methods ***/ static HRESULT WINAPI d3drm3_CreateObject(IDirect3DRM3 *iface,
static HRESULT WINAPI IDirect3DRM3Impl_CreateObject(IDirect3DRM3 *iface,
REFCLSID clsid, IUnknown *outer, REFIID iid, void **out) REFCLSID clsid, IUnknown *outer, REFIID iid, void **out)
{ {
FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n", FIXME("iface %p, clsid %s, outer %p, iid %s, out %p stub!\n",
...@@ -860,7 +824,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateObject(IDirect3DRM3 *iface, ...@@ -860,7 +824,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateObject(IDirect3DRM3 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateFrame(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateFrame(IDirect3DRM3 *iface,
IDirect3DRMFrame3 *parent, IDirect3DRMFrame3 **frame) IDirect3DRMFrame3 *parent, IDirect3DRMFrame3 **frame)
{ {
TRACE("iface %p, parent %p, frame %p.\n", iface, parent, frame); TRACE("iface %p, parent %p, frame %p.\n", iface, parent, frame);
...@@ -868,52 +832,50 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateFrame(IDirect3DRM3 *iface, ...@@ -868,52 +832,50 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateFrame(IDirect3DRM3 *iface,
return Direct3DRMFrame_create(&IID_IDirect3DRMFrame3, (IUnknown *)parent, (IUnknown **)frame); return Direct3DRMFrame_create(&IID_IDirect3DRMFrame3, (IUnknown *)parent, (IUnknown **)frame);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateMesh(IDirect3DRM3 *iface, IDirect3DRMMesh **mesh) static HRESULT WINAPI d3drm3_CreateMesh(IDirect3DRM3 *iface, IDirect3DRMMesh **mesh)
{ {
TRACE("iface %p, mesh %p.\n", iface, mesh); TRACE("iface %p, mesh %p.\n", iface, mesh);
return Direct3DRMMesh_create(mesh); return Direct3DRMMesh_create(mesh);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateMeshBuilder(IDirect3DRM3 *iface, IDirect3DRMMeshBuilder3 **mesh_builder) static HRESULT WINAPI d3drm3_CreateMeshBuilder(IDirect3DRM3 *iface, IDirect3DRMMeshBuilder3 **mesh_builder)
{ {
TRACE("iface %p, mesh_builder %p.\n", iface, mesh_builder); TRACE("iface %p, mesh_builder %p.\n", iface, mesh_builder);
return Direct3DRMMeshBuilder_create(&IID_IDirect3DRMMeshBuilder3, (IUnknown **)mesh_builder); return Direct3DRMMeshBuilder_create(&IID_IDirect3DRMMeshBuilder3, (IUnknown **)mesh_builder);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateFace(IDirect3DRM3 *iface, IDirect3DRMFace2 **face) static HRESULT WINAPI d3drm3_CreateFace(IDirect3DRM3 *iface, IDirect3DRMFace2 **face)
{ {
TRACE("iface %p, face %p.\n", iface, face); TRACE("iface %p, face %p.\n", iface, face);
return Direct3DRMFace_create(&IID_IDirect3DRMFace2, (IUnknown **)face); return Direct3DRMFace_create(&IID_IDirect3DRMFace2, (IUnknown **)face);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateAnimation(IDirect3DRM3 *iface, IDirect3DRMAnimation2 **animation) static HRESULT WINAPI d3drm3_CreateAnimation(IDirect3DRM3 *iface, IDirect3DRMAnimation2 **animation)
{ {
FIXME("iface %p, animation %p stub!\n", iface, animation); FIXME("iface %p, animation %p stub!\n", iface, animation);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateAnimationSet(IDirect3DRM3 *iface, IDirect3DRMAnimationSet2 **set) static HRESULT WINAPI d3drm3_CreateAnimationSet(IDirect3DRM3 *iface, IDirect3DRMAnimationSet2 **set)
{ {
FIXME("iface %p, set %p stub!\n", iface, set); FIXME("iface %p, set %p stub!\n", iface, set);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateTexture(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateTexture(IDirect3DRM3 *iface,
D3DRMIMAGE *image, IDirect3DRMTexture3 **texture) D3DRMIMAGE *image, IDirect3DRMTexture3 **texture)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, image %p, texture %p partial stub.\n", iface, image, texture);
FIXME("(%p/%p)->(%p,%p): partial stub\n", iface, This, image, texture);
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateLight(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateLight(IDirect3DRM3 *iface,
D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light) D3DRMLIGHTTYPE type, D3DCOLOR color, IDirect3DRMLight **light)
{ {
HRESULT hr; HRESULT hr;
...@@ -929,7 +891,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateLight(IDirect3DRM3 *iface, ...@@ -929,7 +891,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateLight(IDirect3DRM3 *iface,
return hr; return hr;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateLightRGB(IDirect3DRM3 *iface, D3DRMLIGHTTYPE type, static HRESULT WINAPI d3drm3_CreateLightRGB(IDirect3DRM3 *iface, D3DRMLIGHTTYPE type,
D3DVALUE red, D3DVALUE green, D3DVALUE blue, IDirect3DRMLight **light) D3DVALUE red, D3DVALUE green, D3DVALUE blue, IDirect3DRMLight **light)
{ {
HRESULT hr; HRESULT hr;
...@@ -946,7 +908,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateLightRGB(IDirect3DRM3 *iface, D3DRM ...@@ -946,7 +908,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateLightRGB(IDirect3DRM3 *iface, D3DRM
return hr; return hr;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateMaterial(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateMaterial(IDirect3DRM3 *iface,
D3DVALUE power, IDirect3DRMMaterial2 **material) D3DVALUE power, IDirect3DRMMaterial2 **material)
{ {
HRESULT hr; HRESULT hr;
...@@ -959,7 +921,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateMaterial(IDirect3DRM3 *iface, ...@@ -959,7 +921,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateMaterial(IDirect3DRM3 *iface,
return hr; return hr;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateDevice(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateDevice(IDirect3DRM3 *iface,
DWORD width, DWORD height, IDirect3DRMDevice3 **device) DWORD width, DWORD height, IDirect3DRMDevice3 **device)
{ {
FIXME("iface %p, width %u, height %u, device %p partial stub!\n", iface, width, height, device); FIXME("iface %p, width %u, height %u, device %p partial stub!\n", iface, width, height, device);
...@@ -967,39 +929,35 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateDevice(IDirect3DRM3 *iface, ...@@ -967,39 +929,35 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateDevice(IDirect3DRM3 *iface,
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown **)device); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateDeviceFromSurface(IDirect3DRM3 *iface, GUID *pGUID, static HRESULT WINAPI d3drm3_CreateDeviceFromSurface(IDirect3DRM3 *iface, GUID *guid,
IDirectDraw *dd, IDirectDrawSurface *back, IDirect3DRMDevice3 **device) IDirectDraw *ddraw, IDirectDrawSurface *backbuffer, IDirect3DRMDevice3 **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, guid %s, ddraw %p, backbuffer %p, device %p partial stub.\n",
iface, debugstr_guid(guid), ddraw, backbuffer, device);
FIXME("(%p/%p)->(%s,%p,%p,%p): partial stub\n", iface, This, debugstr_guid(pGUID), dd, back, device); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown **)device);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown**)device);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateDeviceFromD3D(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateDeviceFromD3D(IDirect3DRM3 *iface,
IDirect3D2 *d3d, IDirect3DDevice2 *d3ddev, IDirect3DRMDevice3 **device) IDirect3D2 *d3d, IDirect3DDevice2 *d3d_device, IDirect3DRMDevice3 **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, d3d %p, d3d_device %p, device %p partial stub.\n",
iface, d3d, d3d_device, device);
FIXME("(%p/%p)->(%p,%p,%p): partial stub\n", iface, This, d3d, d3ddev, device);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown**)device); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateDeviceFromClipper(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateDeviceFromClipper(IDirect3DRM3 *iface,
IDirectDrawClipper *clipper, GUID *guid, int width, int height, IDirectDrawClipper *clipper, GUID *guid, int width, int height,
IDirect3DRMDevice3 **device) IDirect3DRMDevice3 **device)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, clipper %p, guid %s, width %d, height %d, device %p partial stub.\n",
iface, clipper, debugstr_guid(guid), width, height, device);
FIXME("(%p/%p)->(%p,%s,%d,%d,%p): partial stub\n", iface, This, clipper, debugstr_guid(guid),
width, height, device);
return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown**)device); return Direct3DRMDevice_create(&IID_IDirect3DRMDevice3, (IUnknown **)device);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateShadow(IDirect3DRM3 *iface, IUnknown *object, IDirect3DRMLight *light, static HRESULT WINAPI d3drm3_CreateShadow(IDirect3DRM3 *iface, IUnknown *object, IDirect3DRMLight *light,
D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, IDirect3DRMShadow2 **shadow) D3DVALUE px, D3DVALUE py, D3DVALUE pz, D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, IDirect3DRMShadow2 **shadow)
{ {
FIXME("iface %p, object %p, light %p, px %.8e, py %.8e, pz %.8e, nx %.8e, ny %.8e, nz %.8e, shadow %p stub!\n", FIXME("iface %p, object %p, light %p, px %.8e, py %.8e, pz %.8e, nx %.8e, ny %.8e, nz %.8e, shadow %p stub!\n",
...@@ -1008,17 +966,15 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateShadow(IDirect3DRM3 *iface, IUnknow ...@@ -1008,17 +966,15 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateShadow(IDirect3DRM3 *iface, IUnknow
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateTextureFromSurface(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateTextureFromSurface(IDirect3DRM3 *iface,
IDirectDrawSurface *surface, IDirect3DRMTexture3 **texture) IDirectDrawSurface *surface, IDirect3DRMTexture3 **texture)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, surface %p, texture %p stub!\n", iface, surface, texture);
FIXME("(%p/%p)->(%p,%p): stub\n", iface, This, surface, texture);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateViewport(IDirect3DRM3 *iface, IDirect3DRMDevice3 *device, static HRESULT WINAPI d3drm3_CreateViewport(IDirect3DRM3 *iface, IDirect3DRMDevice3 *device,
IDirect3DRMFrame3 *camera, DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport2 **viewport) IDirect3DRMFrame3 *camera, DWORD x, DWORD y, DWORD width, DWORD height, IDirect3DRMViewport2 **viewport)
{ {
FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u, viewport %p partial stub!\n", FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u, viewport %p partial stub!\n",
...@@ -1027,7 +983,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateViewport(IDirect3DRM3 *iface, IDire ...@@ -1027,7 +983,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateViewport(IDirect3DRM3 *iface, IDire
return Direct3DRMViewport_create(&IID_IDirect3DRMViewport2, (IUnknown **)viewport); return Direct3DRMViewport_create(&IID_IDirect3DRMViewport2, (IUnknown **)viewport);
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateWrap(IDirect3DRM3 *iface, D3DRMWRAPTYPE type, IDirect3DRMFrame3 *frame, static HRESULT WINAPI d3drm3_CreateWrap(IDirect3DRM3 *iface, D3DRMWRAPTYPE type, IDirect3DRMFrame3 *frame,
D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz, D3DVALUE dx, D3DVALUE dy, D3DVALUE dz,
D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv, D3DVALUE ux, D3DVALUE uy, D3DVALUE uz, D3DVALUE ou, D3DVALUE ov, D3DVALUE su, D3DVALUE sv,
IDirect3DRMWrap **wrap) IDirect3DRMWrap **wrap)
...@@ -1039,7 +995,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateWrap(IDirect3DRM3 *iface, D3DRMWRAP ...@@ -1039,7 +995,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateWrap(IDirect3DRM3 *iface, D3DRMWRAP
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateUserVisual(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateUserVisual(IDirect3DRM3 *iface,
D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual) D3DRMUSERVISUALCALLBACK cb, void *ctx, IDirect3DRMUserVisual **visual)
{ {
FIXME("iface %p, cb %p, ctx %p, visual %p stub!\n", iface, cb, ctx, visual); FIXME("iface %p, cb %p, ctx %p, visual %p stub!\n", iface, cb, ctx, visual);
...@@ -1047,7 +1003,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateUserVisual(IDirect3DRM3 *iface, ...@@ -1047,7 +1003,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateUserVisual(IDirect3DRM3 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_LoadTexture(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_LoadTexture(IDirect3DRM3 *iface,
const char *filename, IDirect3DRMTexture3 **texture) const char *filename, IDirect3DRMTexture3 **texture)
{ {
FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture); FIXME("iface %p, filename %s, texture %p stub!\n", iface, debugstr_a(filename), texture);
...@@ -1055,7 +1011,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_LoadTexture(IDirect3DRM3 *iface, ...@@ -1055,7 +1011,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_LoadTexture(IDirect3DRM3 *iface,
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRM3Impl_LoadTextureFromResource(IDirect3DRM3 *iface, HMODULE module, static HRESULT WINAPI d3drm3_LoadTextureFromResource(IDirect3DRM3 *iface, HMODULE module,
const char *resource_name, const char *resource_type, IDirect3DRMTexture3 **texture) const char *resource_name, const char *resource_type, IDirect3DRMTexture3 **texture)
{ {
FIXME("iface %p, module %p, resource_name %s, resource_type %s, texture %p stub!\n", FIXME("iface %p, module %p, resource_name %s, resource_type %s, texture %p stub!\n",
...@@ -1064,53 +1020,49 @@ static HRESULT WINAPI IDirect3DRM3Impl_LoadTextureFromResource(IDirect3DRM3 *ifa ...@@ -1064,53 +1020,49 @@ static HRESULT WINAPI IDirect3DRM3Impl_LoadTextureFromResource(IDirect3DRM3 *ifa
return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture); return Direct3DRMTexture_create(&IID_IDirect3DRMTexture3, (IUnknown **)texture);
} }
static HRESULT WINAPI IDirect3DRM3Impl_SetSearchPath(IDirect3DRM3 *iface, const char *path) static HRESULT WINAPI d3drm3_SetSearchPath(IDirect3DRM3 *iface, const char *path)
{ {
FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path)); FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_AddSearchPath(IDirect3DRM3* iface, const char *path) static HRESULT WINAPI d3drm3_AddSearchPath(IDirect3DRM3 *iface, const char *path)
{ {
FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path)); FIXME("iface %p, path %s stub!\n", iface, debugstr_a(path));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_GetSearchPath(IDirect3DRM3 *iface, DWORD *size, char *path) static HRESULT WINAPI d3drm3_GetSearchPath(IDirect3DRM3 *iface, DWORD *size, char *path)
{ {
FIXME("iface %p, size %p, path %p stub!\n", iface, size, path); FIXME("iface %p, size %p, path %p stub!\n", iface, size, path);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_SetDefaultTextureColors(IDirect3DRM3* iface, DWORD nb_colors) static HRESULT WINAPI d3drm3_SetDefaultTextureColors(IDirect3DRM3 *iface, DWORD color_count)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, color_count %u stub!\n", iface, color_count);
FIXME("(%p/%p)->(%d): stub\n", iface, This, nb_colors);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_SetDefaultTextureShades(IDirect3DRM3* iface, DWORD nb_shades) static HRESULT WINAPI d3drm3_SetDefaultTextureShades(IDirect3DRM3 *iface, DWORD shade_count)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, shade_count %u stub!\n", iface, shade_count);
FIXME("(%p/%p)->(%d): stub\n", iface, This, nb_shades);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_GetDevices(IDirect3DRM3 *iface, IDirect3DRMDeviceArray **array) static HRESULT WINAPI d3drm3_GetDevices(IDirect3DRM3 *iface, IDirect3DRMDeviceArray **array)
{ {
FIXME("iface %p, array %p stub!\n", iface, array); FIXME("iface %p, array %p stub!\n", iface, array);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_GetNamedObject(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_GetNamedObject(IDirect3DRM3 *iface,
const char *name, IDirect3DRMObject **object) const char *name, IDirect3DRMObject **object)
{ {
FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object); FIXME("iface %p, name %s, object %p stub!\n", iface, debugstr_a(name), object);
...@@ -1118,7 +1070,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_GetNamedObject(IDirect3DRM3 *iface, ...@@ -1118,7 +1070,7 @@ static HRESULT WINAPI IDirect3DRM3Impl_GetNamedObject(IDirect3DRM3 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_EnumerateObjects(IDirect3DRM3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx) static HRESULT WINAPI d3drm3_EnumerateObjects(IDirect3DRM3 *iface, D3DRMOBJECTCALLBACK cb, void *ctx)
{ {
FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx); FIXME("iface %p, cb %p, ctx %p stub!\n", iface, cb, ctx);
...@@ -1315,7 +1267,7 @@ end: ...@@ -1315,7 +1267,7 @@ end:
return ret; return ret;
} }
static HRESULT WINAPI IDirect3DRM3Impl_Load(IDirect3DRM3 *iface, void *source, void *object_id, IID **iids, static HRESULT WINAPI d3drm3_Load(IDirect3DRM3 *iface, void *source, void *object_id, IID **iids,
DWORD iid_count, D3DRMLOADOPTIONS flags, D3DRMLOADCALLBACK load_cb, void *load_ctx, DWORD iid_count, D3DRMLOADOPTIONS flags, D3DRMLOADCALLBACK load_cb, void *load_ctx,
D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx, IDirect3DRMFrame3 *parent_frame) D3DRMLOADTEXTURECALLBACK load_tex_cb, void *load_tex_ctx, IDirect3DRMFrame3 *parent_frame)
{ {
...@@ -1433,39 +1385,35 @@ end: ...@@ -1433,39 +1385,35 @@ end:
return ret; return ret;
} }
static HRESULT WINAPI IDirect3DRM3Impl_Tick(IDirect3DRM3* iface, D3DVALUE tick) static HRESULT WINAPI d3drm3_Tick(IDirect3DRM3 *iface, D3DVALUE tick)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, tick %.8e stub!\n", iface, tick);
FIXME("(%p/%p)->(%f): stub\n", iface, This, tick);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateProgressiveMesh(IDirect3DRM3 *iface, IDirect3DRMProgressiveMesh **mesh) static HRESULT WINAPI d3drm3_CreateProgressiveMesh(IDirect3DRM3 *iface, IDirect3DRMProgressiveMesh **mesh)
{ {
FIXME("iface %p, mesh %p stub!\n", iface, mesh); FIXME("iface %p, mesh %p stub!\n", iface, mesh);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_RegisterClient(IDirect3DRM3 *iface, REFGUID guid, DWORD *id) static HRESULT WINAPI d3drm3_RegisterClient(IDirect3DRM3 *iface, REFGUID guid, DWORD *id)
{ {
FIXME("iface %p, guid %s, id %p stub!\n", iface, debugstr_guid(guid), id); FIXME("iface %p, guid %s, id %p stub!\n", iface, debugstr_guid(guid), id);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_UnregisterClient(IDirect3DRM3* iface, REFGUID rguid) static HRESULT WINAPI d3drm3_UnregisterClient(IDirect3DRM3 *iface, REFGUID guid)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, guid %s stub!\n", iface, debugstr_guid(guid));
FIXME("(%p/%p)->(%s): stub\n", iface, This, debugstr_guid(rguid));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_CreateClippedVisual(IDirect3DRM3 *iface, static HRESULT WINAPI d3drm3_CreateClippedVisual(IDirect3DRM3 *iface,
IDirect3DRMVisual *visual, IDirect3DRMClippedVisual **clipped_visual) IDirect3DRMVisual *visual, IDirect3DRMClippedVisual **clipped_visual)
{ {
FIXME("iface %p, visual %p, clipped_visual %p stub!\n", iface, visual, clipped_visual); FIXME("iface %p, visual %p, clipped_visual %p stub!\n", iface, visual, clipped_visual);
...@@ -1473,79 +1421,77 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateClippedVisual(IDirect3DRM3 *iface, ...@@ -1473,79 +1421,77 @@ static HRESULT WINAPI IDirect3DRM3Impl_CreateClippedVisual(IDirect3DRM3 *iface,
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_SetOptions(IDirect3DRM3* iface, DWORD opt) static HRESULT WINAPI d3drm3_SetOptions(IDirect3DRM3 *iface, DWORD flags)
{ {
IDirect3DRMImpl *This = impl_from_IDirect3DRM3(iface); FIXME("iface %p, flags %#x stub!\n", iface, flags);
FIXME("(%p/%p)->(%d): stub\n", iface, This, opt);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI IDirect3DRM3Impl_GetOptions(IDirect3DRM3 *iface, DWORD *flags) static HRESULT WINAPI d3drm3_GetOptions(IDirect3DRM3 *iface, DWORD *flags)
{ {
FIXME("iface %p, flags %p stub!\n", iface, flags); FIXME("iface %p, flags %p stub!\n", iface, flags);
return E_NOTIMPL; return E_NOTIMPL;
} }
static const struct IDirect3DRM3Vtbl Direct3DRM3_Vtbl = static const struct IDirect3DRM3Vtbl d3drm3_vtbl =
{ {
IDirect3DRM3Impl_QueryInterface, d3drm3_QueryInterface,
IDirect3DRM3Impl_AddRef, d3drm3_AddRef,
IDirect3DRM3Impl_Release, d3drm3_Release,
IDirect3DRM3Impl_CreateObject, d3drm3_CreateObject,
IDirect3DRM3Impl_CreateFrame, d3drm3_CreateFrame,
IDirect3DRM3Impl_CreateMesh, d3drm3_CreateMesh,
IDirect3DRM3Impl_CreateMeshBuilder, d3drm3_CreateMeshBuilder,
IDirect3DRM3Impl_CreateFace, d3drm3_CreateFace,
IDirect3DRM3Impl_CreateAnimation, d3drm3_CreateAnimation,
IDirect3DRM3Impl_CreateAnimationSet, d3drm3_CreateAnimationSet,
IDirect3DRM3Impl_CreateTexture, d3drm3_CreateTexture,
IDirect3DRM3Impl_CreateLight, d3drm3_CreateLight,
IDirect3DRM3Impl_CreateLightRGB, d3drm3_CreateLightRGB,
IDirect3DRM3Impl_CreateMaterial, d3drm3_CreateMaterial,
IDirect3DRM3Impl_CreateDevice, d3drm3_CreateDevice,
IDirect3DRM3Impl_CreateDeviceFromSurface, d3drm3_CreateDeviceFromSurface,
IDirect3DRM3Impl_CreateDeviceFromD3D, d3drm3_CreateDeviceFromD3D,
IDirect3DRM3Impl_CreateDeviceFromClipper, d3drm3_CreateDeviceFromClipper,
IDirect3DRM3Impl_CreateTextureFromSurface, d3drm3_CreateTextureFromSurface,
IDirect3DRM3Impl_CreateShadow, d3drm3_CreateShadow,
IDirect3DRM3Impl_CreateViewport, d3drm3_CreateViewport,
IDirect3DRM3Impl_CreateWrap, d3drm3_CreateWrap,
IDirect3DRM3Impl_CreateUserVisual, d3drm3_CreateUserVisual,
IDirect3DRM3Impl_LoadTexture, d3drm3_LoadTexture,
IDirect3DRM3Impl_LoadTextureFromResource, d3drm3_LoadTextureFromResource,
IDirect3DRM3Impl_SetSearchPath, d3drm3_SetSearchPath,
IDirect3DRM3Impl_AddSearchPath, d3drm3_AddSearchPath,
IDirect3DRM3Impl_GetSearchPath, d3drm3_GetSearchPath,
IDirect3DRM3Impl_SetDefaultTextureColors, d3drm3_SetDefaultTextureColors,
IDirect3DRM3Impl_SetDefaultTextureShades, d3drm3_SetDefaultTextureShades,
IDirect3DRM3Impl_GetDevices, d3drm3_GetDevices,
IDirect3DRM3Impl_GetNamedObject, d3drm3_GetNamedObject,
IDirect3DRM3Impl_EnumerateObjects, d3drm3_EnumerateObjects,
IDirect3DRM3Impl_Load, d3drm3_Load,
IDirect3DRM3Impl_Tick, d3drm3_Tick,
IDirect3DRM3Impl_CreateProgressiveMesh, d3drm3_CreateProgressiveMesh,
IDirect3DRM3Impl_RegisterClient, d3drm3_RegisterClient,
IDirect3DRM3Impl_UnregisterClient, d3drm3_UnregisterClient,
IDirect3DRM3Impl_CreateClippedVisual, d3drm3_CreateClippedVisual,
IDirect3DRM3Impl_SetOptions, d3drm3_SetOptions,
IDirect3DRM3Impl_GetOptions d3drm3_GetOptions,
}; };
HRESULT WINAPI Direct3DRMCreate(IDirect3DRM **d3drm) HRESULT WINAPI Direct3DRMCreate(IDirect3DRM **d3drm)
{ {
IDirect3DRMImpl *object; struct d3drm *object;
TRACE("d3drm %p.\n", d3drm); TRACE("d3drm %p.\n", d3drm);
if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)))) if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object))))
return E_OUTOFMEMORY; return E_OUTOFMEMORY;
object->IDirect3DRM_iface.lpVtbl = &Direct3DRM_Vtbl; object->IDirect3DRM_iface.lpVtbl = &d3drm1_vtbl;
object->IDirect3DRM2_iface.lpVtbl = &Direct3DRM2_Vtbl; object->IDirect3DRM2_iface.lpVtbl = &d3drm2_vtbl;
object->IDirect3DRM3_iface.lpVtbl = &Direct3DRM3_Vtbl; object->IDirect3DRM3_iface.lpVtbl = &d3drm3_vtbl;
object->ref = 1; object->ref = 1;
*d3drm = &object->IDirect3DRM_iface; *d3drm = &object->IDirect3DRM_iface;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment