]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Objects/Person.hpp
Devtools: Fix saving player proportions
[lugaru.git] / Source / Objects / Person.hpp
index 57f3ebb1f49bc5a7bf7221e061f1488ddc472e4e..322bdeedb142c3552c4e64f1f6f0d8ac4bb32725 100644 (file)
@@ -28,6 +28,7 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 #include "Graphic/Models.hpp"
 #include "Graphic/Sprite.hpp"
 #include "Math/XYZ.hpp"
+#include "Objects/PersonType.hpp"
 #include "Objects/Weapons.hpp"
 
 #include <cmath>
@@ -43,27 +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];
-    static std::vector<PersonType> types;
-    static void Load();
-};
-
 class Person : public enable_shared_from_this<Person>
 {
 private:
@@ -345,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();