orx  stable
Portable Game Engine
OrxAnimSet

Macros

#define orxANIMSET_KU32_FLAG_LINK_STATIC   0x00200000
 
#define orxANIMSET_KU32_FLAG_NONE   0x00000000
 
#define orxANIMSET_KU32_FLAG_REFERENCE_LOCK   0x00100000
 
#define orxANIMSET_KU32_LINK_FLAG_CLEAR_TARGET   0x80000000
 
#define orxANIMSET_KU32_LINK_FLAG_IMMEDIATE_CUT   0x40000000
 
#define orxANIMSET_KU32_LINK_FLAG_LOOP_COUNTER   0x10000000
 
#define orxANIMSET_KU32_LINK_FLAG_NONE   0x00000000
 
#define orxANIMSET_KU32_LINK_FLAG_PRIORITY   0x20000000
 
#define orxANIMSET_KU32_MAX_ANIM_NUMBER   128
 

Typedefs

typedef struct __orxANIMSET_t orxANIMSET
 
typedef struct __orxANIMSET_LINK_TABLE_t orxANIMSET_LINK_TABLE
 

Functions

orxDLLAPI orxU32 orxFASTCALL orxAnimSet_AddAnim (orxANIMSET *_pstAnimSet, orxANIM *_pstAnim)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_AddLink (orxANIMSET *_pstAnimSet, orxU32 _u32SrcAnim, orxU32 _u32DstAnim)
 
orxDLLAPI void orxFASTCALL orxAnimSet_AddReference (orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_ClearCache ()
 
orxDLLAPI orxANIMSET_LINK_TABLE *orxFASTCALL orxAnimSet_CloneLinkTable (const orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_ComputeAnim (orxANIMSET *_pstAnimSet, orxU32 _u32SrcAnim, orxU32 _u32DstAnim, orxFLOAT *_pfTime, orxANIMSET_LINK_TABLE *_pstLinkTable, orxBOOL *_pbCut, orxBOOL *_pbClearTarget)
 
orxDLLAPI orxANIMSET *orxFASTCALL orxAnimSet_Create (orxU32 _u32Size)
 
orxDLLAPI orxANIMSET *orxFASTCALL orxAnimSet_CreateFromConfig (const orxSTRING _zConfigID)
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_Delete (orxANIMSET *_pstAnimSet)
 
orxDLLAPI void orxFASTCALL orxAnimSet_DeleteLinkTable (orxANIMSET_LINK_TABLE *_pstLinkTable)
 
orxDLLAPI void orxFASTCALL orxAnimSet_Exit ()
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_FindNextAnim (orxANIMSET *_pstAnimSet, orxU32 _u32SrcAnim, orxU32 _u32DstAnim)
 
orxDLLAPI orxANIM *orxFASTCALL orxAnimSet_GetAnim (const orxANIMSET *_pstAnimSet, orxU32 _u32AnimID)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetAnimCounter (const orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetAnimIDFromName (const orxANIMSET *_pstAnimSet, const orxSTRING _zAnimName)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetAnimStorageSize (const orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetLink (const orxANIMSET *_pstAnimSet, orxU32 _u32SrcAnim, orxU32 _u32DstAnim)
 
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetLinkProperty (const orxANIMSET *_pstAnimSet, orxU32 _u32LinkID, orxU32 _u32Property)
 
orxDLLAPI const orxSTRING orxFASTCALL orxAnimSet_GetName (const orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_Init ()
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_RemoveAllAnims (orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_RemoveAnim (orxANIMSET *_pstAnimSet, orxU32 _u32AnimID)
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_RemoveLink (orxANIMSET *_pstAnimSet, orxU32 _u32LinkID)
 
orxDLLAPI void orxFASTCALL orxAnimSet_RemoveReference (orxANIMSET *_pstAnimSet)
 
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_SetLinkProperty (orxANIMSET *_pstAnimSet, orxU32 _u32LinkID, orxU32 _u32Property, orxU32 _u32Value)
 
orxDLLAPI void orxFASTCALL orxAnimSet_Setup ()
 

Detailed Description

Animation (Set) Module. Allows to creates and handle Sets of Anims. It consists of a structure containing Anims and their relations. It also contains functions for handling and accessing them. AnimSets are structures. They thus can be referenced by Anim Pointers.

Macro Definition Documentation

#define orxANIMSET_KU32_FLAG_LINK_STATIC   0x00200000

If not static, animpointer should duplicate the link table upon linking/creation.

Definition at line 61 of file orxAnimSet.h.

#define orxANIMSET_KU32_FLAG_NONE   0x00000000

AnimSet flagsNo flags.

Definition at line 58 of file orxAnimSet.h.

#define orxANIMSET_KU32_FLAG_REFERENCE_LOCK   0x00100000

If there's already a reference on it, the AnimSet is locked for changes.

Definition at line 60 of file orxAnimSet.h.

#define orxANIMSET_KU32_LINK_FLAG_CLEAR_TARGET   0x80000000

Anim link should clear target when used

Definition at line 70 of file orxAnimSet.h.

#define orxANIMSET_KU32_LINK_FLAG_IMMEDIATE_CUT   0x40000000

Anim link should update with an immediate cut

Definition at line 69 of file orxAnimSet.h.

#define orxANIMSET_KU32_LINK_FLAG_LOOP_COUNTER   0x10000000

Anim link uses a counter

Definition at line 67 of file orxAnimSet.h.

#define orxANIMSET_KU32_LINK_FLAG_NONE   0x00000000

AnimSet Link FlagsNo flags.

Definition at line 65 of file orxAnimSet.h.

#define orxANIMSET_KU32_LINK_FLAG_PRIORITY   0x20000000

Anim link has priority

Definition at line 68 of file orxAnimSet.h.

#define orxANIMSET_KU32_MAX_ANIM_NUMBER   128

AnimSet definesMaximum number of Anims for an Anim set structure

Definition at line 74 of file orxAnimSet.h.

Typedef Documentation

typedef struct __orxANIMSET_t orxANIMSET

Internal AnimSet structure

Definition at line 79 of file orxAnimSet.h.

typedef struct __orxANIMSET_LINK_TABLE_t orxANIMSET_LINK_TABLE

Internal Link Table structure

Definition at line 83 of file orxAnimSet.h.

Function Documentation

orxDLLAPI orxU32 orxFASTCALL orxAnimSet_AddAnim ( orxANIMSET _pstAnimSet,
orxANIM _pstAnim 
)

Adds an Anim to an AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_pstAnimAnim to add
Returns
Anim ID in the specified AnimSet
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_AddLink ( orxANIMSET _pstAnimSet,
orxU32  _u32SrcAnim,
orxU32  _u32DstAnim 
)

Adds a link between two Anims of the AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32SrcAnimSource Anim of the link
[in]_u32DstAnimDestination Anim of the link
Returns
ID of the created link / orxU32_UNDEFINED
orxDLLAPI void orxFASTCALL orxAnimSet_AddReference ( orxANIMSET _pstAnimSet)

Adds a reference to an AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_ClearCache ( )

Clears cache (if any animset is still in active use, it'll remain in memory until not referenced anymore)

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxANIMSET_LINK_TABLE* orxFASTCALL orxAnimSet_CloneLinkTable ( const orxANIMSET _pstAnimSet)

Clones an AnimSet Link Table

Parameters
[in]_pstAnimSetAnimSet to clone
Returns
An internally allocated clone of the AnimSet
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_ComputeAnim ( orxANIMSET _pstAnimSet,
orxU32  _u32SrcAnim,
orxU32  _u32DstAnim,
orxFLOAT *  _pfTime,
orxANIMSET_LINK_TABLE _pstLinkTable,
orxBOOL *  _pbCut,
orxBOOL *  _pbClearTarget 
)

Computes active Anim given current and destination Anim IDs & a relative timestamp

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32SrcAnimSource (current) Anim ID
[in]_u32DstAnimDestination Anim ID, if none (auto mode) set it to orxU32_UNDEFINED
[in,out]_pfTimePointer to the current timestamp relative to the source Anim (time elapsed since the beginning of this anim)
[in,out]_pstLinkTableAnim Pointer link table (updated if AnimSet link table isn't static, when using loop counters for example)
[out]_pbCutAnimation has been cut
[out]_pbClearTargetAnimation has requested a target clearing
Returns
Current Anim ID. If it's not the source one, _pu32Time will contain the new timestamp, relative to the new Anim
orxDLLAPI orxANIMSET* orxFASTCALL orxAnimSet_Create ( orxU32  _u32Size)

Creates an empty AnimSet

Parameters
[in]_u32SizeStorage size return Created orxANIMSET / orxNULL
orxDLLAPI orxANIMSET* orxFASTCALL orxAnimSet_CreateFromConfig ( const orxSTRING  _zConfigID)

Creates an animation set from config

Parameters
[in]_zConfigIDConfig ID
Returns
orxANIMSET / orxNULL
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_Delete ( orxANIMSET _pstAnimSet)

Deletes an AnimSet

Parameters
[in]_pstAnimSetAnimSet to delete
orxDLLAPI void orxFASTCALL orxAnimSet_DeleteLinkTable ( orxANIMSET_LINK_TABLE _pstLinkTable)

Deletes a Link table

Parameters
[in]_pstLinkTableLink table to delete (should have been created using the clone function)
orxDLLAPI void orxFASTCALL orxAnimSet_Exit ( )

Exits from the AnimSet module

orxDLLAPI orxU32 orxFASTCALL orxAnimSet_FindNextAnim ( orxANIMSET _pstAnimSet,
orxU32  _u32SrcAnim,
orxU32  _u32DstAnim 
)

Finds next Anim given current and destination Anim IDs

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32SrcAnimSource (current) Anim ID
[in]_u32DstAnimDestination Anim ID, if none (auto mode) set it to orxU32_UNDEFINED
Returns
Next Anim ID if found, orxU32_UNDEFINED otherwise
orxDLLAPI orxANIM* orxFASTCALL orxAnimSet_GetAnim ( const orxANIMSET _pstAnimSet,
orxU32  _u32AnimID 
)

AnimSet Anim get accessor

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32AnimIDAnim ID
Returns
Anim pointer / orxNULL
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetAnimCounter ( const orxANIMSET _pstAnimSet)

AnimSet Anim counter get accessor

Parameters
[in]_pstAnimSetConcerned AnimSet
Returns
Anim counter / orxU32_UNDEFINED
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetAnimIDFromName ( const orxANIMSET _pstAnimSet,
const orxSTRING  _zAnimName 
)

Gets animation ID from name

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_zAnimNameAnimation name (config's section)
Returns
Anim ID / orxU32_UNDEFINED
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetAnimStorageSize ( const orxANIMSET _pstAnimSet)

AnimSet Anim storage size get accessor

Parameters
[in]_pstAnimSetConcerned AnimSet
Returns
AnimSet Storage size / orxU32_UNDEFINED
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetLink ( const orxANIMSET _pstAnimSet,
orxU32  _u32SrcAnim,
orxU32  _u32DstAnim 
)

Gets a direct link between two Anims, if exists

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32SrcAnimID of the source Anim
[in]_u32DstAnimID of the destination Anim
Returns
ID of the direct link, orxU32_UNDEFINED if none
orxDLLAPI orxU32 orxFASTCALL orxAnimSet_GetLinkProperty ( const orxANIMSET _pstAnimSet,
orxU32  _u32LinkID,
orxU32  _u32Property 
)

Gets a link property

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32LinkIDID of the concerned link
[in]_u32PropertyID of the property to get
Returns
Property value / orxU32_UNDEFINED
orxDLLAPI const orxSTRING orxFASTCALL orxAnimSet_GetName ( const orxANIMSET _pstAnimSet)

AnimSet name get accessor

Parameters
[in]_pstAnimSetConcerned AnimSet
Returns
orxSTRING / orxSTRING_EMPTY
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_Init ( )

Inits the AnimSet module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_RemoveAllAnims ( orxANIMSET _pstAnimSet)

Removes all Anim from the AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_RemoveAnim ( orxANIMSET _pstAnimSet,
orxU32  _u32AnimID 
)

Removes an Anim from an AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32AnimIDID of the anim to remove
Returns
orxSTATUS_SUCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_RemoveLink ( orxANIMSET _pstAnimSet,
orxU32  _u32LinkID 
)

Removes a link from the AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32LinkIDID of the link
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxAnimSet_RemoveReference ( orxANIMSET _pstAnimSet)

Removes a reference from an AnimSet

Parameters
[in]_pstAnimSetConcerned AnimSet
orxDLLAPI orxSTATUS orxFASTCALL orxAnimSet_SetLinkProperty ( orxANIMSET _pstAnimSet,
orxU32  _u32LinkID,
orxU32  _u32Property,
orxU32  _u32Value 
)

Sets a link property

Parameters
[in]_pstAnimSetConcerned AnimSet
[in]_u32LinkIDID of the concerned link
[in]_u32PropertyID of the property to set
[in]_u32ValueValue of the property to set
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxAnimSet_Setup ( )

AnimSet module setup


Generated for orx by doxygen 1.5.6