Index: /branches/christmas_branche/src/lib/graphics/importer/md2Model.cc
===================================================================
--- /branches/christmas_branche/src/lib/graphics/importer/md2Model.cc	(revision 6179)
+++ /branches/christmas_branche/src/lib/graphics/importer/md2Model.cc	(revision 6180)
@@ -38,4 +38,8 @@
 //! again one of these strange id software parts
 static float *shadeDots = MD2Model::anormsDots[0];
+
+
+static sVec3D verticesList[MD2_MAX_VERTICES];
+
 
 //! the angle under which the model is viewd, used internaly
@@ -108,5 +112,5 @@
    saving of data anyway
 */
-void MD2Model::interpolate(sVec3D* verticesList)
+void MD2Model::interpolate(/*sVec3D* verticesList*/)
 {
   sVec3D* currVec;
@@ -149,5 +153,5 @@
 
 
-static sVec3D verticesList[MD2_MAX_VERTICES]; /* performance: created only once in a lifetime */
+
 
 /**
@@ -159,9 +163,7 @@
   this->animationState.localTime += time;
 
-  if( likely(this->animationState.localTime > 0.0))
-    this->animate();
-
+  this->animate();
   this->processLighting();
-  this->interpolate(verticesList);
+  this->interpolate(/*verticesList*/);
 }
 
@@ -192,5 +194,4 @@
   glEnable(GL_CULL_FACE);
   glCullFace(GL_BACK);
-
 
   this->data->material->select();
Index: /branches/christmas_branche/src/lib/graphics/importer/md2Model.h
===================================================================
--- /branches/christmas_branche/src/lib/graphics/importer/md2Model.h	(revision 6179)
+++ /branches/christmas_branche/src/lib/graphics/importer/md2Model.h	(revision 6180)
@@ -65,4 +65,74 @@
 };
 
+
+//! compressed vertex data: char insetead of float, the value will be expanded by the scale value. only for loading
+typedef struct
+{
+  char             v[3];                 //!< the vector of the vertex
+  unsigned char    lightNormalIndex;     //!< the index of the light normal
+} sVertex;
+
+
+//! compressed texture offset data: coords scaled by the texture size. Only for loading
+typedef struct
+{
+  short            s;                    //!< the s,t coordinates of a texture
+  short            t;                    //!< the s,t coordinates of a texture
+} sTexCoor;
+
+
+//! holds tha informations about a md2 frame
+typedef struct
+{
+  sVec3D           scale;                //!< scales values of the model
+  sVec3D           translate;            //!< translates the model
+  char             name[16];             //!< frame name: something like "run32"
+  sVertex          pVertices[1];         //!< first vertex of thes frame
+} sFrame;
+
+
+//! holds the information about a triangle
+typedef struct
+{
+  unsigned short   indexToVertices[3];   //!< index to the verteces of the triangle
+  unsigned short   indexToTexCoor[3];    //!< index to the texture coordinates
+} sTriangle;
+
+
+
+//! the command list of the md2 model, very md2 specific
+typedef struct
+{
+  float            s;                    //!< texture coordinate 1
+  float            t;                    //!< texture coordinate 2
+  int              vertexIndex;          //!< index of the vertex in the vertex list
+} glCommandVertex;
+
+
+//! a md2 animation definition
+typedef struct
+{
+  int              firstFrame;           //!< first frame of the animation
+  int              lastFrame;            //!< last frame of the animation
+  int              fps;                  //!< speed: number of frames per second
+} sAnim;
+
+
+//! animation state definition
+typedef struct
+{
+  int              startFrame;           //!< the start frame of an animation
+  int              endFrame;             //!< last frame of the animation
+  int              fps;                  //!< fps of the animaion (speed)
+
+  float            localTime;            //!< the local time
+  float            lastTime;             //!< last time stamp
+  float            interpolationState;   //!< the state of the animation [0..1]
+
+  int              type;                 //!< animation type
+
+  int              currentFrame;         //!< the current frame
+  int              nextFrame;            //!< the next frame in the list
+} sAnimState;
 
 
@@ -159,5 +229,5 @@
   void animate();
   void processLighting();
-  void interpolate(sVec3D* verticesList);
+  void interpolate(/*sVec3D* verticesList*/);
   void renderFrame() const ;
 
Index: /branches/christmas_branche/src/lib/graphics/importer/model.h
===================================================================
--- /branches/christmas_branche/src/lib/graphics/importer/model.h	(revision 6179)
+++ /branches/christmas_branche/src/lib/graphics/importer/model.h	(revision 6180)
@@ -29,39 +29,4 @@
 
 
-
-//! compressed vertex data: char insetead of float, the value will be expanded by the scale value. only for loading
-typedef struct
-{
-  char             v[3];                 //!< the vector of the vertex
-  unsigned char    lightNormalIndex;     //!< the index of the light normal
-} sVertex;
-
-
-//! compressed texture offset data: coords scaled by the texture size. Only for loading
-typedef struct
-{
-  short            s;                    //!< the s,t coordinates of a texture
-  short            t;                    //!< the s,t coordinates of a texture
-} sTexCoor;
-
-
-//! holds tha informations about a md2 frame
-typedef struct
-{
-  sVec3D           scale;                //!< scales values of the model
-  sVec3D           translate;            //!< translates the model
-  char             name[16];             //!< frame name: something like "run32"
-  sVertex          pVertices[1];         //!< first vertex of thes frame
-} sFrame;
-
-
-//! holds the information about a triangle
-typedef struct
-{
-  unsigned short   indexToVertices[3];   //!< index to the verteces of the triangle
-  unsigned short   indexToTexCoor[3];    //!< index to the texture coordinates
-} sTriangle;
-
-
 //! holds the information about a triangle
 typedef struct
@@ -72,39 +37,4 @@
 } sTriangleExt;
 
-
-//! the command list of the md2 model, very md2 specific
-typedef struct
-{
-  float            s;                    //!< texture coordinate 1
-  float            t;                    //!< texture coordinate 2
-  int              vertexIndex;          //!< index of the vertex in the vertex list
-} glCommandVertex;
-
-
-//! a md2 animation definition
-typedef struct
-{
-  int              firstFrame;           //!< first frame of the animation
-  int              lastFrame;            //!< last frame of the animation
-  int              fps;                  //!< speed: number of frames per second
-} sAnim;
-
-
-//! animation state definition
-typedef struct
-{
-  int              startFrame;           //!< the start frame of an animation
-  int              endFrame;             //!< last frame of the animation
-  int              fps;                  //!< fps of the animaion (speed)
-
-  float            localTime;            //!< the local time
-  float            lastTime;             //!< last time stamp
-  float            interpolationState;   //!< the state of the animation [0..1]
-
-  int              type;                 //!< animation type
-
-  int              currentFrame;         //!< the current frame
-  int              nextFrame;            //!< the next frame in the list
-} sAnimState;
 
 //! Model Information definitions
@@ -122,5 +52,4 @@
 
 } modelInfo;
-
 
 
Index: /branches/christmas_branche/src/world_entities/creatures/md2_creature.cc
===================================================================
--- /branches/christmas_branche/src/world_entities/creatures/md2_creature.cc	(revision 6179)
+++ /branches/christmas_branche/src/world_entities/creatures/md2_creature.cc	(revision 6180)
@@ -254,38 +254,38 @@
 
 
-//   // MD2Creature controlled movement
-//   this->calculateVelocity(time);
-//
-//   Vector move = (velocity)*time;
-//
-//   //orient the velocity in the direction of the MD2Creature.
-//   travelSpeed = velocity.len();
-//   velocity += ((this->getAbsDirX())*travelSpeed-velocity)*airViscosity;
-//   velocity = (velocity.getNormalized())*travelSpeed;
-//
-//   //orient the MD2Creature in direction of the mouse
-//    rotQuat = Quaternion::quatSlerp( this->getAbsDir(),mouseDir,fabsf(time)*3);
-//    if (this->getAbsDir().distance(rotQuat) > 0.001)
-//     this->setAbsDir( rotQuat);
-//    //this->setAbsDirSoft(mouseDir,5);
-//
-//   // this is the air friction (necessary for a smooth control)
-//   if(velocity.len() != 0) velocity -= velocity*0.01;
-//
-//   //hoover effect
-//   cycle += time;
-//   this->shiftCoor(Vector(0,1,0)*cos(this->cycle*2.0)*0.02);
-//
-//   //readjust
-//  // if (this->getAbsDirZ().y > 0.1) this->shiftDir(Quaternion(time*0.3, Vector(1,0,0)));
-//   //else if (this->getAbsDirZ().y < -0.1) this->shiftDir(Quaternion(-time*0.3, Vector(1,0,0)));
-//
-//   //SDL_WarpMouse(GraphicsEngine::getInstance()->getResolutionX()/2, GraphicsEngine::getInstance()->getResolutionY()/2);
-//
-//   this->shiftCoor (move);
-//
-//   this->getWeaponManager()->tick(time);
-//   // weapon system manipulation
-//   this->weaponAction();
+  // MD2Creature controlled movement
+  this->calculateVelocity(time);
+
+  Vector move = (velocity)*time;
+
+  //orient the velocity in the direction of the MD2Creature.
+  travelSpeed = velocity.len();
+  velocity += ((this->getAbsDirX())*travelSpeed-velocity)*airViscosity;
+  velocity = (velocity.getNormalized())*travelSpeed;
+
+  //orient the MD2Creature in direction of the mouse
+   rotQuat = Quaternion::quatSlerp( this->getAbsDir(),mouseDir,fabsf(time)*3);
+   if (this->getAbsDir().distance(rotQuat) > 0.001)
+    this->setAbsDir( rotQuat);
+   //this->setAbsDirSoft(mouseDir,5);
+
+  // this is the air friction (necessary for a smooth control)
+  if(velocity.len() != 0) velocity -= velocity*0.01;
+
+  //hoover effect
+  cycle += time;
+  this->shiftCoor(Vector(0,1,0)*cos(this->cycle*2.0)*0.02);
+
+  //readjust
+ // if (this->getAbsDirZ().y > 0.1) this->shiftDir(Quaternion(time*0.3, Vector(1,0,0)));
+  //else if (this->getAbsDirZ().y < -0.1) this->shiftDir(Quaternion(-time*0.3, Vector(1,0,0)));
+
+  //SDL_WarpMouse(GraphicsEngine::getInstance()->getResolutionX()/2, GraphicsEngine::getInstance()->getResolutionY()/2);
+
+  this->shiftCoor (move);
+
+  this->getWeaponManager()->tick(time);
+  // weapon system manipulation
+  this->weaponAction();
 }
 
Index: /branches/christmas_branche/src/world_entities/world_entity.cc
===================================================================
--- /branches/christmas_branche/src/world_entities/world_entity.cc	(revision 6179)
+++ /branches/christmas_branche/src/world_entities/world_entity.cc	(revision 6180)
@@ -136,8 +136,7 @@
       PRINTF(4)("fetching MD2 file: %s\n", fileName);
 //         MD2Model* m = (MD2Model*)ResourceManager::getInstance()->load(fileName, MD2, RP_CAMPAIGN);
-      MD2Model* m = new MD2Model(fileName, "");
-      m->debug();
+      Model* m = new MD2Model(fileName, "md2_fake_texture.bad");
         //this->setModel((Model*)ResourceManager::getInstance()->load(fileName, MD2, RP_CAMPAIGN), 0);
-      this->setModel((Model*)m, 0);
+      this->setModel(m, 0);
     }
   }
