Index: code/trunk/src/modules/overlays/hud/AnnounceMessage.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/AnnounceMessage.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/AnnounceMessage.cc	(revision 11071)
@@ -40,5 +40,5 @@
         RegisterObject(AnnounceMessage);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
 
         this->setDelay(3.0f);
Index: code/trunk/src/modules/overlays/hud/AnnounceMessage.h
===================================================================
--- code/trunk/src/modules/overlays/hud/AnnounceMessage.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/AnnounceMessage.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~AnnounceMessage() {}
 
-            virtual void changedOwner();
+            virtual void changedOwner() override;
 
-            void announcemessage(const GametypeInfo* gtinfo, const std::string& message);
+            virtual void announcemessage(const GametypeInfo* gtinfo, const std::string& message) override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/ChatOverlay.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/ChatOverlay.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/ChatOverlay.cc	(revision 11071)
@@ -58,6 +58,6 @@
     ChatOverlay::~ChatOverlay()
     {
-        for (std::set<Timer*>::iterator it = this->timers_.begin(); it != this->timers_.end(); ++it)
-            delete (*it);
+        for (Timer* timer : this->timers_)
+            delete timer;
     }
 
@@ -92,7 +92,7 @@
         this->text_->setCaption("");
 
-        for (std::list<Ogre::DisplayString>::iterator it = this->messages_.begin(); it != this->messages_.end(); ++it)
+        for (const Ogre::DisplayString& message : this->messages_)
         {
-            this->text_->setCaption(this->text_->getCaption() + "\n" + (*it));
+            this->text_->setCaption(this->text_->getCaption() + "\n" + message);
         }
     }
Index: code/trunk/src/modules/overlays/hud/ChatOverlay.h
===================================================================
--- code/trunk/src/modules/overlays/hud/ChatOverlay.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/ChatOverlay.h	(revision 11071)
@@ -49,5 +49,5 @@
 
         protected:
-            virtual void incomingChat(const std::string& message, const std::string& name);
+            virtual void incomingChat(const std::string& message, const std::string& name) override;
 
             std::list<Ogre::DisplayString> messages_;
Index: code/trunk/src/modules/overlays/hud/CountDown.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/CountDown.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/CountDown.cc	(revision 11071)
@@ -71,5 +71,5 @@
         RegisterObject(CountDown);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
         this->hasStopped_ = false;
     }
Index: code/trunk/src/modules/overlays/hud/CountDown.h
===================================================================
--- code/trunk/src/modules/overlays/hud/CountDown.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/CountDown.h	(revision 11071)
@@ -44,7 +44,7 @@
             virtual ~CountDown();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void changedOwner();
-            virtual void tick(float dt);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void changedOwner() override;
+            virtual void tick(float dt) override;
 
             inline void setCounter(float value)
Index: code/trunk/src/modules/overlays/hud/DeathMessage.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/DeathMessage.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/DeathMessage.cc	(revision 11071)
@@ -40,5 +40,5 @@
         RegisterObject(DeathMessage);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
 
         this->setDelay(2.0f);
Index: code/trunk/src/modules/overlays/hud/DeathMessage.h
===================================================================
--- code/trunk/src/modules/overlays/hud/DeathMessage.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/DeathMessage.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~DeathMessage() {}
 
-            virtual void changedOwner();
+            virtual void changedOwner() override;
 
-            void deathmessage(const GametypeInfo* gtinfo, const std::string& message);
+            virtual void deathmessage(const GametypeInfo* gtinfo, const std::string& message) override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/GametypeFadingMessage.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/GametypeFadingMessage.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/GametypeFadingMessage.cc	(revision 11071)
@@ -40,5 +40,5 @@
         RegisterObject(GametypeFadingMessage);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
         this->setDelay(2.0f);
         this->setFadeouttime(0.5f);
Index: code/trunk/src/modules/overlays/hud/GametypeFadingMessage.h
===================================================================
--- code/trunk/src/modules/overlays/hud/GametypeFadingMessage.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/GametypeFadingMessage.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~GametypeFadingMessage();
 
-            virtual void changedOwner();
+            virtual void changedOwner() override;
 
-            void fadingmessage(const GametypeInfo* gtinfo, const std::string& message);
+            virtual void fadingmessage(const GametypeInfo* gtinfo, const std::string& message) override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/GametypeStaticMessage.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/GametypeStaticMessage.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/GametypeStaticMessage.cc	(revision 11071)
@@ -42,5 +42,5 @@
     {
         RegisterObject(GametypeStaticMessage);
-        this->owner_ = 0;
+        this->owner_ = nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/GametypeStaticMessage.h
===================================================================
--- code/trunk/src/modules/overlays/hud/GametypeStaticMessage.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/GametypeStaticMessage.h	(revision 11071)
@@ -46,7 +46,7 @@
             virtual ~GametypeStaticMessage();
 
-            virtual void changedOwner();
+            virtual void changedOwner() override;
 
-            void staticmessage(const GametypeInfo* gtinfo, const std::string& message, const ColourValue& colour);
+            virtual void staticmessage(const GametypeInfo* gtinfo, const std::string& message, const ColourValue& colour) override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/HUDBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDBar.cc	(revision 11071)
@@ -219,5 +219,5 @@
             return barColours_[index];
         else
-            return 0;
+            return nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDBar.h	(revision 11071)
@@ -52,5 +52,5 @@
         virtual ~BarColour() { }
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);     
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
         void setColour(const ColourValue& colour) { this->colour_ = colour; }
@@ -72,5 +72,5 @@
         virtual ~HUDBar();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
         void clearColours();
Index: code/trunk/src/modules/overlays/hud/HUDBoostBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDBoostBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDBoostBar.cc	(revision 11071)
@@ -42,5 +42,5 @@
         RegisterObject(HUDBoostBar);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
         this->flashInterval_ = 0.25f;
         this->flashDt_ = 0.0f;
Index: code/trunk/src/modules/overlays/hud/HUDBoostBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDBoostBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDBoostBar.h	(revision 11071)
@@ -43,6 +43,6 @@
         virtual ~HUDBoostBar();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
     private:
Index: code/trunk/src/modules/overlays/hud/HUDEnemyHealthBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDEnemyHealthBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDEnemyHealthBar.cc	(revision 11071)
@@ -30,4 +30,5 @@
 
 #include "core/config/ConfigValueIncludes.h"
+#include "core/CoreIncludes.h"
 #include "worldentities/pawns/Pawn.h"
 
@@ -41,5 +42,5 @@
 
         this->setConfigValues();
-        this->owner_ = 0;
+        this->owner_ = nullptr;
     }
 
@@ -62,5 +63,5 @@
     void HUDEnemyHealthBar::updateTarget()
     {
-        Pawn* pawn = NULL;
+        Pawn* pawn = nullptr;
         if (this->owner_ && this->useEnemyBar_)
         {
@@ -73,9 +74,9 @@
             // Don't show the HealthBar if the pawn is invisible
             if (pawn && !pawn->isVisible())
-                pawn = NULL;
+                pawn = nullptr;
         }
         // Set the pawn as owner of the HealthBar
         this->setHealthBarOwner(pawn);
-        this->setVisible(pawn != NULL);
+        this->setVisible(pawn != nullptr);
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDEnemyHealthBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDEnemyHealthBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDEnemyHealthBar.h	(revision 11071)
@@ -41,7 +41,7 @@
 
             void setConfigValues();
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            void changedOwner();
+            virtual void changedOwner() override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/HUDEnemyShieldBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDEnemyShieldBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDEnemyShieldBar.cc	(revision 11071)
@@ -41,5 +41,5 @@
 
         this->setConfigValues();
-        this->owner_ = NULL;
+        this->owner_ = nullptr;
     }
 
@@ -62,5 +62,5 @@
     void HUDEnemyShieldBar::updateTarget()
     {
-        Pawn* pawn = NULL;
+        Pawn* pawn = nullptr;
         if (this->owner_ && this->useEnemyBar_)
         {
@@ -73,9 +73,9 @@
             // Don't show the EnemyShieldBar if the pawn is invisible
             if (pawn && !pawn->isVisible())
-                pawn = NULL;
+                pawn = nullptr;
         }
         // Set the pawn as owner of the EnemyShieldBar
         this->setShieldBarOwner(pawn);
-        this->setVisible(pawn != NULL);
+        this->setVisible(pawn != nullptr);
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDEnemyShieldBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDEnemyShieldBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDEnemyShieldBar.h	(revision 11071)
@@ -45,7 +45,7 @@
 
             void setConfigValues();
-            virtual void tick(float dt);
+            virtual void tick(float dt) override;
 
-            void changedOwner();
+            virtual void changedOwner() override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/HUDHealthBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDHealthBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDHealthBar.cc	(revision 11071)
@@ -43,5 +43,5 @@
         RegisterObject(HUDHealthBar);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
         this->bUseBarColour_ = false;
         this->textOffset_ = Vector2(0.0f, 0.0f);
@@ -66,5 +66,5 @@
         {
             this->textoverlay_->destroy();
-            this->textoverlay_ = NULL;
+            this->textoverlay_ = nullptr;
         }
     }
Index: code/trunk/src/modules/overlays/hud/HUDHealthBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDHealthBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDHealthBar.h	(revision 11071)
@@ -45,10 +45,10 @@
             virtual ~HUDHealthBar();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void tick(float dt);
-            virtual void changedOwner();
-            virtual void changedOverlayGroup();
-            virtual void changedVisibility();
-            virtual void changedName();
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void tick(float dt) override;
+            virtual void changedOwner() override;
+            virtual void changedOverlayGroup() override;
+            virtual void changedVisibility() override;
+            virtual void changedName() override;
 
             inline void setTextFont(const std::string& font)
@@ -112,8 +112,8 @@
                 { this->owner_ = owner; }
         protected:
-            virtual void positionChanged();
-            virtual void sizeChanged();
+            virtual void positionChanged() override;
+            virtual void sizeChanged() override;
         private:
-            virtual void positionText();
+            void positionText();
             WeakPtr<Pawn> owner_;
             StrongPtr<OverlayText> textoverlay_;
Index: code/trunk/src/modules/overlays/hud/HUDNavigation.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDNavigation.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDNavigation.cc	(revision 11071)
@@ -53,5 +53,4 @@
 #include "core/config/ConfigValueIncludes.h"
 #include "tools/TextureGenerator.h"
-// #include <boost/bind/bind_template.hpp>
 
 
@@ -69,5 +68,5 @@
     RegisterClass ( HUDNavigation );
 
-    HUDNavigation* HUDNavigation::localHUD_s = 0;
+    HUDNavigation* HUDNavigation::localHUD_s = nullptr;
 
     HUDNavigation::HUDNavigation(Context* context) :
@@ -132,8 +131,8 @@
         }
         this->fontName_ = font;
-        for (std::map<RadarViewable*, ObjectInfo>::iterator it = this->activeObjectList_.begin(); it != this->activeObjectList_.end(); ++it)
-        {
-            if (it->second.text_ != NULL)
-                it->second.text_->setFontName(this->fontName_);
+        for (const auto& mapEntry : this->activeObjectList_)
+        {
+            if (mapEntry.second.text_ != nullptr)
+                mapEntry.second.text_->setFontName(this->fontName_);
         }
     }
@@ -152,8 +151,8 @@
         }
         this->textSize_ = size;
-        for (std::map<RadarViewable*, ObjectInfo>::iterator it = this->activeObjectList_.begin(); it!=this->activeObjectList_.end(); ++it)
-        {
-            if (it->second.text_)
-                it->second.text_->setCharHeight(size);
+        for (const auto& mapEntry : this->activeObjectList_)
+        {
+            if (mapEntry.second.text_)
+                mapEntry.second.text_->setCharHeight(size);
         }
     }
@@ -183,10 +182,10 @@
 
         Camera* cam = CameraManager::getInstance().getActiveCamera();
-        if (cam == NULL)
+        if (cam == nullptr)
         return;
         const Matrix4& camTransform = cam->getOgreCamera()->getProjectionMatrix() * cam->getOgreCamera()->getViewMatrix();
 
-        for (std::list<std::pair<RadarViewable*, unsigned int> >::iterator listIt = this->sortedObjectList_.begin(); listIt != this->sortedObjectList_.end(); ++listIt)
-        listIt->second = (int)((listIt->first->getRVWorldPosition() - HumanController::getLocalControllerSingleton()->getControllableEntity()->getWorldPosition()).length() + 0.5f);
+        for (std::pair<RadarViewable*, unsigned int>& pair : this->sortedObjectList_)
+        pair.second = (int)((pair.first->getRVWorldPosition() - HumanController::getLocalControllerSingleton()->getControllableEntity()->getWorldPosition()).length() + 0.5f);
 
         this->sortedObjectList_.sort(compareDistance);
@@ -209,5 +208,5 @@
         bool nextHasToBeSelected = false;
 
-        for (std::list<std::pair<RadarViewable*, unsigned int> >::iterator listIt = this->sortedObjectList_.begin(); listIt != this->sortedObjectList_.end(); ++markerCount, ++listIt)
+        for (std::list<std::pair<RadarViewable*, unsigned int>>::iterator listIt = this->sortedObjectList_.begin(); listIt != this->sortedObjectList_.end(); ++markerCount, ++listIt)
         {
 
@@ -469,7 +468,7 @@
                     if(!it->second.selected_
                             || it->first->getRVVelocity().squaredLength() == 0
-                            || pawn == NULL
+                            || pawn == nullptr
                             /* TODO : improve getTeam in such a way that it works
-                             * || humanPawn == NULL
+                             * || humanPawn == nullptr
                              * || pawn->getTeam() == humanPawn->getTeam()*/)
                     {
@@ -525,16 +524,16 @@
         float yScale = this->getActualSize().y;
 
-        for (std::map<RadarViewable*, ObjectInfo>::iterator it = this->activeObjectList_.begin(); it != this->activeObjectList_.end(); ++it)
-        {
-            if (it->second.health_ != NULL)
-                it->second.health_->setDimensions(this->healthMarkerSize_ * xScale, this->healthMarkerSize_ * yScale);
-            if (it->second.healthLevel_ != NULL)
-                it->second.healthLevel_->setDimensions(this->healthLevelMarkerSize_ * xScale, this->healthLevelMarkerSize_ * yScale);
-            if (it->second.panel_ != NULL)
-                it->second.panel_->setDimensions(this->navMarkerSize_ * xScale, this->navMarkerSize_ * yScale);
-            if (it->second.text_ != NULL)
-                it->second.text_->setCharHeight(this->textSize_ * yScale);
-            if (it->second.target_ != NULL)
-                it->second.target_->setDimensions(this->aimMarkerSize_ * xScale, this->aimMarkerSize_ * yScale);
+        for (const auto& mapEntry : this->activeObjectList_)
+        {
+            if (mapEntry.second.health_ != nullptr)
+                mapEntry.second.health_->setDimensions(this->healthMarkerSize_ * xScale, this->healthMarkerSize_ * yScale);
+            if (mapEntry.second.healthLevel_ != nullptr)
+                mapEntry.second.healthLevel_->setDimensions(this->healthLevelMarkerSize_ * xScale, this->healthLevelMarkerSize_ * yScale);
+            if (mapEntry.second.panel_ != nullptr)
+                mapEntry.second.panel_->setDimensions(this->navMarkerSize_ * xScale, this->navMarkerSize_ * yScale);
+            if (mapEntry.second.text_ != nullptr)
+                mapEntry.second.text_->setCharHeight(this->textSize_ * yScale);
+            if (mapEntry.second.target_ != nullptr)
+                mapEntry.second.target_->setDimensions(this->aimMarkerSize_ * xScale, this->aimMarkerSize_ * yScale);
         }
     }
@@ -546,5 +545,5 @@
 
         if (this->activeObjectList_.size() >= this->markerLimit_)
-        if (object == NULL)
+        if (object == nullptr)
         return;
 
@@ -634,5 +633,5 @@
         }
 
-        for (std::list<std::pair<RadarViewable*, unsigned int> >::iterator listIt = this->sortedObjectList_.begin(); listIt != this->sortedObjectList_.end(); ++listIt)
+        for (std::list<std::pair<RadarViewable*, unsigned int>>::iterator listIt = this->sortedObjectList_.begin(); listIt != this->sortedObjectList_.end(); ++listIt)
         {
             if ((listIt->first) == viewable)
@@ -664,8 +663,8 @@
     {
         const std::set<RadarViewable*>& respawnObjects = this->getOwner()->getScene()->getRadar()->getRadarObjects();
-        for (std::set<RadarViewable*>::const_iterator it = respawnObjects.begin(); it != respawnObjects.end(); ++it)
-        {
-            if (!(*it)->isHumanShip_)
-            this->addObject(*it);
+        for (RadarViewable* respawnObject : respawnObjects)
+        {
+            if (!respawnObject->isHumanShip_)
+            this->addObject(respawnObject);
         }
     }
Index: code/trunk/src/modules/overlays/hud/HUDNavigation.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDNavigation.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDNavigation.h	(revision 11071)
@@ -51,19 +51,19 @@
             void setConfigValues();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            virtual void tick(float dt);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void tick(float dt) override;
 
             // RadarListener interface
-            virtual void addObject(RadarViewable* object);
-            virtual void removeObject(RadarViewable* viewable);
-            virtual void objectChanged(RadarViewable* viewable);
+            virtual void addObject(RadarViewable* object) override;
+            virtual void removeObject(RadarViewable* viewable) override;
+            virtual void objectChanged(RadarViewable* viewable) override;
 
-            virtual void changedOwner();
-            virtual void sizeChanged();
-            virtual void angleChanged() { }
-            virtual void positionChanged() { }
-            virtual void radarTick(float dt) {}
+            virtual void changedOwner() override;
+            virtual void sizeChanged() override;
+            virtual void angleChanged() override { }
+            virtual void positionChanged() override { }
+            virtual void radarTick(float dt) override {}
 
-            inline float getRadarSensitivity() const
+            virtual inline float getRadarSensitivity() const override
                 { return 1.0f; }
 
@@ -141,5 +141,5 @@
 
             std::map<RadarViewable*, ObjectInfo> activeObjectList_;
-            std::list<std::pair<RadarViewable*, unsigned int> > sortedObjectList_;
+            std::list<std::pair<RadarViewable*, unsigned int>> sortedObjectList_;
 
             float healthMarkerSize_;
Index: code/trunk/src/modules/overlays/hud/HUDRadar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDRadar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDRadar.cc	(revision 11071)
@@ -65,8 +65,8 @@
         this->setMaximumDotSize3D(0.07f);
 
-        this->shapeMaterials_[RadarViewable::Dot]      = "RadarDot.png";
-        this->shapeMaterials_[RadarViewable::Triangle] = "RadarTriangle.png";
-        this->shapeMaterials_[RadarViewable::Square]   = "RadarSquare.png";
-        this->owner_ = 0;
+        this->shapeMaterials_[RadarViewable::Shape::Dot]      = "RadarDot.png";
+        this->shapeMaterials_[RadarViewable::Shape::Triangle] = "RadarTriangle.png";
+        this->shapeMaterials_[RadarViewable::Shape::Square]   = "RadarSquare.png";
+        this->owner_ = nullptr;
 
         this->map3DFront_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
@@ -92,8 +92,7 @@
             Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->map3DBack_);
 
-            for (std::map<RadarViewable*,Ogre::PanelOverlayElement*>::iterator it = this->radarObjects_.begin();
-                it != this->radarObjects_.end(); ++it)
-            {
-                Ogre::OverlayManager::getSingleton().destroyOverlayElement(it->second);
+            for (const auto& mapEntry : this->radarObjects_)
+            {
+                Ogre::OverlayManager::getSingleton().destroyOverlayElement(mapEntry.second);
             }
         }
@@ -166,7 +165,6 @@
     {
         const std::set<RadarViewable*>& objectSet = this->getCreator()->getScene()->getRadar()->getRadarObjects();
-        std::set<RadarViewable*>::const_iterator it;
-        for( it=objectSet.begin(); it!=objectSet.end(); ++it )
-            this->addObject(*it);
+        for( RadarViewable* viewable : objectSet )
+            this->addObject(viewable);
         this->radarTick(0);
     }
@@ -184,6 +182,4 @@
 
         // update the distances for all objects
-        std::map<RadarViewable*,Ogre::PanelOverlayElement*>::iterator it;
-
 
         if(RadarMode_)
@@ -202,8 +198,8 @@
         }
 
-        for( it = this->radarObjects_.begin(); it != this->radarObjects_.end(); ++it )
+        for( const auto& mapEntry : this->radarObjects_ )
         {
             // Make sure the object really is a WorldEntity
-            const WorldEntity* wePointer = it->first->getWorldEntity();
+            const WorldEntity* wePointer = mapEntry.first->getWorldEntity();
             if( !wePointer )
             {
@@ -211,5 +207,5 @@
                 assert(0);
             }
-            bool isFocus = (it->first == focusObject);
+            bool isFocus = (mapEntry.first == focusObject);
             // set size to fit distance...
             float distance = (wePointer->getWorldPosition() - this->owner_->getPosition()).length();
@@ -218,8 +214,8 @@
             float size;
             if(RadarMode_)
-                size = maximumDotSize3D_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * it->first->getRadarObjectScale();
+                size = maximumDotSize3D_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * mapEntry.first->getRadarObjectScale();
             else
-                size = maximumDotSize_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * it->first->getRadarObjectScale();
-            it->second->setDimensions(size, size);
+                size = maximumDotSize_ * halfDotSizeDistance_ / (halfDotSizeDistance_ + distance) * mapEntry.first->getRadarObjectScale();
+            mapEntry.second->setDimensions(size, size);
 
             // calc position on radar...
@@ -235,7 +231,7 @@
                 int zOrder = determineMap3DZOrder(this->owner_->getPosition(), this->owner_->getOrientation() * WorldEntity::FRONT, this->owner_->getOrientation() * WorldEntity::UP, wePointer->getWorldPosition(), detectionLimit_);
                 if(overXZPlain == false /*&& (it->second->getZOrder() >  100 * this->overlay_->getZOrder())*/) // it appears that zOrder of attached Overlayelements is 100 times the zOrder of the Overlay
-                    it->second->_notifyZOrder(this->overlay_->getZOrder() * 100 - 70 + zOrder);
+                    mapEntry.second->_notifyZOrder(this->overlay_->getZOrder() * 100 - 70 + zOrder);
                 if(overXZPlain == true /*&& (it->second->getZOrder() <= 100 * this->overlay_->getZOrder())*/)
-                    it->second->_notifyZOrder(this->overlay_->getZOrder() * 100 + 70 + zOrder);
+                    mapEntry.second->_notifyZOrder(this->overlay_->getZOrder() * 100 + 70 + zOrder);
             }
             else
@@ -243,10 +239,10 @@
 
             coord *= math::pi / 3.5f; // small adjustment to make it fit the texture
-            it->second->setPosition((1.0f + coord.x - size) * 0.5f, (1.0f - coord.y - size) * 0.5f);
+            mapEntry.second->setPosition((1.0f + coord.x - size) * 0.5f, (1.0f - coord.y - size) * 0.5f);
 
             if( distance < detectionLimit_ || detectionLimit_ < 0 )
-                it->second->show();
+                mapEntry.second->show();
             else
-                it->second->hide();
+                mapEntry.second->hide();
 
             // if this object is in focus, then set the focus marker
@@ -256,5 +252,5 @@
                 this->marker_->setPosition((1.0f + coord.x - size * 1.5f) * 0.5f, (1.0f - coord.y - size * 1.5f) * 0.5f);
                 if(RadarMode_)
-                    this->marker_->_notifyZOrder(it->second->getZOrder() -1);
+                    this->marker_->_notifyZOrder(mapEntry.second->getZOrder() -1);
                 this->marker_->show();
             }
Index: code/trunk/src/modules/overlays/hud/HUDRadar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDRadar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDRadar.h	(revision 11071)
@@ -50,6 +50,6 @@
         virtual ~HUDRadar();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void changedOwner();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void changedOwner() override;
         void setConfigValues();
 
@@ -80,5 +80,5 @@
         void set3DMaterialBack(std::string material3DBack) { this->material3DBack_ = material3DBack; }
 
-        float getRadarSensitivity() const { return this->sensitivity_; }
+        virtual float getRadarSensitivity() const override { return this->sensitivity_; }
         // used also by RadarListener interface!
         void setRadarSensitivity(float sensitivity) { this->sensitivity_ = sensitivity; }
@@ -89,8 +89,8 @@
 
         // RadarListener interface
-        virtual void addObject(RadarViewable* viewable);
-        virtual void removeObject(RadarViewable* viewable);
-        virtual void objectChanged( RadarViewable* rv );
-        void radarTick(float dt);
+        virtual void addObject(RadarViewable* viewable) override;
+        virtual void removeObject(RadarViewable* viewable) override;
+        virtual void objectChanged( RadarViewable* rv ) override;
+        virtual void radarTick(float dt) override;
         bool showObject( RadarViewable* rv ); //!< Do not display an object on radar, if showObject(.) is false.
 
Index: code/trunk/src/modules/overlays/hud/HUDRocketFuelBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDRocketFuelBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDRocketFuelBar.cc	(revision 11071)
@@ -40,5 +40,5 @@
         RegisterObject(HUDRocketFuelBar);
 
-        this->owner_ = NULL;
+        this->owner_ = nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDRocketFuelBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDRocketFuelBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDRocketFuelBar.h	(revision 11071)
@@ -49,6 +49,6 @@
         virtual ~HUDRocketFuelBar();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
     private:
Index: code/trunk/src/modules/overlays/hud/HUDShieldBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDShieldBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDShieldBar.cc	(revision 11071)
@@ -41,5 +41,5 @@
         RegisterObject(HUDShieldBar);
 
-        this->owner_ = NULL;
+        this->owner_ = nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDShieldBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDShieldBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDShieldBar.h	(revision 11071)
@@ -49,6 +49,6 @@
         virtual ~HUDShieldBar();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
         inline void setShieldBarOwner(Pawn* owner)
Index: code/trunk/src/modules/overlays/hud/HUDSpeedBar.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDSpeedBar.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDSpeedBar.cc	(revision 11071)
@@ -43,5 +43,5 @@
         RegisterObject(HUDSpeedBar);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDSpeedBar.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDSpeedBar.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDSpeedBar.h	(revision 11071)
@@ -44,6 +44,6 @@
         virtual ~HUDSpeedBar();
 
-        virtual void tick(float dt);
-        virtual void changedOwner();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
 
     private:
Index: code/trunk/src/modules/overlays/hud/HUDTimer.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDTimer.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDTimer.cc	(revision 11071)
@@ -42,5 +42,5 @@
         RegisterObject(HUDTimer);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/HUDTimer.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDTimer.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDTimer.h	(revision 11071)
@@ -43,7 +43,7 @@
         virtual ~HUDTimer();
 
-        virtual void tick(float dt);
+        virtual void tick(float dt) override;
 
-        virtual void changedOwner();
+        virtual void changedOwner() override;
 
     private:
Index: code/trunk/src/modules/overlays/hud/HUDWeapon.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDWeapon.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDWeapon.cc	(revision 11071)
@@ -44,5 +44,4 @@
         weaponModeHUDActualSize_ = Vector2(0.0f,0.0f);
 
-        weaponModes_ = NULL;
         weaponIndex_ = 0;
         hudWeaponModes_.clear();
@@ -77,5 +76,5 @@
         if (!weapon_)
         {
-            // TODO: destroy this HUD id the Weapon does no more exist. (Wehen the weak pointer is NULL)
+            // TODO: destroy this HUD id the Weapon does no more exist. (Wehen the weak pointer is null)
         }
     }    
@@ -115,8 +114,8 @@
         bool visible = this->isVisible();
 
-        for (std::vector<WeakPtr<HUDWeaponMode> >::iterator it = hudWeaponModes_.begin(); it != hudWeaponModes_.end(); ++it)
-        {
-            (*it)->changedVisibility(); //inform all Child Overlays that our visibility has changed
-            (*it)->setVisible(visible);
+        for (HUDWeaponMode* hudWeaponMode : hudWeaponModes_)
+        {
+            hudWeaponMode->changedVisibility(); //inform all Child Overlays that our visibility has changed
+            hudWeaponMode->setVisible(visible);
         }
     }
@@ -141,5 +140,5 @@
     void HUDWeapon::updateWeaponModeList()
     {
-        if (owner_ == NULL || weapon_ == NULL)
+        if (owner_ == nullptr || weapon_ == nullptr)
         {
             return;
@@ -147,6 +146,4 @@
             
         destroyHUDChilds();
-
-        weaponModes_ = weapon_->getAllWeaponmodes();
 
         updateSize();
@@ -157,5 +154,5 @@
     void HUDWeapon::createHUDChilds()
     {
-        if (weaponModes_ == NULL)
+        if (weapon_ == nullptr)
         {
             return;
@@ -164,5 +161,5 @@
         int positionIndex = 0;
 
-        for (std::multimap<unsigned int, WeaponMode*>::iterator it = weaponModes_->begin(); it != weaponModes_->end(); ++it)
+        for (const auto& mapEntry : weapon_->getAllWeaponmodes())
         {
             HUDWeaponMode* hudWeaponMode = new HUDWeaponMode(this->getContext());
@@ -170,5 +167,5 @@
             hudWeaponMode->setOverlayGroup(this->getOverlayGroup());
             hudWeaponMode->setVisible(this->isVisible());
-            hudWeaponMode->setWeaponMode(it->second);
+            hudWeaponMode->setWeaponMode(mapEntry.second);
             hudWeaponMode->setWeaponIndex(this->weaponIndex_);                    
             hudWeaponMode->setAspectCorrection(false);
@@ -185,10 +182,10 @@
         int positionIndex = 0;
 
-        for (std::vector<WeakPtr<HUDWeaponMode> >::iterator it = hudWeaponModes_.begin(); it != hudWeaponModes_.end(); ++it)
-        {
-            (*it)->setPositionOffset(this->positionOffset_);
-            (*it)->setWeaponModeIndex(positionIndex);
-            (*it)->setWeaponIndex(this->weaponIndex_);
-            (*it)->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
+        for (HUDWeaponMode* hudWeaponMode : hudWeaponModes_)
+        {
+            hudWeaponMode->setPositionOffset(this->positionOffset_);
+            hudWeaponMode->setWeaponModeIndex(positionIndex);
+            hudWeaponMode->setWeaponIndex(this->weaponIndex_);
+            hudWeaponMode->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
 
             ++ positionIndex;
@@ -198,7 +195,7 @@
     void HUDWeapon::destroyHUDChilds()
     {
-        for (std::vector<WeakPtr<HUDWeaponMode> >::iterator it = hudWeaponModes_.begin(); it != hudWeaponModes_.end(); ++it)
-        {
-            (*it)->destroy();
+        for (HUDWeaponMode* hudWeaponMode : hudWeaponModes_)
+        {
+            hudWeaponMode->destroy();
         } 
 
@@ -208,7 +205,7 @@
     void HUDWeapon::updateSize()
     {
-        if (weaponModes_ != NULL)
-        {
-            this->setSize(Vector2(weaponModeHUDActualSize_.x,weaponModeHUDActualSize_.y*weaponModes_->size()));
+        if (weapon_ != nullptr)
+        {
+            this->setSize(Vector2(weaponModeHUDActualSize_.x,weaponModeHUDActualSize_.y*weapon_->getAllWeaponmodes().size()));
             updatePosition();
         }        
@@ -217,5 +214,5 @@
     void HUDWeapon::updatePosition()
     {
-        if (weaponModes_ != NULL)
+        if (weapon_ != nullptr)
         {
             this->setPosition(Vector2(weaponModeHUDActualSize_.x*weaponIndex_,0.0f) + this->positionOffset_);
Index: code/trunk/src/modules/overlays/hud/HUDWeapon.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDWeapon.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDWeapon.h	(revision 11071)
@@ -55,14 +55,14 @@
         virtual ~HUDWeapon();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void tick(float dt);
-        virtual void changedOwner();
-        virtual void changedOverlayGroup();
-        virtual void changedVisibility();
-        virtual void changedName();
-        virtual void positionChanged();
-        virtual void sizeChanged();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
+        virtual void changedOverlayGroup() override;
+        virtual void changedVisibility() override;
+        virtual void changedName() override;
+        virtual void positionChanged() override;
+        virtual void sizeChanged() override;
 
-        virtual void setWeapon(Weapon* weapon);
+        void setWeapon(Weapon* weapon);
 
         inline void setWeaponModeHUDActualSize(Vector2 vector)
@@ -84,16 +84,15 @@
 
     private:
-        virtual void createHUDChilds();
-        virtual void positionHUDChilds();
-        virtual void destroyHUDChilds();
-        virtual void updateWeaponModeList();
-        virtual void updateSize();
-        virtual void updatePosition();
+        void createHUDChilds();
+        void positionHUDChilds();
+        void destroyHUDChilds();
+        void updateWeaponModeList();
+        void updateSize();
+        void updatePosition();
 
         WeakPtr<Pawn> owner_;
         WeakPtr<Weapon> weapon_;
 
-        std::multimap<unsigned int, WeaponMode*>* weaponModes_;
-        std::vector<WeakPtr<HUDWeaponMode> > hudWeaponModes_;
+        std::vector<WeakPtr<HUDWeaponMode>> hudWeaponModes_;
 
         Ogre::PanelOverlayElement* overlayElement_;
Index: code/trunk/src/modules/overlays/hud/HUDWeaponMode.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDWeaponMode.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDWeaponMode.cc	(revision 11071)
@@ -29,7 +29,7 @@
 #include "HUDWeaponMode.h"
 
+#include "util/Convert.h"
+#include "util/StringUtils.h"
 #include "core/CoreIncludes.h"
-#include "core/XMLPort.h"
-#include "util/Convert.h"
 #include "core/class/Super.h"
 
@@ -76,5 +76,5 @@
         textOverlayLeft_->setPickPoint(Vector2(0.0f,0.0f));
         textOverlayLeft_->setVisible(true);
-        textOverlayLeft_->setAlignment(OverlayText::Center);
+        textOverlayLeft_->setAlignment(OverlayText::Alignment::Center);
         textOverlayLeft_->setTextSize(0.02f);
         textOverlayLeft_->setColour(ColourValue(0.21,0.70,0.21,1.0));
@@ -87,5 +87,5 @@
         textOverlayRight_->setPickPoint(Vector2(0.0f,0.0f));
         textOverlayRight_->setVisible(true);
-        textOverlayRight_->setAlignment(OverlayText::Center);
+        textOverlayRight_->setAlignment(OverlayText::Alignment::Center);
         textOverlayRight_->setTextSize(0.02f);
         textOverlayRight_->setColour(ColourValue(0.21,0.70,0.21,1.0));
@@ -107,9 +107,4 @@
     }
 
-    void HUDWeaponMode::XMLPort(Element& xmlelement, XMLPort::Mode mode)
-    {
-        SUPER(HUDWeaponMode, XMLPort, xmlelement, mode);
-    }
-
     void HUDWeaponMode::tick(float dt)
     {
@@ -131,7 +126,7 @@
             Munition* munition = this->weaponMode_->getMunition();
 
-            if (munition != NULL)
-            {
-                MunitionDeployment::Value deployment = munition->getMunitionDeployment();
+            if (munition != nullptr)
+            {
+                MunitionDeployment deployment = munition->getMunitionDeployment();
 
                 if (deployment == MunitionDeployment::Share)
@@ -242,7 +237,7 @@
         Munition* munition = this->weaponMode_->getMunition();
 
-        if (munition != NULL)
-        {
-            MunitionDeployment::Value deployment = munition->getMunitionDeployment();
+        if (munition != nullptr)
+        {
+            MunitionDeployment deployment = munition->getMunitionDeployment();
 
             if (deployment == MunitionDeployment::Share)
Index: code/trunk/src/modules/overlays/hud/HUDWeaponMode.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDWeaponMode.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDWeaponMode.h	(revision 11071)
@@ -57,14 +57,13 @@
         virtual ~HUDWeaponMode();
 
-        virtual void tick(float dt);
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void changedOwner();
-        virtual void changedOverlayGroup();
-        virtual void changedVisibility();
-        virtual void changedName();
-        virtual void positionChanged();
-        virtual void sizeChanged();
+        virtual void tick(float dt) override;
+        virtual void changedOwner() override;
+        virtual void changedOverlayGroup() override;
+        virtual void changedVisibility() override;
+        virtual void changedName() override;
+        virtual void positionChanged() override;
+        virtual void sizeChanged() override;
 
-        virtual void setWeaponMode(WeaponMode* weaponMode);
+        void setWeaponMode(WeaponMode* weaponMode);
 
         inline void setWeaponModeHUDActualSize(Vector2 vector)
@@ -89,7 +88,7 @@
 
     private:
-        virtual void updateSize();
-        virtual void updatePosition();
-        virtual void positionHUDChilds();
+        void updateSize();
+        void updatePosition();
+        void positionHUDChilds();
 
         WeakPtr<Pawn> owner_;
Index: code/trunk/src/modules/overlays/hud/HUDWeaponSystem.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDWeaponSystem.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDWeaponSystem.cc	(revision 11071)
@@ -103,8 +103,8 @@
         bool visible = this->isVisible();
 
-        for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
+        for (HUDWeapon* hudWeapon : hudWeapons_)
         {
-            (*it)->changedVisibility(); //inform all Child Overlays that our visibility has changed
-            (*it)->setVisible(visible);
+            hudWeapon->changedVisibility(); //inform all Child Overlays that our visibility has changed
+            hudWeapon->setVisible(visible);
         }
     }
@@ -117,5 +117,5 @@
     void HUDWeaponSystem::updateWeaponList()
     {
-        if (owner_ == NULL)
+        if (owner_ == nullptr)
         {
             return;
@@ -126,18 +126,19 @@
         destroyHUDChilds();
 
-        std::vector<WeaponPack*>* weaponPacks = owner_->getAllWeaponPacks();
+        if (owner_->getWeaponSystem())
+        {
+            const std::vector<WeaponPack*>& weaponPacks = owner_->getWeaponSystem()->getAllWeaponPacks();
+            for (WeaponPack* weaponPack : weaponPacks)
+            {
+                const std::vector<Weapon*>& weapons = weaponPack->getAllWeapons();
+                for (Weapon* weapon : weapons)
+                {
+                    this->weapons_.push_back(weapon);
+                }
+            }
 
-        for (std::vector<WeaponPack*>::const_iterator itPacks = weaponPacks->begin(); itPacks != weaponPacks->end(); ++itPacks)
-        {
-            std::vector<Weapon*>* weapons = (*itPacks)->getAllWeapons();
-
-            for (std::vector<Weapon*>::const_iterator itWeapons = weapons->begin(); itWeapons != weapons->end(); ++itWeapons)
-            {
-                this->weapons_.push_back(*itWeapons);
-            }
+            createHUDChilds();
+            positionHUDChilds();
         }
-
-        createHUDChilds();
-        positionHUDChilds();
     }
 
@@ -146,5 +147,5 @@
         int positionIndex = 0;
 
-        for (std::vector<WeakPtr<Weapon> >::iterator it = weapons_.begin(); it != weapons_.end(); ++it)
+        for (Weapon* weapon : weapons_)
         {
             HUDWeapon* hudWeapon = new HUDWeapon(this->getContext());
@@ -152,5 +153,5 @@
             hudWeapon->setOverlayGroup(this->getOverlayGroup());
             hudWeapon->setVisible(this->isVisible());
-            hudWeapon->setWeapon(*it);
+            hudWeapon->setWeapon(weapon);
             hudWeapon->setAspectCorrection(false);
             hudWeapon->setPickPoint(Vector2(0.0f,0.0f));
@@ -167,9 +168,9 @@
         Vector2 offset = this->getPosition();
 
-        for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
+        for (HUDWeapon* hudWeapon : hudWeapons_)
         {
-            (*it)->setPositionOffset(offset);
-            (*it)->setWeaponIndex(positionIndex);
-            (*it)->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
+            hudWeapon->setPositionOffset(offset);
+            hudWeapon->setWeaponIndex(positionIndex);
+            hudWeapon->setWeaponModeHUDActualSize(this->weaponModeHUDActualSize_);
 
             ++ positionIndex;
@@ -179,7 +180,7 @@
     void HUDWeaponSystem::destroyHUDChilds()
     {
-        for (std::vector<WeakPtr<HUDWeapon> >::iterator it = hudWeapons_.begin(); it != hudWeapons_.end(); ++it)
+        for (HUDWeapon* hudWeapon : hudWeapons_)
         {
-            (*it)->destroy();
+            hudWeapon->destroy();
         } 
 
Index: code/trunk/src/modules/overlays/hud/HUDWeaponSystem.h
===================================================================
--- code/trunk/src/modules/overlays/hud/HUDWeaponSystem.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/HUDWeaponSystem.h	(revision 11071)
@@ -49,11 +49,11 @@
         virtual ~HUDWeaponSystem();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        virtual void changedOwner();
-        virtual void changedOverlayGroup();
-        virtual void changedVisibility();
-        virtual void changedName();
-        virtual void positionChanged();
-        virtual void sizeChanged();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void changedOwner() override;
+        virtual void changedOverlayGroup() override;
+        virtual void changedVisibility() override;
+        virtual void changedName() override;
+        virtual void positionChanged() override;
+        virtual void sizeChanged() override;
     protected:
         inline void setWeaponModeHUDSize(Vector2 vector)
@@ -64,13 +64,13 @@
             { return weaponModeHUDSize_; }
     private:
-        virtual void updateWeaponList();
-        virtual void createHUDChilds();
-        virtual void positionHUDChilds();
-        virtual void destroyHUDChilds();
+        void updateWeaponList();
+        void createHUDChilds();
+        void positionHUDChilds();
+        void destroyHUDChilds();
 
         WeakPtr<Pawn> owner_;
 
-        std::vector<WeakPtr<Weapon> > weapons_;
-        std::vector<WeakPtr<HUDWeapon> > hudWeapons_;
+        std::vector<WeakPtr<Weapon>> weapons_;
+        std::vector<WeakPtr<HUDWeapon>> hudWeapons_;
 
         Vector2 weaponModeHUDSize_;
Index: code/trunk/src/modules/overlays/hud/KillMessage.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/KillMessage.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/KillMessage.cc	(revision 11071)
@@ -40,5 +40,5 @@
         RegisterObject(KillMessage);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
 
         this->setDelay(2.0f);
Index: code/trunk/src/modules/overlays/hud/KillMessage.h
===================================================================
--- code/trunk/src/modules/overlays/hud/KillMessage.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/KillMessage.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~KillMessage() {}
 
-            virtual void changedOwner();
+            virtual void changedOwner() override;
 
-            void killmessage(const GametypeInfo* gtinfo, const std::string& message);
+            virtual void killmessage(const GametypeInfo* gtinfo, const std::string& message) override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/LastManStandingInfos.cc	(revision 11071)
@@ -43,6 +43,6 @@
         RegisterObject(LastManStandingInfos);
 
-        this->lms_ = 0;
-        this->player_ = 0;
+        this->lms_ = nullptr;
+        this->player_ = nullptr;
         this->bShowLives_ = false;
         this->bShowPlayers_ = false;
@@ -91,6 +91,6 @@
         else
         {
-            this->player_ = 0;
-            this->lms_ = 0;
+            this->player_ = nullptr;
+            this->lms_ = nullptr;
         }
     }
Index: code/trunk/src/modules/overlays/hud/LastManStandingInfos.h
===================================================================
--- code/trunk/src/modules/overlays/hud/LastManStandingInfos.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/LastManStandingInfos.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~LastManStandingInfos();
 
-            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;
 
             inline void setShowLives(bool value)
Index: code/trunk/src/modules/overlays/hud/LastTeamStandingInfos.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/LastTeamStandingInfos.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/LastTeamStandingInfos.cc	(revision 11071)
@@ -43,6 +43,6 @@
         RegisterObject(LastTeamStandingInfos);
 
-        this->lts_ = 0;
-        this->player_ = 0;
+        this->lts_ = nullptr;
+        this->player_ = nullptr;
         this->bShowLives_ = false;
         this->bShowTeams_ = false;
@@ -91,6 +91,6 @@
         else
         {
-            this->player_ = 0;
-            this->lts_ = 0;
+            this->player_ = nullptr;
+            this->lts_ = nullptr;
         }
     }
Index: code/trunk/src/modules/overlays/hud/LastTeamStandingInfos.h
===================================================================
--- code/trunk/src/modules/overlays/hud/LastTeamStandingInfos.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/LastTeamStandingInfos.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~LastTeamStandingInfos();
 
-            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;
 
             inline void setShowLives(bool value)
Index: code/trunk/src/modules/overlays/hud/PauseNotice.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/PauseNotice.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/PauseNotice.cc	(revision 11071)
@@ -40,5 +40,5 @@
         RegisterObject(PauseNotice);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
     }
 
Index: code/trunk/src/modules/overlays/hud/PauseNotice.h
===================================================================
--- code/trunk/src/modules/overlays/hud/PauseNotice.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/PauseNotice.h	(revision 11071)
@@ -42,8 +42,8 @@
             PauseNotice(Context* context);
 
-            virtual void changedOwner();
+            virtual void changedOwner() override;
 
         protected:
-            virtual void changedTimeFactor(float factor_new, float factor_old);
+            virtual void changedTimeFactor(float factor_new, float factor_old) override;
 
         private:
Index: code/trunk/src/modules/overlays/hud/TeamBaseMatchScore.cc
===================================================================
--- code/trunk/src/modules/overlays/hud/TeamBaseMatchScore.cc	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/TeamBaseMatchScore.cc	(revision 11071)
@@ -43,5 +43,5 @@
         RegisterObject(TeamBaseMatchScore);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
 
         this->bShowBases_ = false;
@@ -120,5 +120,5 @@
             this->owner_ = orxonox_cast<TeamBaseMatch*>(this->getOwner()->getGametype());
         else
-            this->owner_ = 0;
+            this->owner_ = nullptr;
     }
 }
Index: code/trunk/src/modules/overlays/hud/TeamBaseMatchScore.h
===================================================================
--- code/trunk/src/modules/overlays/hud/TeamBaseMatchScore.h	(revision 11052)
+++ code/trunk/src/modules/overlays/hud/TeamBaseMatchScore.h	(revision 11071)
@@ -43,7 +43,7 @@
             virtual ~TeamBaseMatchScore();
 
-            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;
 
             inline void setShowBases(bool value)
