X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FPerson.h;h=f37a0ee310ba561e0b6a7bc4aeb4c5a617b75742;hb=35b5d8a643d2ff04614a8b9f57026b57d4a82667;hp=56d4f5490b87fe0562558594702b723037d25f97;hpb=fe7e2a8681a5988af06f7cbd24b3c8cc447b0738;p=lugaru.git diff --git a/Source/Person.h b/Source/Person.h index 56d4f54..f37a0ee 100644 --- a/Source/Person.h +++ b/Source/Person.h @@ -28,7 +28,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "Quaternions.h" #include "Skeleton.h" #include "Models.h" -#include "Constants.h" #include "Terrain.h" #include "Sprite.h" #include @@ -50,10 +49,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. class Person { - public: - Person(); - ~Person(); - + public: int whichpatchx; int whichpatchz; @@ -97,15 +93,15 @@ class Person 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; @@ -142,8 +138,8 @@ class Person int direction; float texupdatedelay; - float headrotation,headrotation2; - float targetheadrotation,targetheadrotation2; + float headyaw,headpitch; + float targetheadyaw,targetheadpitch; bool onterrain; bool pause; @@ -184,7 +180,6 @@ class Person float turnspeed; int aitype; - int aitarget; float aiupdatedelay; float losupdatedelay; int ally; @@ -386,29 +381,53 @@ class Person 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() + { + skeleton.drawmodel.textureptr.bind(); + glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, skeleton.skinsize, skeleton.skinsize, 0, 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