]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Person.h
some findClosest* refactoring
[lugaru.git] / Source / Person.h
index 7f09302c080790a2cc48e61c90536da9ccc1f1bc..f37a0ee310ba561e0b6a7bc4aeb4c5a617b75742 100644 (file)
@@ -47,8 +47,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #define rabbittype 0
 #define wolftype 1
 
-struct Person
+class Person
 {
+       public: 
                int whichpatchx;
                int whichpatchz;
                
@@ -92,15 +93,15 @@ struct 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;
@@ -137,8 +138,8 @@ struct Person
                int direction;
                float texupdatedelay;
                
-               float headrotation,headrotation2;
-               float targetheadrotation,targetheadrotation2;
+               float headyaw,headpitch;
+               float targetheadyaw,targetheadpitch;
                
                bool onterrain;
                bool pause;
@@ -411,12 +412,9 @@ struct Person
                void DoHead();
                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]);
+                 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);
@@ -424,6 +422,8 @@ struct Person
                void Puff(int whichlabel);
                void FootLand(int which, float opacity);
                void DoStuff();
+               Joint& getJointFor(int);
+               void setAnimation(int);
                void DoAnimations();
                void RagDoll(bool checkcollision);
 };