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();