#include "Quaternions.h"
#include "Skeleton.h"
#include "Models.h"
-#include "Constants.h"
#include "Terrain.h"
#include "Sprite.h"
#include <cmath>
class Person
{
- public:
- Person();
- ~Person();
-
+ public:
int whichpatchx;
int whichpatchz;
bool immobile;
float velspeed;
- float targetrotation;
+ float targetyaw;
float targetrot;
float rot;
float oldrot;
- float lookrotation;
- float lookrotation2;
- float rotation;
- float rotation2;
- float lowrotation;
+ float lookyaw;
+ float lookpitch;
+ float yaw;
+ float pitch;
+ float lowyaw;
float tilt;
float targettilt;
float tilt2;
int direction;
float texupdatedelay;
- float headrotation,headrotation2;
- float targetheadrotation,targetheadrotation2;
+ float headyaw,headpitch;
+ float targetheadyaw,targetheadpitch;
bool onterrain;
bool pause;
float turnspeed;
int aitype;
- int aitarget;
float aiupdatedelay;
float losupdatedelay;
int ally;
}
int getCrouch();
- bool wasStop();
- bool isStop();
+ bool wasStop()
+ {
+ return animation_bits[currentanimation] & ab_stop;
+ }
+ bool isStop()
+ {
+ return animation_bits[targetanimation] & ab_stop;
+ }
int getStop();
bool wasSneak();
return animation_bits[targetanimation] & ab_run;
}
int getRun();
-
- bool wasLanding();
- bool isLanding();
+
+ bool wasLanding()
+ {
+ return animation_bits[currentanimation] & ab_land;
+ }
+ bool isLanding()
+ {
+ return animation_bits[targetanimation] & ab_land;
+ }
int getLanding();
-
- bool wasLandhard();
- bool isLandhard();
+
+ bool wasLandhard()
+ {
+ return animation_bits[currentanimation] & ab_landhard;
+ }
+ bool isLandhard()
+ {
+ return animation_bits[targetanimation] & ab_landhard;
+ }
int getLandhard();
-
- bool isFlip();
- bool wasFlip();
-
+
+ bool wasFlip()
+ {
+ return animation_bits[currentanimation] & ab_flip;
+ }
+ bool isFlip()
+ {
+ return animation_bits[targetanimation] & ab_flip;
+ }
+
bool jumpclimb;
-
- bool isWallJump();
+
+ bool isWallJump()
+ {
+ return animation_bits[targetanimation] & ab_walljump;
+ }
void Reverse();
void DoDamage(float howmuch);
void DoHead();
- void DoMipmaps(int howmanylevels, float startx, float endx, float starty, float endy);
+ void DoMipmaps()
+ {
+ glBindTexture(GL_TEXTURE_2D, skeleton.drawmodel.textureptr);
+ gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB,
+ skeleton.skinsize,
+ skeleton.skinsize,
+ GL_RGB, GL_UNSIGNED_BYTE,
+ &skeleton.skinText[0]);
+ }
+
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 DoStuff();
+ Joint& getJointFor(int);
+ void setAnimation(int);
void DoAnimations();
void RagDoll(bool checkcollision);
};
+const int maxplayers = 10;
extern Person player[maxplayers];
#endif