Christian Costa : d3drm: Implement IDirect3DRMMesh_SetVertices.
Alexandre Julliard
julliard at winehq.org
Tue May 22 14:21:29 CDT 2012
Module: wine
Branch: master
Commit: b068615ef38c719cd5f7a309450d1180b40b11c6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b068615ef38c719cd5f7a309450d1180b40b11c6
Author: Christian Costa <titan.costa at gmail.com>
Date: Tue May 22 08:57:29 2012 +0200
d3drm: Implement IDirect3DRMMesh_SetVertices.
---
dlls/d3drm/meshbuilder.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c
index 77b68e4..357e285 100644
--- a/dlls/d3drm/meshbuilder.c
+++ b/dlls/d3drm/meshbuilder.c
@@ -2439,9 +2439,20 @@ static HRESULT WINAPI IDirect3DRMMeshImpl_SetVertices(IDirect3DRMMesh* iface,
{
IDirect3DRMMeshImpl *This = impl_from_IDirect3DRMMesh(iface);
- FIXME("(%p)->(%u,%u,%u,%p): stub\n", This, id, index, count, values);
+ TRACE("(%p)->(%u,%u,%u,%p)\n", This, id, index, count, values);
- return E_NOTIMPL;
+ if (id >= This->nb_groups)
+ return D3DRMERR_BADVALUE;
+
+ if ((index + count - 1) >= This->groups[id].nb_vertices)
+ return D3DRMERR_BADVALUE;
+
+ if (!values)
+ return E_POINTER;
+
+ memcpy(This->groups[id].vertices + index, values, count * sizeof(D3DRMVERTEX));
+
+ return D3DRM_OK;
}
static HRESULT WINAPI IDirect3DRMMeshImpl_SetGroupColor(IDirect3DRMMesh* iface,
More information about the wine-cvs
mailing list