From: Nikolay Sivov Subject: [PATCH 3/4] d3drm: Implement appdata property for the rest of objects. Message-Id: <20170621123932.13098-3-nsivov@codeweavers.com> Date: Wed, 21 Jun 2017 15:39:31 +0300 In-Reply-To: <20170621123932.13098-1-nsivov@codeweavers.com> References: <20170621123932.13098-1-nsivov@codeweavers.com> Signed-off-by: Nikolay Sivov --- dlls/d3drm/device.c | 14 +++++++---- dlls/d3drm/face.c | 46 ++++++++++++++++++++++--------------- dlls/d3drm/frame.c | 38 ++++++++++++++++++++---------- dlls/d3drm/light.c | 14 +++++++---- dlls/d3drm/material.c | 14 +++++++---- dlls/d3drm/meshbuilder.c | 60 ++++++++++++++++++++++++++++++------------------ 6 files changed, 122 insertions(+), 64 deletions(-) diff --git a/dlls/d3drm/device.c b/dlls/d3drm/device.c index 2608ed62c0..c5376743ee 100644 --- a/dlls/d3drm/device.c +++ b/dlls/d3drm/device.c @@ -454,9 +454,13 @@ static HRESULT WINAPI d3drm_device1_DeleteDestroyCallback(IDirect3DRMDevice *ifa static HRESULT WINAPI d3drm_device3_SetAppData(IDirect3DRMDevice3 *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_device *device = impl_from_IDirect3DRMDevice3(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + device->obj.appdata = data; + + return D3DRM_OK; } static HRESULT WINAPI d3drm_device2_SetAppData(IDirect3DRMDevice2 *iface, DWORD data) @@ -479,9 +483,11 @@ static HRESULT WINAPI d3drm_device1_SetAppData(IDirect3DRMDevice *iface, DWORD d static DWORD WINAPI d3drm_device3_GetAppData(IDirect3DRMDevice3 *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_device *device = impl_from_IDirect3DRMDevice3(iface); + + TRACE("iface %p.\n", iface); - return 0; + return device->obj.appdata; } static DWORD WINAPI d3drm_device2_GetAppData(IDirect3DRMDevice2 *iface) diff --git a/dlls/d3drm/face.c b/dlls/d3drm/face.c index 40313440ac..49284f0887 100644 --- a/dlls/d3drm/face.c +++ b/dlls/d3drm/face.c @@ -116,18 +116,42 @@ static HRESULT WINAPI d3drm_face1_DeleteDestroyCallback(IDirect3DRMFace *iface, return IDirect3DRMFace2_DeleteDestroyCallback(&face->IDirect3DRMFace2_iface, cb, ctx); } +static HRESULT WINAPI d3drm_face2_SetAppData(IDirect3DRMFace2 *iface, DWORD data) +{ + struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface); + + TRACE("iface %p, data %#x.\n", iface, data); + + face->obj.appdata = data; + + return D3DRM_OK; +} + static HRESULT WINAPI d3drm_face1_SetAppData(IDirect3DRMFace *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_face *face = impl_from_IDirect3DRMFace(iface); + + TRACE("iface %p, data %#x.\n", iface, data); + + return d3drm_face2_SetAppData(&face->IDirect3DRMFace2_iface, data); +} + +static DWORD WINAPI d3drm_face2_GetAppData(IDirect3DRMFace2 *iface) +{ + struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface); - return E_NOTIMPL; + TRACE("iface %p.\n", iface); + + return face->obj.appdata; } static DWORD WINAPI d3drm_face1_GetAppData(IDirect3DRMFace *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_face *face = impl_from_IDirect3DRMFace(iface); - return 0; + TRACE("iface %p.\n", iface); + + return d3drm_face2_GetAppData(&face->IDirect3DRMFace2_iface); } static HRESULT WINAPI d3drm_face2_SetName(IDirect3DRMFace2 *iface, const char *name) @@ -398,20 +422,6 @@ static HRESULT WINAPI d3drm_face2_DeleteDestroyCallback(IDirect3DRMFace2 *iface, return d3drm_object_delete_destroy_callback(&face->obj, cb, ctx); } -static HRESULT WINAPI d3drm_face2_SetAppData(IDirect3DRMFace2 *iface, DWORD data) -{ - FIXME("iface %p, data %#x stub!\n", iface, data); - - return E_NOTIMPL; -} - -static DWORD WINAPI d3drm_face2_GetAppData(IDirect3DRMFace2 *iface) -{ - FIXME("iface %p stub!\n", iface); - - return 0; -} - static HRESULT WINAPI d3drm_face2_GetClassName(IDirect3DRMFace2 *iface, DWORD *size, char *name) { struct d3drm_face *face = impl_from_IDirect3DRMFace2(iface); diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c index 812ab4cd37..baf84de665 100644 --- a/dlls/d3drm/frame.c +++ b/dlls/d3drm/frame.c @@ -660,44 +660,58 @@ static HRESULT WINAPI d3drm_frame1_DeleteDestroyCallback(IDirect3DRMFrame *iface static HRESULT WINAPI d3drm_frame3_SetAppData(IDirect3DRMFrame3 *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + frame->obj.appdata = data; + + return D3DRM_OK; } static HRESULT WINAPI d3drm_frame2_SetAppData(IDirect3DRMFrame2 *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame2(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + return d3drm_frame3_SetAppData(&frame->IDirect3DRMFrame3_iface, data); } static HRESULT WINAPI d3drm_frame1_SetAppData(IDirect3DRMFrame *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + return d3drm_frame3_SetAppData(&frame->IDirect3DRMFrame3_iface, data); } static DWORD WINAPI d3drm_frame3_GetAppData(IDirect3DRMFrame3 *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame3(iface); - return 0; + TRACE("iface %p.\n", iface); + + return frame->obj.appdata; } static DWORD WINAPI d3drm_frame2_GetAppData(IDirect3DRMFrame2 *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame2(iface); - return 0; + TRACE("iface %p.\n", iface); + + return d3drm_frame3_GetAppData(&frame->IDirect3DRMFrame3_iface); } static DWORD WINAPI d3drm_frame1_GetAppData(IDirect3DRMFrame *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_frame *frame = impl_from_IDirect3DRMFrame(iface); - return 0; + TRACE("iface %p.\n", iface); + + return d3drm_frame3_GetAppData(&frame->IDirect3DRMFrame3_iface); } static HRESULT WINAPI d3drm_frame3_SetName(IDirect3DRMFrame3 *iface, const char *name) diff --git a/dlls/d3drm/light.c b/dlls/d3drm/light.c index f7d259ce84..855209fb42 100644 --- a/dlls/d3drm/light.c +++ b/dlls/d3drm/light.c @@ -106,16 +106,22 @@ static HRESULT WINAPI d3drm_light_DeleteDestroyCallback(IDirect3DRMLight *iface, static HRESULT WINAPI d3drm_light_SetAppData(IDirect3DRMLight *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_light *light = impl_from_IDirect3DRMLight(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + light->obj.appdata = data; + + return D3DRM_OK; } static DWORD WINAPI d3drm_light_GetAppData(IDirect3DRMLight *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_light *light = impl_from_IDirect3DRMLight(iface); + + TRACE("iface %p.\n", iface); - return 0; + return light->obj.appdata; } static HRESULT WINAPI d3drm_light_SetName(IDirect3DRMLight *iface, const char *name) diff --git a/dlls/d3drm/material.c b/dlls/d3drm/material.c index 73979952c8..d13b0dd9da 100644 --- a/dlls/d3drm/material.c +++ b/dlls/d3drm/material.c @@ -107,16 +107,22 @@ static HRESULT WINAPI d3drm_material_DeleteDestroyCallback(IDirect3DRMMaterial2 static HRESULT WINAPI d3drm_material_SetAppData(IDirect3DRMMaterial2 *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_material *material = impl_from_IDirect3DRMMaterial2(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + material->obj.appdata = data; + + return D3DRM_OK; } static DWORD WINAPI d3drm_material_GetAppData(IDirect3DRMMaterial2 *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_material *material = impl_from_IDirect3DRMMaterial2(iface); + + TRACE("iface %p.\n", iface); - return 0; + return material->obj.appdata; } static HRESULT WINAPI d3drm_material_SetName(IDirect3DRMMaterial2 *iface, const char *name) diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c index 025e0f5405..2afff7ac51 100644 --- a/dlls/d3drm/meshbuilder.c +++ b/dlls/d3drm/meshbuilder.c @@ -453,18 +453,42 @@ static HRESULT WINAPI d3drm_mesh_builder2_DeleteDestroyCallback(IDirect3DRMMeshB return IDirect3DRMMeshBuilder3_DeleteDestroyCallback(&mesh_builder->IDirect3DRMMeshBuilder3_iface, cb, ctx); } +static HRESULT WINAPI d3drm_mesh_builder3_SetAppData(IDirect3DRMMeshBuilder3 *iface, DWORD data) +{ + struct d3drm_mesh_builder *mesh_builder = impl_from_IDirect3DRMMeshBuilder3(iface); + + TRACE("iface %p, data %#x.\n", iface, data); + + mesh_builder->obj.appdata = data; + + return D3DRM_OK; +} + static HRESULT WINAPI d3drm_mesh_builder2_SetAppData(IDirect3DRMMeshBuilder2 *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_mesh_builder *mesh_builder = impl_from_IDirect3DRMMeshBuilder2(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + return d3drm_mesh_builder3_SetAppData(&mesh_builder->IDirect3DRMMeshBuilder3_iface, data); +} + +static DWORD WINAPI d3drm_mesh_builder3_GetAppData(IDirect3DRMMeshBuilder3 *iface) +{ + struct d3drm_mesh_builder *mesh_builder = impl_from_IDirect3DRMMeshBuilder3(iface); + + TRACE("iface %p.\n", iface); + + return mesh_builder->obj.appdata; } static DWORD WINAPI d3drm_mesh_builder2_GetAppData(IDirect3DRMMeshBuilder2 *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_mesh_builder *mesh_builder = impl_from_IDirect3DRMMeshBuilder2(iface); - return 0; + TRACE("iface %p.\n", iface); + + return d3drm_mesh_builder3_GetAppData(&mesh_builder->IDirect3DRMMeshBuilder3_iface); } static HRESULT WINAPI d3drm_mesh_builder2_SetName(IDirect3DRMMeshBuilder2 *iface, const char *name) @@ -989,20 +1013,6 @@ static HRESULT WINAPI d3drm_mesh_builder3_DeleteDestroyCallback(IDirect3DRMMeshB return d3drm_object_delete_destroy_callback(&mesh_builder->obj, cb, ctx); } -static HRESULT WINAPI d3drm_mesh_builder3_SetAppData(IDirect3DRMMeshBuilder3 *iface, DWORD data) -{ - FIXME("iface %p, data %#x stub!\n", iface, data); - - return E_NOTIMPL; -} - -static DWORD WINAPI d3drm_mesh_builder3_GetAppData(IDirect3DRMMeshBuilder3 *iface) -{ - FIXME("iface %p stub!\n", iface); - - return 0; -} - static HRESULT WINAPI d3drm_mesh_builder3_SetName(IDirect3DRMMeshBuilder3 *iface, const char *name) { struct d3drm_mesh_builder *mesh_builder = impl_from_IDirect3DRMMeshBuilder3(iface); @@ -2454,16 +2464,22 @@ static HRESULT WINAPI d3drm_mesh_DeleteDestroyCallback(IDirect3DRMMesh *iface, static HRESULT WINAPI d3drm_mesh_SetAppData(IDirect3DRMMesh *iface, DWORD data) { - FIXME("iface %p, data %#x stub!\n", iface, data); + struct d3drm_mesh *mesh = impl_from_IDirect3DRMMesh(iface); - return E_NOTIMPL; + TRACE("iface %p, data %#x.\n", iface, data); + + mesh->obj.appdata = data; + + return D3DRM_OK; } static DWORD WINAPI d3drm_mesh_GetAppData(IDirect3DRMMesh *iface) { - FIXME("iface %p stub!\n", iface); + struct d3drm_mesh *mesh = impl_from_IDirect3DRMMesh(iface); - return 0; + TRACE("iface %p.\n", iface); + + return mesh->obj.appdata; } static HRESULT WINAPI d3drm_mesh_SetName(IDirect3DRMMesh *iface, const char *name) -- 2.11.0