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