USING: alien.c-types alien.syntax classes.struct windows.com windows.com.syntax windows.directx windows.directx.d3d9 windows.directx.d3dx9core windows.directx.d3dx9math windows.directx.d3dx9mesh windows.directx.d3dx9xof windows.types ; IN: windows.directx.d3dx9anim LIBRARY: d3dx9 TYPEDEF: int D3DXMESHDATATYPE CONSTANT: D3DXMESHTYPE_MESH 1 CONSTANT: D3DXMESHTYPE_PMESH 2 CONSTANT: D3DXMESHTYPE_PATCHMESH 3 CONSTANT: D3DXMESHTYPE_FORCE_DWORD 0x7fffffff STRUCT: D3DXMESHDATA { Type D3DXMESHDATATYPE } { Mesh void* } ; TYPEDEF: D3DXMESHDATA* LPD3DXMESHDATA STRUCT: D3DXMESHCONTAINER { Name LPSTR } { MeshData D3DXMESHDATA } { pMaterials LPD3DXMATERIAL } { pEffects LPD3DXEFFECTINSTANCE } { NumMaterials DWORD } { pAdjacency DWORD* } { pSkinInfo LPD3DXSKININFO } { pNextMeshContainer D3DXMESHCONTAINER* } ; TYPEDEF: D3DXMESHCONTAINER* LPD3DXMESHCONTAINER STRUCT: D3DXFRAME { Name LPSTR } { TransformationMatrix D3DXMATRIX } { pMeshContainer LPD3DXMESHCONTAINER } { pFrameSibling D3DXFRAME* } { pFrameFirstChild D3DXFRAME* } ; TYPEDEF: D3DXFRAME* LPD3DXFRAME C-TYPE: ID3DXAllocateHierarchy TYPEDEF: ID3DXAllocateHierarchy* LPD3DXALLOCATEHIERARCHY COM-INTERFACE: ID3DXAllocateHierarchy f {00000000-0000-0000-0000-000000000000} HRESULT CreateFrame ( LPCSTR Name, LPD3DXFRAME* ppNewFrame ) HRESULT CreateMeshContainer ( LPCSTR Name, D3DXMESHDATA* pMeshData, D3DXMATERIAL* pMaterials, D3DXEFFECTINSTANCE* pEffectInstances, DWORD NumMaterials, DWORD* pAdjacency, LPD3DXSKININFO pSkinInfo, LPD3DXMESHCONTAINER* ppNewMeshContainer ) HRESULT DestroyFrame ( LPD3DXFRAME pFrameToFree ) HRESULT DestroyMeshContainer ( LPD3DXMESHCONTAINER pMeshContainerToFree ) ; C-TYPE: ID3DXLoadUserData TYPEDEF: ID3DXLoadUserData* LPD3DXLOADUSERDATA COM-INTERFACE: ID3DXLoadUserData f {00000000-0000-0000-0000-000000000000} HRESULT LoadTopLevelData ( LPD3DXFILEDATA pXofChildData ) HRESULT LoadFrameChildData ( LPD3DXFRAME pFrame, LPD3DXFILEDATA pXofChildData ) HRESULT LoadMeshChildData ( LPD3DXMESHCONTAINER pMeshContainer, LPD3DXFILEDATA pXofChildData ) ; C-TYPE: ID3DXSaveUserData TYPEDEF: ID3DXSaveUserData* LPD3DXSAVEUSERDATA COM-INTERFACE: ID3DXSaveUserData f {00000000-0000-0000-0000-000000000000} HRESULT AddFrameChildData ( D3DXFRAME* pFrame, LPD3DXFILESAVEOBJECT pXofSave, LPD3DXFILESAVEDATA pXofFrameData ) HRESULT AddMeshChildData ( D3DXMESHCONTAINER* pMeshContainer, LPD3DXFILESAVEOBJECT pXofSave, LPD3DXFILESAVEDATA pXofMeshData ) HRESULT AddTopLevelDataObjectsPre ( LPD3DXFILESAVEOBJECT pXofSave ) HRESULT AddTopLevelDataObjectsPost ( LPD3DXFILESAVEOBJECT pXofSave ) HRESULT RegisterTemplates ( LPD3DXFILE pXFileApi ) HRESULT SaveTemplates ( LPD3DXFILESAVEOBJECT pXofSave ) ; TYPEDEF: int D3DXCALLBACK_SEARCH_FLAGS CONSTANT: D3DXCALLBACK_SEARCH_EXCLUDING_INITIAL_POSITION 1 CONSTANT: D3DXCALLBACK_SEARCH_BEHIND_INITIAL_POSITION 2 CONSTANT: D3DXCALLBACK_SEARCH_FORCE_DWORD 0x7fffffff C-TYPE: ID3DXAnimationSet TYPEDEF: ID3DXAnimationSet* LPD3DXANIMATIONSET COM-INTERFACE: ID3DXAnimationSet IUnknown {698CFB3F-9289-4d95-9A57-33A94B5A65F9} LPCSTR GetName ( ) double GetPeriod ( ) double GetPeriodicPosition ( double Position ) UINT GetNumAnimations ( ) HRESULT GetAnimationNameByIndex ( UINT Index, LPCSTR* ppName ) HRESULT GetAnimationIndexByName ( LPCSTR pName, UINT* pIndex ) HRESULT GetSRT ( double PeriodicPosition, UINT Animation, D3DXVECTOR3* pScale, D3DXQUATERNION* pRotation, D3DXVECTOR3* pTranslation ) HRESULT GetCallback ( double Position, DWORD Flags, double* pCallbackPosition, LPVOID* ppCallbackData ) ; TYPEDEF: int D3DXPLAYBACK_TYPE CONSTANT: D3DXPLAY_LOOP 0 CONSTANT: D3DXPLAY_ONCE 1 CONSTANT: D3DXPLAY_PINGPONG 2 CONSTANT: D3DXPLAY_FORCE_DWORD 0x7fffffff STRUCT: D3DXKEY_VECTOR3 { Time FLOAT } { Value D3DXVECTOR3 } ; TYPEDEF: D3DXKEY_VECTOR3* LPD3DXKEY_VECTOR3 STRUCT: D3DXKEY_QUATERNION { Time FLOAT } { Value D3DXQUATERNION } ; TYPEDEF: D3DXKEY_QUATERNION* LPD3DXKEY_QUATERNION STRUCT: D3DXKEY_CALLBACK { Time FLOAT } { pCallbackData LPVOID } ; TYPEDEF: D3DXKEY_CALLBACK* LPD3DXKEY_CALLBACK TYPEDEF: int D3DXCOMPRESSION_FLAGS CONSTANT: D3DXCOMPRESS_DEFAULT 0 CONSTANT: D3DXCOMPRESS_FORCE_DWORD 0x7fffffff C-TYPE: ID3DXKeyframedAnimationSet TYPEDEF: ID3DXKeyframedAnimationSet* LPD3DXKEYFRAMEDANIMATIONSET COM-INTERFACE: ID3DXKeyframedAnimationSet ID3DXAnimationSet {FA4E8E3A-9786-407d-8B4C-5995893764AF} D3DXPLAYBACK_TYPE GetPlaybackType ( ) double GetSourceTicksPerSecond ( ) UINT GetNumScaleKeys ( UINT Animation ) HRESULT GetScaleKeys ( UINT Animation, LPD3DXKEY_VECTOR3 pScaleKeys ) HRESULT GetScaleKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pScaleKey ) HRESULT SetScaleKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pScaleKey ) UINT GetNumRotationKeys ( UINT Animation ) HRESULT GetRotationKeys ( UINT Animation, LPD3DXKEY_QUATERNION pRotationKeys ) HRESULT GetRotationKey ( UINT Animation, UINT Key, LPD3DXKEY_QUATERNION pRotationKey ) HRESULT SetRotationKey ( UINT Animation, UINT Key, LPD3DXKEY_QUATERNION pRotationKey ) UINT GetNumTranslationKeys ( UINT Animation ) HRESULT GetTranslationKeys ( UINT Animation, LPD3DXKEY_VECTOR3 pTranslationKeys ) HRESULT GetTranslationKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pTranslationKey ) HRESULT SetTranslationKey ( UINT Animation, UINT Key, LPD3DXKEY_VECTOR3 pTranslationKey ) UINT GetNumCallbackKeys ( ) HRESULT GetCallbackKeys ( LPD3DXKEY_CALLBACK pCallbackKeys ) HRESULT GetCallbackKey ( UINT Key, LPD3DXKEY_CALLBACK pCallbackKey ) HRESULT SetCallbackKey ( UINT Key, LPD3DXKEY_CALLBACK pCallbackKey ) HRESULT UnregisterScaleKey ( UINT Animation, UINT Key ) HRESULT UnregisterRotationKey ( UINT Animation, UINT Key ) HRESULT UnregisterTranslationKey ( UINT Animation, UINT Key ) HRESULT RegisterAnimationSRTKeys ( LPCSTR pName, UINT NumScaleKeys, UINT NumRotationKeys, UINT NumTranslationKeys, D3DXKEY_VECTOR3* pScaleKeys, D3DXKEY_QUATERNION* pRotationKeys, D3DXKEY_VECTOR3* pTranslationKeys, DWORD* pAnimationIndex ) HRESULT Compress ( DWORD Flags, FLOAT Lossiness, LPD3DXFRAME pHierarchy, LPD3DXBUFFER* ppCompressedData ) HRESULT UnregisterAnimation ( UINT Index ) ; C-TYPE: ID3DXCompressedAnimationSet TYPEDEF: ID3DXCompressedAnimationSet* LPD3DXCOMPRESSEDANIMATIONSET COM-INTERFACE: ID3DXCompressedAnimationSet ID3DXAnimationSet {6CC2480D-3808-4739-9F88-DE49FACD8D4C} D3DXPLAYBACK_TYPE GetPlaybackType ( ) double GetSourceTicksPerSecond ( ) HRESULT GetCompressedData ( LPD3DXBUFFER* ppCompressedData ) UINT GetNumCallbackKeys ( ) HRESULT GetCallbackKeys ( LPD3DXKEY_CALLBACK pCallbackKeys ) ; TYPEDEF: int D3DXPRIORITY_TYPE CONSTANT: D3DXPRIORITY_LOW 0 CONSTANT: D3DXPRIORITY_HIGH 1 CONSTANT: D3DXPRIORITY_FORCE_DWORD 0x7fffffff STRUCT: D3DXTRACK_DESC { Priority D3DXPRIORITY_TYPE } { Weight FLOAT } { Speed FLOAT } { Position double } { Enable BOOL } ; TYPEDEF: D3DXTRACK_DESC* LPD3DXTRACK_DESC TYPEDEF: int D3DXEVENT_TYPE CONSTANT: D3DXEVENT_TRACKSPEED 0 CONSTANT: D3DXEVENT_TRACKWEIGHT 1 CONSTANT: D3DXEVENT_TRACKPOSITION 2 CONSTANT: D3DXEVENT_TRACKENABLE 3 CONSTANT: D3DXEVENT_PRIORITYBLEND 4 CONSTANT: D3DXEVENT_FORCE_DWORD 0x7fffffff TYPEDEF: int D3DXTRANSITION_TYPE CONSTANT: D3DXTRANSITION_LINEAR 0 CONSTANT: D3DXTRANSITION_EASEINEASEOUT 1 CONSTANT: D3DXTRANSITION_FORCE_DWORD 0x7fffffff UNION-STRUCT: D3DXEVENT_DESC_UNION { Weight FLOAT } { Speed FLOAT } { Position double } { Enable BOOL } ; STRUCT: D3DXEVENT_DESC { Type D3DXEVENT_TYPE } { Track UINT } { StartTime double } { Duration double } { Transition D3DXTRANSITION_TYPE } { Union D3DXEVENT_DESC_UNION } ; TYPEDEF: D3DXEVENT_DESC* LPD3DXEVENT_DESC TYPEDEF: DWORD D3DXEVENTHANDLE TYPEDEF: D3DXEVENTHANDLE* LPD3DXEVENTHANDLE C-TYPE: ID3DXAnimationCallbackHandler TYPEDEF: ID3DXAnimationCallbackHandler* LPD3DXANIMATIONCALLBACKHANDLER COM-INTERFACE: ID3DXAnimationCallbackHandler f {00000000-0000-0000-0000-000000000000} HRESULT HandleCallback ( UINT Track, LPVOID pCallbackData ) ; C-TYPE: ID3DXAnimationController TYPEDEF: ID3DXAnimationController* LPD3DXANIMATIONCONTROLLER COM-INTERFACE: ID3DXAnimationController IUnknown {AC8948EC-F86D-43e2-96DE-31FC35F96D9E} UINT GetMaxNumAnimationOutputs ( ) UINT GetMaxNumAnimationSets ( ) UINT GetMaxNumTracks ( ) UINT GetMaxNumEvents ( ) HRESULT RegisterAnimationOutput ( LPCSTR pName, D3DXMATRIX* pMatrix, D3DXVECTOR3* pScale, D3DXQUATERNION* pRotation, D3DXVECTOR3* pTranslation ) HRESULT RegisterAnimationSet ( LPD3DXANIMATIONSET pAnimSet ) HRESULT UnregisterAnimationSet ( LPD3DXANIMATIONSET pAnimSet ) UINT GetNumAnimationSets ( ) HRESULT GetAnimationSet ( UINT Index, LPD3DXANIMATIONSET* ppAnimationSet ) HRESULT GetAnimationSetByName ( LPCSTR szName, LPD3DXANIMATIONSET* ppAnimationSet ) HRESULT AdvanceTime ( double TimeDelta, LPD3DXANIMATIONCALLBACKHANDLER pCallbackHandler ) HRESULT ResetTime ( ) double GetTime ( ) HRESULT SetTrackAnimationSet ( UINT Track, LPD3DXANIMATIONSET pAnimSet ) HRESULT GetTrackAnimationSet ( UINT Track, LPD3DXANIMATIONSET* ppAnimSet ) HRESULT SetTrackPriority ( UINT Track, D3DXPRIORITY_TYPE Priority ) HRESULT SetTrackSpeed ( UINT Track, FLOAT Speed ) HRESULT SetTrackWeight ( UINT Track, FLOAT Weight ) HRESULT SetTrackPosition ( UINT Track, double Position ) HRESULT SetTrackEnable ( UINT Track, BOOL Enable ) HRESULT SetTrackDesc ( UINT Track, LPD3DXTRACK_DESC pDesc ) HRESULT GetTrackDesc ( UINT Track, LPD3DXTRACK_DESC pDesc ) HRESULT SetPriorityBlend ( FLOAT BlendWeight ) FLOAT GetPriorityBlend ( ) D3DXEVENTHANDLE KeyTrackSpeed ( UINT Track, FLOAT NewSpeed, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition ) D3DXEVENTHANDLE KeyTrackWeight ( UINT Track, FLOAT NewWeight, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition ) D3DXEVENTHANDLE KeyTrackPosition ( UINT Track, double NewPosition, double StartTime ) D3DXEVENTHANDLE KeyTrackEnable ( UINT Track, BOOL NewEnable, double StartTime ) D3DXEVENTHANDLE KeyPriorityBlend ( FLOAT NewBlendWeight, double StartTime, double Duration, D3DXTRANSITION_TYPE Transition ) HRESULT UnkeyEvent ( D3DXEVENTHANDLE hEvent ) HRESULT UnkeyAllTrackEvents ( UINT Track ) HRESULT UnkeyAllPriorityBlends ( ) D3DXEVENTHANDLE GetCurrentTrackEvent ( UINT Track, D3DXEVENT_TYPE EventType ) D3DXEVENTHANDLE GetCurrentPriorityBlend ( ) D3DXEVENTHANDLE GetUpcomingTrackEvent ( UINT Track, D3DXEVENTHANDLE hEvent ) D3DXEVENTHANDLE GetUpcomingPriorityBlend ( D3DXEVENTHANDLE hEvent ) HRESULT ValidateEvent ( D3DXEVENTHANDLE hEvent ) HRESULT GetEventDesc ( D3DXEVENTHANDLE hEvent, LPD3DXEVENT_DESC pDesc ) HRESULT CloneAnimationController ( UINT MaxNumAnimationOutputs, UINT MaxNumAnimationSets, UINT MaxNumTracks, UINT MaxNumEvents, LPD3DXANIMATIONCONTROLLER* ppAnimController ) ; FUNCTION: HRESULT D3DXLoadMeshHierarchyFromXA ( LPCSTR Filename, DWORD MeshOptions, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXALLOCATEHIERARCHY pAlloc, LPD3DXLOADUSERDATA pUserDataLoader, LPD3DXFRAME* ppFrameHierarchy, LPD3DXANIMATIONCONTROLLER* ppAnimController ) ; FUNCTION: HRESULT D3DXLoadMeshHierarchyFromXW ( LPCWSTR Filename, DWORD MeshOptions, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXALLOCATEHIERARCHY pAlloc, LPD3DXLOADUSERDATA pUserDataLoader, LPD3DXFRAME* ppFrameHierarchy, LPD3DXANIMATIONCONTROLLER* ppAnimController ) ; ALIAS: D3DXLoadMeshHierarchyFromX D3DXLoadMeshHierarchyFromXW FUNCTION: HRESULT D3DXLoadMeshHierarchyFromXInMemory ( LPCVOID Memory, DWORD SizeOfMemory, DWORD MeshOptions, LPDIRECT3DDEVICE9 pD3DDevice, LPD3DXALLOCATEHIERARCHY pAlloc, LPD3DXLOADUSERDATA pUserDataLoader, LPD3DXFRAME* ppFrameHierarchy, LPD3DXANIMATIONCONTROLLER* ppAnimController ) ; FUNCTION: HRESULT D3DXSaveMeshHierarchyToFileA ( LPCSTR Filename, DWORD XFormat, D3DXFRAME* pFrameRoot, LPD3DXANIMATIONCONTROLLER pAnimcontroller, LPD3DXSAVEUSERDATA pUserDataSaver ) ; FUNCTION: HRESULT D3DXSaveMeshHierarchyToFileW ( LPCWSTR Filename, DWORD XFormat, D3DXFRAME* pFrameRoot, LPD3DXANIMATIONCONTROLLER pAnimController, LPD3DXSAVEUSERDATA pUserDataSaver ) ; ALIAS: D3DXSaveMeshHierarchyToFile D3DXSaveMeshHierarchyToFileW FUNCTION: HRESULT D3DXFrameDestroy ( LPD3DXFRAME pFrameRoot, LPD3DXALLOCATEHIERARCHY pAlloc ) ; FUNCTION: HRESULT D3DXFrameAppendChild ( LPD3DXFRAME pFrameParent, D3DXFRAME* pFrameChild ) ; FUNCTION: LPD3DXFRAME D3DXFrameFind ( D3DXFRAME* pFrameRoot, LPCSTR Name ) ; FUNCTION: HRESULT D3DXFrameRegisterNamedMatrices ( LPD3DXFRAME pFrameRoot, LPD3DXANIMATIONCONTROLLER pAnimController ) ; FUNCTION: UINT D3DXFrameNumNamedMatrices ( D3DXFRAME* pFrameRoot ) ; FUNCTION: HRESULT D3DXFrameCalculateBoundingSphere ( D3DXFRAME* pFrameRoot, LPD3DXVECTOR3 pObjectCenter, FLOAT* pObjectRadius ) ; FUNCTION: HRESULT D3DXCreateKeyframedAnimationSet ( LPCSTR pName, double TicksPerSecond, D3DXPLAYBACK_TYPE Playback, UINT NumAnimations, UINT NumCallbackKeys, D3DXKEY_CALLBACK* pCallbackKeys, LPD3DXKEYFRAMEDANIMATIONSET* ppAnimationSet ) ; FUNCTION: HRESULT D3DXCreateCompressedAnimationSet ( LPCSTR pName, double TicksPerSecond, D3DXPLAYBACK_TYPE Playback, LPD3DXBUFFER pCompressedData, UINT NumCallbackKeys, D3DXKEY_CALLBACK* pCallbackKeys, LPD3DXCOMPRESSEDANIMATIONSET* ppAnimationSet ) ; FUNCTION: HRESULT D3DXCreateAnimationController ( UINT MaxNumMatrices, UINT MaxNumAnimationSets, UINT MaxNumTracks, UINT MaxNumEvents, LPD3DXANIMATIONCONTROLLER* ppAnimController ) ;