Index: code/trunk/src/orxonox/overlays/GUISheet.h
===================================================================
--- code/trunk/src/orxonox/overlays/GUISheet.h	(revision 11052)
+++ code/trunk/src/orxonox/overlays/GUISheet.h	(revision 11071)
@@ -44,5 +44,5 @@
         ~GUISheet();
 
-        void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
         void show();
Index: code/trunk/src/orxonox/overlays/InGameConsole.cc
===================================================================
--- code/trunk/src/orxonox/overlays/InGameConsole.cc	(revision 11052)
+++ code/trunk/src/orxonox/overlays/InGameConsole.cc	(revision 11071)
@@ -75,11 +75,11 @@
         : shell_(new Shell("InGameConsole", true))
         , bShowCursor_(false)
-        , consoleOverlay_(0)
-        , consoleOverlayContainer_(0)
-        , consoleOverlayNoise_(0)
-        , consoleOverlayCursor_(0)
-        , consoleOverlayBorder_(0)
-        , consoleOverlayTextAreas_(0)
-        , inputState_(0)
+        , consoleOverlay_(nullptr)
+        , consoleOverlayContainer_(nullptr)
+        , consoleOverlayNoise_(nullptr)
+        , consoleOverlayCursor_(nullptr)
+        , consoleOverlayBorder_(nullptr)
+        , consoleOverlayTextAreas_(nullptr)
+        , inputState_(nullptr)
     {
         RegisterObject(InGameConsole);
@@ -130,5 +130,5 @@
                     if (this->consoleOverlayTextAreas_[i])
                         Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->consoleOverlayTextAreas_[i]);
-                    this->consoleOverlayTextAreas_[i] = 0;
+                    this->consoleOverlayTextAreas_[i] = nullptr;
                 }
 
@@ -140,5 +140,5 @@
         {
             delete[] this->consoleOverlayTextAreas_;
-            this->consoleOverlayTextAreas_ = 0;
+            this->consoleOverlayTextAreas_ = nullptr;
         }
 
@@ -175,6 +175,6 @@
             else
             {
-                inputState_->setMouseHandler(0);
-                inputState_->setJoyStickHandler(0);
+                inputState_->setMouseHandler(nullptr);
+                inputState_->setJoyStickHandler(nullptr);
             }
         }
@@ -292,5 +292,5 @@
 
         for (int i = LINES - 1; i > max; --i)
-            this->print("", Shell::DebugOutput, i, true);
+            this->print("", Shell::LineType::DebugOutput, i, true);
 
         for (int i = max; i >= 1; --i)
@@ -318,5 +318,5 @@
     {
         if (LINES > 0)
-            this->print(this->shell_->getInput(), Shell::Input, 0);
+            this->print(this->shell_->getInput(), Shell::LineType::Input, 0);
 
         if (this->shell_->getInput().empty())
@@ -342,5 +342,5 @@
     void InGameConsole::executed()
     {
-        this->shell_->addOutput(this->shell_->getInput(), Shell::Command);
+        this->shell_->addOutput(this->shell_->getInput(), Shell::LineType::Command);
     }
 
@@ -562,26 +562,26 @@
         switch (type)
         {
-            case Shell::Message:
-            case Shell::DebugOutput:     colourTop = ColourValue(0.9f, 0.9f, 0.9f); break;
-
-            case Shell::UserError:       colourTop = ColourValue(0.9f, 0.0f, 0.0f); break;
-            case Shell::UserWarning:     colourTop = ColourValue(0.9f, 0.5f, 0.0f); break;
-            case Shell::UserStatus:      colourTop = ColourValue(0.0f, 0.9f, 0.0f); break;
-            case Shell::UserInfo:        colourTop = ColourValue(0.0f, 0.8f, 0.8f); break;
-
-            case Shell::InternalError:   colourTop = ColourValue(0.5f, 0.0f, 0.0f); break;
-            case Shell::InternalWarning: colourTop = ColourValue(0.5f, 0.2f, 0.0f); break;
-            case Shell::InternalStatus:  colourTop = ColourValue(0.0f, 0.5f, 0.0f); break;
-            case Shell::InternalInfo:    colourTop = ColourValue(0.0f, 0.4f, 0.4f); break;
-
-            case Shell::Verbose:         colourTop = ColourValue(0.3f, 0.3f, 0.9f); break;
-            case Shell::VerboseMore:     colourTop = ColourValue(0.2f, 0.2f, 0.7f); break;
-            case Shell::VerboseUltra:    colourTop = ColourValue(0.1f, 0.1f, 0.5f); break;
-
-            case Shell::Command:         colourTop = ColourValue(0.8f, 0.2f, 0.8f); break;
-            case Shell::Hint:            colourTop = ColourValue(0.4f, 0.0f, 0.4f); break;
-            case Shell::Input:           colourTop = ColourValue(0.9f, 0.9f, 0.9f); break;
-
-            default:                     colourTop = ColourValue(0.5f, 0.5f, 0.5f); break;
+            case Shell::LineType::Message:
+            case Shell::LineType::DebugOutput:     colourTop = ColourValue(0.9f, 0.9f, 0.9f); break;
+
+            case Shell::LineType::UserError:       colourTop = ColourValue(0.9f, 0.0f, 0.0f); break;
+            case Shell::LineType::UserWarning:     colourTop = ColourValue(0.9f, 0.5f, 0.0f); break;
+            case Shell::LineType::UserStatus:      colourTop = ColourValue(0.0f, 0.9f, 0.0f); break;
+            case Shell::LineType::UserInfo:        colourTop = ColourValue(0.0f, 0.8f, 0.8f); break;
+
+            case Shell::LineType::InternalError:   colourTop = ColourValue(0.5f, 0.0f, 0.0f); break;
+            case Shell::LineType::InternalWarning: colourTop = ColourValue(0.5f, 0.2f, 0.0f); break;
+            case Shell::LineType::InternalStatus:  colourTop = ColourValue(0.0f, 0.5f, 0.0f); break;
+            case Shell::LineType::InternalInfo:    colourTop = ColourValue(0.0f, 0.4f, 0.4f); break;
+
+            case Shell::LineType::Verbose:         colourTop = ColourValue(0.3f, 0.3f, 0.9f); break;
+            case Shell::LineType::VerboseMore:     colourTop = ColourValue(0.2f, 0.2f, 0.7f); break;
+            case Shell::LineType::VerboseUltra:    colourTop = ColourValue(0.1f, 0.1f, 0.5f); break;
+
+            case Shell::LineType::Command:         colourTop = ColourValue(0.8f, 0.2f, 0.8f); break;
+            case Shell::LineType::Hint:            colourTop = ColourValue(0.4f, 0.0f, 0.4f); break;
+            case Shell::LineType::Input:           colourTop = ColourValue(0.9f, 0.9f, 0.9f); break;
+
+            default:                               colourTop = ColourValue(0.5f, 0.5f, 0.5f); break;
         }
 
Index: code/trunk/src/orxonox/overlays/InGameConsole.h
===================================================================
--- code/trunk/src/orxonox/overlays/InGameConsole.h	(revision 11052)
+++ code/trunk/src/orxonox/overlays/InGameConsole.h	(revision 11071)
@@ -53,6 +53,6 @@
         void setConfigValues();
 
-        void preUpdate(const Clock& time);
-        void postUpdate(const Clock& time) { /*no action*/ }
+        virtual void preUpdate(const Clock& time) override;
+        virtual void postUpdate(const Clock& time) override { /*no action*/ }
 
         static void openConsole();
@@ -65,10 +65,10 @@
         void deactivate();
 
-        void linesChanged();
-        void lineAdded();
-        void inputChanged();
-        void cursorChanged();
-        void executed();
-        void exit();
+        virtual void linesChanged() override;
+        virtual void lineAdded() override;
+        virtual void inputChanged() override;
+        virtual void cursorChanged() override;
+        virtual void executed() override;
+        virtual void exit() override;
 
         void shiftLines();
@@ -77,5 +77,5 @@
         void print(const std::string& text, Shell::LineType type, int index, bool alwaysShift = false);
 
-        void windowResized(unsigned int newWidth, unsigned int newHeight);
+        virtual void windowResized(unsigned int newWidth, unsigned int newHeight) override;
 
         // config value related
Index: code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 11052)
+++ code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 11071)
@@ -70,6 +70,6 @@
         RegisterObject(OrxonoxOverlay);
 
-        this->owner_ = 0;
-        this->group_ = 0;
+        this->owner_ = nullptr;
+        this->group_ = nullptr;
 
         if (!GameMode::showsGraphics())
@@ -94,5 +94,5 @@
         this->angle_ = Degree(0.0);
         this->bCorrectAspect_ = false;
-        this->rotState_ = Horizontal;
+        this->rotState_ = RotationState::Horizontal;
         this->angleChanged(); // updates all other values as well
 
@@ -259,15 +259,15 @@
             {
                 tempAspect = 1.0f / this->windowAspectRatio_;
-                rotState_ = Vertical;
+                rotState_ = RotationState::Vertical;
             }
             else if (angle > 179 || angle < 1)
             {
                 tempAspect = this->windowAspectRatio_;
-                rotState_ = Horizontal;
+                rotState_ = RotationState::Horizontal;
             }
             else
             {
                 tempAspect = 1.0f;
-                rotState_ = Inbetween;
+                rotState_ = RotationState::Inbetween;
             }
 
Index: code/trunk/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- code/trunk/src/orxonox/overlays/OrxonoxOverlay.h	(revision 11052)
+++ code/trunk/src/orxonox/overlays/OrxonoxOverlay.h	(revision 11071)
@@ -79,5 +79,5 @@
             and in between is everything else.
         */
-        enum RotationState
+        enum class RotationState
         {
             Horizontal,
@@ -90,7 +90,7 @@
         virtual ~OrxonoxOverlay();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-
-        virtual void changedName();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+
+        virtual void changedName() override;
 
         //! Shows the overlay with an detour to BaseObject::visibility_
@@ -167,5 +167,5 @@
         void setBackgroundColour(ColourValue colour);
 
-        virtual void changedVisibility();
+        virtual void changedVisibility() override;
 
         inline void setOwner(BaseObject* owner)
@@ -186,5 +186,5 @@
         virtual void changedOverlayGroup()
             { this->changedVisibility(); }
-        virtual void setZOrder(unsigned short order);
+        void setZOrder(unsigned short order);
 
     protected:
@@ -207,5 +207,5 @@
 
     private:
-        void windowResized(unsigned int newWidth, unsigned int newHeight);
+        virtual void windowResized(unsigned int newWidth, unsigned int newHeight) override;
 
         static unsigned int hudOverlayCounter_s;   //!< Static counter for hud elements
Index: code/trunk/src/orxonox/overlays/OverlayGroup.cc
===================================================================
--- code/trunk/src/orxonox/overlays/OverlayGroup.cc	(revision 11052)
+++ code/trunk/src/orxonox/overlays/OverlayGroup.cc	(revision 11071)
@@ -51,6 +51,6 @@
         {
             ArgumentCompletionList names;
-            for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
-                names.push_back(ArgumentCompletionListElement(it->getName(), getLowercase(it->getName())));
+            for (OverlayGroup* overlayGroup : ObjectList<OverlayGroup>())
+                names.push_back(ArgumentCompletionListElement(overlayGroup->getName(), getLowercase(overlayGroup->getName())));
             return names;
         }
@@ -69,5 +69,5 @@
         RegisterObject(OverlayGroup);
 
-        this->owner_ = 0;
+        this->owner_ = nullptr;
 
         setScale(Vector2(1.0, 1.0));
@@ -77,6 +77,6 @@
     OverlayGroup::~OverlayGroup()
     {
-        for (std::set< StrongPtr<OrxonoxOverlay> >::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)
-            (*it)->destroy();
+        for (OrxonoxOverlay* hudElement : hudElements_)
+            hudElement->destroy();
         this->hudElements_.clear();
     }
@@ -101,6 +101,6 @@
     void OverlayGroup::setScale(const Vector2& scale)
     {
-        for (std::set< StrongPtr<OrxonoxOverlay> >::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)
-            (*it)->scale(scale / this->scale_);
+        for (OrxonoxOverlay* hudElement : hudElements_)
+            hudElement->scale(scale / this->scale_);
         this->scale_ = scale;
     }
@@ -109,6 +109,6 @@
     void OverlayGroup::setScroll(const Vector2& scroll)
     {
-        for (std::set< StrongPtr<OrxonoxOverlay> >::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)
-            (*it)->scroll(scroll - this->scroll_);
+        for (OrxonoxOverlay* hudElement : hudElements_)
+            hudElement->scroll(scroll - this->scroll_);
         this->scroll_ = scroll;
     }
@@ -148,5 +148,5 @@
         if (index < this->hudElements_.size())
         {
-            std::set< StrongPtr<OrxonoxOverlay> >::const_iterator it = hudElements_.begin();
+            std::set<StrongPtr<OrxonoxOverlay>>::const_iterator it = hudElements_.begin();
             for (unsigned int i = 0; i != index; ++it, ++i)
                 ;
@@ -154,5 +154,5 @@
         }
         else
-            return 0;
+            return nullptr;
     }
 
@@ -162,6 +162,6 @@
         SUPER( OverlayGroup, changedVisibility );
 
-        for (std::set< StrongPtr<OrxonoxOverlay> >::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)
-            (*it)->changedVisibility(); //inform all Child Overlays that our visibility has changed
+        for (OrxonoxOverlay* hudElement : hudElements_)
+            hudElement->changedVisibility(); //inform all Child Overlays that our visibility has changed
     }
 
@@ -170,6 +170,6 @@
         this->owner_ = owner;
 
-        for (std::set< StrongPtr<OrxonoxOverlay> >::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)
-            (*it)->setOwner(owner);
+        for (OrxonoxOverlay* hudElement : hudElements_)
+            hudElement->setOwner(owner);
     }
 
@@ -185,8 +185,8 @@
     /*static*/ void OverlayGroup::toggleVisibility(const std::string& name)
     {
-        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
-        {
-            if ((*it)->getName() == name)
-                (*it)->setVisible(!((*it)->isVisible()));
+        for (OverlayGroup* group : ObjectList<OverlayGroup>())
+        {
+            if (group->getName() == name)
+                group->setVisible(!(group->isVisible()));
         }
     }
@@ -200,12 +200,12 @@
     /*static*/ void OverlayGroup::show(const std::string& name)
     {
-        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
-        {
-            if ((*it)->getName() == name)
+        for (OverlayGroup* group : ObjectList<OverlayGroup>())
+        {
+            if (group->getName() == name)
             {
-                if((*it)->isVisible())
-                    (*it)->changedVisibility();
+                if(group->isVisible())
+                    group->changedVisibility();
                 else
-                    (*it)->setVisible(!((*it)->isVisible()));
+                    group->setVisible(!(group->isVisible()));
             }
         }
@@ -223,8 +223,8 @@
     /*static*/ void OverlayGroup::scaleGroup(const std::string& name, float scale)
     {
-        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
-        {
-            if ((*it)->getName() == name)
-                (*it)->scale(Vector2(scale, scale));
+        for (OverlayGroup* group : ObjectList<OverlayGroup>())
+        {
+            if (group->getName() == name)
+                group->scale(Vector2(scale, scale));
         }
     }
@@ -241,8 +241,8 @@
     /*static*/ void OverlayGroup::scrollGroup(const std::string& name, const Vector2& scroll)
     {
-        for (ObjectList<OverlayGroup>::iterator it = ObjectList<OverlayGroup>::begin(); it; ++it)
-        {
-            if ((*it)->getName() == name)
-                (*it)->scroll(scroll);
+        for (OverlayGroup* group : ObjectList<OverlayGroup>())
+        {
+            if (group->getName() == name)
+                group->scroll(scroll);
         }
     }
Index: code/trunk/src/orxonox/overlays/OverlayGroup.h
===================================================================
--- code/trunk/src/orxonox/overlays/OverlayGroup.h	(revision 11052)
+++ code/trunk/src/orxonox/overlays/OverlayGroup.h	(revision 11071)
@@ -58,5 +58,5 @@
         ~OverlayGroup();
 
-        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
 
         static void toggleVisibility(const std::string& name);
@@ -65,8 +65,8 @@
         static void scrollGroup(const std::string& name, const Vector2& scroll);
 
-        inline const std::set< StrongPtr<OrxonoxOverlay> >& getOverlays() const
+        inline const std::set<StrongPtr<OrxonoxOverlay>>& getOverlays() const
             { return this->hudElements_; }
 
-        virtual void changedVisibility();
+        virtual void changedVisibility() override;
 
         void setOwner(BaseObject* owner);
@@ -91,5 +91,5 @@
 
     private:
-        std::set< StrongPtr<OrxonoxOverlay> > hudElements_;    //!< Contains all the OrxonoxOverlays of the this group.
+        std::set<StrongPtr<OrxonoxOverlay>> hudElements_;    //!< Contains all the OrxonoxOverlays of the this group.
         Vector2 scale_;                            //!< Current scale (independent of the elements).
         Vector2 scroll_;                           //!< Current scrolling offset.
