#include "gamegl.h"
#include "Quaternions.h"
-#include "Skeleton.h"
+#include "Animation/Skeleton.h"
#include "Models.h"
#include "Terrain.h"
#include "Sprite.h"
#include <cmath>
#include <memory>
#include "Weapons.h"
-#include "Animation.h"
+#include "Animation/Animation.h"
#define passivetype 0
#define guardtype 1
#define rabbittype 0
#define wolftype 1
+struct InvalidPersonException : public exception {
+ const char * what () const throw () {
+ return "Invalid weapon number";
+ }
+};
+
class Person : public enable_shared_from_this<Person>
{
public:
float stunned;
float surprised;
float runninghowlong;
+ int occluded;
int lastoccluded;
int laststanding;
int escapednum;
Animation tempanimation;
- float occluded;
-
bool jumpclimb;
Person();
+ Person(FILE*, int, unsigned);
+
+ void skeletonLoad(bool clothes = false);
// convenience functions
inline Joint& joint(int bodypart) { return skeleton.joints[skeleton.jointlabels[bodypart]]; }
int SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate, Model *model);
int DrawSkeleton();
void Puff(int whichlabel);
- void FootLand(int which, float opacity);
+ void FootLand(bodyparts whichfoot, float opacity);
void DoStuff();
void setAnimation(int);
void DoAnimations();