X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FObjects%2FPerson.hpp;h=322bdeedb142c3552c4e64f1f6f0d8ac4bb32725;hb=032eb3ccf8e2ccc6a150ac2765eb56daef77942e;hp=57f3ebb1f49bc5a7bf7221e061f1488ddc472e4e;hpb=5ab55c3eea543a30fe979f623d4a984935e2a0fb;p=lugaru.git diff --git a/Source/Objects/Person.hpp b/Source/Objects/Person.hpp index 57f3ebb..322bdee 100644 --- a/Source/Objects/Person.hpp +++ b/Source/Objects/Person.hpp @@ -28,6 +28,7 @@ along with Lugaru. If not, see . #include "Graphic/Models.hpp" #include "Graphic/Sprite.hpp" #include "Math/XYZ.hpp" +#include "Objects/PersonType.hpp" #include "Objects/Weapons.hpp" #include @@ -43,27 +44,12 @@ along with Lugaru. If not, see . #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 types; - static void Load(); -}; - class Person : public enable_shared_from_this { 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();