Index: code/branches/hoverHS15/src/modules/hover/HoverShip.cc
===================================================================
--- code/branches/hoverHS15/src/modules/hover/HoverShip.cc	(revision 10760)
+++ code/branches/hoverHS15/src/modules/hover/HoverShip.cc	(revision 10784)
@@ -42,4 +42,6 @@
     {
         RegisterObject(HoverShip);
+        enableCollisionCallback();
+        isFloor_ = false;
     }
 
@@ -49,6 +51,6 @@
     }
 
-    /*void HoverShip::moveFrontBack(const Vector2& value)
-                { this->steering_.z -= value.x; }
+    void HoverShip::moveFrontBack(const Vector2& value)
+        { this->steering_.z -= value.x; }
 
     void HoverShip::moveRightLeft(const Vector2& value)
@@ -58,33 +60,75 @@
         { this->steering_.y += value.x; }
 
-    void HoverShip::rotateYaw(const Vector2& value) {}
-    void HoverShip::rotatePitch(const Vector2& value) {}
-    void HoverShip::rotateRoll(const Vector2& value) {}*/
+    void HoverShip::rotateYaw(const Vector2& value)
+    {
+        this->localAngularAcceleration_.setY(this->localAngularAcceleration_.y() + value.x);
+
+        Pawn::rotateYaw(value);
+    }
+
+    void HoverShip::XMLPort(Element& xmlelement, XMLPort::Mode mode)
+    {
+        SUPER(HoverShip, XMLPort, xmlelement, mode);
+
+        XMLPortParam(HoverShip, "jumpBoost", setJumpBoost, getJumpBoost, xmlelement, mode);
+    }
+
+
+    void HoverShip::setJumpBoost(float jumpBoost)
+    {
+        this->jumpBoost_ = jumpBoost;
+    }
+
+
+    float HoverShip::getJumpBoost()
+    {
+        return jumpBoost_;
+    }
+
+    /**
+    @brief
+        Rotate in pitch direction.
+        Due to added left, can also lead to an additional up-down motion.
+    @param value
+        A vector whose first component specifies the magnitude of the rotation. Positive means pitch up, negative means pitch down.
+    */
+    void HoverShip::rotatePitch(const Vector2& value) { }
+
+    /**
+    @brief
+        Rotate in roll direction.
+    @param value
+        A vector whose first component specifies the magnitude of the rotation. Positive means roll left, negative means roll right.
+    */
+    void HoverShip::rotateRoll(const Vector2& value) { }
 
     bool HoverShip::collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint)
     {
-        orxout() << "collision" << endl;
+        SpaceShip::collidesAgainst(otherObject, cs, contactPoint);
+        //SUPER(HoverShip, collidesAgainst, otherObject, cs, contactPoint);
 
-        /*if (contactPoint.m_normalWorldOnB.y() > 0.6)
+        if (contactPoint.m_normalWorldOnB.y() > 0.6
+            && this->getVelocity().y < 1) {
             this->isFloor_ = true;
-        else
+        } else {
             this->isFloor_ = false;
+        }
 
-        return false;*/
         return false;
     }
 
     void HoverShip::boost(bool bBoost) {
-        /*if (this->isFloor_)
+        if (bBoost && this->isFloor_)
         {
-            if (!this->thisTickBoost_)
-                this->localVelocity_.y = jumpValue_;
-            //this->physicalBody_->applyCentralImpulse(btVector3(0, jumpvalue, 0));
-            this->thisTickBoost_ = true;
+            this->setVelocity(
+                this->getVelocity().x,
+                jumpBoost_,
+                this->getVelocity().z
+                );
             this->isFloor_ = false;
-        }*/
+        }
     }
 
-   /* Hover* HoverShip::getGame()
+    /*Hover* HoverShip::getGame()
     {
         if (game == NULL)
Index: code/branches/hoverHS15/src/modules/hover/HoverShip.h
===================================================================
--- code/branches/hoverHS15/src/modules/hover/HoverShip.h	(revision 10760)
+++ code/branches/hoverHS15/src/modules/hover/HoverShip.h	(revision 10784)
@@ -35,4 +35,5 @@
 #define _HoverShip_H__
 
+#include <BulletCollision/NarrowPhaseCollision/btManifoldPoint.h>
 
 #include "HoverPrereqs.h"
@@ -41,4 +42,5 @@
 #include "worldentities/pawns/SpaceShip.h"
 #include "graphics/Camera.h"
+#include "core/class/Super.h"
 
 #include "Hover.h" // Is necessary for getGame function
@@ -48,4 +50,8 @@
     class _HoverExport HoverShip : public SpaceShip
     {
+    private:
+    	float jumpBoost_;
+    	bool isFloor_;
+
         public:
             HoverShip(Context* context);
@@ -53,5 +59,11 @@
             virtual void tick(float dt);
 
-		    /*virtual void moveFrontBack(const Vector2& value);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+
+            virtual void setJumpBoost(float jumpBoost);
+
+    		virtual float getJumpBoost();
+
+		    virtual void moveFrontBack(const Vector2& value);
 
 		    virtual void moveRightLeft(const Vector2& value);
@@ -63,5 +75,5 @@
 		    virtual void rotatePitch(const Vector2& value);
 		    
-		    virtual void rotateRoll(const Vector2& value);*/
+		    virtual void rotateRoll(const Vector2& value);
 
 		    virtual bool collidesAgainst(WorldEntity* otherObject, const btCollisionShape* cs, btManifoldPoint& contactPoint);
