Hello,
I think the best thing to do is to create another function in wined3d/device.c DrawIndexedPrimitiveVB that is based on DrawIndexedPrimitiveUP but either takes a IWineD3DVertexBuffer or has the caller use SetVertexBuffer and then call DrawIndexedPrimitiveVB .
e.g.
<snip>
IWineD3DDeviceImpl_DrawIndexedPrimitiveVB(IWineD3DDevice *iface, D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, CONST void* pIndexData, IWineD3DVertexBuffer* pVertexBuffer, UINT dwStartVertex, UINT Stride) {
IWineD3DDeviceImpl_SetStreamSource(device, 0, pVertexBuffer,
dwStartVertex * Stride, Stride); /* The rest of the code making up IWineD3DDeviceImpl_DrawIndexedPrimitiveVB */ }
I have hit this function again with half-life. What is this Stride here? I haven't found anything usefull about it.
Stefan