+void Muscle::load(FILE* tfile, int vertexNum, std::vector<Joint>& joints)
+{
+ int numvertices, vertice, parentID;
+
+ // read info
+ funpackf(tfile, "Bf Bf Bf Bf Bf Bi Bi", &length, &targetlength, &minlength, &maxlength, &strength, &type, &numvertices);
+
+ // read vertices
+ for (int j = 0; j < numvertices; j++) {
+ funpackf(tfile, "Bi", &vertice);
+ if (vertice < vertexNum) {
+ vertices.push_back(vertice);
+ }
+ }
+
+ // read more info
+ funpackf(tfile, "Bb Bi", &visible, &parentID);
+ parent1 = &joints[parentID];
+ funpackf(tfile, "Bi", &parentID);
+ parent2 = &joints[parentID];
+}
+
+void Muscle::loadVerticesLow(FILE* tfile, int vertexNum)