d3drm: Implement GetVertices for IDirect3DRMMeshBuilder3.

This commit is contained in:
André Hentschel 2012-01-13 00:22:04 +01:00 committed by Alexandre Julliard
parent 1b3c8aaf06
commit 33c7a865cb
2 changed files with 12 additions and 6 deletions

View File

@ -1845,14 +1845,20 @@ static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_SetVertices(IDirect3DRMMeshBui
}
static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_GetVertices(IDirect3DRMMeshBuilder3* iface,
DWORD IndexFirst, LPDWORD count,
LPD3DVECTOR vector)
DWORD IndexFirst, LPDWORD vcount,
LPD3DVECTOR vertices)
{
IDirect3DRMMeshBuilderImpl *This = impl_from_IDirect3DRMMeshBuilder3(iface);
DWORD count = This->nb_vertices - IndexFirst;
FIXME("(%p)->(%u,%p,%p): stub\n", This, IndexFirst, count, vector);
TRACE("(%p)->(%u,%p,%p)\n", This, IndexFirst, vcount, vertices);
return E_NOTIMPL;
if (vcount)
*vcount = count;
if (vertices && This->nb_vertices)
memcpy(vertices, This->pVertices + IndexFirst, count * sizeof(D3DVECTOR));
return D3DRM_OK;
}
static HRESULT WINAPI IDirect3DRMMeshBuilder3Impl_SetNormals(IDirect3DRMMeshBuilder3* iface,

View File

@ -208,8 +208,8 @@ static void test_MeshBuilder3(void)
ok(val == 3, "Wrong number of faces %d (must be 3)\n", val);
hr = IDirect3DRMMeshBuilder3_GetVertices(pMeshBuilder3, 0, &val1, NULL);
todo_wine ok(hr == D3DRM_OK, "Cannot get vertices information (hr = %x)\n", hr);
todo_wine ok(val1 == 4, "Wrong number of vertices %d (must be 4)\n", val1);
ok(hr == D3DRM_OK, "Cannot get vertices information (hr = %x)\n", hr);
ok(val1 == 4, "Wrong number of vertices %d (must be 4)\n", val1);
valu = 1.23f;
valv = 3.21f;