19#ifndef __WINE_D3DX9ANIM_H
20#define __WINE_D3DX9ANIM_H
22DEFINE_GUID(IID_ID3DXAnimationSet, 0x698cfb3f, 0x9289, 0x4d95, 0x9a, 0x57, 0x33, 0xa9, 0x4b, 0x5a, 0x65, 0xf9);
23DEFINE_GUID(IID_ID3DXKeyframedAnimationSet, 0xfa4e8e3a, 0x9786, 0x407d, 0x8b, 0x4c, 0x59, 0x95, 0x89, 0x37, 0x64, 0xaf);
24DEFINE_GUID(IID_ID3DXCompressedAnimationSet, 0x6cc2480d, 0x3808, 0x4739, 0x9f, 0x88, 0xde, 0x49, 0xfa, 0xcd, 0x8d, 0x4c);
25DEFINE_GUID(IID_ID3DXAnimationController, 0xac8948ec, 0xf86d, 0x43e2, 0x96, 0xde, 0x31, 0xfc, 0x35, 0xf9, 0x6d, 0x9e);
170#define INTERFACE ID3DXAllocateHierarchy
176 DWORD num_materials,
const DWORD *adjacency, ID3DXSkinInfo *skin_info,
183#define INTERFACE ID3DXLoadUserData
192#define INTERFACE ID3DXSaveUserData
196 ID3DXFileSaveObject *save_obj, ID3DXFileSaveData *frame_data)
PURE;
198 ID3DXFileSaveObject *save_obj, ID3DXFileSaveData *
mesh_data)
PURE;
199 STDMETHOD(AddTopLevelDataObjectsPre)(ID3DXFileSaveObject *save_obj)
PURE;
200 STDMETHOD(AddTopLevelDataObjectsPost)(ID3DXFileSaveObject *save_obj)
PURE;
202 STDMETHOD(SaveTemplates)(ID3DXFileSaveObject *save_obj)
PURE;
206#define INTERFACE ID3DXAnimationSet
227#define INTERFACE ID3DXKeyframedAnimationSet
277#define INTERFACE ID3DXCompressedAnimationSet
304#define INTERFACE ID3DXAnimationCallbackHandler
311#define INTERFACE ID3DXAnimationController
330 STDMETHOD(AdvanceTime)(
THIS_ double time_delta, ID3DXAnimationCallbackHandler *callback_handler)
PURE;
362 UINT max_num_tracks,
UINT max_num_events, ID3DXAnimationController **anim_controller)
PURE;
371 struct ID3DXAllocateHierarchy *
alloc,
struct ID3DXLoadUserData *user_data_loader,
372 D3DXFRAME **frame_hierarchy,
struct ID3DXAnimationController **animation_controller);
374 struct ID3DXAllocateHierarchy *
alloc,
struct ID3DXLoadUserData *user_data_loader,
375 D3DXFRAME **frame_hierarchy,
struct ID3DXAnimationController **animation_controller);
376#define D3DXLoadMeshHierarchyFromX WINELIB_NAME_AW(D3DXLoadMeshHierarchyFromX)
378 struct IDirect3DDevice9 *
device,
struct ID3DXAllocateHierarchy *
alloc,
379 struct ID3DXLoadUserData *user_data_loader,
D3DXFRAME **frame_hierarchy,
380 struct ID3DXAnimationController **animation_controller);
382 const D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller,
383 ID3DXSaveUserData *user_data_saver);
385 const D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller,
386 ID3DXSaveUserData *user_data_saver);
387#define D3DXSaveMeshHierarchyToFile WINELIB_NAME_AW(D3DXSaveMeshHierarchyToFile)
397 const D3DXKEY_CALLBACK *callback_keys, ID3DXKeyframedAnimationSet **animation_set);
400 const D3DXKEY_CALLBACK *callback_keys, ID3DXCompressedAnimationSet **animation_set);
402 UINT max_track_count,
UINT max_event_count, ID3DXAnimationController **animation_controller);
#define DECLARE_INTERFACE_(i, b)
#define DECLARE_INTERFACE(i)
struct ID3DXBuffer ID3DXBuffer
interface ID3DXAnimationSet * LPD3DXANIMATIONSET
interface ID3DXAnimationController * LPD3DXANIMATIONCONTROLLER
enum _D3DXMESHDATATYPE D3DXMESHDATATYPE
interface ID3DXKeyframedAnimationSet * LPD3DXKEYFRAMEDANIMATIONSET
@ D3DXEVENT_TRACKPOSITION
@ D3DXEVENT_PRIORITYBLEND
struct _D3DXMESHDATA * LPD3DXMESHDATA
HRESULT WINAPI D3DXSaveMeshHierarchyToFileW(const WCHAR *filename, DWORD format, const D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller, ID3DXSaveUserData *user_data_saver)
struct _D3DXEVENT_DESC * LPD3DXEVENT_DESC
HRESULT WINAPI D3DXFrameDestroy(D3DXFRAME *frame_root, ID3DXAllocateHierarchy *alloc)
struct _D3DXTRACK_DESC D3DXTRACK_DESC
HRESULT WINAPI D3DXCreateKeyframedAnimationSet(const char *name, double ticks_per_second, D3DXPLAYBACK_TYPE playback_type, UINT animation_count, UINT callback_key_count, const D3DXKEY_CALLBACK *callback_keys, ID3DXKeyframedAnimationSet **animation_set)
HRESULT WINAPI D3DXLoadMeshHierarchyFromXA(const char *filename, DWORD flags, struct IDirect3DDevice9 *device, struct ID3DXAllocateHierarchy *alloc, struct ID3DXLoadUserData *user_data_loader, D3DXFRAME **frame_hierarchy, struct ID3DXAnimationController **animation_controller)
@ D3DXCOMPRESSION_FORCE_DWORD
@ D3DXCOMPRESSION_DEFAULT
interface ID3DXAllocateHierarchy * LPD3DXALLOCATEHIERARCHY
_D3DXCALLBACK_SEARCH_FLAGS
@ D3DXCALLBACK_SEARCH_EXCLUDING_INITIAL_POSITION
@ D3DXCALLBACK_SEARCH_FORCE_DWORD
@ D3DXCALLBACK_SEARCH_BEHIND_INITIAL_POSITION
struct _D3DXKEY_CALLBACK D3DXKEY_CALLBACK
interface ID3DXLoadUserData * LPD3DXLOADUSERDATA
UINT WINAPI D3DXFrameNumNamedMatrices(const D3DXFRAME *frame_root)
HRESULT WINAPI D3DXCreateCompressedAnimationSet(const char *name, double ticks_per_second, D3DXPLAYBACK_TYPE playback_type, ID3DXBuffer *compressed_data, UINT callback_key_count, const D3DXKEY_CALLBACK *callback_keys, ID3DXCompressedAnimationSet **animation_set)
enum _D3DXCALLBACK_SEARCH_FLAGS D3DXCALLBACK_SEARCH_FLAGS
enum _D3DXEVENT_TYPE D3DXEVENT_TYPE
HRESULT WINAPI D3DXCreateAnimationController(UINT max_animation_output_count, UINT max_animation_set_count, UINT max_track_count, UINT max_event_count, ID3DXAnimationController **animation_controller)
HRESULT WINAPI D3DXSaveMeshHierarchyToFileA(const char *filename, DWORD format, const D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller, ID3DXSaveUserData *user_data_saver)
struct _D3DXKEY_QUATERNION * LPD3DXKEY_QUATERNION
enum _D3DXTRANSITION_TYPE D3DXTRANSITION_TYPE
DWORD * LPD3DXEVENTHANDLE
struct _D3DXMESHDATA D3DXMESHDATA
struct _D3DXFRAME * LPD3DXFRAME
struct _D3DXMESHCONTAINER D3DXMESHCONTAINER
enum _D3DXPRIORITY_TYPE D3DXPRIORITY_TYPE
struct _D3DXMESHCONTAINER * LPD3DXMESHCONTAINER
HRESULT WINAPI D3DXFrameAppendChild(D3DXFRAME *parent, const D3DXFRAME *child)
struct _D3DXTRACK_DESC * LPD3DXTRACK_DESC
struct _D3DXKEY_VECTOR3 D3DXKEY_VECTOR3
@ D3DXMESHTYPE_FORCE_DWORD
enum _D3DXPLAYBACK_TYPE D3DXPLAYBACK_TYPE
interface ID3DXCompressedAnimationSet * LPD3DXCOMPRESSEDANIMATIONSET
D3DXFRAME *WINAPI D3DXFrameFind(const D3DXFRAME *root, const char *name)
HRESULT WINAPI D3DXFrameRegisterNamedMatrices(D3DXFRAME *frame_root, ID3DXAnimationController *animation_controller)
struct _D3DXKEY_CALLBACK * LPD3DXKEY_CALLBACK
HRESULT WINAPI D3DXLoadMeshHierarchyFromXW(const WCHAR *filename, DWORD flags, struct IDirect3DDevice9 *device, struct ID3DXAllocateHierarchy *alloc, struct ID3DXLoadUserData *user_data_loader, D3DXFRAME **frame_hierarchy, struct ID3DXAnimationController **animation_controller)
struct _D3DXEVENT_DESC D3DXEVENT_DESC
interface ID3DXSaveUserData * LPD3DXSAVEUSERDATA
@ D3DXTRANSITION_FORCE_DWORD
@ D3DXTRANSITION_EASEINEASEOUT
HRESULT WINAPI D3DXFrameCalculateBoundingSphere(const D3DXFRAME *frame_root, D3DXVECTOR3 *center, FLOAT *radius)
enum _D3DXCOMPRESSION_FLAGS D3DXCOMPRESSION_FLAGS
HRESULT WINAPI D3DXLoadMeshHierarchyFromXInMemory(const void *data, DWORD data_size, DWORD flags, struct IDirect3DDevice9 *device, struct ID3DXAllocateHierarchy *alloc, struct ID3DXLoadUserData *user_data_loader, D3DXFRAME **frame_hierarchy, struct ID3DXAnimationController **animation_controller)
struct _D3DXFRAME D3DXFRAME
struct _D3DXKEY_VECTOR3 * LPD3DXKEY_VECTOR3
struct _D3DXKEY_QUATERNION D3DXKEY_QUATERNION
@ D3DXPRIORITY_FORCE_DWORD
interface ID3DXAnimationCallbackHandler * LPD3DXANIMATIONCALLBACKHANDLER
static HRESULT GetName(LPSHELLFOLDER lpsf, LPITEMIDLIST pidl, DWORD dwFlags, LPWSTR lpstrFileName)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLenum GLenum GLenum GLenum scale
static const WCHAR desc[]
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
static const h_entry hierarchy[]
static LRESULT Compress(CodecInfo *pi, ICCOMPRESS *lpic, DWORD dwSize)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
D3DXTRANSITION_TYPE Transition
union _D3DXEVENT_DESC::@2286 DUMMYUNIONNAME
struct _D3DXFRAME * pFrameFirstChild
D3DXMATRIX TransformationMatrix
LPD3DXMESHCONTAINER pMeshContainer
struct _D3DXFRAME * pFrameSibling
LPD3DXEFFECTINSTANCE pEffects
LPD3DXMATERIAL pMaterials
struct _D3DXMESHCONTAINER * pNextMeshContainer
ID3DXSkinInfo * pSkinInfo
union _D3DXMESHDATA::@2285 DUMMYUNIONNAME
ID3DXPatchMesh * pPatchMesh
D3DXPRIORITY_TYPE Priority