Animation_System_Enums

CA_AnimationFlags Enumeration
C++
enum CA_AnimationFlags {
  CA_MANUAL_UPDATE = 0x000001,
  CA_LOOP_ANIMATION = 0x000002,
  CA_REPEAT_LAST_KEY = 0x000004,
  CA_TRANSITION_TIMEWARPING = 0x000008,
  CA_START_AT_KEYTIME = 0x000010,
  CA_START_AFTER = 0x000020,
  CA_IDLE2MOVE = 0x000040,
  CA_MOVE2IDLE = 0x000080,
  CA_ALLOW_ANIM_RESTART = 0x000100,
  CA_KEYFRAME_SAMPLE_30Hz = 0x000200,
  CA_DISABLE_MULTILAYER = 0x000400,
  CA_FORCE_SKELETON_UPDATE = 0x000800,
  CA_TRACK_VIEW_EXCLUSIVE = 0x001000,
  CA_REMOVE_FROM_FIFO = 0x002000,
  CA_FULL_ROOT_PRIORITY = 0x004000,
  CA_FORCE_TRANSITION_TO_ANIM = 0x008000,
  CA_FADEOUT = 0x40000000
};
File

CryCharAnimationParams.h

Members
Members
Description
CA_MANUAL_UPDATE = 0x000001
With this flag the animation is not being updated automatically. The user needs to set the time manually. This is used for steering-wheels and mounted-weapons, where we convert the rotation of an object into animation-keytimes
CA_LOOP_ANIMATION = 0x000002
Plays an animations in an endless loop till we stop this animation or start a new animation.
CA_REPEAT_LAST_KEY = 0x000004
Plays an animation once and then repeats the last keyframe. Without this flag we remove the animation from the FIFO.
CA_TRANSITION_TIMEWARPING = 0x000008
Linear time-warping of animations to align animation with similar properties
CA_START_AT_KEYTIME = 0x000010
Don't start a transition immediately. Wait till the previous animation is passing a specified key-time
CA_START_AFTER = 0x000020
Can be simulated by using the flags "CA_START_AT_KEYTIME" and "CA_REPEAT_LAST_KEY".
CA_IDLE2MOVE = 0x000040
When playing an Idel2Move transition, we would like to find the best transition point to start a locomotion-animation
CA_MOVE2IDLE = 0x000080
When playing an locomotion-animation, we would like to find the best transition point to start a Move2Idle.
CA_ALLOW_ANIM_RESTART = 0x000100
By default it is not possible to start the same animation twice. In some special cases this is sometimes necessary (e.g. recoil-animations). By enabling this flag we can restart the same animation using the previously described transition-rules.
CA_KEYFRAME_SAMPLE_30Hz = 0x000200
don't interpolate between 2 keyframes (do only 30hz sampling)
CA_DISABLE_MULTILAYER = 0x000400
Don't allow multilayer animations when this flag is set in Layer0
CA_FORCE_SKELETON_UPDATE = 0x000800
When an object is not visible, then we just update the animation but NOT the skeleton. The skeleton will stay in the last updated pose. This can can be a problem in some situations, for example when an animation is used to open a door, or when we use skeleton animation to move physical objects in the game. A good example is the moving platform in MP to lift up the VTOL and the helicopters). The only way to enforce the skeleton-update is to use this flag per animation.
CA_TRACK_VIEW_EXCLUSIVE = 0x001000
FLAGS FOR SPECIAL ANIMATION MODES
CA_REMOVE_FROM_FIFO = 0x002000
Usually we always update animations, even when the object is not visible. For simple objects (e.g. boids) we want to avoid even animation-update. This can lead to an overflow in the FIFO-queue. To avoid the overflow, we remove the first animation from the FIFO when there are more then 16 animation in the queue.
CA_FORCE_TRANSITION_TO_ANIM = 0x008000
An animation with this flag makes sure it's transitioned to. Usually some conditions (anims in the same queue with flags Idle2Move, Move2Idle, StartKeyAfter, StartKeyAtTime, not in memory) can delay the transition, this flag removes them all
CA_FADEOUT = 0x40000000
fadeout works only for animations in higher layers and should be used together with CA_REPEAT_LAST_KEY
CA_AssetFlags Enumeration
C++
enum CA_AssetFlags {
  CA_ASSET_ADDITIVE = 0x001,
  CA_ASSET_CYCLE = 0x002,
  CA_ASSET_LOADED = 0x004,
  CA_ASSET_LMG = 0x008,
  CA_ASSET_LMG_VALID = 0x020,
  CA_ASSET_CREATED = 0x800,
  CA_ASSET_REQUESTED = 0x1000,
  CA_ASSET_ONDEMAND = 0x2000,
  CA_AIMPOSE = 0x4000,
  CA_AIMPOSE_UNLOADED = 0x8000,
  CA_ASSET_NOT_FOUND = 0x10000,
  CA_ASSET_TCB = 0x20000,
  CA_ASSET_INTERNALTYPE = 0x40000,
  CA_ASSET_BIG_ENDIAN = 0x80000000
};
File

CryCharAnimationParams.h

Members
Members
Description
CA_ASSET_ADDITIVE = 0x001
This flags in used in RC as well
CA_ASSET_CYCLE = 0x002
This flags in used in RC as well
CA_ASSET_LOADED = 0x004
If this is true, then the asset has valid info data (has been loaded at least once).
CA_ASSET_LMG = 0x008
If this is true, then the asset is a locomotion group (LMG).
CA_ASSET_LMG_VALID = 0x020
If this is true, then the LMG has been processed at loading time.
CA_ASSET_CREATED = 0x800
If this true, then the asset is created but not loaded.
CA_ASSET_REQUESTED = 0x1000
If this true, then the asset is already requested for loading.
CA_ASSET_ONDEMAND = 0x2000
If this true, then the asset has on-demand loading.
CA_AIMPOSE = 0x4000
If this true, then this asset is an AimPose.
CA_AIMPOSE_UNLOADED = 0x8000
If this true, then we had an AimPose that we removed from memory.
Description

The flags used in the nFlags member.

CA_Dimension_Flags Enumeration
C++
enum CA_Dimension_Flags {
  CA_Dim_Initialized = 0x001,
  CA_Dim_LockedParameter = 0x002,
  CA_Dim_DeltaExtraction = 0x004
};
File

CryCharAnimationParams.h

Members
Members
Description
CA_Dim_Initialized = 0x001
this is currently limited to only 8 flags
CA_DynAnimationFlags Enumeration
C++
enum CA_DynAnimationFlags {
  CA_ACTIVATED = 0x0001,
  CA_REMOVE_FROM_QUEUE = 0x0002,
  CA_TW_FLAG = 0x0004,
  CA_EOC = 0x0008,
  CA_LOOPED = 0x0010,
  CA_REPEAT = 0x0020,
  CA_NEGATIVE_EOC = 0x0040,
  CA_ANIMEVENTS_EVALUATED_ONCE = 0x0080,
  CA_LOOPED_THIS_UPDATE = 0x0100
};
File

CryCharAnimationParams.h

Members
Members
Description
CA_TW_FLAG = 0x0004
probably not needed
EFacialEffectorFlags Enumeration
C++
enum EFacialEffectorFlags {
  EFE_FLAG_ROOT = 0x00001,
  EFE_FLAG_UI_EXTENDED = 0x01000,
  EFE_FLAG_UI_MODIFIED = 0x02000,
  EFE_FLAG_UI_PREVIEW = 0x04000
};
File

IFacialAnimation.h

Members
Members
Description
EFE_FLAG_ROOT = 0x00001
This is a root effector in the library.
EFE_FLAG_UI_EXTENDED = 0x01000
When this flag is set this effector must be extended in ui.
EFE_FLAG_UI_MODIFIED = 0x02000
When this flag is set this effector was modified.
EFE_FLAG_UI_PREVIEW = 0x04000
This flag indicate preview only effector, it is not saved in library.
EFacialEffectorParam Enumeration
C++
enum EFacialEffectorParam {
  EFE_PARAM_BONE_NAME,
  EFE_PARAM_BONE_ROT_AXIS,
  EFE_PARAM_BONE_POS_AXIS
};
File

IFacialAnimation.h

Members
Members
Description
EFE_PARAM_BONE_NAME
String representing the name of the bone/attachment object in character, only for Bone/Attachment Effectors.
EFE_PARAM_BONE_ROT_AXIS
Vec3 representing the angles in radians as multipliers of effector weight,for Bone/Attachment Effector rotation.
EFE_PARAM_BONE_POS_AXIS
Vec3 representing the offset multiplied with effector weight,for Bone/Attachment Effector offset.
EFacialEffectorType Enumeration
C++
enum EFacialEffectorType {
  EFE_TYPE_GROUP = 0x00,
  EFE_TYPE_EXPRESSION = 0x01,
  EFE_TYPE_MORPH_TARGET = 0x02,
  EFE_TYPE_BONE = 0x03,
  EFE_TYPE_MATERIAL = 0x04,
  EFE_TYPE_ATTACHMENT = 0x05
};
File

IFacialAnimation.h

Members
Members
Description
EFE_TYPE_GROUP = 0x00
This effector is a group of sub effectors.
EFE_TYPE_EXPRESSION = 0x01
This effector contain specific state of effectors.
EFE_TYPE_MORPH_TARGET = 0x02
This Effector is a single morph target.
EFE_TYPE_BONE = 0x03
This Effector controls a bone.
EFE_TYPE_MATERIAL = 0x04
This Effector is a material parameter.
EFE_TYPE_ATTACHMENT = 0x05
This Effector controls attachment.
Description

Types of face Effectors.

EFacialSequenceLayer Enumeration
C++
enum EFacialSequenceLayer {
  eFacialSequenceLayer_Preview,
  eFacialSequenceLayer_Dialogue,
  eFacialSequenceLayer_Trackview,
  eFacialSequenceLayer_AGStateAndAIAlertness,
  eFacialSequenceLayer_Mannequin,
  eFacialSequenceLayer_AIExpression,
  eFacialSequenceLayer_FlowGraph,
  eFacialSequenceLayer_COUNT
};
File

IFacialAnimation.h

Members
Members
Description
eFacialSequenceLayer_Preview
Used in facial editor.
eFacialSequenceLayer_Dialogue
One shot with sound, requested together with wave file.
eFacialSequenceLayer_Trackview
Triggered via trackview sequence
eFacialSequenceLayer_AGStateAndAIAlertness
Per animation-state and per ai-alertness (looping, requested/cleared by AG state node enter/leave).
eFacialSequenceLayer_Mannequin
Sequence requested through mannequin.
eFacialSequenceLayer_AIExpression
Looping, requested/cleared by goalpipe/goalop.
eFacialSequenceLayer_FlowGraph
Just in case we will need it later =).
EMotionParamID Enumeration
C++
enum EMotionParamID {
  eMotionParamID_TravelSpeed = 0,
  eMotionParamID_TurnSpeed,
  eMotionParamID_TravelAngle,
  eMotionParamID_TravelSlope,
  eMotionParamID_TurnAngle,
  eMotionParamID_TravelDist,
  eMotionParamID_StopLeg,
  eMotionParamID_BlendWeight,
  eMotionParamID_Duration,
  eMotionParamID_Height,
  eMotionParamID_Scale,
  eMotionParamID_TravelDistScale,
  eMotionParamID_WeightShift,
  eMotionParamID_Curving,
  eMotionParamID_COUNT
};
File

CryCharAnimationParams.h

Members
Members
Description
eMotionParamID_TravelAngle
forward, backwards and sidestepping
eMotionParamID_TurnAngle
Idle2Move and idle-rotations
eMotionParamID_TravelDist
idle-steps
eMotionParamID_StopLeg
Move2Idle
eMotionParamID_BlendWeight
custom parameter in the range [0...1
eMotionParamID_Duration
Kiev ???
eMotionParamID_Height
Kiev ???
eMotionParamID_Scale
Kiev ???
eMotionParamID_TravelDistScale
Obsolete
eMotionParamID_WeightShift
Obsolete
eMotionParamID_Curving
Obsolete
MergeCollisionAction Enumeration
C++
enum MergeCollisionAction {
  MergeCollisionActionNoOverwrite,
  MergeCollisionActionOverwrite
};
File

IFacialAnimation.h