DankParrot

studiomdl v37 (2)

Aug 31st, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // sequence descriptions
  2. struct mstudioseqdesc37_t
  3. {
  4.     int szlabelindex;
  5.     inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; }
  6.  
  7.     int szactivitynameindex;
  8.     inline char * const pszActivityName( void ) const { return ((char *)this) + szactivitynameindex; }
  9.  
  10.     int flags;      // looping/non-looping flags
  11.  
  12.     int activity;   // initialized at loadtime to game DLL values
  13.     int actweight;
  14.  
  15.     int numevents;
  16.     int eventindex;
  17.     inline mstudioevent_t *pEvent( int i ) const { return (mstudioevent_t *)(((byte *)this) + eventindex) + i; };
  18.  
  19.     Vector  bbmin;      // per sequence bounding box
  20.     Vector  bbmax;     
  21.  
  22.     int numblends;
  23.  
  24.     int                 blendindex; // [blend] float array for blended movement
  25.     inline              unsigned short *pBlend( int i ) const { return (unsigned short *)(((byte *)this) + blendindex) + i; };
  26.  
  27.     int                 seqgroup;   // sequence group for demand loading
  28.  
  29.     int groupsize[2];
  30.     int paramindex[2];  // X, Y, Z, XR, YR, ZR
  31.     float   paramstart[2];  // local (0..1) starting value
  32.     float   paramend[2];    // local (0..1) ending value
  33.     int paramparent;
  34.  
  35.  
  36.     float   fadeintime; // ideal cross fate in time (0.2 default)
  37.     float   fadeouttime;    // ideal cross fade out time (0.2 default)
  38.  
  39.     int entrynode;  // transition node at entry
  40.     int exitnode;   // transition node at exit
  41.     int nodeflags;  // transition rules
  42.  
  43.     float   entryphase; // used to match entry gait
  44.     float   exitphase;  // used to match exit gait
  45.    
  46.     float   lastframe;  // frame that should generation EndOfSequence
  47.  
  48.     int nextseq;    // auto advancing sequences
  49.     int pose;       // index of delta animation between end and nextseq
  50.  
  51.     int numikrules;
  52.  
  53.     int numautolayers;
  54.     int autolayerindex;
  55.     inline mstudioautolayer_t *pAutolayer( int i ) const { return (mstudioautolayer_t *)(((byte *)this) + autolayerindex) + i; };
  56.  
  57.     int weightlistindex;
  58.     float   *pBoneweight( int i ) const { return ((float *)(((byte *)this) + weightlistindex) + i); };
  59.     float   weight( int i ) const { return *(pBoneweight( i)); };
  60.  
  61.     int posekeyindex;
  62.     float               *pPoseKey( int iParam, int iAnim ) const { return (float *)(((byte *)this) + posekeyindex) + iParam * groupsize[0] + iAnim; }
  63.     float               poseKey( int iParam, int iAnim ) const { return *(pPoseKey( iParam, iAnim )); }
  64.  
  65.     int numiklocks;
  66.     int iklockindex;
  67.     inline mstudioiklock_t *pIKLock( int i ) const { return (mstudioiklock_t *)(((byte *)this) + iklockindex) + i; };
  68.  
  69.     // Key values
  70.     int keyvalueindex;
  71.     int keyvaluesize;
  72.     inline const char * KeyValueText( void ) const { return keyvaluesize != 0 ? ((char *)this) + keyvalueindex : NULL; }
  73.  
  74.     int unused[3];      // remove/add as appropriate
  75. };
Add Comment
Please, Sign In to add comment