Index: /branches/christmas_branche/src/world_entities/creatures/md2_creature.cc
===================================================================
--- /branches/christmas_branche/src/world_entities/creatures/md2_creature.cc	(revision 6194)
+++ /branches/christmas_branche/src/world_entities/creatures/md2_creature.cc	(revision 6195)
@@ -115,9 +115,9 @@
   EventHandler::getInstance()->grabEvents(true);
 
-  bUp = bDown = bLeft = bRight = bAscend = bDescend = bRollL = bRollR = false;
+  bUp = bDown = bLeft = bRight = bAscend = bDescend = bRollL = bRollR = bStrafeL = bStrafeR = false;
   bFire = false;
   xMouse = yMouse = 0;
-  mouseSensitivity = 0.001;
-  airViscosity = 1.0;
+  mouseSensitivity = 0.003;
+  airViscosity = 0.0;
   cycle = 0.0;
 
@@ -241,4 +241,5 @@
 }
 
+
 /**
  *  the function called for each passing timeSnap
@@ -251,36 +252,11 @@
 
 
-
-
   // 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;
+  Vector move = this->velocity * time;
+  this->shiftCoor (move);
 
   //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->setAbsDir( /*rotQuat*/ mouseDir);
 
   this->getWeaponManager()->tick(time);
@@ -306,16 +282,9 @@
   if( this->bUp )
    {
-     //this->shiftCoor(this->getAbsDirX());
       accel += (this->getAbsDirX())*2;
-
-      /* Heli-Steuerung
-         accel += (this->getAbsDirX()*2;
-         if(
-      */
    }
 
   if( this->bDown )
    {
-     //this->shiftCoor((this->getAbsDirX())*-1);
      accel -= (this->getAbsDirX())*2;
    }
@@ -324,60 +293,33 @@
   {
     this->shiftDir(Quaternion(time, Vector(0,1,0)));
-//    accel -= rightDirection;
-    //velocityDir.normalize();
-    //rot +=Vector(1,0,0);
-    //rotVal -= .4;
   }
   if( this->bRight /* > this->getRelCoor().z*2*/)
   {
     this->shiftDir(Quaternion(-time, Vector(0,1,0)));
-
-    //    accel += rightDirection;
-    //velocityDir.normalize();
-    //rot += Vector(1,0,0);
-    //rotVal += .4;
-  }
-
-
-  if( this->bRollL /* > -this->getRelCoor().z*2*/)
-  {
-    mouseDir *= Quaternion(-time, Vector(1,0,0));
-//    accel -= rightDirection;
-    //velocityDir.normalize();
-    //rot +=Vector(1,0,0);
-    //rotVal -= .4;
-  }
-  if( this->bRollR /* > this->getRelCoor().z*2*/)
-  {
-    mouseDir *= Quaternion(time, Vector(1,0,0));
-
-    //    accel += rightDirection;
-    //velocityDir.normalize();
-    //rot += Vector(1,0,0);
-    //rotVal += .4;
+  }
+
+
+  if( this->bStrafeL /* > -this->getRelCoor().z*2*/)
+  {
+    accel -= this->getAbsDirZ() * 2.0f;
+  }
+  if( this->bStrafeR /* > this->getRelCoor().z*2*/)
+  {
+    accel += this->getAbsDirZ() * 2.0f;
   }
   if (this->bAscend )
   {
     this->shiftDir(Quaternion(time, Vector(0,0,1)));
-
-//    accel += upDirection;
-    //velocityDir.normalize();
-    //rot += Vector(0,0,1);
-    //rotVal += .4;
   }
   if (this->bDescend )
   {
     this->shiftDir(Quaternion(-time, Vector(0,0,1)));
-
-    //    accel -= upDirection;
-    //velocityDir.normalize();
-    //rot += Vector(0,0,1);
-    //rotVal -= .4;
-  }
-
-  velocity += accel;
+  }
+
+  velocity = accel * 30.0f;
   //rot.normalize();
   //this->setRelDirSoft(Quaternion(rotVal, rot), 5);
 }
+
 
 /**
@@ -397,10 +339,8 @@
 void MD2Creature::process(const Event &event)
 {
-
-
   if( event.type == SDLK_a)
-      this->bRollL = event.bPressed;
+      this->bStrafeL = event.bPressed;
   else if( event.type == SDLK_d)
-      this->bRollR = event.bPressed;
+      this->bStrafeR = event.bPressed;
   else if( event.type == KeyMapper::PEV_FIRE1)
       this->bFire = event.bPressed;
@@ -417,8 +357,7 @@
   {
     this->xMouse = event.xRel;
-    this->yMouse = event.yRel;
-    mouseDir *= (Quaternion(-M_PI/4*xMouse*mouseSensitivity, Vector(0,1,0))*Quaternion(-M_PI/4*yMouse*mouseSensitivity, Vector(0,0,1)));
-    if( xMouse*xMouse + yMouse*yMouse < 0.9)
-     this->setAbsDir(mouseDir);
+    mouseDir *= (Quaternion(-M_PI/4*xMouse*mouseSensitivity, Vector(0,1,0)));
+//     if( xMouse*xMouse < 0.9)
+//      this->setAbsDir(mouseDir);
   }
 }
Index: /branches/christmas_branche/src/world_entities/creatures/md2_creature.h
===================================================================
--- /branches/christmas_branche/src/world_entities/creatures/md2_creature.h	(revision 6194)
+++ /branches/christmas_branche/src/world_entities/creatures/md2_creature.h	(revision 6195)
@@ -58,4 +58,6 @@
     bool                  bRollL;             //!< rolling button pressed (left)
     bool                  bRollR;             //!< rolling button pressed (right)
+    bool                  bStrafeL;           //!< strafe to the left side
+    bool                  bStrafeR;           //!< strafe to the rith side
 
     float                 xMouse;             //!< mouse moved in x-Direction
Index: /branches/christmas_branche/src/world_entities/world_entity.cc
===================================================================
--- /branches/christmas_branche/src/world_entities/world_entity.cc	(revision 6194)
+++ /branches/christmas_branche/src/world_entities/world_entity.cc	(revision 6195)
@@ -138,5 +138,4 @@
     {
       PRINTF(4)("fetching MD2 file: %s\n", fileName);
-//         MD2Model* m = (MD2Model*)ResourceManager::getInstance()->load(fileName, MD2, RP_CAMPAIGN);
       Model* m = new MD2Model(fileName, this->md2TextureFileName);
         //this->setModel((Model*)ResourceManager::getInstance()->load(fileName, MD2, RP_CAMPAIGN), 0);
