30 lines
No EOL
1.2 KiB
C
30 lines
No EOL
1.2 KiB
C
#ifndef M_SKELETON_H
|
|
#define M_SKELETON_H
|
|
#include "m_Skeleton.h"
|
|
#endif
|
|
#ifndef M_SKELETALCLUSTER_H
|
|
#define M_SKELETALCLUSTER_H
|
|
#include "m_SkeletalCluster.h"
|
|
#endif
|
|
#ifndef SKELETONS_H
|
|
#define SKELETONS_H
|
|
#include "Skeletons.h"
|
|
#endif
|
|
|
|
extern M_SkeletalCluster_t SkeletalClusters[MAX_ARRAYED_SKELETAL_JOINTS];
|
|
extern struct ArrayedListNode_s ClusterNodes[MAX_ARRAYED_JOINT_NODES];
|
|
|
|
int CreateSkeleton(int structure);
|
|
void CreateSkeletonAsHunk(int structure, ModelSkeleton_t *skel);
|
|
void CreateSkeletonInPlace(int structure, ModelSkeleton_t *skel);
|
|
void ClearSkeleton(ModelSkeleton_t *skel, int root);
|
|
|
|
void SetupJointRotations(ModelSkeleton_t *skel, int jointIndex, int anglesIndex);
|
|
void FinishJointRotations(ModelSkeleton_t *skel, int jointIndex);
|
|
void LinearllyInterpolateJoints(ModelSkeleton_t *newSkel, int newIndex,
|
|
ModelSkeleton_t *oldSkel, int oldIndex, ModelSkeleton_t *liSkel, int liIndex,
|
|
float move[3], float frontv[3], float backv[3]);
|
|
void SetupCompressedJoints(ModelSkeleton_t *liSkel, int liIndex,
|
|
float *lerp);
|
|
void RotateModelSegments(ModelSkeleton_t *skel, int jointIndex, int modelClusterIndex, int anglesIndex,
|
|
vec3_t *modelVerticies); |