From 6aa77edfb3d9e82871b77cd037aa48ba56afb16c Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 5 Jun 2012 22:45:44 +0200 Subject: [PATCH] d3drm: Implement IDirect3DRMMeshBuilderX_SetMaterial. --- dlls/d3drm/meshbuilder.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c index 0f39b4a9c38..bdb5e005093 100644 --- a/dlls/d3drm/meshbuilder.c +++ b/dlls/d3drm/meshbuilder.c @@ -651,13 +651,13 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder2Impl_SetTexture(IDirect3DRMMeshBuil } static HRESULT WINAPI IDirect3DRMMeshBuilder2Impl_SetMaterial(IDirect3DRMMeshBuilder2* iface, - LPDIRECT3DRMMATERIAL pMaterial) + LPDIRECT3DRMMATERIAL material) { IDirect3DRMMeshBuilderImpl *This = impl_from_IDirect3DRMMeshBuilder2(iface); - FIXME("(%p)->(%p): stub\n", This, pMaterial); + TRACE("(%p)->(%p)\n", This, material); - return E_NOTIMPL; + return IDirect3DRMMeshBuilder3_SetMaterial(&This->IDirect3DRMMeshBuilder3_iface, (LPDIRECT3DRMMATERIAL2)material); } static HRESULT WINAPI IDirect3DRMMeshBuilder2Impl_SetTextureTopology(IDirect3DRMMeshBuilder2* iface, @@ -1756,9 +1756,15 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_SetMaterial(IDirect3DRMMeshBui { IDirect3DRMMeshBuilderImpl *This = impl_from_IDirect3DRMMeshBuilder3(iface); - FIXME("(%p)->(%p): stub\n", This, material); + TRACE("(%p)->(%p)\n", This, material); - return E_NOTIMPL; + if (material) + IDirect3DRMTexture2_AddRef(material); + if (This->material) + IDirect3DRMTexture2_Release(This->material); + This->material = material; + + return D3DRM_OK; } static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_SetTextureTopology(IDirect3DRMMeshBuilder3* iface,