Index: code/trunk/src/modules/jump/Jump.cc
===================================================================
--- code/trunk/src/modules/jump/Jump.cc	(revision 10632)
+++ code/trunk/src/modules/jump/Jump.cc	(revision 11071)
@@ -34,9 +34,5 @@
 #include "Jump.h"
 #include "core/CoreIncludes.h"
-#include "core/EventIncludes.h"
-#include "core/command/Executor.h"
-#include "core/config/ConfigValueIncludes.h"
-#include "gamestates/GSLevel.h"
-#include "chat/ChatManager.h"
+
 #include "JumpCenterpoint.h"
 #include "JumpPlatform.h"
@@ -56,5 +52,8 @@
 #include "JumpBoots.h"
 #include "JumpShield.h"
+
+#include "gamestates/GSLevel.h"
 #include "infos/PlayerInfo.h"
+#include "graphics/Camera.h"
 
 namespace orxonox
@@ -66,10 +65,8 @@
         RegisterObject(Jump);
 
-        center_ = 0;
-        figure_ = 0;
-        camera = 0;
+        center_ = nullptr;
+        figure_ = nullptr;
+        camera = nullptr;
         setHUDTemplate("JumpHUD");
-
-        setConfigValues();
     }
 
@@ -86,5 +83,5 @@
         SUPER(Jump, tick, dt);
 
-        if (figure_ != NULL)
+        if (figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getPosition();
@@ -101,5 +98,5 @@
                 if (screenShiftSinceLastUpdate_ > center_->getSectionLength())
                 {
-                    if (sectionNumber_ > 2 && sectionNumber_%4 == 0 && rand()%2 == 0 && figure_->propellerActive_ == false && figure_->rocketActive_ == false && addAdventure(adventureNumber_) == true)
+                    if (sectionNumber_ > 2 && sectionNumber_%4 == 0 && rand()%2 == 0 && figure_->propellerActive_ == nullptr && figure_->rocketActive_ == nullptr && addAdventure(adventureNumber_) == true)
                     {
                         screenShiftSinceLastUpdate_ -= 2*center_->getSectionLength();
@@ -133,5 +130,5 @@
 
 
-            if (camera != NULL)
+            if (camera != nullptr)
             {
                 Vector3 cameraPosition = Vector3(0, totalScreenShift_, 0);
@@ -144,10 +141,9 @@
         }
 
-        ObjectList<JumpPlatform>::iterator beginPlatform = ObjectList<JumpPlatform>::begin();
-        ObjectList<JumpPlatform>::iterator endPlatform = ObjectList<JumpPlatform>::end();
-        ObjectList<JumpPlatform>::iterator itPlatform = beginPlatform;
+        ObjectList<JumpPlatform> listPlatform;
+        ObjectList<JumpPlatform>::iterator itPlatform = listPlatform.begin();
         Vector3 platformPosition;
 
-        while (itPlatform != endPlatform)
+        while (itPlatform != listPlatform.end())
         {
             platformPosition = itPlatform->getPosition();
@@ -166,9 +162,8 @@
 
         // Deleted deactivated platforms
-        ObjectList<JumpPlatformDisappear>::iterator beginDisappear = ObjectList<JumpPlatformDisappear>::begin();
-        ObjectList<JumpPlatformDisappear>::iterator endDisappear = ObjectList<JumpPlatformDisappear>::end();
-        ObjectList<JumpPlatformDisappear>::iterator itDisappear = beginDisappear;
-
-        while (itDisappear != endDisappear)
+        ObjectList<JumpPlatformDisappear> listDisappear;
+        ObjectList<JumpPlatformDisappear>::iterator itDisappear = listDisappear.begin();
+
+        while (itDisappear != listDisappear.end())
         {
             if (!itDisappear->isActive())
@@ -185,9 +180,8 @@
         }
 
-        ObjectList<JumpPlatformTimer>::iterator beginTimer = ObjectList<JumpPlatformTimer>::begin();
-        ObjectList<JumpPlatformTimer>::iterator endTimer = ObjectList<JumpPlatformTimer>::end();
-        ObjectList<JumpPlatformTimer>::iterator itTimer = beginTimer;
-
-        while (itTimer != endTimer)
+        ObjectList<JumpPlatformTimer> listTimer;
+        ObjectList<JumpPlatformTimer>::iterator itTimer = listTimer.begin();
+
+        while (itTimer != listTimer.end())
         {
             if (!itTimer->isActive())
@@ -204,10 +198,9 @@
         }
 
-        ObjectList<JumpProjectile>::iterator beginProjectile = ObjectList<JumpProjectile>::begin();
-        ObjectList<JumpProjectile>::iterator endProjectile = ObjectList<JumpProjectile>::end();
-        ObjectList<JumpProjectile>::iterator itProjectile = beginProjectile;
+        ObjectList<JumpProjectile> listProjectile;
+        ObjectList<JumpProjectile>::iterator itProjectile = listProjectile.begin();
         Vector3 projectilePosition;
 
-        while (itProjectile != endProjectile)
+        while (itProjectile != listProjectile.end())
         {
             projectilePosition = itProjectile->getPosition();
@@ -225,10 +218,9 @@
         }
 
-        ObjectList<JumpEnemy>::iterator beginEnemy = ObjectList<JumpEnemy>::begin();
-        ObjectList<JumpEnemy>::iterator endEnemy = ObjectList<JumpEnemy>::end();
-        ObjectList<JumpEnemy>::iterator itEnemy = beginEnemy;
+        ObjectList<JumpEnemy> listEnemy;
+        ObjectList<JumpEnemy>::iterator itEnemy = listEnemy.begin();
         Vector3 enemyPosition;
 
-        while (itEnemy != endEnemy)
+        while (itEnemy != listEnemy.end())
         {
             enemyPosition = itEnemy->getPosition();
@@ -246,10 +238,9 @@
         }
 
-        ObjectList<JumpItem>::iterator beginItem = ObjectList<JumpItem>::begin();
-        ObjectList<JumpItem>::iterator endItem = ObjectList<JumpItem>::end();
-        ObjectList<JumpItem>::iterator itItem = beginItem;
+        ObjectList<JumpItem> listItem;
+        ObjectList<JumpItem>::iterator itItem = listItem.begin();
         Vector3 itemPosition;
 
-        while (itItem != endItem)
+        while (itItem != listItem.end())
         {
             itemPosition = itItem->getPosition();
@@ -273,12 +264,12 @@
     void Jump::cleanup()
     {
-        camera = 0;
+        camera = nullptr;
     }
 
     void Jump::start()
     {
-        if (center_ != NULL) // There needs to be a JumpCenterpoint, i.e. the area the game takes place.
-        {
-            if (figure_ == NULL)
+        if (center_ != nullptr) // There needs to be a JumpCenterpoint, i.e. the area the game takes place.
+        {
+            if (figure_ == nullptr)
             {
                 figure_ = new JumpFigure(center_->getContext());
@@ -301,5 +292,5 @@
         Deathmatch::start();
 
-        if (figure_ != NULL)
+        if (figure_ != nullptr)
         {
             camera = figure_->getCamera();
@@ -328,5 +319,5 @@
         assert(player);
 
-        if (figure_->getPlayer() == NULL)
+        if (figure_->getPlayer() == nullptr)
         {
             player->startControl(figure_);
@@ -337,5 +328,5 @@
     PlayerInfo* Jump::getPlayer() const
     {
-        if (this->figure_ != NULL)
+        if (this->figure_ != nullptr)
         {
             return this->figure_->getPlayer();
@@ -343,5 +334,5 @@
         else
         {
-            return 0;
+            return nullptr;
         }
     }
@@ -349,5 +340,5 @@
     void Jump::addPlatform(JumpPlatform* newPlatform, std::string platformTemplate, float xPosition, float zPosition)
     {
-        if (newPlatform != NULL && center_ != NULL)
+        if (newPlatform != nullptr && center_ != nullptr)
         {
             newPlatform->addTemplate(platformTemplate);
@@ -417,5 +408,5 @@
     {
         JumpProjectile* newProjectile = new JumpProjectile(center_->getContext());
-        if (newProjectile != NULL && center_ != NULL)
+        if (newProjectile != nullptr && center_ != nullptr)
         {
             newProjectile->addTemplate(center_->getProjectileTemplate());
@@ -430,5 +421,5 @@
     {
         JumpSpring* newSpring = new JumpSpring(center_->getContext());
-        if (newSpring != NULL && center_ != NULL)
+        if (newSpring != nullptr && center_ != nullptr)
         {
             newSpring->addTemplate(center_->getSpringTemplate());
@@ -443,5 +434,5 @@
     {
         JumpSpring* newSpring = new JumpSpring(center_->getContext());
-        if (newSpring != NULL && center_ != NULL)
+        if (newSpring != nullptr && center_ != nullptr)
         {
             newSpring->addTemplate(center_->getSpringTemplate());
@@ -456,5 +447,5 @@
     {
         JumpRocket* newRocket = new JumpRocket(center_->getContext());
-        if (newRocket != NULL && center_ != NULL)
+        if (newRocket != nullptr && center_ != nullptr)
         {
             newRocket->addTemplate(center_->getRocketTemplate());
@@ -469,5 +460,5 @@
     {
         JumpRocket* newRocket = new JumpRocket(center_->getContext());
-        if (newRocket != NULL && center_ != NULL)
+        if (newRocket != nullptr && center_ != nullptr)
         {
             newRocket->addTemplate(center_->getRocketTemplate());
@@ -482,5 +473,5 @@
     {
         JumpPropeller* newPropeller = new JumpPropeller(center_->getContext());
-        if (newPropeller != NULL && center_ != NULL)
+        if (newPropeller != nullptr && center_ != nullptr)
         {
             newPropeller->addTemplate(center_->getPropellerTemplate());
@@ -495,5 +486,5 @@
     {
         JumpPropeller* newPropeller = new JumpPropeller(center_->getContext());
-        if (newPropeller != NULL && center_ != NULL)
+        if (newPropeller != nullptr && center_ != nullptr)
         {
             newPropeller->addTemplate(center_->getPropellerTemplate());
@@ -508,5 +499,5 @@
     {
         JumpBoots* newBoots = new JumpBoots(center_->getContext());
-        if (newBoots != NULL && center_ != NULL)
+        if (newBoots != nullptr && center_ != nullptr)
         {
             newBoots->addTemplate(center_->getBootsTemplate());
@@ -521,5 +512,5 @@
     {
         JumpBoots* newBoots = new JumpBoots(center_->getContext());
-        if (newBoots != NULL && center_ != NULL)
+        if (newBoots != nullptr && center_ != nullptr)
         {
             newBoots->addTemplate(center_->getBootsTemplate());
@@ -534,5 +525,5 @@
     {
         JumpShield* newShield = new JumpShield(center_->getContext());
-        if (newShield != NULL && center_ != NULL)
+        if (newShield != nullptr && center_ != nullptr)
         {
             newShield->addTemplate(center_->getShieldTemplate());
@@ -547,5 +538,5 @@
     {
         JumpShield* newShield = new JumpShield(center_->getContext());
-        if (newShield != NULL && center_ != NULL)
+        if (newShield != nullptr && center_ != nullptr)
         {
             newShield->addTemplate(center_->getShieldTemplate());
@@ -560,5 +551,5 @@
     {
         JumpEnemy* newEnemy = new JumpEnemy(center_->getContext());
-        if (newEnemy != NULL && center_ != NULL)
+        if (newEnemy != nullptr && center_ != nullptr)
         {
             switch (type)
@@ -619,12 +610,12 @@
         const int numJ = 4;
 
-        enum PlatformType
-        {
-            PLATFORM_EMPTY, PLATFORM_STATIC, PLATFORM_HMOVE, PLATFORM_VMOVE, PLATFORM_DISAPPEAR, PLATFORM_TIMER, PLATFORM_FAKE
+        enum class PlatformType
+        {
+            EMPTY, STATIC, HMOVE, VMOVE, DISAPPEAR, TIMER, FAKE
         };
 
-        enum ItemType
-        {
-            ITEM_NOTHING, ITEM_SPRING, ITEM_PROPELLER, ITEM_ROCKET, ITEM_BOOTS, ITEM_SHIELD
+        enum class ItemType
+        {
+            NOTHING, SPRING, PROPELLER, ROCKET, BOOTS, SHIELD
         };
 
@@ -640,5 +631,5 @@
             for (int j = 0; j < numJ; ++j)
             {
-                matrix[i][j].type = PLATFORM_EMPTY;
+                matrix[i][j].type = PlatformType::EMPTY;
                 matrix[i][j].done = false;
             }
@@ -646,9 +637,9 @@
         PlatformType platformtype1;
         PlatformType platformtype2;
-        ItemType itemType = ITEM_NOTHING;
+        ItemType itemType = ItemType::NOTHING;
 
         if (rand()%2 == 0)
         {
-            itemType = ITEM_SPRING;
+            itemType = ItemType::SPRING;
         }
         else if (rand()%2 == 0 && sectionNumber_ > 3)
@@ -657,14 +648,14 @@
             {
             case 0:
-                itemType = ITEM_PROPELLER;
+                itemType = ItemType::PROPELLER;
                 break;
             case 1:
-                itemType = ITEM_ROCKET;
+                itemType = ItemType::ROCKET;
                 break;
             case 2:
-                itemType = ITEM_BOOTS;
+                itemType = ItemType::BOOTS;
                 break;
             case 3:
-                itemType = ITEM_SHIELD;
+                itemType = ItemType::SHIELD;
                 break;
             default:
@@ -676,122 +667,122 @@
         {
         case 0:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 1:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 2:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 3:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 4:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 5:
-            platformtype1 = PLATFORM_STATIC;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::STATIC;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 6:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 7:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 8:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 9:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 10:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 11:
-            platformtype1 = PLATFORM_HMOVE;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::HMOVE;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 12:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 13:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 14:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 15:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 16:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 17:
-            platformtype1 = PLATFORM_DISAPPEAR;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::DISAPPEAR;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 18:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 19:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 20:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 21:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 22:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 23:
-            platformtype1 = PLATFORM_VMOVE;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::VMOVE;
+            platformtype2 = PlatformType::TIMER;
             break;
         case 24:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_STATIC;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::STATIC;
             break;
         case 25:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_HMOVE;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::HMOVE;
             break;
         case 26:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_DISAPPEAR;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::DISAPPEAR;
             break;
         case 27:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_VMOVE;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::VMOVE;
             break;
         case 28:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::TIMER;
             break;
         default:
-            platformtype1 = PLATFORM_TIMER;
-            platformtype2 = PLATFORM_TIMER;
+            platformtype1 = PlatformType::TIMER;
+            platformtype2 = PlatformType::TIMER;
             break;
         }
@@ -816,6 +807,6 @@
         if (platformtype1 == platformtype2 && sectionNumber_ > 10 && rand()%2 == 0)
         {
-            matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
+            matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
         }
 
@@ -825,9 +816,9 @@
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
         }
@@ -836,17 +827,17 @@
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
         }
@@ -855,25 +846,25 @@
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
             if (rand()%2 == 0)
             {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_EMPTY;
-            }
-            else
-            {
-                matrix[rand()%numI][rand()%numJ].type = PLATFORM_FAKE;
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::EMPTY;
+            }
+            else
+            {
+                matrix[rand()%numI][rand()%numJ].type = PlatformType::FAKE;
             }
         }
@@ -898,8 +889,8 @@
                     switch(matrix[i][j].type)
                     {
-                    case PLATFORM_EMPTY:
+                    case PlatformType::EMPTY:
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_STATIC:
+                    case PlatformType::STATIC:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -907,5 +898,5 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_FAKE:
+                    case PlatformType::FAKE:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -913,5 +904,5 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_TIMER:
+                    case PlatformType::TIMER:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -919,5 +910,5 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_DISAPPEAR:
+                    case PlatformType::DISAPPEAR:
                         xPosition = randomXPosition(numJ, j);
                         zPosition = sectionBegin + i*sectionLength/numI;
@@ -925,7 +916,7 @@
                         matrix[i][j].done = true;
                         break;
-                    case PLATFORM_HMOVE:
+                    case PlatformType::HMOVE:
                         xVelocity = randomSpeed();
-                        if (j <= numJ-3 && matrix[i][j+1].type == PLATFORM_HMOVE && matrix[i][j+2].type == PLATFORM_HMOVE && rand()%2 == 0)
+                        if (j <= numJ-3 && matrix[i][j+1].type == PlatformType::HMOVE && matrix[i][j+2].type == PlatformType::HMOVE && rand()%2 == 0)
                         {
                             leftBoundary = randomXPositionLeft(numJ, j);
@@ -938,5 +929,5 @@
                             matrix[i][j+2].done = true;
                         }
-                        else if (j <= numJ-2 && matrix[i][j+1].type == PLATFORM_HMOVE && rand()%2 == 0)
+                        else if (j <= numJ-2 && matrix[i][j+1].type == PlatformType::HMOVE && rand()%2 == 0)
                         {
                             leftBoundary = randomXPositionLeft(numJ, j);
@@ -958,7 +949,7 @@
                         }
                         break;
-                    case PLATFORM_VMOVE:
+                    case PlatformType::VMOVE:
                         zVelocity = randomSpeed();
-                        if (i <= numI-3 && matrix[i+1][j].type == PLATFORM_VMOVE && matrix[i+2][j].type == PLATFORM_VMOVE && rand()%2 == 0)
+                        if (i <= numI-3 && matrix[i+1][j].type == PlatformType::VMOVE && matrix[i+2][j].type == PlatformType::VMOVE && rand()%2 == 0)
                         {
                             lowerBoundary = randomZPositionLower(numI, i, sectionBegin, sectionEnd);
@@ -971,5 +962,5 @@
                             matrix[i+2][j].done = true;
                         }
-                        else if (i <= numI-2 && matrix[i+1][j].type == PLATFORM_VMOVE && rand()%2 == 0)
+                        else if (i <= numI-2 && matrix[i+1][j].type == PlatformType::VMOVE && rand()%2 == 0)
                         {
                             lowerBoundary = randomZPositionLower(numI, i, sectionBegin, sectionEnd);
@@ -1009,14 +1000,14 @@
                 switch (itemType)
                 {
-                case ITEM_ROCKET:
+                case ItemType::ROCKET:
                     addRocket(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
-                case ITEM_PROPELLER:
+                case ItemType::PROPELLER:
                     addPropeller(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
-                case ITEM_BOOTS:
+                case ItemType::BOOTS:
                     addBoots(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
-                case ITEM_SHIELD:
+                case ItemType::SHIELD:
                     addShield(0.0, randomPosition(sectionBegin, sectionBegin + sectionLength), -fieldWidth/2, fieldWidth/2, 0.0, 0.0, randomSpeed(), 0.0);
                     break;
@@ -1029,14 +1020,14 @@
                 switch (itemType)
                 {
-                case ITEM_ROCKET:
+                case ItemType::ROCKET:
                     addRocket(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
-                case ITEM_PROPELLER:
+                case ItemType::PROPELLER:
                     addPropeller(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
-                case ITEM_BOOTS:
+                case ItemType::BOOTS:
                     addBoots(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
-                case ITEM_SHIELD:
+                case ItemType::SHIELD:
                     addShield(randomPosition(-fieldWidth/2, fieldWidth/2), sectionBegin + sectionLength/2, 0.0, 0.0, sectionBegin, sectionEnd, 0.0, randomSpeed());
                     break;
@@ -1054,17 +1045,17 @@
                 switch (itemType)
                 {
-                case ITEM_SPRING:
+                case ItemType::SPRING:
                     addSpring(itemPlatform);
                     break;
-                case ITEM_ROCKET:
+                case ItemType::ROCKET:
                     addRocket(itemPlatform);
                     break;
-                case ITEM_PROPELLER:
+                case ItemType::PROPELLER:
                     addPropeller(itemPlatform);
                     break;
-                case ITEM_BOOTS:
+                case ItemType::BOOTS:
                     addBoots(itemPlatform);
                     break;
-                case ITEM_SHIELD:
+                case ItemType::SHIELD:
                     addShield(itemPlatform);
                     break;
@@ -1273,19 +1264,19 @@
     float Jump::getFuel() const
     {
-        if (this->figure_ != NULL)
-        {
-            if (this->figure_->rocketActive_ != NULL)
+        if (this->figure_ != nullptr)
+        {
+            if (this->figure_->rocketActive_ != nullptr)
             {
                 return this->figure_->rocketActive_->getFuelState();
             }
-            else if (this->figure_->propellerActive_ != NULL)
+            else if (this->figure_->propellerActive_ != nullptr)
             {
                 return this->figure_->propellerActive_->getFuelState();
             }
-            else if (this->figure_->shieldActive_ != NULL)
+            else if (this->figure_->shieldActive_ != nullptr)
             {
                 return this->figure_->shieldActive_->getFuelState();
             }
-            else if (this->figure_->bootsActive_ != NULL)
+            else if (this->figure_->bootsActive_ != nullptr)
             {
                 return this->figure_->bootsActive_->getFuelState();
@@ -1300,3 +1291,9 @@
         return figure_->dead_;
     }
+
+    void Jump::setCenterpoint(JumpCenterpoint* center)
+    {
+        center_ = center;
+    }
+
 }
Index: code/trunk/src/modules/jump/Jump.h
===================================================================
--- code/trunk/src/modules/jump/Jump.h	(revision 10632)
+++ code/trunk/src/modules/jump/Jump.h	(revision 11071)
@@ -31,9 +31,5 @@
 
 #include "jump/JumpPrereqs.h"
-#include "tools/Timer.h"
-#include "graphics/Camera.h"
 #include "gametypes/Deathmatch.h"
-#include "JumpCenterpoint.h"
-#include <list>
 
 namespace orxonox
@@ -44,13 +40,12 @@
             Jump(Context* context);
             virtual ~Jump();
-            virtual void tick(float dt);
-            virtual void start();
-            virtual void end();
-            virtual void spawnPlayer(PlayerInfo* player);
+            virtual void tick(float dt) override;
+            virtual void start() override;
+            virtual void end() override;
+            virtual void spawnPlayer(PlayerInfo* player) override;
             int getScore(PlayerInfo* player) const;
             float getFuel() const;
             bool getDead(PlayerInfo* player) const;
-            void setCenterpoint(JumpCenterpoint* center)
-                { center_ = center; }
+            void setCenterpoint(JumpCenterpoint* center);
             PlayerInfo* getPlayer() const;
 
Index: code/trunk/src/modules/jump/JumpBoots.cc
===================================================================
--- code/trunk/src/modules/jump/JumpBoots.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpBoots.cc	(revision 11071)
@@ -35,12 +35,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
-
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -67,9 +60,4 @@
     }
 
-    void JumpBoots::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpBoots, XMLPort, xmlelement, mode);
-    }
-
     void JumpBoots::tick(float dt)
     {
@@ -78,5 +66,5 @@
         Vector3 rocketPosition = getWorldPosition();
 
-        if (attachedToFigure_ == false && figure_ != NULL)
+        if (attachedToFigure_ == false && figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getWorldPosition();
Index: code/trunk/src/modules/jump/JumpBoots.h
===================================================================
--- code/trunk/src/modules/jump/JumpBoots.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpBoots.h	(revision 11071)
@@ -30,8 +30,6 @@
 #define _JumpBoots_H__
 
-#include "jump/JumpPrereqs.h"
-#include "util/Math.h"
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpItem.h"
 
 namespace orxonox
@@ -42,7 +40,6 @@
             JumpBoots(Context* context);
             virtual ~JumpBoots();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void touchFigure();
+            virtual void tick(float dt) override;
+            virtual void touchFigure() override;
             virtual float getFuelState();
         protected:
Index: code/trunk/src/modules/jump/JumpCenterpoint.cc
===================================================================
--- code/trunk/src/modules/jump/JumpCenterpoint.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpCenterpoint.cc	(revision 11071)
@@ -33,4 +33,5 @@
 
 #include "JumpCenterpoint.h"
+
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -82,5 +83,5 @@
     void JumpCenterpoint::checkGametype()
     {
-        if (getGametype() != NULL && this->getGametype()->isA(Class(Jump)))
+        if (getGametype() != nullptr && this->getGametype()->isA(Class(Jump)))
         {
             Jump* jumpGametype = orxonox_cast<Jump*>(this->getGametype());
Index: code/trunk/src/modules/jump/JumpCenterpoint.h
===================================================================
--- code/trunk/src/modules/jump/JumpCenterpoint.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpCenterpoint.h	(revision 11071)
@@ -31,9 +31,4 @@
 
 #include "jump/JumpPrereqs.h"
-
-#include <string>
-
-#include <util/Math.h>
-
 #include "worldentities/StaticEntity.h"
 
@@ -113,5 +108,5 @@
             JumpCenterpoint(Context* context); //!< Constructor. Registers and initializes the object and checks whether the gametype is actually Jump.
             virtual ~JumpCenterpoint() {}
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method to create a JumpCenterpoint through XML.
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; //!< Method to create a JumpCenterpoint through XML.
             void setPlatformStaticTemplate(const std::string& balltemplate)
                 { this->platformStaticTemplate_ = balltemplate; }
Index: code/trunk/src/modules/jump/JumpEnemy.cc
===================================================================
--- code/trunk/src/modules/jump/JumpEnemy.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpEnemy.cc	(revision 11071)
@@ -35,12 +35,6 @@
 
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
-
+#include "core/XMLPort.h"
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -57,5 +51,5 @@
 
         dead_ = false;
-        figure_ = 0;
+        figure_ = nullptr;
         width_ = 0.0;
         height_ = 0.0;
@@ -125,5 +119,5 @@
         Vector3 enemyPosition = getPosition();
 
-        if (figure_ != NULL)
+        if (figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getPosition();
Index: code/trunk/src/modules/jump/JumpEnemy.h
===================================================================
--- code/trunk/src/modules/jump/JumpEnemy.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpEnemy.h	(revision 11071)
@@ -37,9 +37,5 @@
 
 #include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
 #include "worldentities/MovableEntity.h"
-
 
 namespace orxonox
@@ -50,6 +46,6 @@
             JumpEnemy(Context* context);
             virtual ~JumpEnemy();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             void setFieldDimension(float width, float height)
                 { this->fieldWidth_ = width; this->fieldHeight_ = height; }
Index: code/trunk/src/modules/jump/JumpFigure.cc
===================================================================
--- code/trunk/src/modules/jump/JumpFigure.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpFigure.cc	(revision 11071)
@@ -36,4 +36,9 @@
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
+#include "graphics/Model.h"
+#include "JumpRocket.h"
+#include "JumpPropeller.h"
+#include "JumpBoots.h"
+#include "JumpShield.h"
 
 namespace orxonox
@@ -46,6 +51,6 @@
 
         // initialize variables
-        leftHand_ = NULL;
-        rightHand_ = NULL;
+        leftHand_ = nullptr;
+        rightHand_ = nullptr;
         fieldHeight_ = 0;
         fieldWidth_ = 0;
@@ -70,8 +75,8 @@
         animateHands_ = false;
         turnUp_ = false;
-        rocketActive_ = NULL;
-        propellerActive_ = NULL;
-        bootsActive_ = NULL;
-        shieldActive_ = NULL;
+        rocketActive_ = nullptr;
+        propellerActive_ = nullptr;
+        bootsActive_ = nullptr;
+        shieldActive_ = nullptr;
         rocketSpeed_ = 0.0;
         propellerSpeed_ = 0.0;
@@ -106,9 +111,9 @@
             // Move up/down
             Vector3 velocity = getVelocity();
-            if (rocketActive_ != NULL)
+            if (rocketActive_ != nullptr)
             {
                 velocity.z = rocketSpeed_;
             }
-            else if (propellerActive_ != NULL)
+            else if (propellerActive_ != nullptr)
             {
                 velocity.z = propellerSpeed_;
@@ -139,9 +144,9 @@
                 }
 
-                if (leftHand_ != NULL)
+                if (leftHand_ != nullptr)
                 {
                     leftHand_->setOrientation(Vector3(0.0, 1.0, 0.0), Degree(-handAngle_));
                 }
-                if (rightHand_ != NULL)
+                if (rightHand_ != nullptr)
                 {
                     rightHand_->setOrientation(Vector3(0.0, 1.0, 0.0), Degree(handAngle_));
@@ -207,5 +212,5 @@
         {
             Vector3 velocity = getVelocity();
-            if (bootsActive_ == NULL)
+            if (bootsActive_ == nullptr)
             {
                 velocity.z = 1.2f*jumpSpeed_;
@@ -234,5 +239,5 @@
     void JumpFigure::CollisionWithEnemy(JumpEnemy* enemy)
     {
-        if (rocketActive_ == NULL && propellerActive_ == NULL && shieldActive_ == NULL)
+        if (rocketActive_ == nullptr && propellerActive_ == nullptr && shieldActive_ == nullptr)
         {
             dead_ = true;
@@ -242,5 +247,5 @@
     bool JumpFigure::StartRocket(JumpRocket* rocket)
     {
-        if (rocketActive_ == NULL && propellerActive_ == NULL && bootsActive_ == NULL)
+        if (rocketActive_ == nullptr && propellerActive_ == nullptr && bootsActive_ == nullptr)
         {
             attach(rocket);
@@ -261,10 +266,10 @@
         detach(rocket);
         rocket->destroy();
-        rocketActive_ = NULL;
+        rocketActive_ = nullptr;
     }
 
     bool JumpFigure::StartPropeller(JumpPropeller* propeller)
     {
-        if (rocketActive_ == NULL && propellerActive_ == NULL && bootsActive_ == NULL)
+        if (rocketActive_ == nullptr && propellerActive_ == nullptr && bootsActive_ == nullptr)
         {
             attach(propeller);
@@ -285,10 +290,10 @@
         detach(propeller);
         propeller->destroy();
-        propellerActive_ = NULL;
+        propellerActive_ = nullptr;
     }
 
     bool JumpFigure::StartBoots(JumpBoots* boots)
     {
-        if (rocketActive_ == NULL && propellerActive_ == NULL && bootsActive_ == NULL)
+        if (rocketActive_ == nullptr && propellerActive_ == nullptr && bootsActive_ == nullptr)
         {
             attach(boots);
@@ -309,10 +314,10 @@
         detach(boots);
         boots->destroy();
-        bootsActive_ = NULL;
+        bootsActive_ = nullptr;
     }
 
     bool JumpFigure::StartShield(JumpShield* shield)
     {
-        if (shieldActive_ == false)
+        if (shieldActive_ == nullptr)
         {
             attach(shield);
@@ -333,5 +338,5 @@
         detach(shield);
         shield->destroy();
-        shieldActive_ = NULL;
+        shieldActive_ = nullptr;
     }
 
Index: code/trunk/src/modules/jump/JumpFigure.h
===================================================================
--- code/trunk/src/modules/jump/JumpFigure.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpFigure.h	(revision 11071)
@@ -40,13 +40,13 @@
             JumpFigure(Context* context); //!< Constructor. Registers and initializes the object.
             virtual ~JumpFigure() {}
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void tick(float dt);
-            virtual void moveFrontBack(const Vector2& value); //!< Overloaded the function to steer the bat up and down.
-            virtual void moveRightLeft(const Vector2& value); //!< Overloaded the function to steer the bat up and down.
-            virtual void rotateYaw(const Vector2& value);
-            virtual void rotatePitch(const Vector2& value);
-            virtual void rotateRoll(const Vector2& value);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void tick(float dt) override;
+            virtual void moveFrontBack(const Vector2& value) override; //!< Overloaded the function to steer the bat up and down.
+            virtual void moveRightLeft(const Vector2& value) override; //!< Overloaded the function to steer the bat up and down.
+            virtual void rotateYaw(const Vector2& value) override;
+            virtual void rotatePitch(const Vector2& value) override;
+            virtual void rotateRoll(const Vector2& value) override;
             void fire(unsigned int firemode);
-            virtual void fired(unsigned int firemode);
+            virtual void fired(unsigned int firemode) override;
             virtual void JumpFromPlatform(JumpPlatform* platform);
             virtual void JumpFromSpring(JumpSpring* spring);
Index: code/trunk/src/modules/jump/JumpItem.cc
===================================================================
--- code/trunk/src/modules/jump/JumpItem.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpItem.cc	(revision 11071)
@@ -35,12 +35,6 @@
 
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
-
+#include "core/XMLPort.h"
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -54,5 +48,5 @@
         attachedToFigure_ = false;
 
-        figure_ = 0;
+        figure_ = nullptr;
         height_ = 0.0;
         width_ = 0.0;
Index: code/trunk/src/modules/jump/JumpItem.h
===================================================================
--- code/trunk/src/modules/jump/JumpItem.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpItem.h	(revision 11071)
@@ -37,7 +37,4 @@
 
 #include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
 #include "worldentities/MovableEntity.h"
 
@@ -50,6 +47,6 @@
             JumpItem(Context* context);
             virtual ~JumpItem();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             virtual void setProperties(float newLeftBoundary, float newRightBoundary, float newLowerBoundary, float newUpperBoundary, float newHSpeed, float newVSpeed);
             virtual void setFigure(JumpFigure* newFigure);
Index: code/trunk/src/modules/jump/JumpPlatform.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatform.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatform.cc	(revision 11071)
@@ -36,11 +36,7 @@
 #include "core/CoreIncludes.h"
 #include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
-
+#include "core/XMLPort.h"
+#include "sound/WorldSound.h"
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -52,5 +48,5 @@
         RegisterObject(JumpPlatform);
 
-        figure_ = 0;
+        figure_ = nullptr;
 
         setPosition(Vector3(0,0,0));
@@ -90,5 +86,5 @@
         Vector3 platformPosition = this->getPosition();
 
-        if (figure_ != NULL)
+        if (figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getPosition();
Index: code/trunk/src/modules/jump/JumpPlatform.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatform.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatform.h	(revision 11071)
@@ -36,6 +36,5 @@
 #define _JumpPlatform_H__
 
-#include "jump/JumpPrereqs.h"
-#include "util/Math.h"
+#include "JumpPrereqs.h"
 #include "worldentities/MovableEntity.h"
 
@@ -47,6 +46,6 @@
             JumpPlatform(Context* context);
             virtual ~JumpPlatform();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             void setFigure(JumpFigure* newFigure);
             virtual void touchFigure();
Index: code/trunk/src/modules/jump/JumpPlatformDisappear.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformDisappear.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformDisappear.cc	(revision 11071)
@@ -35,12 +35,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-
-#include "gametypes/Gametype.h"
-
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -58,14 +51,4 @@
     {
 
-    }
-
-    void JumpPlatformDisappear::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpPlatformDisappear, XMLPort, xmlelement, mode);
-    }
-
-    void JumpPlatformDisappear::tick(float dt)
-    {
-        SUPER(JumpPlatformDisappear, tick, dt);
     }
 
Index: code/trunk/src/modules/jump/JumpPlatformDisappear.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformDisappear.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformDisappear.h	(revision 11071)
@@ -36,7 +36,6 @@
 #define _JumpPlatformDisappear_H__
 
-#include "jump/JumpPrereqs.h"
-#include "util/Math.h"
-#include "worldentities/MovableEntity.h"
+#include "JumpPrereqs.h"
+#include "JumpPlatform.h"
 
 namespace orxonox
@@ -47,9 +46,7 @@
             JumpPlatformDisappear(Context* context);
             virtual ~JumpPlatformDisappear();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             virtual void setProperties(bool active);
             virtual bool isActive();
-            virtual void touchFigure();
+            virtual void touchFigure() override;
 
         protected:
Index: code/trunk/src/modules/jump/JumpPlatformFake.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformFake.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformFake.cc	(revision 11071)
@@ -33,10 +33,6 @@
 
 #include "JumpPlatformFake.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "gametypes/Gametype.h"
-#include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -53,14 +49,3 @@
 
     }
-
-    void JumpPlatformFake::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpPlatformFake, XMLPort, xmlelement, mode);
-    }
-
-    void JumpPlatformFake::tick(float dt)
-    {
-        SUPER(JumpPlatformFake, tick, dt);
-    }
-
 }
Index: code/trunk/src/modules/jump/JumpPlatformFake.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformFake.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformFake.h	(revision 11071)
@@ -36,10 +36,6 @@
 #define _JumpPlatformFake_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpPlatform.h"
 
 namespace orxonox
@@ -50,6 +46,4 @@
             JumpPlatformFake(Context* context);
             virtual ~JumpPlatformFake();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
     };
 }
Index: code/trunk/src/modules/jump/JumpPlatformHMove.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformHMove.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformHMove.cc	(revision 11071)
@@ -33,10 +33,7 @@
 
 #include "JumpPlatformHMove.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "gametypes/Gametype.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -54,9 +51,4 @@
     {
 
-    }
-
-    void JumpPlatformHMove::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpPlatformHMove, XMLPort, xmlelement, mode);
     }
 
Index: code/trunk/src/modules/jump/JumpPlatformHMove.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformHMove.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformHMove.h	(revision 11071)
@@ -30,10 +30,6 @@
 #define _JumpPlatformHMove_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpPlatform.h"
 
 namespace orxonox
@@ -45,8 +41,7 @@
             JumpPlatformHMove(Context* context);
             virtual ~JumpPlatformHMove();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
             virtual void setProperties(float leftBoundary, float rightBoundary, float speed);
-            virtual void touchFigure();
+            virtual void touchFigure() override;
 
         protected:
Index: code/trunk/src/modules/jump/JumpPlatformStatic.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformStatic.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformStatic.cc	(revision 11071)
@@ -33,10 +33,7 @@
 
 #include "JumpPlatformStatic.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "gametypes/Gametype.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -55,15 +52,4 @@
     }
 
-    //xml port for loading sounds
-    void JumpPlatformStatic::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpPlatformStatic, XMLPort, xmlelement, mode);
-    }
-
-    void JumpPlatformStatic::tick(float dt)
-    {
-        SUPER(JumpPlatformStatic, tick, dt);
-    }
-
     void JumpPlatformStatic::touchFigure()
     {
Index: code/trunk/src/modules/jump/JumpPlatformStatic.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformStatic.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformStatic.h	(revision 11071)
@@ -30,10 +30,6 @@
 #define _JumpPlatformStatic_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpPlatform.h"
 
 namespace orxonox
@@ -45,8 +41,5 @@
             virtual ~JumpPlatformStatic();
 
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-
-            virtual void touchFigure();
+            virtual void touchFigure() override;
     };
 }
Index: code/trunk/src/modules/jump/JumpPlatformTimer.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformTimer.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformTimer.cc	(revision 11071)
@@ -33,10 +33,9 @@
 
 #include "JumpPlatformTimer.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "gametypes/Gametype.h"
+#include "core/XMLPort.h"
+#include "graphics/ParticleSpawner.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -48,5 +47,5 @@
         RegisterObject(JumpPlatformTimer);
 
-        particleSpawner_ = NULL;
+        particleSpawner_ = nullptr;
 
         setProperties(3.0);
@@ -72,5 +71,5 @@
 
         time_ -= dt;
-        if (time_ < effectStartTime_ && particleSpawner_ == NULL)
+        if (time_ < effectStartTime_ && particleSpawner_ == nullptr)
         {
 
Index: code/trunk/src/modules/jump/JumpPlatformTimer.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformTimer.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformTimer.h	(revision 11071)
@@ -36,11 +36,6 @@
 #define _JumpPlatformTimer_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-#include "graphics/ParticleSpawner.h"
-
+#include "JumpPrereqs.h"
+#include "JumpPlatform.h"
 
 namespace orxonox
@@ -51,9 +46,9 @@
             JumpPlatformTimer(Context* context);
             virtual ~JumpPlatformTimer();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
             virtual void setProperties(float time);
             virtual bool isActive(void);
-            virtual void touchFigure();
+            virtual void touchFigure() override;
 
             void setEffectPath(const std::string& effectPath)
Index: code/trunk/src/modules/jump/JumpPlatformVMove.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformVMove.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformVMove.cc	(revision 11071)
@@ -33,10 +33,7 @@
 
 #include "JumpPlatformVMove.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "gametypes/Gametype.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -54,9 +51,4 @@
     {
 
-    }
-
-    void JumpPlatformVMove::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpPlatformVMove, XMLPort, xmlelement, mode);
     }
 
Index: code/trunk/src/modules/jump/JumpPlatformVMove.h
===================================================================
--- code/trunk/src/modules/jump/JumpPlatformVMove.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPlatformVMove.h	(revision 11071)
@@ -30,7 +30,6 @@
 #define _JumpPlatformVMove_H__
 
-#include "jump/JumpPrereqs.h"
-#include "util/Math.h"
-#include "worldentities/MovableEntity.h"
+#include "JumpPrereqs.h"
+#include "JumpPlatform.h"
 
 namespace orxonox
@@ -41,8 +40,7 @@
             JumpPlatformVMove(Context* context);
             virtual ~JumpPlatformVMove();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
             virtual void setProperties(float leftBoundary, float rightBoundary, float speed);
-            virtual void touchFigure();
+            virtual void touchFigure() override;
 
         protected:
Index: code/trunk/src/modules/jump/JumpProjectile.cc
===================================================================
--- code/trunk/src/modules/jump/JumpProjectile.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpProjectile.cc	(revision 11071)
@@ -33,11 +33,8 @@
 
 #include "JumpProjectile.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
+#include "JumpEnemy.h"
 
 namespace orxonox
@@ -49,5 +46,5 @@
         RegisterObject(JumpProjectile);
 
-        figure_ = 0;
+        figure_ = nullptr;
         setPosition(Vector3(0,0,0));
         setVelocity(Vector3(0,0,250.0));
@@ -60,9 +57,4 @@
     }
 
-    void JumpProjectile::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpProjectile, XMLPort, xmlelement, mode);
-    }
-
     void JumpProjectile::tick(float dt)
     {
@@ -71,13 +63,13 @@
         Vector3 projectilePosition = getPosition();
 
-        for (ObjectList<JumpEnemy>::iterator it = ObjectList<JumpEnemy>::begin(); it != ObjectList<JumpEnemy>::end(); ++it)
+        for (JumpEnemy* enemy : ObjectList<JumpEnemy>())
         {
-            Vector3 enemyPosition = it->getPosition();
-            float enemyWidth = it->getWidth();
-            float enemyHeight = it->getHeight();
+            Vector3 enemyPosition = enemy->getPosition();
+            float enemyWidth = enemy->getWidth();
+            float enemyHeight = enemy->getHeight();
 
             if(projectilePosition.x > enemyPosition.x-enemyWidth && projectilePosition.x < enemyPosition.x+enemyWidth && projectilePosition.z > enemyPosition.z-enemyHeight && projectilePosition.z < enemyPosition.z+enemyHeight)
             {
-                it->dead_ = true;
+                enemy->dead_ = true;
             }
         }
Index: code/trunk/src/modules/jump/JumpProjectile.h
===================================================================
--- code/trunk/src/modules/jump/JumpProjectile.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpProjectile.h	(revision 11071)
@@ -43,7 +43,5 @@
             virtual ~JumpProjectile();
 
-            virtual void tick(float dt);
-
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
 
             void setFieldDimension(float width, float height)
Index: code/trunk/src/modules/jump/JumpPropeller.cc
===================================================================
--- code/trunk/src/modules/jump/JumpPropeller.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPropeller.cc	(revision 11071)
@@ -35,12 +35,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
-
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -67,9 +60,4 @@
     }
 
-    void JumpPropeller::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpPropeller, XMLPort, xmlelement, mode);
-    }
-
     void JumpPropeller::tick(float dt)
     {
@@ -78,5 +66,5 @@
         Vector3 PropellerPosition = getWorldPosition();
 
-        if (attachedToFigure_ == false && figure_ != NULL)
+        if (attachedToFigure_ == false && figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getWorldPosition();
Index: code/trunk/src/modules/jump/JumpPropeller.h
===================================================================
--- code/trunk/src/modules/jump/JumpPropeller.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpPropeller.h	(revision 11071)
@@ -30,10 +30,6 @@
 #define _JumpPropeller_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpItem.h"
 
 namespace orxonox
@@ -44,7 +40,6 @@
             JumpPropeller(Context* context);
             virtual ~JumpPropeller();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void touchFigure();
+            virtual void tick(float dt) override;
+            virtual void touchFigure() override;
             virtual float getFuelState();
         protected:
Index: code/trunk/src/modules/jump/JumpRocket.cc
===================================================================
--- code/trunk/src/modules/jump/JumpRocket.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpRocket.cc	(revision 11071)
@@ -33,11 +33,7 @@
 
 #include "JumpRocket.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -64,9 +60,4 @@
     }
 
-    void JumpRocket::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpRocket, XMLPort, xmlelement, mode);
-    }
-
     void JumpRocket::tick(float dt)
     {
@@ -75,5 +66,5 @@
         Vector3 rocketPosition = getWorldPosition();
 
-        if (attachedToFigure_ == false && figure_ != NULL)
+        if (attachedToFigure_ == false && figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getWorldPosition();
Index: code/trunk/src/modules/jump/JumpRocket.h
===================================================================
--- code/trunk/src/modules/jump/JumpRocket.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpRocket.h	(revision 11071)
@@ -30,7 +30,6 @@
 #define _JumpRocket_H__
 
-#include "jump/JumpPrereqs.h"
-#include "util/Math.h"
-#include "worldentities/MovableEntity.h"
+#include "JumpPrereqs.h"
+#include "JumpItem.h"
 
 namespace orxonox
@@ -41,7 +40,6 @@
             JumpRocket(Context* context);
             virtual ~JumpRocket();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void touchFigure();
+            virtual void tick(float dt) override;
+            virtual void touchFigure() override;
             virtual float getFuelState();
         protected:
Index: code/trunk/src/modules/jump/JumpScore.cc
===================================================================
--- code/trunk/src/modules/jump/JumpScore.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpScore.cc	(revision 11071)
@@ -33,4 +33,5 @@
 
 #include "JumpScore.h"
+
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -38,5 +39,4 @@
 #include "infos/PlayerInfo.h"
 #include "Jump.h"
-#include "sound/WorldSound.h"
 
 namespace orxonox
@@ -48,5 +48,5 @@
         RegisterObject(JumpScore);
 
-        owner_ = NULL;
+        owner_ = nullptr;
         showScore_ = false;
         showFuel_ = false;
@@ -73,5 +73,5 @@
         SUPER(JumpScore, tick, dt);
 
-        if (owner_ != NULL)
+        if (owner_ != nullptr)
         {
             if (!owner_->hasEnded())
@@ -79,5 +79,5 @@
                 player_ = owner_->getPlayer();
 
-                if (player_ != NULL)
+                if (player_ != nullptr)
                 {
                     if (showScore_ == true)
@@ -116,5 +116,5 @@
         SUPER(JumpScore, changedOwner);
 
-        if (this->getOwner() != NULL && this->getOwner()->getGametype())
+        if (this->getOwner() != nullptr && this->getOwner()->getGametype())
         {
             this->owner_ = orxonox_cast<Jump*>(this->getOwner()->getGametype());
@@ -122,5 +122,5 @@
         else
         {
-            this->owner_ = NULL;
+            this->owner_ = nullptr;
         }
     }
Index: code/trunk/src/modules/jump/JumpScore.h
===================================================================
--- code/trunk/src/modules/jump/JumpScore.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpScore.h	(revision 11071)
@@ -44,7 +44,7 @@
             virtual ~JumpScore();
 
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void changedOwner();
+            virtual void tick(float dt) override;
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void changedOwner() override;
 
             void setShowScore(const bool showScore)
Index: code/trunk/src/modules/jump/JumpShield.cc
===================================================================
--- code/trunk/src/modules/jump/JumpShield.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpShield.cc	(revision 11071)
@@ -35,12 +35,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
-
 #include "JumpFigure.h"
-
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -67,9 +60,4 @@
     }
 
-    void JumpShield::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpShield, XMLPort, xmlelement, mode);
-    }
-
     void JumpShield::tick(float dt)
     {
@@ -78,5 +66,5 @@
         Vector3 shieldPosition = getWorldPosition();
 
-        if (attachedToFigure_ == false && figure_ != NULL)
+        if (attachedToFigure_ == false && figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getWorldPosition();
Index: code/trunk/src/modules/jump/JumpShield.h
===================================================================
--- code/trunk/src/modules/jump/JumpShield.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpShield.h	(revision 11071)
@@ -30,10 +30,6 @@
 #define _JumpShield_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpItem.h"
 
 namespace orxonox
@@ -44,7 +40,6 @@
             JumpShield(Context* context);
             virtual ~JumpShield();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void touchFigure();
+            virtual void tick(float dt) override;
+            virtual void touchFigure() override;
             virtual float getFuelState();
         protected:
Index: code/trunk/src/modules/jump/JumpSpring.cc
===================================================================
--- code/trunk/src/modules/jump/JumpSpring.cc	(revision 10632)
+++ code/trunk/src/modules/jump/JumpSpring.cc	(revision 11071)
@@ -33,11 +33,7 @@
 
 #include "JumpSpring.h"
+
 #include "core/CoreIncludes.h"
-#include "core/GameMode.h"
-#include "graphics/Model.h"
-#include "gametypes/Gametype.h"
 #include "JumpFigure.h"
-#include "sound/WorldSound.h"
-#include "core/XMLPort.h"
 
 namespace orxonox
@@ -63,9 +59,4 @@
     }
 
-    void JumpSpring::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(JumpSpring, XMLPort, xmlelement, mode);
-    }
-
     void JumpSpring::tick(float dt)
     {
@@ -80,5 +71,5 @@
         Vector3 springPosition = getWorldPosition();
 
-        if (figure_ != NULL)
+        if (figure_ != nullptr)
         {
             Vector3 figurePosition = figure_->getWorldPosition();
@@ -103,5 +94,5 @@
     void JumpSpring::accelerateFigure()
     {
-        if (figure_ != 0)
+        if (figure_ != nullptr)
         {
             figure_->JumpFromSpring(this);
Index: code/trunk/src/modules/jump/JumpSpring.h
===================================================================
--- code/trunk/src/modules/jump/JumpSpring.h	(revision 10632)
+++ code/trunk/src/modules/jump/JumpSpring.h	(revision 11071)
@@ -30,10 +30,6 @@
 #define _JumpSpring_H__
 
-#include "jump/JumpPrereqs.h"
-
-#include "util/Math.h"
-
-#include "worldentities/MovableEntity.h"
-
+#include "JumpPrereqs.h"
+#include "JumpItem.h"
 
 namespace orxonox
@@ -44,8 +40,7 @@
             JumpSpring(Context* context);
             virtual ~JumpSpring();
-            virtual void tick(float dt);
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void tick(float dt) override;
             virtual void accelerateFigure();
-            virtual void touchFigure();
+            virtual void touchFigure() override;
         protected:
             float stretch_;
