]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Animation/Skeleton.h
Sorted all source files in folders
[lugaru.git] / Source / Animation / Skeleton.h
index 7c482f911c638cd8a89812ef427fadb60dbe3449..19db503c23395ef4bd645e86670c399bbf3182c9 100644 (file)
@@ -21,111 +21,25 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef _SKELETON_H_
 #define _SKELETON_H_
 
-#include "Models.h"
-#include "Quaternions.h"
-
-
 /**> HEADER FILES <**/
-#include "gamegl.h"
-#include "Quaternions.h"
-#include "Objects.h"
-#include "Sprite.h"
-#include "binio.h"
 #include "Animation/Animation.h"
-
-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);
-};
+#include "Animation/Joint.h"
+#include "Animation/Muscle.h"
+#include "Graphic/gamegl.h"
+#include "Graphic/Models.h"
+#include "Graphic/Sprite.h"
+#include "Math/Quaternions.h"
+#include "Objects/Objects.h"
+#include "Utils/binio.h"
 
 const int max_joints = 50;
 
 class Skeleton
 {
 public:
-    int num_joints;
-    //Joint joints[max_joints];
-    //Joint *joints;
-    Joint* joints;
+    std::vector<Joint> joints;
 
-    int num_muscles;
-    //Muscle muscles[max_muscles];
-    //Muscle *muscles;
-    Muscle* muscles;
+    std::vector<Muscle> muscles;
 
     int selected;
 
@@ -173,21 +87,7 @@ public:
     void FindRotationMuscle(int which, int animation);
     void Load(const std::string& fileName, const std::string& lowfileName, const std::string& clothesfileName, const std::string& modelfileName, const std::string& model2fileName, const std::string& model3fileName, const std::string& model4fileName, const std::string& model5fileNamee, const std::string& model6fileName, const std::string& model7fileName, const std::string& modellowfileName, const std::string& modelclothesfileName, bool aclothes);
 
-    /*
-    // unused
-    void FindForwardsfirst();
-    void Draw(int muscleview);
-    void AddJoint(float x, float y, float z, int which);
-    void SetJoint(float x, float y, float z, int which, int whichjoint);
-    void DeleteJoint(int whichjoint);
-    void AddMuscle(int attach1, int attach2, float maxlength, float minlength, int type);
-    void DeleteMuscle(int whichmuscle);
-    void DoBalance();
-    void MusclesSet();
-    */
-
     Skeleton();
-    ~Skeleton();
 
 private:
     // convenience functions