BVB Source Codes

CRYENGINE Show Command_Commands.h Source code

Return Download CRYENGINE: download Command_Commands.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. #pragma once
  4.  
  5. class CAttachmentPROW;
  6. class CAttachmentBONE;
  7.  
  8. namespace Command
  9. {
  10.  
  11. class CEvaluationContext;
  12. class CState;
  13.  
  14. enum
  15. {
  16.         eClearPoseBuffer = 0,
  17.         eAddPoseBuffer,     //reads content from m_SourceBuffer, multiplies the pose by a blend weight, and adds the result to the m_TargetBuffer
  18.  
  19.         eSampleAddAnimFull,
  20.         eScaleUniformFull,
  21.         eNormalizeFull,
  22.  
  23.         eSampleAddAnimPart, // Layer-Sampling for Override and Additive. This command adds a sample partial-body animation and its per-joint Blend-Weights to a destination buffer.
  24.         ePerJointBlending,  // Layer-Blending for Override and Additive. This command is using Blend-Weigths per joint, which can be different for positions and orientations
  25.  
  26.         eJointMask,
  27.         ePoseModifier,
  28.  
  29.         //just for debugging
  30.         eSampleAddPoseFull, //used to playback the frames in a CAF-file which stored is in GlobalAnimationHeaderAIM
  31.         eVerifyFull,
  32.  
  33.         eUpdateRedirectedJoint,
  34.         eUpdatePendulumRow,
  35.         ePrepareAllRedirectedTransformations,
  36.         eGenerateProxyModelRelativeTransformations,
  37.  
  38.         eComputeAbsolutePose,
  39.         eProcessAnimationDrivenIk,
  40.         ePhysicsSync,
  41. };
  42.  
  43. //this command deletes all previous entries in a pose-buffer (no matter if Temp or Target-Buffer)
  44. struct ClearPoseBuffer
  45. {
  46.         enum { ID = eClearPoseBuffer };
  47.  
  48.         uint8 m_nCommand;
  49.         uint8 m_TargetBuffer;
  50.         uint8 m_nJointStatus;
  51.         uint8 m_nPoseInit;
  52.  
  53.         void  Execute(const CState& state, CEvaluationContext& context) const;
  54. };
  55.  
  56. struct AddPoseBuffer
  57. {
  58.         enum { ID = eAddPoseBuffer };
  59.  
  60.         uint8 m_nCommand;
  61.         uint8 m_SourceBuffer;
  62.         uint8 m_TargetBuffer;
  63.         uint8 m_IsEmpty; //temporary
  64.         f32   m_fWeight;
  65.  
  66.         void  Execute(const CState& state, CEvaluationContext& context) const;
  67. };
  68.  
  69. struct SampleAddAnimFull
  70. {
  71.         enum { ID = eSampleAddAnimFull };
  72.         enum
  73.         {
  74.                 Flag_ADMotion  = 1,
  75.                 Flag_TmpBuffer = 8,
  76.         };
  77.  
  78.         uint8 m_nCommand;
  79.         uint8 m_flags;
  80.         int16 m_nEAnimID;
  81.         f32   m_fETimeNew; //this is a percentage value between 0-1
  82.         f32   m_fWeight;
  83.  
  84.         void  Execute(const CState& state, CEvaluationContext& context) const;
  85. };
  86.  
  87. struct ScaleUniformFull
  88. {
  89.         enum { ID = eScaleUniformFull };
  90.  
  91.         uint8 m_nCommand;
  92.         uint8 m_TargetBuffer;
  93.         uint8 _PADDING0;
  94.         uint8 _PADDING1;
  95.         f32   m_fScale;
  96.  
  97.         void  Execute(const CState& state, CEvaluationContext& context) const;
  98. };
  99.  
  100. struct NormalizeFull
  101. {
  102.         enum { ID = eNormalizeFull };
  103.  
  104.         uint8 m_nCommand;
  105.         uint8 m_TargetBuffer;
  106.         uint8 _PADDING0;
  107.         uint8 _PADDING1;
  108.  
  109.         void  Execute(const CState& state, CEvaluationContext& context) const;
  110. };
  111.  
  112. struct SampleAddAnimPart
  113. {
  114.         enum { ID = eSampleAddAnimPart };
  115.  
  116.         uint8 m_nCommand;
  117.         uint8 m_TargetBuffer;
  118.         uint8 m_SourceBuffer;
  119.         uint8 _PADDING1;
  120.  
  121.         int32 m_nEAnimID;
  122.  
  123.         f32   m_fAnimTime; //this is a percentage value between 0-1
  124.         f32   m_fWeight;
  125.  
  126. #if defined(USE_PROTOTYPE_ABS_BLENDING)
  127.         strided_pointer<const int>   m_maskJointIDs;
  128.         strided_pointer<const float> m_maskJointWeights;
  129.         int                          m_maskNumJoints;
  130. #endif //!defined(USE_PROTOTYPE_ABS_BLENDING)
  131.  
  132.         void Execute(const CState& state, CEvaluationContext& context) const;
  133. };
  134.  
  135. struct PerJointBlending
  136. {
  137.         enum { ID = ePerJointBlending };
  138.  
  139.         uint8 m_nCommand;
  140.         uint8 m_SourceBuffer;
  141.         uint8 m_TargetBuffer;
  142.         uint8 m_BlendMode; //0=Override / 1=Additive
  143.  
  144.         void  Execute(const CState& state, CEvaluationContext& context) const;
  145. };
  146.  
  147. //this is only for debugging of uncompiled aim-pose CAFs
  148. struct SampleAddPoseFull
  149. {
  150.         enum { ID = eSampleAddPoseFull };
  151.         uint8 m_nCommand;
  152.         uint8 m_flags;
  153.         int16 m_nEAnimID;
  154.         f32   m_fETimeNew; //this is a percentage value between 0-1
  155.         f32   m_fWeight;
  156.         void  Execute(const CState& state, CEvaluationContext& context) const;
  157. };
  158.  
  159. struct PoseModifier
  160. {
  161.         enum { ID = ePoseModifier };
  162.  
  163.         uint8                   m_nCommand;
  164.         uint8                   m_TargetBuffer;
  165.         uint8                   _PADDING0;
  166.         uint8                   _PADDING1;
  167.         IAnimationPoseModifier* m_pPoseModifier;
  168.  
  169.         void                    Execute(const CState& state, CEvaluationContext& context) const;
  170. };
  171.  
  172. struct JointMask
  173. {
  174.         enum { ID = eJointMask };
  175.  
  176.         uint8         m_nCommand;
  177.         uint8         m_count;
  178.         uint8         _PADDING0;
  179.         uint8         _PADDING1;
  180.         const uint32* m_pMask;
  181.  
  182.         void          Execute(const CState& state, CEvaluationContext& context) const;
  183. };
  184.  
  185. struct VerifyFull
  186. {
  187.         enum { ID = eVerifyFull };
  188.  
  189.         uint8 m_nCommand;
  190.         uint8 m_TargetBuffer;
  191.         uint8 _PADDING0;
  192.         uint8 _PADDING1;
  193.  
  194.         void  Execute(const CState& state, CEvaluationContext& context) const;
  195. };
  196.  
  197. struct UpdateRedirectedJoint
  198. {
  199.         enum { ID = eUpdateRedirectedJoint };
  200.         uint8            m_nCommand;
  201.         uint8            _PADDING[3];
  202.         CAttachmentBONE* m_attachmentBone;
  203.  
  204.         void             Execute(const CState& state, CEvaluationContext& context) const;
  205. };
  206.  
  207. struct UpdatePendulumRow
  208. {
  209.         enum { ID = eUpdatePendulumRow };
  210.         uint8            m_nCommand;
  211.         uint8            _PADDING[3];
  212.         CAttachmentPROW* m_attachmentPendulumRow;
  213.  
  214.         void             Execute(const CState& state, CEvaluationContext& context) const;
  215. };
  216.  
  217. struct PrepareAllRedirectedTransformations
  218. {
  219.         enum { ID = ePrepareAllRedirectedTransformations };
  220.         uint8 m_nCommand;
  221.         uint8 _PADDING[3];
  222.  
  223.         void  Execute(const CState& state, CEvaluationContext& context) const;
  224. };
  225.  
  226. struct GenerateProxyModelRelativeTransformations
  227. {
  228.         enum { ID = eGenerateProxyModelRelativeTransformations };
  229.         uint8 m_nCommand;
  230.         uint8 _PADDING[3];
  231.  
  232.         void  Execute(const CState& state, CEvaluationContext& context) const;
  233. };
  234.  
  235. struct ComputeAbsolutePose
  236. {
  237.         enum { ID = eComputeAbsolutePose };
  238.         uint8 m_nCommand;
  239.         uint8 _PADDING[3];
  240.  
  241.         void  Execute(const CState& state, CEvaluationContext& context) const;
  242. };
  243.  
  244. struct ProcessAnimationDrivenIk
  245. {
  246.         enum { ID = eProcessAnimationDrivenIk };
  247.         uint8 m_nCommand;
  248.         uint8 _PADDING[3];
  249.  
  250.         void  Execute(const CState& state, CEvaluationContext& context) const;
  251. };
  252.  
  253. struct PhysicsSync
  254. {
  255.         enum { ID = ePhysicsSync };
  256.         uint8 m_nCommand;
  257.         uint8 _PADDING[3];
  258.  
  259.         void  Execute(const CState& state, CEvaluationContext& context) const;
  260. };
  261.  
  262. } // namespace Command
  263.  
downloadCommand_Commands.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top