AnimClass Asset: Difference between revisions

From COD Engine Research
Created page with "__NOTOC__ Category:Assets Category:Ghosts The animclass asset was added on Ghosts and is the only game it appears on. Since it is so new, there is virtually nothing kn..."
 
No edit summary
 
Line 4: Line 4:
The animclass asset was added on Ghosts and is the only game it appears on. Since it is so new, there is virtually nothing known about it other than that they replace what was previously a [[:Rawfile_Asset#Modern_Warfare_2_.26_3_.26_Ghosts|rawfile]] asset with the ".atr" extension. This rawfile would hold information on what animations an entity should use during certain events (such as idle animations).
The animclass asset was added on Ghosts and is the only game it appears on. Since it is so new, there is virtually nothing known about it other than that they replace what was previously a [[:Rawfile_Asset#Modern_Warfare_2_.26_3_.26_Ghosts|rawfile]] asset with the ".atr" extension. This rawfile would hold information on what animations an entity should use during certain events (such as idle animations).
<source lang="cpp">
<source lang="cpp">
enum AnimationController
{
  ANIMCTRL_NONE = 0x0,
  ANIMCTRL_PLAYER = 0x1,
  ANIMCTRL_DOG = 0x2,
  ANIMCTRL_NUM = 0x3
};
#pragma pack(push, 4)
#pragma pack(push, 4)
struct unknownAnimStateStruct1Internal
struct AnimationEntry
{
{
   ScriptString unknownScriptString1;
   scr_string_t alias;
   ScriptString unknownScriptString2;
   scr_string_t animName;
};
};


struct unknownAnimStateStruct2
struct AnimationState
{
{
   ScriptString unknownScriptString1;
   scr_string_t name;
   ScriptString unknownScriptString2;
   scr_string_t notify;
   ScriptString unknownScriptStrings[8];
   float blendTime;
   char unknown[0x28];
   char flags;
  char entryCount;
  AnimationAimSet *aimSet;
  AnimationEntry *animEntries;
  unsigned __int64 *animIndices;
};
};


struct unknownAnimStateStruct1
struct AnimationAimSet
{
{
   ScriptString unknownScriptString1;
   scr_string_t name;
   ScriptString unknownScriptString2;
   scr_string_t rootName;
   char unknown1[5];
   scr_string_t animName[8];
   byte unknownCount;
   unsigned __int64 rootIndex;
  unknownAnimStateStruct2 * unknownStruct;
   unsigned __int64 animIndices[8];
  unknownAnimStateStruct1Internal * unknownStructs; //Count = unknownCount
   unsigned int * unknown2; //Count = unknownCount
};
};


struct AnimState
struct AnimState
{
{
   ScriptString stateName;
   scr_string_t name;
      unsigned short unknownCount1;
  unsigned __int16 stateCount;
      unsigned short unknownCount2;
  unsigned __int16 aimSetCount;
      unknownAnimStateStruct1 * unknownStructs1; //Count = unknownCount1
  AnimationState *states;
      unknownAnimStateStruct2 * unknownStructs2; //Count = unknownCount2
  AnimationAimSet *aimSets;
};
};


struct AnimationClass
struct AnimationClass
{
{
   const char * name;
   const char *className;
   AnimState * state;
   AnimationStateMachine *stateMachine;
   ScriptString atrName;
   AnimationController animCtrl;
      ScriptTable * unknownScriptTable; //ScriptTable asset
  scr_string_t animTree;
      unsigned short unknownScriptStringCount;
  ScriptableDef *scriptable;
      unsigned short unknownCount;
  unsigned __int16 soundCount;
      ScriptString * unknownScriptStrings1; //Count = unknownScriptStringCount
  unsigned __int16 effectCount;
      ScriptString * unknownScriptStrings2; //Count = unknownScriptStringCount
  scr_string_t *soundNotes;
      ScriptString * unknownScriptStrings3; //Count = unknownScriptStringCount
  scr_string_t *soundNames;
      ScriptString * unknownScriptStrings4; //Count = unknownCount
  scr_string_t *soundOptions;
      FxEffectDef * * unknownFxArray; //Count = unknownCount
  scr_string_t *effectNotes;
      ScriptString * unknownScriptStrings5; //Count = unknownCount
  FxEffectDef **effectDefs;
  scr_string_t *effectTags;
};
};
#pragma pack(pop)
#pragma pack(pop)
</source>
</source>

Latest revision as of 05:59, 22 December 2014

The animclass asset was added on Ghosts and is the only game it appears on. Since it is so new, there is virtually nothing known about it other than that they replace what was previously a rawfile asset with the ".atr" extension. This rawfile would hold information on what animations an entity should use during certain events (such as idle animations).

enum AnimationController
{
  ANIMCTRL_NONE = 0x0,
  ANIMCTRL_PLAYER = 0x1,
  ANIMCTRL_DOG = 0x2,
  ANIMCTRL_NUM = 0x3
};

#pragma pack(push, 4)
struct AnimationEntry
{
  scr_string_t alias;
  scr_string_t animName;
};

struct AnimationState
{
  scr_string_t name;
  scr_string_t notify;
  float blendTime;
  char flags;
  char entryCount;
  AnimationAimSet *aimSet;
  AnimationEntry *animEntries;
  unsigned __int64 *animIndices;
};

struct AnimationAimSet
{
  scr_string_t name;
  scr_string_t rootName;
  scr_string_t animName[8];
  unsigned __int64 rootIndex;
  unsigned __int64 animIndices[8];
};

struct AnimState
{
  scr_string_t name;
  unsigned __int16 stateCount;
  unsigned __int16 aimSetCount;
  AnimationState *states;
  AnimationAimSet *aimSets;
};

struct AnimationClass
{
  const char *className;
  AnimationStateMachine *stateMachine;
  AnimationController animCtrl;
  scr_string_t animTree;
  ScriptableDef *scriptable;
  unsigned __int16 soundCount;
  unsigned __int16 effectCount;
  scr_string_t *soundNotes;
  scr_string_t *soundNames;
  scr_string_t *soundOptions;
  scr_string_t *effectNotes;
  FxEffectDef **effectDefs;
  scr_string_t *effectTags;
};
#pragma pack(pop)