-
-enum bodyparts {
- head, neck,
- leftshoulder, leftelbow, leftwrist, lefthand,
- rightshoulder, rightelbow, rightwrist, righthand,
- abdomen, lefthip, righthip, groin,
- leftknee, leftankle, leftfoot,
- rightknee, rightankle, rightfoot
-};
-
-class Joint
-{
-public:
- XYZ position;
- XYZ oldposition;
- XYZ realoldposition;
- XYZ velocity;
- XYZ oldvelocity;
- XYZ startpos;
- float blurred;
- float length;
- float mass;
- bool lower;
- bool hasparent;
- bool locked;
- int modelnum;
- bool visible;
- Joint* parent;
- bool sametwist;
- int label;
- int hasgun;
- float delay;
- XYZ velchange;
-
- Joint() {
- blurred = 0;
- length = 0;
- mass = 0;
- lower = 0;
- hasparent = 0;
- locked = 0;
- modelnum = 0;
- visible = 0;
- parent = 0;
- sametwist = 0;
- label = 0;
- hasgun = 0;
- delay = 0;
- }
-};
-
-class Muscle
-{
-public:
- int numvertices;
- int* vertices;
- int numverticeslow;
- int* verticeslow;
- int numverticesclothes;
- int* verticesclothes;
- float length;
- float targetlength;
- Joint* parent1;
- Joint* parent2;
- float maxlength;
- float minlength;
- int type;
- bool visible;
- float rotate1, rotate2, rotate3;
- float lastrotate1, lastrotate2, lastrotate3;
- float oldrotate1, oldrotate2, oldrotate3;
- float newrotate1, newrotate2, newrotate3;
-
- float strength;
-
- Muscle();
- ~Muscle();
- void DoConstraint(bool spinny);
-};