]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Objects/Person.hpp
Devtools: Fix saving player proportions
[lugaru.git] / Source / Objects / Person.hpp
index 856f050fee4d4f07713670cefea2e24be25009cb..322bdeedb142c3552c4e64f1f6f0d8ac4bb32725 100644 (file)
@@ -23,12 +23,12 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "Animation/Animation.hpp"
 #include "Animation/Skeleton.hpp"
-#include "Audio/Sounds.hpp"
 #include "Environment/Terrain.hpp"
 #include "Graphic/gamegl.hpp"
 #include "Graphic/Models.hpp"
 #include "Graphic/Sprite.hpp"
 #include "Math/XYZ.hpp"
+#include "Objects/PersonType.hpp"
 #include "Objects/Weapons.hpp"
 
 #include <cmath>
@@ -44,36 +44,12 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 #define getweapontype 7
 #define pathfindtype 8
 
-enum person_type
-{
-    rabbittype = 0,
-    wolftype = 1
-};
-
 struct InvalidPersonException : public exception {
    const char * what () const throw () {
       return "Invalid weapon number";
    }
 };
 
-class PersonType
-{
-public:
-    // head, body, arms, legs
-    XYZ proportions[4];
-    animation_type animRun;
-    animation_type animRunning;
-    animation_type animCrouch;
-    animation_type animStop;
-    animation_type animLanding;
-    animation_type animLandingHard;
-    sound_type soundsAttack[4];
-    sound_type soundsTalk[2];
-
-    static std::vector<PersonType> types;
-    static void Load();
-};
-
 class Person : public enable_shared_from_this<Person>
 {
 private:
@@ -355,8 +331,9 @@ public:
     inline AnimationFrame& currentFrame() { return Animation::animations.at(animCurrent).frames.at(frameCurrent); }
     inline AnimationFrame& targetFrame() { return Animation::animations.at(animTarget).frames.at(frameTarget); }
 
-    void setProportions(float, float, float, float);
-    XYZ getProportion(int part) const;
+    void setProportions(float head, float body, float arms, float legs);
+    float getProportion(int part) const;
+    XYZ getProportionXYZ(int part) const;
 
     void CheckKick();
     void CatchFire();