d3dx9: Avoid LPD3DXSKININFO.

This commit is contained in:
Henri Verbeet 2012-11-27 22:10:56 +01:00 committed by Alexandre Julliard
parent bd7e8df6ba
commit 361cf636cc
4 changed files with 18 additions and 16 deletions

View File

@ -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];

View File

@ -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;

View File

@ -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;
};

View File

@ -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);