+
+void Joint::load(FILE* tfile, std::vector<Joint>& joints)
+{
+ int parentID;
+
+ funpackf(tfile, "Bf Bf Bf Bf Bf", &position.x, &position.y, &position.z, &length, &mass);
+ funpackf(tfile, "Bb Bb", &hasparent, &locked);
+ funpackf(tfile, "Bi", &modelnum);
+ funpackf(tfile, "Bb Bb", &visible, &sametwist);
+ funpackf(tfile, "Bi Bi", &label, &hasgun);
+ funpackf(tfile, "Bb", &lower);
+ funpackf(tfile, "Bi", &parentID);
+ if (hasparent) {
+ parent = &joints[parentID];
+ }
+ velocity = 0;
+ oldposition = position;
+ startpos = position;
+}