X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FObjects%2FPerson.hpp;h=3f96a26f1b73e430636eceba768b35c56d80446e;hb=61122a635fae9aac4df5c4dafc4443436dbb9c4f;hp=62af3a6a5c97d0ac0f50a3b2cede01f7b16d23f5;hpb=ed3662c0852c4312a612b4fc35bd03aba8d13db7;p=lugaru.git diff --git a/Source/Objects/Person.hpp b/Source/Objects/Person.hpp index 62af3a6..3f96a26 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. @@ -27,7 +27,8 @@ along with Lugaru. If not, see . #include "Graphic/gamegl.hpp" #include "Graphic/Models.hpp" #include "Graphic/Sprite.hpp" -#include "Math/Quaternions.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,10 +96,10 @@ public: XYZ coords; XYZ velocity; - XYZ proportionhead; - XYZ proportionlegs; - XYZ proportionarms; - XYZ proportionbody; + //~ XYZ proportionhead; + //~ XYZ proportionlegs; + //~ XYZ proportionarms; + //~ XYZ proportionbody; float unconscioustime; @@ -330,6 +331,8 @@ 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 CheckKick(); void CatchFire(); @@ -387,7 +390,7 @@ public: void Puff(int whichlabel); void FootLand(bodypart whichfoot, float opacity); void DoStuff(); - void setAnimation(int); + void setTargetAnimation(int); void DoAnimations(); void RagDoll(bool checkcollision); @@ -395,6 +398,8 @@ public: bool addClothes(const int& clothesId); void addClothes(); + + void doAI(); }; const int maxplayers = 10;