Index: branches/single_player_map/src/lib/event/event_handler.cc
===================================================================
--- branches/single_player_map/src/lib/event/event_handler.cc	(revision 9051)
+++ branches/single_player_map/src/lib/event/event_handler.cc	(revision 9052)
@@ -357,6 +357,6 @@
   else
   {
-//      SDL_WM_GrabInput(SDL_GRAB_ON);
-//      SDL_ShowCursor(SDL_DISABLE);
+     SDL_WM_GrabInput(SDL_GRAB_ON);
+     SDL_ShowCursor(SDL_DISABLE);
   }
 }
Index: branches/single_player_map/src/world_entities/playable.cc
===================================================================
--- branches/single_player_map/src/world_entities/playable.cc	(revision 9051)
+++ branches/single_player_map/src/world_entities/playable.cc	(revision 9052)
@@ -95,4 +95,6 @@
 
   LoadParam(root, "abs-dir", this, Playable, setPlayDirection);
+  LoadParam(root, "enter-radius", this, Playable, setEnterRadius)
+      .describe("The Distance one can enter the ship from.");
 }
 
Index: branches/single_player_map/src/world_entities/space_ships/spacecraft_2d.cc
===================================================================
--- branches/single_player_map/src/world_entities/space_ships/spacecraft_2d.cc	(revision 9051)
+++ branches/single_player_map/src/world_entities/space_ships/spacecraft_2d.cc	(revision 9052)
@@ -36,11 +36,4 @@
 CREATE_FACTORY(Spacecraft2D, CL_SPACECRAFT_2D);
 
-/**
- *  destructs the spacecraft_2d, deletes alocated memory
- */
-Spacecraft2D::~Spacecraft2D ()
-{
-  this->setPlayer(NULL);
-}
 
 /**
@@ -93,4 +86,12 @@
 
 /**
+ *  destructs the spacecraft_2d, deletes alocated memory
+ */
+Spacecraft2D::~Spacecraft2D ()
+{
+  this->setPlayer(NULL);
+}
+
+/**
  * @brief initializes a Spacecraft2D
  */
@@ -106,10 +107,8 @@
   mouseSensitivity = 0.005;
 
-  this->rotorSpeed = 1000.0f;
-  this->rotorCycle = 0.0f;
   this->cameraLook = 0.0f;
   this->rotation = 0.0f;
   this->acceleration = 10.0f;
-  this->airFriction = 2.0f;
+  this->altitude = 0.0f;
 
   this->setHealthMax(100);
@@ -118,5 +117,5 @@
 
   // camera - issue
-  this->cameraNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE);
+  this->travelNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE);
   //this->cameraNode.setParentMode(PNODE_ROTATE_MOVEMENT);
   //this->cameraNode.setParent(this);
@@ -179,7 +178,7 @@
   this->getWeaponManager().setSlotDirection(4, Quaternion(24/180 * M_PI, Vector(1,0,0)));
 
-  this->cameraNode.setRelCoor(1,5,0);
-  this->getWeaponManager().getFixedTarget()->setParent(&this->cameraNode);
-  this->getWeaponManager().getFixedTarget()->setRelCoor(1000,0,0);
+  this->travelNode.setRelCoor(0,0,0);
+  //this->getWeaponManager().getFixedTarget()->setParent(&this->cameraNode);
+  //this->getWeaponManager().getFixedTarget()->setRelCoor(1000,0,0);
 
   registerVar( new SynchronizeableBool( &bForward, &bForward, "bForward", PERMISSION_OWNER ) );
@@ -206,4 +205,16 @@
 }
 
+void Spacecraft2D::setTravelDirecton(const Quaternion& rot, float speed)
+{
+  this->setPlayDirection(rot, speed);
+}
+
+void Spacecraft2D::setTravelSpeed(float travelSpeed)
+{
+  this->travelSpeed = travelSpeed;
+}
+
+
+
 void Spacecraft2D::enter()
 {
@@ -212,7 +223,7 @@
   if (State::getCameraNode != NULL)
   {
-    State::getCameraNode()->setParentSoft(&this->cameraNode);
-    State::getCameraNode()->setRelCoorSoft(-10, 0,0);
-    State::getCameraTargetNode()->setParentSoft(&this->cameraNode);
+    State::getCameraNode()->setParentSoft(&this->travelNode);
+    State::getCameraNode()->setRelCoorSoft(-10, 50,0);
+    State::getCameraTargetNode()->setParentSoft(&this->travelNode);
   }
 }
@@ -264,9 +275,8 @@
   // spaceship controlled movement
   this->movement(dt);
-  this->rotorCycle += this->rotorSpeed * dt;
 
   // TRYING TO FIX PNode.
-  this->cameraNode.setAbsCoorSoft(this->getAbsCoor() + Vector(0.0f, 5.0f, 0.0f), 30.0f);
-  this->cameraNode.setRelDirSoft(this->getAbsDir(), 30.0f);
+  //this->travelNode.setAbsCoorSoft(this->getAbsCoor() + Vector(0.0f, 5.0f, 0.0f), 30.0f);
+  //this->travelNode.setRelDirSoft(this->getAbsDir(), 30.0f);
 }
 
@@ -297,4 +307,5 @@
     accel += Vector(0, 0, this->acceleration);
   }
+
 
   switch(this->getPlaymode())
@@ -305,8 +316,6 @@
 
         // this is the air friction (necessary for a smooth control)
-        Vector damping = (this->velocity * this->airFriction);
-
-
-        this->velocity += (accelerationDir - damping)* dt;
+
+        this->velocity += (accelerationDir)* dt;
         this->shiftCoor (this->velocity * dt);
 
@@ -334,8 +343,7 @@
 
         // this is the air friction (necessary for a smooth control)
-        Vector damping = (this->velocity * this->airFriction);
-
-
-        this->velocity += (accelerationDir - damping)* dt;
+
+
+        this->velocity += (accelerationDir )* dt;
         this->shiftCoor (this->velocity * dt);
 
@@ -344,6 +352,5 @@
         {
           float maxRot = 10.0 * dt;
-          if (unlikely(this->rotation > maxRot)) this->rotation = maxRot;
-          if (unlikely(this->rotation < -maxRot)) this->rotation = -maxRot;
+          if (unlikely(this->rotation > 0.01 || this->rotation < 0.01)) this->rotation /=1.5;
           this->direction *= Quaternion(-M_PI/4.0*this->rotation, Vector(0,1,0));
 
@@ -355,19 +362,4 @@
       break;
 
-    case Playable::Vertical:
-    {
-      accel.z = 0;
-      Vector accelerationDir = this->getAbsDir().apply(accel * this->acceleration);
-      accelerationDir.z=0;
-
-        // this is the air friction (necessary for a smooth control)
-      Vector damping = (this->velocity * this->airFriction);
-
-      this->velocity += (accelerationDir - damping)* dt;
-      this->shiftCoor (this->velocity * dt);
-
-      this->setRelDirSoft(this->direction * Quaternion(-cameraLook, Vector(0,0,1)), 5);
-    }
-    break;
     default:
       PRINTF(2)("Playmode %s Not Implemented\n", Playable::playmodeToString(this->getPlaymode()).c_str());
@@ -403,5 +395,6 @@
 
     // rotate the Player around the y-axis
-    this->rotation += xMouse;
+    if (this->getPlaymode() == Playable::Full3D)
+      this->rotation += xMouse;
 
     this->cameraLook += yMouse;
Index: branches/single_player_map/src/world_entities/space_ships/spacecraft_2d.h
===================================================================
--- branches/single_player_map/src/world_entities/space_ships/spacecraft_2d.h	(revision 9051)
+++ branches/single_player_map/src/world_entities/space_ships/spacecraft_2d.h	(revision 9052)
@@ -23,6 +23,11 @@
     virtual void loadParams(const TiXmlElement* root);
     virtual void setPlayDirection(const Quaternion& rot, float speed = 0.0f);
+    void setTravelDirecton(const Quaternion& rot, float speed = 0.0);
+    void setTravelSpeed(float travelSpeed);
+
     virtual void enter();
     virtual void leave();
+
+
 
     virtual void postSpawn();
@@ -48,5 +53,9 @@
     float                 mouseSensitivity;   //!< the mouse sensitivity
 
-    PNode                 cameraNode;
+
+
+    PNode                 travelNode;
+    float                 travelSpeed;
+
     float                 cameraLook;
     float                 rotation;
@@ -54,12 +63,8 @@
    // Vector                velocity;           //!< the velocity of the Spacecraft2D.
     Quaternion            direction;          //!< the direction of the Spacecraft2D.
-    float                 travelSpeed;        //!< the current speed of the Hove (to make soft movement)
     float                 acceleration;       //!< the acceleration of the Spacecraft2D.
-    float                 airFriction;        //!< AirFriction.
+    float                 maxSpeed;           //!< The Maximal speed of the Spacecraft2D.
 
-    float                 rotorSpeed;         //!< the speed of the rotor.
-    float                 rotorCycle;         //!< The Cycle the rotor is in.
-
-    float                 airViscosity;
+    float                 altitude;           //!< The height in the Entity.
 
     ParticleEmitter*      burstEmitter;
