X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FPerson.h;h=eed0a27490c1ae82db107f3092e88a463fe31785;hb=f1f55db0495129376cff147ade264b4294f9bdc7;hp=5be74b22b3bcc24b89c92335891bc0890e6f3229;hpb=8562aa5bebc97ea8a61d056aec3847030c6985b7;p=lugaru.git diff --git a/Source/Person.h b/Source/Person.h index 5be74b2..eed0a27 100644 --- a/Source/Person.h +++ b/Source/Person.h @@ -1,3 +1,24 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + #ifndef _PERSON_H_ #define _PERSON_H_ @@ -5,14 +26,13 @@ #include "gamegl.h" #include "Quaternions.h" -#include "fmod.h" #include "Skeleton.h" #include "Models.h" -#include "Constants.h" #include "Terrain.h" -#include "Sprites.h" +#include "Sprite.h" #include #include "Weapons.h" +#include "Animation.h" #define passivetype 0 #define guardtype 1 @@ -27,21 +47,8 @@ #define rabbittype 0 #define wolftype 1 -class HitStruct +struct Person { - public: - Joint *joint1; - Joint *joint2; - XYZ hitlocation; - bool collision; -}; - -class Person -{ - public: - Person(); - ~Person(); - int whichpatchx; int whichpatchz; @@ -311,48 +318,108 @@ class Person void DoBloodBig(float howmuch, int which); bool DoBloodBigWhere(float howmuch, int which, XYZ where); - bool wasIdle(); - bool isIdle(); + bool wasIdle() + { + return animation_bits[currentanimation] & ab_idle; + } + bool isIdle() + { + return animation_bits[targetanimation] & ab_idle; + } int getIdle(); - bool isSitting(); - bool isSleeping(); - - - bool wasCrouch(); - bool isCrouch(); + bool isSitting() + { + return animation_bits[targetanimation] & ab_sit; + } + + bool isSleeping() + { + return animation_bits[targetanimation] & ab_sleep; + } + + bool wasCrouch() + { + return animation_bits[currentanimation] & ab_crouch; + } + bool isCrouch() + { + return animation_bits[targetanimation] & ab_crouch; + } 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(); bool isSneak(); int getSneak(); - bool wasRun(); - bool isRun(); + bool wasRun() + { + return animation_bits[currentanimation] & ab_run; + } + bool isRun() + { + 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); @@ -360,7 +427,8 @@ class Person void DoStuff(); void DoAnimations(); void RagDoll(bool checkcollision); - HitStruct BulletCollideWithPlayer(XYZ start, XYZ end); }; -#endif \ No newline at end of file +const int maxplayers = 10; +extern Person player[maxplayers]; +#endif