Guest User

Untitled

a guest
Aug 31st, 2016
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  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. };
Advertisement
Add Comment
Please, Sign In to add comment