[3/4] d3drm: Implement IDirect3DRMMeshBuilder3_GetNormals

André Hentschel nerv at dawncrow.de
Sun May 12 16:54:04 CDT 2013


---
 dlls/d3drm/meshbuilder.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
index 549a5dd..eecf629 100644
--- a/dlls/d3drm/meshbuilder.c
+++ b/dlls/d3drm/meshbuilder.c
@@ -2379,13 +2379,19 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_SetNormals(IDirect3DRMMeshBuil
 }
 
 static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_GetNormals(IDirect3DRMMeshBuilder3 *iface,
-        DWORD IndexFirst, DWORD *count, D3DVECTOR *vector)
+        DWORD IndexFirst, DWORD *ncount, D3DVECTOR *normals)
 {
     IDirect3DRMMeshBuilderImpl *This = impl_from_IDirect3DRMMeshBuilder3(iface);
+    DWORD count = This->nb_normals - IndexFirst;
 
-    FIXME("(%p)->(%u,%p,%p): stub\n", This, IndexFirst, count, vector);
+    TRACE("(%p)->(%u,%p,%p)\n", This, IndexFirst, ncount, normals);
 
-    return E_NOTIMPL;
+    if (ncount)
+        *ncount = count;
+    if (normals && This->nb_normals)
+        memcpy(normals, This->pNormals + IndexFirst, count * sizeof(D3DVECTOR));
+
+    return D3DRM_OK;
 }
 
 static int WINAPI IDirect3DRMMeshBuilder3Impl_GetNormalCount(IDirect3DRMMeshBuilder3* iface)
-- 
1.7.10.4




More information about the wine-patches mailing list