Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // sequence descriptions
- struct mstudioseqdesc37_t
- {
- int szlabelindex;
- inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; }
- int szactivitynameindex;
- inline char * const pszActivityName( void ) const { return ((char *)this) + szactivitynameindex; }
- int flags; // looping/non-looping flags
- int activity; // initialized at loadtime to game DLL values
- int actweight;
- int numevents;
- int eventindex;
- inline mstudioevent_t *pEvent( int i ) const { return (mstudioevent_t *)(((byte *)this) + eventindex) + i; };
- Vector bbmin; // per sequence bounding box
- Vector bbmax;
- int numblends;
- int blendindex; // [blend] float array for blended movement
- inline unsigned short *pBlend( int i ) const { return (unsigned short *)(((byte *)this) + blendindex) + i; };
- int seqgroup; // sequence group for demand loading
- int groupsize[2];
- int paramindex[2]; // X, Y, Z, XR, YR, ZR
- float paramstart[2]; // local (0..1) starting value
- float paramend[2]; // local (0..1) ending value
- int paramparent;
- float fadeintime; // ideal cross fate in time (0.2 default)
- float fadeouttime; // ideal cross fade out time (0.2 default)
- int entrynode; // transition node at entry
- int exitnode; // transition node at exit
- int nodeflags; // transition rules
- float entryphase; // used to match entry gait
- float exitphase; // used to match exit gait
- float lastframe; // frame that should generation EndOfSequence
- int nextseq; // auto advancing sequences
- int pose; // index of delta animation between end and nextseq
- int numikrules;
- int numautolayers;
- int autolayerindex;
- inline mstudioautolayer_t *pAutolayer( int i ) const { return (mstudioautolayer_t *)(((byte *)this) + autolayerindex) + i; };
- int weightlistindex;
- float *pBoneweight( int i ) const { return ((float *)(((byte *)this) + weightlistindex) + i); };
- float weight( int i ) const { return *(pBoneweight( i)); };
- int posekeyindex;
- float *pPoseKey( int iParam, int iAnim ) const { return (float *)(((byte *)this) + posekeyindex) + iParam * groupsize[0] + iAnim; }
- float poseKey( int iParam, int iAnim ) const { return *(pPoseKey( iParam, iAnim )); }
- int numiklocks;
- int iklockindex;
- inline mstudioiklock_t *pIKLock( int i ) const { return (mstudioiklock_t *)(((byte *)this) + iklockindex) + i; };
- // Key values
- int keyvalueindex;
- int keyvaluesize;
- inline const char * KeyValueText( void ) const { return keyvaluesize != 0 ? ((char *)this) + keyvalueindex : NULL; }
- int unused[3]; // remove/add as appropriate
- };
Add Comment
Please, Sign In to add comment