Henri Verbeet : d3dx9: Avoid LPD3DXSKININFO.
Alexandre Julliard
julliard at winehq.org
Wed Nov 28 14:14:05 CST 2012
Module: wine
Branch: master
Commit: 361cf636cc6d2a4cb7c382f70887ff62aa9337b2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=361cf636cc6d2a4cb7c382f70887ff62aa9337b2
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue Nov 27 22:10:56 2012 +0100
d3dx9: Avoid LPD3DXSKININFO.
---
dlls/d3dx9_36/skin.c | 8 ++++----
dlls/d3dx9_36/tests/mesh.c | 6 +++---
include/d3dx9anim.h | 10 +++++-----
include/d3dx9mesh.h | 10 ++++++----
4 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/dlls/d3dx9_36/skin.c b/dlls/d3dx9_36/skin.c
index 8ef7fbe..2c4ab60 100644
--- a/dlls/d3dx9_36/skin.c
+++ b/dlls/d3dx9_36/skin.c
@@ -297,7 +297,7 @@ static LPD3DXMATRIX WINAPI ID3DXSkinInfoImpl_GetBoneOffsetMatrix(ID3DXSkinInfo *
return &This->bones[bone_num].transform;
}
-static HRESULT WINAPI ID3DXSkinInfoImpl_Clone(ID3DXSkinInfo *iface, LPD3DXSKININFO *skin_info)
+static HRESULT WINAPI ID3DXSkinInfoImpl_Clone(ID3DXSkinInfo *iface, ID3DXSkinInfo **skin_info)
{
ID3DXSkinInfoImpl *This = impl_from_ID3DXSkinInfo(iface);
@@ -449,8 +449,8 @@ static const struct ID3DXSkinInfoVtbl ID3DXSkinInfoImpl_Vtbl =
ID3DXSkinInfoImpl_ConvertToIndexedBlendedMesh
};
-HRESULT WINAPI D3DXCreateSkinInfo(DWORD num_vertices, CONST D3DVERTEXELEMENT9 *declaration,
- DWORD num_bones, LPD3DXSKININFO *skin_info)
+HRESULT WINAPI D3DXCreateSkinInfo(DWORD num_vertices, const D3DVERTEXELEMENT9 *declaration,
+ DWORD num_bones, ID3DXSkinInfo **skin_info)
{
HRESULT hr;
ID3DXSkinInfoImpl *object = NULL;
@@ -490,7 +490,7 @@ error:
return hr;
}
-HRESULT WINAPI D3DXCreateSkinInfoFVF(DWORD num_vertices, DWORD fvf, DWORD num_bones, LPD3DXSKININFO *skin_info)
+HRESULT WINAPI D3DXCreateSkinInfoFVF(DWORD num_vertices, DWORD fvf, DWORD num_bones, ID3DXSkinInfo **skin_info)
{
HRESULT hr;
D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE];
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index 97d7e2d..35e38e4 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -1859,9 +1859,9 @@ static CALLBACK HRESULT ID3DXAllocateHierarchyImpl_DestroyMeshContainer(ID3DXAll
}
static CALLBACK HRESULT ID3DXAllocateHierarchyImpl_CreateMeshContainer(ID3DXAllocateHierarchy *iface,
- LPCSTR name, CONST D3DXMESHDATA *mesh_data, CONST D3DXMATERIAL *materials,
- CONST D3DXEFFECTINSTANCE *effects, DWORD num_materials, CONST DWORD *adjacency,
- LPD3DXSKININFO skin_info, LPD3DXMESHCONTAINER *new_mesh_container)
+ const char *name, const D3DXMESHDATA *mesh_data, const D3DXMATERIAL *materials,
+ const D3DXEFFECTINSTANCE *effects, DWORD num_materials, const DWORD *adjacency,
+ ID3DXSkinInfo *skin_info, D3DXMESHCONTAINER **new_mesh_container)
{
LPD3DXMESHCONTAINER mesh_container = NULL;
int i;
diff --git a/include/d3dx9anim.h b/include/d3dx9anim.h
index 62fa6c0..71a18f0 100644
--- a/include/d3dx9anim.h
+++ b/include/d3dx9anim.h
@@ -98,7 +98,7 @@ typedef struct _D3DXMESHCONTAINER
LPD3DXEFFECTINSTANCE pEffects;
DWORD NumMaterials;
DWORD *pAdjacency;
- LPD3DXSKININFO pSkinInfo;
+ ID3DXSkinInfo *pSkinInfo;
struct _D3DXMESHCONTAINER *pNextMeshContainer;
} D3DXMESHCONTAINER, *LPD3DXMESHCONTAINER;
@@ -171,10 +171,10 @@ typedef interface ID3DXAnimationController *LPD3DXANIMATIONCONTROLLER;
DECLARE_INTERFACE(ID3DXAllocateHierarchy)
{
STDMETHOD(CreateFrame)(THIS_ LPCSTR Name, LPD3DXFRAME *new_frame) PURE;
- STDMETHOD(CreateMeshContainer)(THIS_ LPCSTR Name, CONST D3DXMESHDATA *mesh_data,
- CONST D3DXMATERIAL *materials, CONST D3DXEFFECTINSTANCE *effect_instances,
- DWORD num_materials, CONST DWORD *adjacency, LPD3DXSKININFO skin_info,
- LPD3DXMESHCONTAINER *new_mesh_container) PURE;
+ STDMETHOD(CreateMeshContainer)(THIS_ const char *name, const D3DXMESHDATA *mesh_data,
+ const D3DXMATERIAL *materials, const D3DXEFFECTINSTANCE *effect_instances,
+ DWORD num_materials, const DWORD *adjacency, ID3DXSkinInfo *skin_info,
+ D3DXMESHCONTAINER **new_mesh_container) PURE;
STDMETHOD(DestroyFrame)(THIS_ LPD3DXFRAME frame) PURE;
STDMETHOD(DestroyMeshContainer)(THIS_ LPD3DXMESHCONTAINER mesh_container) PURE;
};
diff --git a/include/d3dx9mesh.h b/include/d3dx9mesh.h
index 3a26b54..5545568 100644
--- a/include/d3dx9mesh.h
+++ b/include/d3dx9mesh.h
@@ -529,7 +529,7 @@ DECLARE_INTERFACE_(ID3DXSkinInfo, IUnknown)
STDMETHOD_(LPCSTR, GetBoneName)(THIS_ DWORD bone) PURE;
STDMETHOD(SetBoneOffsetMatrix)(THIS_ DWORD bone, CONST D3DXMATRIX* bone_transform) PURE;
STDMETHOD_(LPD3DXMATRIX, GetBoneOffsetMatrix)(THIS_ DWORD bone) PURE;
- STDMETHOD(Clone)(THIS_ LPD3DXSKININFO* skin_info) PURE;
+ STDMETHOD(Clone)(THIS_ ID3DXSkinInfo **skin_info) PURE;
STDMETHOD(Remap)(THIS_ DWORD num_vertices, DWORD* vertex_remap) PURE;
STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE;
STDMETHOD(SetDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* declaration) PURE;
@@ -700,9 +700,11 @@ HRESULT WINAPI D3DXCreateSPMesh(LPD3DXMESH, CONST DWORD *, CONST D3DXATTRIBUTEWE
HRESULT WINAPI D3DXCreatePMeshFromStream(struct IStream *stream, DWORD flags, struct IDirect3DDevice9 *device,
struct ID3DXBuffer **materials, struct ID3DXBuffer **effect_instances,
DWORD *material_count, struct ID3DXPMesh **mesh);
-HRESULT WINAPI D3DXCreateSkinInfo(DWORD, CONST D3DVERTEXELEMENT9 *, DWORD, LPD3DXSKININFO *);
-HRESULT WINAPI D3DXCreateSkinInfoFVF(DWORD, DWORD, DWORD, LPD3DXSKININFO *);
-HRESULT WINAPI D3DXCreateSkinInfoFromBlendedMesh(LPD3DXBASEMESH, DWORD, CONST D3DXBONECOMBINATION *, LPD3DXSKININFO *);
+HRESULT WINAPI D3DXCreateSkinInfo(DWORD vertex_count, const D3DVERTEXELEMENT9 *declaration,
+ DWORD bone_count, ID3DXSkinInfo **skin_info);
+HRESULT WINAPI D3DXCreateSkinInfoFVF(DWORD vertex_count, DWORD fvf, DWORD bone_count, ID3DXSkinInfo **skin_info);
+HRESULT WINAPI D3DXCreateSkinInfoFromBlendedMesh(ID3DXBaseMesh *mesh, DWORD bone_count,
+ const D3DXBONECOMBINATION *bone_combination_table, ID3DXSkinInfo **skin_info);
HRESULT WINAPI D3DXCreatePatchMesh(const D3DXPATCHINFO *patch_info, DWORD patch_count,
DWORD vertex_count, DWORD flags, const D3DVERTEXELEMENT9 *declaration,
struct IDirect3DDevice9 *device, struct ID3DXPatchMesh **mesh);
More information about the wine-cvs
mailing list