X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FObjects%2FPerson.hpp;h=0734eaa5e2e3dd2022fde3f0316e1acdddd9896e;hb=c8a6dd9ee1b43f98d4d98e9feb981bde02ac8772;hp=590bbe407d89d53ca723ee16db502966bcc8db63;hpb=03fbcc5b5e18dbf62c48849fc8d02cd250aa744e;p=lugaru.git
diff --git a/Source/Objects/Person.hpp b/Source/Objects/Person.hpp
index 590bbe4..0734eaa 100644
--- a/Source/Objects/Person.hpp
+++ b/Source/Objects/Person.hpp
@@ -1,6 +1,6 @@
/*
Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
+Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
This file is part of Lugaru.
@@ -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,9 +44,6 @@ along with Lugaru. If not, see .
#define getweapontype 7
#define pathfindtype 8
-#define rabbittype 0
-#define wolftype 1
-
struct InvalidPersonException : public exception {
const char * what () const throw () {
return "Invalid weapon number";
@@ -54,6 +52,9 @@ struct InvalidPersonException : public exception {
class Person : public enable_shared_from_this
{
+private:
+ float proportions[4];
+
public:
static std::vector> players;
@@ -95,11 +96,6 @@ public:
XYZ coords;
XYZ velocity;
- XYZ proportionhead;
- XYZ proportionlegs;
- XYZ proportionarms;
- XYZ proportionbody;
-
float unconscioustime;
bool immobile;
@@ -330,6 +326,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 head, float body, float arms, float legs);
+ float getProportion(int part) const;
+ XYZ getProportionXYZ(int part) const;
void CheckKick();
void CatchFire();