Index: code/trunk/src/orxonox/objects/GlobalShader.cc
===================================================================
--- code/trunk/src/orxonox/objects/GlobalShader.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/GlobalShader.cc	(revision 3280)
@@ -66,6 +66,6 @@
     void GlobalShader::registerVariables()
     {
-        registerVariable(this->bVisible_,                                         variableDirection::toclient, new NetworkCallback<GlobalShader>(this, &GlobalShader::changedVisibility));
-        registerVariable(const_cast<std::string&>(this->shader_.getCompositor()), variableDirection::toclient, new NetworkCallback<Shader>(&this->shader_, &Shader::changedCompositor));
+        registerVariable(this->bVisible_,                                         VariableDirection::ToClient, new NetworkCallback<GlobalShader>(this, &GlobalShader::changedVisibility));
+        registerVariable(const_cast<std::string&>(this->shader_.getCompositor()), VariableDirection::ToClient, new NetworkCallback<Shader>(&this->shader_, &Shader::changedCompositor));
     }
 
Index: code/trunk/src/orxonox/objects/Level.cc
===================================================================
--- code/trunk/src/orxonox/objects/Level.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/Level.cc	(revision 3280)
@@ -87,7 +87,7 @@
     void Level::registerVariables()
     {
-        registerVariable(this->xmlfilename_, variableDirection::toclient, new NetworkCallback<Level>(this, &Level::networkcallback_applyXMLFile));
-        registerVariable(this->name_,        variableDirection::toclient, new NetworkCallback<Level>(this, &Level::changedName));
-        registerVariable(this->description_, variableDirection::toclient);
+        registerVariable(this->xmlfilename_, VariableDirection::ToClient, new NetworkCallback<Level>(this, &Level::networkcallback_applyXMLFile));
+        registerVariable(this->name_,        VariableDirection::ToClient, new NetworkCallback<Level>(this, &Level::changedName));
+        registerVariable(this->description_, VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/Scene.cc
===================================================================
--- code/trunk/src/orxonox/objects/Scene.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/Scene.cc	(revision 3280)
@@ -115,11 +115,11 @@
     void Scene::registerVariables()
     {
-        registerVariable(this->skybox_,             variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applySkybox));
-        registerVariable(this->ambientLight_,       variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applyAmbientLight));
-        registerVariable(this->negativeWorldRange_, variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_negativeWorldRange));
-        registerVariable(this->positiveWorldRange_, variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_positiveWorldRange));
-        registerVariable(this->gravity_,            variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_gravity));
-        registerVariable(this->bHasPhysics_,        variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_hasPhysics));
-        registerVariable(this->bShadows_,           variableDirection::toclient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applyShadows));
+        registerVariable(this->skybox_,             VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applySkybox));
+        registerVariable(this->ambientLight_,       VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applyAmbientLight));
+        registerVariable(this->negativeWorldRange_, VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_negativeWorldRange));
+        registerVariable(this->positiveWorldRange_, VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_positiveWorldRange));
+        registerVariable(this->gravity_,            VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_gravity));
+        registerVariable(this->bHasPhysics_,        VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_hasPhysics));
+        registerVariable(this->bShadows_,           VariableDirection::ToClient, new NetworkCallback<Scene>(this, &Scene::networkcallback_applyShadows));
     }
 
Index: code/trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/collisionshapes/BoxCollisionShape.cc	(revision 3280)
@@ -57,5 +57,5 @@
     void BoxCollisionShape::registerVariables()
     {
-        registerVariable(this->halfExtents_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
+        registerVariable(this->halfExtents_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
     }
 
Index: code/trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/collisionshapes/CollisionShape.cc	(revision 3280)
@@ -77,5 +77,5 @@
     void CollisionShape::registerVariables()
     {
-        registerVariable(this->parentID_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::parentChanged));
+        registerVariable(this->parentID_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::parentChanged));
     }
 
Index: code/trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/collisionshapes/ConeCollisionShape.cc	(revision 3280)
@@ -57,6 +57,6 @@
     void ConeCollisionShape::registerVariables()
     {
-        registerVariable(this->radius_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
-        registerVariable(this->height_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
+        registerVariable(this->radius_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
+        registerVariable(this->height_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
     }
 
Index: code/trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/collisionshapes/PlaneCollisionShape.cc	(revision 3280)
@@ -58,6 +58,6 @@
     void PlaneCollisionShape::registerVariables()
     {
-        registerVariable(this->normal_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
-        registerVariable(this->offset_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
+        registerVariable(this->normal_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
+        registerVariable(this->offset_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
     }
 
Index: code/trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc
===================================================================
--- code/trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/collisionshapes/SphereCollisionShape.cc	(revision 3280)
@@ -56,5 +56,5 @@
     void SphereCollisionShape::registerVariables()
     {
-        registerVariable(this->radius_, variableDirection::toclient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
+        registerVariable(this->radius_, VariableDirection::ToClient, new NetworkCallback<CollisionShape>(this, &CollisionShape::updateShape));
     }
 
Index: code/trunk/src/orxonox/objects/controllers/ArtificialController.cc
===================================================================
--- code/trunk/src/orxonox/objects/controllers/ArtificialController.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/controllers/ArtificialController.cc	(revision 3280)
@@ -208,11 +208,11 @@
             switch (base->getState())
             {
-                case BaseState::controlTeam1:
+                case BaseState::ControlTeam1:
                     team1 = 0;
                     break;
-                case BaseState::controlTeam2:
+                case BaseState::ControlTeam2:
                     team1 = 1;
                     break;
-                case BaseState::uncontrolled:
+                case BaseState::Uncontrolled:
                 default:
                     team1 = -1;
@@ -224,11 +224,11 @@
             switch (base->getState())
             {
-                case BaseState::controlTeam1:
+                case BaseState::ControlTeam1:
                     team2 = 0;
                     break;
-                case BaseState::controlTeam2:
+                case BaseState::ControlTeam2:
                     team2 = 1;
                     break;
-                case BaseState::uncontrolled:
+                case BaseState::Uncontrolled:
                 default:
                     team2 = -1;
Index: code/trunk/src/orxonox/objects/gametypes/Gametype.h
===================================================================
--- code/trunk/src/orxonox/objects/gametypes/Gametype.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/gametypes/Gametype.h	(revision 3280)
@@ -45,5 +45,5 @@
     namespace PlayerState
     {
-        enum Enum
+        enum Value
         {
             Uninitialized,
@@ -57,5 +57,5 @@
     {
         PlayerInfo* info_;
-        PlayerState::Enum state_;
+        PlayerState::Value state_;
         int frags_;
         int killed_;
Index: code/trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc
===================================================================
--- code/trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/gametypes/TeamBaseMatch.cc	(revision 3280)
@@ -66,10 +66,10 @@
                 if (teamnr == 0)
                 {
-                    base->setState(BaseState::controlTeam1);
+                    base->setState(BaseState::ControlTeam1);
                     this->gtinfo_.sendAnnounceMessage("The red team captured a base");
                 }
                 if (teamnr == 1)
                 {
-                    base->setState(BaseState::controlTeam2);
+                    base->setState(BaseState::ControlTeam2);
                     this->gtinfo_.sendAnnounceMessage("The blue team captured a base");
                 }
@@ -107,11 +107,11 @@
             switch (base->getState())
             {
-                case BaseState::controlTeam1:
+                case BaseState::ControlTeam1:
                     teamnrbase = 0;
                     break;
-                case BaseState::controlTeam2:
+                case BaseState::ControlTeam2:
                     teamnrbase = 1;
                     break;
-                case BaseState::uncontrolled:
+                case BaseState::Uncontrolled:
                 default:
                     teamnrbase = -1;
@@ -155,9 +155,9 @@
         for (std::set<TeamBaseMatchBase*>::const_iterator it = this->bases_.begin(); it != this->bases_.end(); ++it)
         {
-            if((*it)->getState() == BaseState::controlTeam1)
+            if((*it)->getState() == BaseState::ControlTeam1)
             {
                 amountControlled++;
             }
-            if((*it)->getState() == BaseState::controlTeam2)
+            if((*it)->getState() == BaseState::ControlTeam2)
             {
                 amountControlled2++;
@@ -241,7 +241,7 @@
         for (std::set<TeamBaseMatchBase*>::const_iterator it = this->bases_.begin(); it != this->bases_.end(); ++it)
         {
-            if ((*it)->getState() == BaseState::controlTeam1 && team == 0)
+            if ((*it)->getState() == BaseState::ControlTeam1 && team == 0)
                 count++;
-            if ((*it)->getState() == BaseState::controlTeam2 && team == 1)
+            if ((*it)->getState() == BaseState::ControlTeam2 && team == 1)
                 count++;
         }
@@ -253,5 +253,5 @@
     {
         this->bases_.insert(base);
-        base->setState(BaseState::uncontrolled);
+        base->setState(BaseState::Uncontrolled);
     }
 
Index: code/trunk/src/orxonox/objects/gametypes/UnderAttack.cc
===================================================================
--- code/trunk/src/orxonox/objects/gametypes/UnderAttack.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/gametypes/UnderAttack.cc	(revision 3280)
@@ -173,5 +173,5 @@
             if ( gameTime_ <= timesequence_ && gameTime_ > 0)
             {
-                std::string message = convertToString(timesequence_) + " seconds left!";
+                std::string message = multi_cast<std::string>(timesequence_) + " seconds left!";
 /*
                 COUT(0) << message << std::endl;
Index: code/trunk/src/orxonox/objects/infos/GametypeInfo.cc
===================================================================
--- code/trunk/src/orxonox/objects/infos/GametypeInfo.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/infos/GametypeInfo.cc	(revision 3280)
@@ -61,9 +61,9 @@
     void GametypeInfo::registerVariables()
     {
-        registerVariable(this->bStarted_,               variableDirection::toclient);
-        registerVariable(this->bEnded_,                 variableDirection::toclient);
-        registerVariable(this->startCountdown_,         variableDirection::toclient);
-        registerVariable(this->bStartCountdownRunning_, variableDirection::toclient);
-        registerVariable(this->hudtemplate_,            variableDirection::toclient);
+        registerVariable(this->bStarted_,               VariableDirection::ToClient);
+        registerVariable(this->bEnded_,                 VariableDirection::ToClient);
+        registerVariable(this->startCountdown_,         VariableDirection::ToClient);
+        registerVariable(this->bStartCountdownRunning_, VariableDirection::ToClient);
+        registerVariable(this->hudtemplate_,            VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/infos/HumanPlayer.cc
===================================================================
--- code/trunk/src/orxonox/objects/infos/HumanPlayer.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/infos/HumanPlayer.cc	(revision 3280)
@@ -79,9 +79,9 @@
     void HumanPlayer::registerVariables()
     {
-        registerVariable(this->synchronize_nick_, variableDirection::toserver, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_changednick));
+        registerVariable(this->synchronize_nick_, VariableDirection::ToServer, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_changednick));
 
-        registerVariable(this->clientID_,           variableDirection::toclient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_clientIDchanged));
-        registerVariable(this->server_initialized_, variableDirection::toclient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_server_initialized));
-        registerVariable(this->client_initialized_, variableDirection::toserver, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_client_initialized));
+        registerVariable(this->clientID_,           VariableDirection::ToClient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_clientIDchanged));
+        registerVariable(this->server_initialized_, VariableDirection::ToClient, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_server_initialized));
+        registerVariable(this->client_initialized_, VariableDirection::ToServer, new NetworkCallback<HumanPlayer>(this, &HumanPlayer::networkcallback_client_initialized));
     }
 
@@ -116,5 +116,5 @@
 
             if (!GameMode::isMaster())
-                this->setObjectMode(objectDirection::bidirectional);
+                this->setObjectMode(ObjectDirection::Bidirectional);
             else
                 this->setName(this->nick_);
Index: code/trunk/src/orxonox/objects/infos/PlayerInfo.cc
===================================================================
--- code/trunk/src/orxonox/objects/infos/PlayerInfo.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/infos/PlayerInfo.cc	(revision 3280)
@@ -77,8 +77,8 @@
     void PlayerInfo::registerVariables()
     {
-        registerVariable(this->name_,                 variableDirection::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::changedName));
-        registerVariable(this->controllableEntityID_, variableDirection::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::networkcallback_changedcontrollableentityID));
-        registerVariable(this->bReadyToSpawn_,        variableDirection::toserver);
-        registerVariable(this->gtinfoID_,             variableDirection::toclient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::networkcallback_changedgtinfoID));
+        registerVariable(this->name_,                 VariableDirection::ToClient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::changedName));
+        registerVariable(this->controllableEntityID_, VariableDirection::ToClient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::networkcallback_changedcontrollableentityID));
+        registerVariable(this->bReadyToSpawn_,        VariableDirection::ToServer);
+        registerVariable(this->gtinfoID_,             VariableDirection::ToClient, new NetworkCallback<PlayerInfo>(this, &PlayerInfo::networkcallback_changedgtinfoID));
     }
 
Index: code/trunk/src/orxonox/objects/items/Engine.cc
===================================================================
--- code/trunk/src/orxonox/objects/items/Engine.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/items/Engine.cc	(revision 3280)
@@ -113,19 +113,19 @@
     void Engine::registerVariables()
     {
-        registerVariable(this->shipID_, variableDirection::toclient, new NetworkCallback<Engine>(this, &Engine::networkcallback_shipID));
-
-        registerVariable(this->speedFactor_, variableDirection::toclient);
-        registerVariable(this->boostFactor_, variableDirection::toclient);
-
-        registerVariable(this->maxSpeedFront_,     variableDirection::toclient);
-        registerVariable(this->maxSpeedBack_,      variableDirection::toclient);
-        registerVariable(this->maxSpeedLeftRight_, variableDirection::toclient);
-        registerVariable(this->maxSpeedUpDown_,    variableDirection::toclient);
-
-        registerVariable(this->accelerationFront_,     variableDirection::toclient);
-        registerVariable(this->accelerationBrake_,     variableDirection::toclient);
-        registerVariable(this->accelerationBack_,      variableDirection::toclient);
-        registerVariable(this->accelerationLeftRight_, variableDirection::toclient);
-        registerVariable(this->accelerationUpDown_,    variableDirection::toclient);
+        registerVariable(this->shipID_, VariableDirection::ToClient, new NetworkCallback<Engine>(this, &Engine::networkcallback_shipID));
+
+        registerVariable(this->speedFactor_, VariableDirection::ToClient);
+        registerVariable(this->boostFactor_, VariableDirection::ToClient);
+
+        registerVariable(this->maxSpeedFront_,     VariableDirection::ToClient);
+        registerVariable(this->maxSpeedBack_,      VariableDirection::ToClient);
+        registerVariable(this->maxSpeedLeftRight_, VariableDirection::ToClient);
+        registerVariable(this->maxSpeedUpDown_,    VariableDirection::ToClient);
+
+        registerVariable(this->accelerationFront_,     VariableDirection::ToClient);
+        registerVariable(this->accelerationBrake_,     VariableDirection::ToClient);
+        registerVariable(this->accelerationBack_,      VariableDirection::ToClient);
+        registerVariable(this->accelerationLeftRight_, VariableDirection::ToClient);
+        registerVariable(this->accelerationUpDown_,    VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/items/MultiStateEngine.cc
===================================================================
--- code/trunk/src/orxonox/objects/items/MultiStateEngine.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/items/MultiStateEngine.cc	(revision 3280)
@@ -82,5 +82,5 @@
     void MultiStateEngine::registerVariables()
     {
-        registerVariable(this->state_, variableDirection::toserver);
+        registerVariable(this->state_, VariableDirection::ToServer);
     }
 
@@ -91,5 +91,5 @@
             if (this->getShip()->hasLocalController())
             {
-                this->setObjectMode(objectDirection::bidirectional);
+                this->setObjectMode(ObjectDirection::Bidirectional);
 
                 const Vector3& direction = this->getDirection();
Index: code/trunk/src/orxonox/objects/pickup/ModifierPickup.cc
===================================================================
--- code/trunk/src/orxonox/objects/pickup/ModifierPickup.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/pickup/ModifierPickup.cc	(revision 3280)
@@ -87,5 +87,5 @@
         if (this->addTo(pawn))
         {
-            std::map<ModifierType::Enum, float>::iterator it;
+            std::map<ModifierType::Value, float>::iterator it;
 
             for (it = this->additiveModifiers_.begin(); it != this->additiveModifiers_.end(); it++)
@@ -124,5 +124,5 @@
         if (this->removeFrom(pawn))
         {
-            std::map<ModifierType::Enum, float>::iterator it;
+            std::map<ModifierType::Value, float>::iterator it;
 
             for (it = this->additiveModifiers_.begin(); it != this->additiveModifiers_.end(); it++)
@@ -158,7 +158,7 @@
         @return Returns the additive modifier for type (or 0 if not exists).
     */
-    float ModifierPickup::getAdditiveModifier(ModifierType::Enum type) const
-    {
-        std::map<ModifierType::Enum, float>::const_iterator it = this->additiveModifiers_.find(type);
+    float ModifierPickup::getAdditiveModifier(ModifierType::Value type) const
+    {
+        std::map<ModifierType::Value, float>::const_iterator it = this->additiveModifiers_.find(type);
         if (it != this->additiveModifiers_.end())
             return (*it).second;
@@ -171,7 +171,7 @@
         @return Returns the multiplicative modifier for type (or 1 if not exists).
     */
-    float ModifierPickup::getMultiplicativeModifier(ModifierType::Enum type) const
-    {
-        std::map<ModifierType::Enum, float>::const_iterator it = this->multiplicativeModifiers_.find(type);
+    float ModifierPickup::getMultiplicativeModifier(ModifierType::Value type) const
+    {
+        std::map<ModifierType::Value, float>::const_iterator it = this->multiplicativeModifiers_.find(type);
         if (it != this->multiplicativeModifiers_.end())
             return (*it).second;
@@ -184,8 +184,8 @@
         @param value The new additive modifier for type.
     */
-    void ModifierPickup::setAdditiveModifier(ModifierType::Enum type, float value)
+    void ModifierPickup::setAdditiveModifier(ModifierType::Value type, float value)
     {
         if (this->additiveModifiers_.find(type) == this->additiveModifiers_.end())
-            this->additiveModifiers_.insert( std::pair<ModifierType::Enum, float>(type, value) );
+            this->additiveModifiers_.insert( std::pair<ModifierType::Value, float>(type, value) );
         else
             this->additiveModifiers_[type] = value;
@@ -196,8 +196,8 @@
         @param value The new multiplicative modifier for type.
     */
-    void ModifierPickup::setMultiplicativeModifier(ModifierType::Enum type, float value)
+    void ModifierPickup::setMultiplicativeModifier(ModifierType::Value type, float value)
     {
         if (this->multiplicativeModifiers_.find(type) == this->multiplicativeModifiers_.end())
-            this->multiplicativeModifiers_.insert( std::pair<ModifierType::Enum, float>(type, value) );
+            this->multiplicativeModifiers_.insert( std::pair<ModifierType::Value, float>(type, value) );
         else
             this->multiplicativeModifiers_[type] = value;
Index: code/trunk/src/orxonox/objects/pickup/ModifierPickup.h
===================================================================
--- code/trunk/src/orxonox/objects/pickup/ModifierPickup.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/pickup/ModifierPickup.h	(revision 3280)
@@ -130,11 +130,11 @@
         void timerCallback(Pawn* pawn);     //!< Method called when the timer runs out.
     private:
-        float getAdditiveModifier(ModifierType::Enum type) const;               //!< Get the additive modifier for a given ModifierType.
-        float getMultiplicativeModifier(ModifierType::Enum type) const;         //!< Get the multiplicative modifier for a given ModifierType.
-        void setAdditiveModifier(ModifierType::Enum type, float value);         //!< Set the additive modifier for a given ModifierType.
-        void setMultiplicativeModifier(ModifierType::Enum type, float value);   //!< Set the multiplicative modifier for a given ModifierType
+        float getAdditiveModifier(ModifierType::Value type) const;               //!< Get the additive modifier for a given ModifierType.
+        float getMultiplicativeModifier(ModifierType::Value type) const;         //!< Get the multiplicative modifier for a given ModifierType.
+        void setAdditiveModifier(ModifierType::Value type, float value);         //!< Set the additive modifier for a given ModifierType.
+        void setMultiplicativeModifier(ModifierType::Value type, float value);   //!< Set the multiplicative modifier for a given ModifierType
 
-        std::map<ModifierType::Enum, float> additiveModifiers_;                 //!< Map of additive modifiers, indexed by ModifierType.
-        std::map<ModifierType::Enum, float> multiplicativeModifiers_;           //!< Map of multiplicative modifiers, indexed by ModifierType.
+        std::map<ModifierType::Value, float> additiveModifiers_;                 //!< Map of additive modifiers, indexed by ModifierType.
+        std::map<ModifierType::Value, float> multiplicativeModifiers_;           //!< Map of multiplicative modifiers, indexed by ModifierType.
 
         float duration_;                                                        //!< Duration of this pickup's effect (0 for unlimited).
Index: code/trunk/src/orxonox/objects/pickup/ModifierType.h
===================================================================
--- code/trunk/src/orxonox/objects/pickup/ModifierType.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/pickup/ModifierType.h	(revision 3280)
@@ -44,5 +44,5 @@
             @brief Gives the available types for modifiers.
         */
-        enum Enum
+        enum Value
         {
             Unknown = 0,
Index: code/trunk/src/orxonox/objects/pickup/PickupCollection.cc
===================================================================
--- code/trunk/src/orxonox/objects/pickup/PickupCollection.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/pickup/PickupCollection.cc	(revision 3280)
@@ -42,5 +42,5 @@
 {
     typedef std::pair<std::multimap<std::string, BaseItem*>::iterator, std::multimap<std::string, BaseItem*>::iterator> item_range;
-    typedef std::pair<std::multimap<ModifierType::Enum, float>::iterator, std::multimap<ModifierType::Enum, float>::iterator> modifier_range;
+    typedef std::pair<std::multimap<ModifierType::Value, float>::iterator, std::multimap<ModifierType::Value, float>::iterator> modifier_range;
 
     //! Constructor
@@ -200,7 +200,7 @@
         @param value Value for the modifier.
     */
-    void PickupCollection::addAdditiveModifier(ModifierType::Enum type, float value)
-    {
-        this->additiveModifiers_.insert( std::pair<ModifierType::Enum, float>(type, value) );
+    void PickupCollection::addAdditiveModifier(ModifierType::Value type, float value)
+    {
+        this->additiveModifiers_.insert( std::pair<ModifierType::Value, float>(type, value) );
     }
     /**
@@ -209,5 +209,5 @@
         @return Returns the sum of the additive modifiers of the type.
     */
-    float PickupCollection::getAdditiveModifier(ModifierType::Enum type)
+    float PickupCollection::getAdditiveModifier(ModifierType::Value type)
     {
         float v = 0.0f;
@@ -215,5 +215,5 @@
         modifier_range range = this->additiveModifiers_.equal_range(type);
 
-        for (std::multimap<ModifierType::Enum, float>::iterator it = range.first; it != range.second && it != this->additiveModifiers_.end(); it++)
+        for (std::multimap<ModifierType::Value, float>::iterator it = range.first; it != range.second && it != this->additiveModifiers_.end(); it++)
         {
             v += (*it).second;
@@ -227,8 +227,8 @@
         @param value Value which is to be removed.
     */
-    void PickupCollection::removeAdditiveModifier(ModifierType::Enum type, float value)
+    void PickupCollection::removeAdditiveModifier(ModifierType::Value type, float value)
     {
         modifier_range range = this->additiveModifiers_.equal_range(type);
-        for (std::multimap<ModifierType::Enum, float>::iterator it = range.first; it != range.second && it != this->additiveModifiers_.end(); it++)
+        for (std::multimap<ModifierType::Value, float>::iterator it = range.first; it != range.second && it != this->additiveModifiers_.end(); it++)
         {
             if ((*it).second == value)
@@ -244,7 +244,7 @@
         @param value Value for the modifier.
     */
-    void PickupCollection::addMultiplicativeModifier(ModifierType::Enum type, float value)
-    {
-        this->multiplicativeModifiers_.insert( std::pair<ModifierType::Enum, float>(type, value) );
+    void PickupCollection::addMultiplicativeModifier(ModifierType::Value type, float value)
+    {
+        this->multiplicativeModifiers_.insert( std::pair<ModifierType::Value, float>(type, value) );
     }
     /**
@@ -253,10 +253,10 @@
         @return Returns the product of the multiplicative modifiers of the type.
     */
-    float PickupCollection::getMultiplicativeModifier(ModifierType::Enum type)
+    float PickupCollection::getMultiplicativeModifier(ModifierType::Value type)
     {
         float v = 1.0f;
 
         modifier_range range = this->multiplicativeModifiers_.equal_range(type);
-        for (std::multimap<ModifierType::Enum, float>::iterator it = range.first; it != range.second && it != this->multiplicativeModifiers_.end(); it++)
+        for (std::multimap<ModifierType::Value, float>::iterator it = range.first; it != range.second && it != this->multiplicativeModifiers_.end(); it++)
         {
             v *= (*it).second;
@@ -270,8 +270,8 @@
         @param value Value which is to be removed.
     */
-    void PickupCollection::removeMultiplicativeModifier(ModifierType::Enum type, float value)
+    void PickupCollection::removeMultiplicativeModifier(ModifierType::Value type, float value)
     {
         modifier_range range = this->multiplicativeModifiers_.equal_range(type);
-        for (std::multimap<ModifierType::Enum, float>::iterator it = range.first; it != range.second && it != this->multiplicativeModifiers_.end(); it++)
+        for (std::multimap<ModifierType::Value, float>::iterator it = range.first; it != range.second && it != this->multiplicativeModifiers_.end(); it++)
         {
             if ((*it).second == value)
@@ -289,5 +289,5 @@
         @return Returns the value after being processed.
     */
-    float PickupCollection::processModifiers(ModifierType::Enum type, float inputValue, bool addBeforeMultiplication)
+    float PickupCollection::processModifiers(ModifierType::Value type, float inputValue, bool addBeforeMultiplication)
     {
         float outputValue = inputValue;
@@ -310,5 +310,5 @@
         @return Returns the value after being processed.
     */
-    Vector3 PickupCollection::processModifiers(ModifierType::Enum type, Vector3 inputValue, bool addBeforeMultiplication)
+    Vector3 PickupCollection::processModifiers(ModifierType::Value type, Vector3 inputValue, bool addBeforeMultiplication)
     {
         Vector3 outputValue = inputValue;
Index: code/trunk/src/orxonox/objects/pickup/PickupCollection.h
===================================================================
--- code/trunk/src/orxonox/objects/pickup/PickupCollection.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/pickup/PickupCollection.h	(revision 3280)
@@ -67,15 +67,15 @@
         void useItem(UsableItem* item);                                             //!< Use a usable item.
 
-        void addAdditiveModifier(ModifierType::Enum type, float value);             //!< Add an additive modifier.
-        void addMultiplicativeModifier(ModifierType::Enum type, float value);       //!< Add a multiplicative modifier.
+        void addAdditiveModifier(ModifierType::Value type, float value);             //!< Add an additive modifier.
+        void addMultiplicativeModifier(ModifierType::Value type, float value);       //!< Add a multiplicative modifier.
 
-        float getAdditiveModifier(ModifierType::Enum type);                         //!< Get total additive modifier.
-        float getMultiplicativeModifier(ModifierType::Enum type);                   //!< Get total multiplicative modifier.
+        float getAdditiveModifier(ModifierType::Value type);                         //!< Get total additive modifier.
+        float getMultiplicativeModifier(ModifierType::Value type);                   //!< Get total multiplicative modifier.
 
-        void removeAdditiveModifier(ModifierType::Enum type, float value);          //!< Remove an additive modifier.
-        void removeMultiplicativeModifier(ModifierType::Enum type, float value);    //!< Remove a multiplicative modifier.
+        void removeAdditiveModifier(ModifierType::Value type, float value);          //!< Remove an additive modifier.
+        void removeMultiplicativeModifier(ModifierType::Value type, float value);    //!< Remove a multiplicative modifier.
 
-        float processModifiers(ModifierType::Enum type, float inputValue, bool addBeforeMultiplication = false);        //!< Apply the modifiers to a float.
-        Vector3 processModifiers(ModifierType::Enum type, Vector3 inputValue, bool addBeforeMultiplication = false);    //!< Apply the modifiers to a Vector3.
+        float processModifiers(ModifierType::Value type, float inputValue, bool addBeforeMultiplication = false);        //!< Apply the modifiers to a float.
+        Vector3 processModifiers(ModifierType::Value type, Vector3 inputValue, bool addBeforeMultiplication = false);    //!< Apply the modifiers to a Vector3.
 
         /**
@@ -113,6 +113,6 @@
         bool bBlockRemovals_;   //!< Whether to block direct removals through remove().
 
-        std::multimap<ModifierType::Enum, float> additiveModifiers_;        //!< Contains additive modifiers (indexed by ModifierType).
-        std::multimap<ModifierType::Enum, float> multiplicativeModifiers_;  //!< Contains multiplicative modifiers (indexed by ModifierType).
+        std::multimap<ModifierType::Value, float> additiveModifiers_;        //!< Contains additive modifiers (indexed by ModifierType).
+        std::multimap<ModifierType::Value, float> multiplicativeModifiers_;  //!< Contains multiplicative modifiers (indexed by ModifierType).
 
         std::multimap<std::string, BaseItem*> items_;                       //!< Map of items in the collection (indexed by pickupIdentifier of the items).
Index: code/trunk/src/orxonox/objects/quest/GlobalQuest.cc
===================================================================
--- code/trunk/src/orxonox/objects/quest/GlobalQuest.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/GlobalQuest.cc	(revision 3280)
@@ -147,5 +147,5 @@
             return false;
         }
-        return (this->isInactive(player) && !(this->status_ == questStatus::completed || this->status_ == questStatus::failed));
+        return (this->isInactive(player) && !(this->status_ == QuestStatus::Completed || this->status_ == QuestStatus::Failed));
     }
 
@@ -189,5 +189,5 @@
         Throws an Exception if player is NULL.
     */
-    questStatus::Enum GlobalQuest::getStatus(const PlayerInfo* player) const
+    QuestStatus::Value GlobalQuest::getStatus(const PlayerInfo* player) const
     {
         if(player == NULL) //!< We don't want NULL-Pointers!
@@ -203,5 +203,5 @@
         }
 
-        return questStatus::inactive;
+        return QuestStatus::Inactive;
     }
 
@@ -217,5 +217,5 @@
         Returns false if player is NULL.
     */
-    bool GlobalQuest::setStatus(PlayerInfo* player, const questStatus::Enum & status)
+    bool GlobalQuest::setStatus(PlayerInfo* player, const QuestStatus::Value & status)
     {
         if(player == NULL) //!< We don't want NULL-Pointers!
Index: code/trunk/src/orxonox/objects/quest/GlobalQuest.h
===================================================================
--- code/trunk/src/orxonox/objects/quest/GlobalQuest.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/GlobalQuest.h	(revision 3280)
@@ -97,11 +97,11 @@
             virtual bool isCompletable(const PlayerInfo* player) const; //!< Checks whether the Quest can be completed.
 
-            virtual questStatus::Enum getStatus(const PlayerInfo* player) const; //!< Returns the status of the Quest for a specific player.
+            virtual QuestStatus::Value getStatus(const PlayerInfo* player) const; //!< Returns the status of the Quest for a specific player.
             
-            virtual bool setStatus(PlayerInfo* player, const questStatus::Enum & status); //!< Sets the status for a specific player.
+            virtual bool setStatus(PlayerInfo* player, const QuestStatus::Value & status); //!< Sets the status for a specific player.
 
         private:
             std::set<PlayerInfo*> players_; //!< The set of players which possess this Quest.
-            questStatus::Enum status_; //!< The status of this Quest.
+            QuestStatus::Value status_; //!< The status of this Quest.
             std::list<QuestEffect*> rewards_; //!< Reward QuestEffects only invoked on the player completing the Quest.
             
Index: code/trunk/src/orxonox/objects/quest/LocalQuest.cc
===================================================================
--- code/trunk/src/orxonox/objects/quest/LocalQuest.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/LocalQuest.cc	(revision 3280)
@@ -176,5 +176,5 @@
         Throws an Exception if player is NULL.
     */
-    questStatus::Enum LocalQuest::getStatus(const PlayerInfo* player) const
+    QuestStatus::Value LocalQuest::getStatus(const PlayerInfo* player) const
     {
         if(player == NULL) //!< No player has no defined status.
@@ -183,5 +183,5 @@
         }
 
-        std::map<const PlayerInfo*, questStatus::Enum>::const_iterator it = this->playerStatus_.find(player);
+        std::map<const PlayerInfo*, QuestStatus::Value>::const_iterator it = this->playerStatus_.find(player);
         if (it != this->playerStatus_.end()) //!< If there is a player in the map.
         {
@@ -189,5 +189,5 @@
         }
         
-        return questStatus::inactive; //!< If the player is not yet in the map, that means the status of the quest form him is 'inactive'.
+        return QuestStatus::Inactive; //!< If the player is not yet in the map, that means the status of the quest form him is 'inactive'.
     }
 
@@ -203,5 +203,5 @@
         Returns false if player is NULL.
     */
-    bool LocalQuest::setStatus(PlayerInfo* player, const questStatus::Enum & status)
+    bool LocalQuest::setStatus(PlayerInfo* player, const QuestStatus::Value & status)
     {
         if(player == NULL) //!< We can't set a status for no player.
Index: code/trunk/src/orxonox/objects/quest/LocalQuest.h
===================================================================
--- code/trunk/src/orxonox/objects/quest/LocalQuest.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/LocalQuest.h	(revision 3280)
@@ -91,9 +91,9 @@
             virtual bool isCompletable(const PlayerInfo* player) const; //!< Checks whether the Quest can be completed.
 
-            virtual questStatus::Enum getStatus(const PlayerInfo* player) const; //!< Returns the status of the Quest for a specific player.
-            virtual bool setStatus(PlayerInfo* player, const questStatus::Enum & status); //!< Sets the status for a specific player.
+            virtual QuestStatus::Value getStatus(const PlayerInfo* player) const; //!< Returns the status of the Quest for a specific player.
+            virtual bool setStatus(PlayerInfo* player, const QuestStatus::Value & status); //!< Sets the status for a specific player.
 
         private:
-            std::map<const PlayerInfo*, questStatus::Enum> playerStatus_; //!< List of the status for each player, with the Player-pointer as key.
+            std::map<const PlayerInfo*, QuestStatus::Value> playerStatus_; //!< List of the status for each player, with the Player-pointer as key.
 
     };
Index: code/trunk/src/orxonox/objects/quest/Quest.cc
===================================================================
--- code/trunk/src/orxonox/objects/quest/Quest.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/Quest.cc	(revision 3280)
@@ -302,5 +302,5 @@
     bool Quest::isInactive(const PlayerInfo* player) const
     {
-        return this->getStatus(player) == questStatus::inactive;
+        return this->getStatus(player) == QuestStatus::Inactive;
     }
 
@@ -318,5 +318,5 @@
     {
 
-        return this->getStatus(player) == questStatus::active;
+        return this->getStatus(player) == QuestStatus::Active;
     }
 
@@ -333,5 +333,5 @@
     bool Quest::isFailed(const PlayerInfo* player) const
     {
-        return this->getStatus(player) == questStatus::failed;
+        return this->getStatus(player) == QuestStatus::Failed;
     }
 
@@ -348,5 +348,5 @@
     bool Quest::isCompleted(const PlayerInfo* player) const
     {
-        return this->getStatus(player) == questStatus::completed;
+        return this->getStatus(player) == QuestStatus::Completed;
     }
     
@@ -362,5 +362,5 @@
     {
         QuestListener::advertiseStatusChange(this->listeners_, "fail"); //!< Tells the QuestListeners, that the status has changed to failed.
-        this->setStatus(player, questStatus::failed);
+        this->setStatus(player, QuestStatus::Failed);
         
         COUT(4) << "Quest {" << this->getId() << "} is failed for player: " << player << " ." <<std::endl;
@@ -381,5 +381,5 @@
     {
         QuestListener::advertiseStatusChange(this->listeners_, "complete"); //!< Tells the QuestListeners, that the status has changed to completed.
-        this->setStatus(player, questStatus::completed);
+        this->setStatus(player, QuestStatus::Completed);
         
         COUT(4) << "Quest {" << this->getId() << "} is completed for player: " << player << " ." <<std::endl;
@@ -409,5 +409,5 @@
         QuestListener::advertiseStatusChange(this->listeners_, "start"); //!< Tells the QuestListeners, that the status has changed to active.
         
-        this->setStatus(player, questStatus::active);
+        this->setStatus(player, QuestStatus::Active);
         
         this->getDescription()->sendAddQuestNotification();
Index: code/trunk/src/orxonox/objects/quest/Quest.h
===================================================================
--- code/trunk/src/orxonox/objects/quest/Quest.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/Quest.h	(revision 3280)
@@ -43,16 +43,14 @@
 namespace orxonox
 {
-    namespace questStatus
+    namespace QuestStatus
     {
-
         //!Different states of a Quest.
-        enum Enum
+        enum Value
         {
-            inactive,
-            active,
-            failed,
-            completed
+            Inactive,
+            Active,
+            Failed,
+            Completed
         };
-
     }
 
@@ -133,6 +131,6 @@
                 { return this->completeEffects_; }
 
-            virtual questStatus::Enum getStatus(const PlayerInfo* player) const = 0; //!< Returns the status of the Quest for a specific player.
-            virtual bool setStatus(PlayerInfo* player, const questStatus::Enum & status) = 0; //!< Changes the status for a specific player.
+            virtual QuestStatus::Value getStatus(const PlayerInfo* player) const = 0; //!< Returns the status of the Quest for a specific player.
+            virtual bool setStatus(PlayerInfo* player, const QuestStatus::Value & status) = 0; //!< Changes the status for a specific player.
             
         private:
Index: code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc
===================================================================
--- code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.cc	(revision 3280)
@@ -53,5 +53,5 @@
         RegisterObject(QuestEffectBeacon);
         
-        this->status_ = QuestEffectBeaconStatus::active;
+        this->status_ = QuestEffectBeaconStatus::Active;
         this->times_ = INFINITE_TIME;
     }
@@ -162,9 +162,9 @@
         if(activate)
         {
-        this->status_ = QuestEffectBeaconStatus::active;
-        return true;
-        }
-        
-        this->status_ = QuestEffectBeaconStatus::inactive;
+        this->status_ = QuestEffectBeaconStatus::Active;
+        return true;
+        }
+        
+        this->status_ = QuestEffectBeaconStatus::Inactive;
         return true;
     }
@@ -190,5 +190,5 @@
         if(this->getTimes() == 0) //!< Set the QuestEffectBeacon to inactive when the number of times it can be executed is reduced to 0.
         {
-            this->status_ = QuestEffectBeaconStatus::inactive;
+            this->status_ = QuestEffectBeaconStatus::Inactive;
         }
         
Index: code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.h
===================================================================
--- code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/QuestEffectBeacon.h	(revision 3280)
@@ -44,12 +44,10 @@
     namespace QuestEffectBeaconStatus
     {
-
         //! The status of the beacon, can be either active or inactive.
-        enum Enum
+        enum Value
         {
-            inactive,
-            active
+            Inactive,
+            Active
         };
-
     }
 
@@ -98,5 +96,5 @@
             */
             inline bool isActive(void)
-            { return this->status_ == QuestEffectBeaconStatus::active; }
+            { return this->status_ == QuestEffectBeaconStatus::Active; }
             
             bool setActive(bool activate); //!< Set the status of the QuestEffectBeacon.
@@ -117,5 +115,5 @@
             std::list<QuestEffect*> effects_; //!< The list of QuestEffects to be invoked on the executing player.
             int times_; //!< Number of times the beacon can be exectued.
-            QuestEffectBeaconStatus::Enum status_; //!< The status of the QUestEffectBeacon, Can be eighter active or inactive.
+            QuestEffectBeaconStatus::Value status_; //!< The status of the QUestEffectBeacon, Can be eighter active or inactive.
             
             bool setTimes(const int & n); //!< Set the number of times the QuestEffectBeacon can be executed.
Index: code/trunk/src/orxonox/objects/quest/QuestHint.cc
===================================================================
--- code/trunk/src/orxonox/objects/quest/QuestHint.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/QuestHint.cc	(revision 3280)
@@ -95,5 +95,5 @@
 
         //! Find the player.
-        std::map<const PlayerInfo*, questHintStatus::Enum>::const_iterator it = this->playerStatus_.find(player);
+        std::map<const PlayerInfo*, QuestHintStatus::Value>::const_iterator it = this->playerStatus_.find(player);
         if (it != this->playerStatus_.end()) //!< If the player is in the map.
         {
@@ -101,5 +101,5 @@
         }
         
-        return questStatus::inactive;
+        return QuestStatus::Inactive;
     }
 
@@ -118,5 +118,5 @@
             if(!(this->isActive(player)))  //!< If the hint is already active, activation is pointless.
             {
-                this->playerStatus_[player] = questHintStatus::active;
+                this->playerStatus_[player] = QuestHintStatus::Active;
                 
                 this->getDescription()->sendAddHintNotification();
Index: code/trunk/src/orxonox/objects/quest/QuestHint.h
===================================================================
--- code/trunk/src/orxonox/objects/quest/QuestHint.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/QuestHint.h	(revision 3280)
@@ -42,14 +42,12 @@
 namespace orxonox
 {
-    namespace questHintStatus
+    namespace QuestHintStatus
     {
-
         //! The state of the hint.
-        enum Enum
+        enum Value
         {
-            inactive,
-            active
+            Inactive,
+            Active
         };
-
     }
 
@@ -91,5 +89,5 @@
         private:
             Quest* quest_; //!< The Quest the QuestHint belongs to.
-            std::map<const PlayerInfo*, questHintStatus::Enum> playerStatus_; //!< List of the states for each player, with the Player-pointer as key.
+            std::map<const PlayerInfo*, QuestHintStatus::Value> playerStatus_; //!< List of the states for each player, with the Player-pointer as key.
 
     };
Index: code/trunk/src/orxonox/objects/quest/QuestListener.cc
===================================================================
--- code/trunk/src/orxonox/objects/quest/QuestListener.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/QuestListener.cc	(revision 3280)
@@ -51,5 +51,5 @@
         RegisterObject(QuestListener);
         
-        this->mode_ = questListenerMode::all;
+        this->mode_ = QuestListenerMode::All;
         this->quest_ = NULL;
     }
@@ -132,22 +132,22 @@
         if(mode == "all")
         {
-            this->mode_ = questListenerMode::all;
+            this->mode_ = QuestListenerMode::All;
         }
         else if(mode == "start")
         {
-            this->mode_ = questListenerMode::start;
+            this->mode_ = QuestListenerMode::Start;
         }
         else if(mode == "fail")
         {
-            this->mode_ = questListenerMode::fail;
+            this->mode_ = QuestListenerMode::Fail;
         }
         else if(mode == "complete")
         {
-            this->mode_ = questListenerMode::complete;
+            this->mode_ = QuestListenerMode::Complete;
         }
         else
         {
             COUT(2) << "QuestListener with invalid mode '" << mode << "' created. Mode set to 'all'." << std::endl;
-        this->mode_ = questListenerMode::all;
+        this->mode_ = QuestListenerMode::All;
         return false;
         }
@@ -164,17 +164,17 @@
     std::string QuestListener::getMode(void)
     {
-        if(this->mode_ == questListenerMode::all)
+        if(this->mode_ == QuestListenerMode::All)
         {
             return "all";
         }
-        else if(this->mode_ == questListenerMode::start)
+        else if(this->mode_ == QuestListenerMode::Start)
         {
             return "start";
         }
-        else if(this->mode_ == questListenerMode::fail)
+        else if(this->mode_ == QuestListenerMode::Fail)
         {
             return "fail";
         }
-        else if(this->mode_ == questListenerMode::complete)
+        else if(this->mode_ == QuestListenerMode::Complete)
         {
             return "complete";
Index: code/trunk/src/orxonox/objects/quest/QuestListener.h
===================================================================
--- code/trunk/src/orxonox/objects/quest/QuestListener.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/quest/QuestListener.h	(revision 3280)
@@ -43,16 +43,14 @@
 namespace orxonox
 {
-    namespace questListenerMode
+    namespace QuestListenerMode
     {
-
         //! The mode of the QuestListener.
-        enum Enum
+        enum Value
         {
-            all,
-            start,
-            fail,
-            complete
+            All,
+            Start,
+            Fail,
+            Complete
         };
-
     }
 
@@ -93,5 +91,5 @@
         
     private:
-        questListenerMode::Enum mode_; //!< The mode of the QuestListener.
+        QuestListenerMode::Value mode_; //!< The mode of the QuestListener.
         Quest* quest_; //!< A pointer to the Quest the QuestListener is reacting to.
     
Index: code/trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/weaponsystem/projectiles/LightningGunProjectile.cc	(revision 3280)
@@ -56,5 +56,5 @@
         this->materialBase_ = material;    
     
-        BillboardProjectile::setMaterial(material + convertToString(this->textureIndex_));
+        BillboardProjectile::setMaterial(material + multi_cast<std::string>(this->textureIndex_));
     }
 
Index: code/trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc
===================================================================
--- code/trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/weaponsystem/projectiles/ParticleProjectile.cc	(revision 3280)
@@ -44,5 +44,5 @@
         if (GameMode::showsGraphics())
         {
-            this->particles_ = new ParticleInterface(this->getScene()->getSceneManager(), "Orxonox/shot3_small", LODParticle::normal);
+            this->particles_ = new ParticleInterface(this->getScene()->getSceneManager(), "Orxonox/shot3_small", LODParticle::Normal);
             this->attachOgreObject(this->particles_->getParticleSystem());
             this->particles_->setKeepParticlesInLocalSpace(0);
Index: code/trunk/src/orxonox/objects/worldentities/Backlight.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Backlight.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Backlight.cc	(revision 3280)
@@ -29,4 +29,5 @@
 #include "Backlight.h"
 
+#include <algorithm>
 #include <OgreRibbonTrail.h>
 #include <OgreSceneManager.h>
@@ -108,9 +109,9 @@
     void Backlight::registerVariables()
     {
-        registerVariable(this->width_,         variableDirection::toclient, new NetworkCallback<Backlight>(this, &Backlight::update_width));
-        registerVariable(this->lifetime_,      variableDirection::toclient, new NetworkCallback<Backlight>(this, &Backlight::update_lifetime));
-        registerVariable(this->length_,        variableDirection::toclient, new NetworkCallback<Backlight>(this, &Backlight::update_length));
-        registerVariable(this->maxelements_,   variableDirection::toclient, new NetworkCallback<Backlight>(this, &Backlight::update_maxelements));
-        registerVariable(this->trailmaterial_, variableDirection::toclient, new NetworkCallback<Backlight>(this, &Backlight::update_trailmaterial));
+        registerVariable(this->width_,         VariableDirection::ToClient, new NetworkCallback<Backlight>(this, &Backlight::update_width));
+        registerVariable(this->lifetime_,      VariableDirection::ToClient, new NetworkCallback<Backlight>(this, &Backlight::update_lifetime));
+        registerVariable(this->length_,        VariableDirection::ToClient, new NetworkCallback<Backlight>(this, &Backlight::update_length));
+        registerVariable(this->maxelements_,   VariableDirection::ToClient, new NetworkCallback<Backlight>(this, &Backlight::update_maxelements));
+        registerVariable(this->trailmaterial_, VariableDirection::ToClient, new NetworkCallback<Backlight>(this, &Backlight::update_trailmaterial));
     }
 
@@ -175,5 +176,5 @@
     void Backlight::stopturnonoff()
     {
-        this->postprocessingtime_ = max(0.0f, this->lifetime_ - this->turnofftime_);
+        this->postprocessingtime_ = std::max(0.0f, this->lifetime_ - this->turnofftime_);
 
         FadingBillboard::stopturnonoff();
Index: code/trunk/src/orxonox/objects/worldentities/BigExplosion.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/BigExplosion.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/BigExplosion.cc	(revision 3280)
@@ -56,5 +56,5 @@
 */
         this->bStop_ = false;
-        this->LOD_ = LODParticle::normal;
+        this->LOD_ = LODParticle::Normal;
 
 /*      this->stf_ = "setTimeFactor ";
@@ -307,6 +307,6 @@
     void BigExplosion::registerVariables()
     {
-        registerVariable((int&)(this->LOD_), variableDirection::toclient, new NetworkCallback<BigExplosion>(this, &BigExplosion::LODchanged));
-        registerVariable(this->bStop_,       variableDirection::toclient, new NetworkCallback<BigExplosion>(this, &BigExplosion::checkStop));
+        registerVariable((int&)(this->LOD_), VariableDirection::ToClient, new NetworkCallback<BigExplosion>(this, &BigExplosion::LODchanged));
+        registerVariable(this->bStop_,       VariableDirection::ToClient, new NetworkCallback<BigExplosion>(this, &BigExplosion::checkStop));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/BigExplosion.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/BigExplosion.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/BigExplosion.h	(revision 3280)
@@ -47,7 +47,7 @@
             void registerVariables();
 
-            inline void setLOD(LODParticle::LOD level)
+            inline void setLOD(LODParticle::Value level)
                 { this->LOD_ = level; this->LODchanged(); }
-            inline LODParticle::LOD getLOD() const
+            inline LODParticle::Value getLOD() const
                 { return this->LOD_; }
 
@@ -98,5 +98,5 @@
             ParticleInterface*    explosionFire_;
 
-            LODParticle::LOD      LOD_;
+            LODParticle::Value      LOD_;
             Timer<BigExplosion> destroyTimer_;
     };
Index: code/trunk/src/orxonox/objects/worldentities/Billboard.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Billboard.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Billboard.cc	(revision 3280)
@@ -69,7 +69,7 @@
     void Billboard::registerVariables()
     {
-        registerVariable(this->material_, variableDirection::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedMaterial));
-        registerVariable(this->colour_,   variableDirection::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedColour));
-//        registerVariable(this->rotation_, variableDirection::toclient, new NetworkCallback<Billboard>(this, &Billboard::changedRotation));
+        registerVariable(this->material_, VariableDirection::ToClient, new NetworkCallback<Billboard>(this, &Billboard::changedMaterial));
+        registerVariable(this->colour_,   VariableDirection::ToClient, new NetworkCallback<Billboard>(this, &Billboard::changedColour));
+//        registerVariable(this->rotation_, VariableDirection::ToClient, new NetworkCallback<Billboard>(this, &Billboard::changedRotation));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/BlinkingBillboard.cc	(revision 3280)
@@ -66,7 +66,7 @@
     void BlinkingBillboard::registerVariables()
     {
-//        registerVariable(this->amplitude_, variableDirection::toclient);
-//        registerVariable(this->frequency_, variableDirection::toclient);
-//        registerVariable(this->phase_,     variableDirection::toclient);
+//        registerVariable(this->amplitude_, VariableDirection::ToClient);
+//        registerVariable(this->frequency_, VariableDirection::ToClient);
+//        registerVariable(this->phase_,     VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/Camera.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Camera.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Camera.cc	(revision 3280)
@@ -29,4 +29,5 @@
 #include "Camera.h"
 
+#include <algorithm>
 #include <OgreCamera.h>
 #include <OgreSceneManager.h>
@@ -34,5 +35,5 @@
 
 #include "util/Exception.h"
-#include "util/String.h"
+#include "util/StringUtils.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
@@ -104,5 +105,5 @@
         {
             // this stuff here may need some adjustments
-            float coeff = min(1.0f, 15.0f * dt);
+            float coeff = std::min(1.0f, 15.0f * dt);
 
             Vector3 offset = this->getWorldPosition() - this->cameraNode_->_getDerivedPosition();
Index: code/trunk/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 3280)
@@ -79,5 +79,5 @@
 
         this->setConfigValues();
-        this->setPriority( priority::very_high );
+        this->setPriority( Priority::VeryHigh );
         this->registerVariables();
     }
@@ -238,5 +238,5 @@
             {
                 this->client_overwrite_ = this->server_overwrite_;
-                this->setObjectMode(objectDirection::bidirectional);
+                this->setObjectMode(ObjectDirection::Bidirectional);
             }
         }
@@ -254,5 +254,5 @@
         this->bHasLocalController_ = false;
         this->bHasHumanController_ = false;
-        this->setObjectMode(objectDirection::toclient);
+        this->setObjectMode(ObjectDirection::ToClient);
 
         this->changedPlayer();
@@ -368,22 +368,22 @@
     void ControllableEntity::registerVariables()
     {
-        registerVariable(this->cameraPositionTemplate_,  variableDirection::toclient);
-        registerVariable(this->hudtemplate_,             variableDirection::toclient);
-
-        registerVariable(this->server_position_,         variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerPosition));
-        registerVariable(this->server_linear_velocity_,  variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerLinearVelocity));
-        registerVariable(this->server_orientation_,      variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerOrientation));
-        registerVariable(this->server_angular_velocity_, variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerAngularVelocity));
-
-        registerVariable(this->server_overwrite_,        variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processOverwrite));
-        registerVariable(this->client_overwrite_,        variableDirection::toserver);
-
-        registerVariable(this->client_position_,         variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientPosition));
-        registerVariable(this->client_linear_velocity_,  variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientLinearVelocity));
-        registerVariable(this->client_orientation_,      variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientOrientation));
-        registerVariable(this->client_angular_velocity_, variableDirection::toserver, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientAngularVelocity));
+        registerVariable(this->cameraPositionTemplate_,  VariableDirection::ToClient);
+        registerVariable(this->hudtemplate_,             VariableDirection::ToClient);
+
+        registerVariable(this->server_position_,         VariableDirection::ToClient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerPosition));
+        registerVariable(this->server_linear_velocity_,  VariableDirection::ToClient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerLinearVelocity));
+        registerVariable(this->server_orientation_,      VariableDirection::ToClient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerOrientation));
+        registerVariable(this->server_angular_velocity_, VariableDirection::ToClient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processServerAngularVelocity));
+
+        registerVariable(this->server_overwrite_,        VariableDirection::ToClient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processOverwrite));
+        registerVariable(this->client_overwrite_,        VariableDirection::ToServer);
+
+        registerVariable(this->client_position_,         VariableDirection::ToServer, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientPosition));
+        registerVariable(this->client_linear_velocity_,  VariableDirection::ToServer, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientLinearVelocity));
+        registerVariable(this->client_orientation_,      VariableDirection::ToServer, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientOrientation));
+        registerVariable(this->client_angular_velocity_, VariableDirection::ToServer, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::processClientAngularVelocity));
         
 
-        registerVariable(this->playerID_,                variableDirection::toclient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::networkcallback_changedplayerID));
+        registerVariable(this->playerID_,                VariableDirection::ToClient, new NetworkCallback<ControllableEntity>(this, &ControllableEntity::networkcallback_changedplayerID));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.cc	(revision 3280)
@@ -48,5 +48,5 @@
 
         this->bStop_ = false;
-        this->LOD_ = LODParticle::normal;
+        this->LOD_ = LODParticle::Normal;
 
         if ( GameMode::showsGraphics() )
@@ -104,6 +104,6 @@
     void ExplosionChunk::registerVariables()
     {
-        registerVariable((int&)(this->LOD_), variableDirection::toclient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::LODchanged));
-        registerVariable(this->bStop_,       variableDirection::toclient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::checkStop));
+        registerVariable((int&)(this->LOD_), VariableDirection::ToClient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::LODchanged));
+        registerVariable(this->bStop_,       VariableDirection::ToClient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::checkStop));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/ExplosionChunk.h	(revision 3280)
@@ -46,7 +46,7 @@
             void registerVariables();
 
-            inline void setLOD(LODParticle::LOD level)
+            inline void setLOD(LODParticle::Value level)
                 { this->LOD_ = level; this->LODchanged(); }
-            inline LODParticle::LOD getLOD() const
+            inline LODParticle::Value getLOD() const
                 { return this->LOD_; }
 
@@ -60,5 +60,5 @@
             ParticleInterface*    fire_;
             ParticleInterface*    smoke_;
-            LODParticle::LOD      LOD_;
+            LODParticle::Value      LOD_;
             Timer<ExplosionChunk> destroyTimer_;
     };
Index: code/trunk/src/orxonox/objects/worldentities/FadingBillboard.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/FadingBillboard.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/FadingBillboard.cc	(revision 3280)
@@ -64,6 +64,6 @@
     void FadingBillboard::registerVariables()
     {
-        registerVariable(this->turnontime_,  variableDirection::toclient);
-        registerVariable(this->turnofftime_, variableDirection::toclient);
+        registerVariable(this->turnontime_,  VariableDirection::ToClient);
+        registerVariable(this->turnofftime_, VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/Light.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Light.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Light.cc	(revision 3280)
@@ -33,5 +33,5 @@
 #include <boost/static_assert.hpp>
 
-#include "util/String.h"
+#include "util/StringUtils.h"
 #include "util/Exception.h"
 #include "core/CoreIncludes.h"
@@ -45,7 +45,7 @@
 
     // Be sure we don't do bad conversions
-    BOOST_STATIC_ASSERT((int)Ogre::Light::LT_POINT       == (int)Light::LT_POINT);
-    BOOST_STATIC_ASSERT((int)Ogre::Light::LT_DIRECTIONAL == (int)Light::LT_DIRECTIONAL);
-    BOOST_STATIC_ASSERT((int)Ogre::Light::LT_SPOTLIGHT   == (int)Light::LT_SPOTLIGHT);
+    BOOST_STATIC_ASSERT((int)Ogre::Light::LT_POINT       == (int)Light::Point);
+    BOOST_STATIC_ASSERT((int)Ogre::Light::LT_DIRECTIONAL == (int)Light::Directional);
+    BOOST_STATIC_ASSERT((int)Ogre::Light::LT_SPOTLIGHT   == (int)Light::Spotlight);
 
     Light::Light(BaseObject* creator) : StaticEntity(creator)
@@ -56,5 +56,5 @@
         this->diffuse_ = ColourValue::White;
         this->specular_ = ColourValue::White;
-        this->type_ = Light::LT_POINT;
+        this->type_ = Light::Point;
         this->attenuation_ = Vector4(100000, 1, 0, 0);
         this->spotlightRange_ = Vector3(40.0f, 30.0f, 1.0f);
@@ -106,9 +106,9 @@
     void Light::registerVariables()
     {
-        registerVariable((int&)this->type_,     variableDirection::toclient, new NetworkCallback<Light>(this, &Light::updateType));
-        registerVariable(this->diffuse_,        variableDirection::toclient, new NetworkCallback<Light>(this, &Light::updateDiffuseColour));
-        registerVariable(this->specular_,       variableDirection::toclient, new NetworkCallback<Light>(this, &Light::updateSpecularColour));
-        registerVariable(this->attenuation_,    variableDirection::toclient, new NetworkCallback<Light>(this, &Light::updateAttenuation));
-        registerVariable(this->spotlightRange_, variableDirection::toclient, new NetworkCallback<Light>(this, &Light::updateSpotlightRange));
+        registerVariable((int&)this->type_,     VariableDirection::ToClient, new NetworkCallback<Light>(this, &Light::updateType));
+        registerVariable(this->diffuse_,        VariableDirection::ToClient, new NetworkCallback<Light>(this, &Light::updateDiffuseColour));
+        registerVariable(this->specular_,       VariableDirection::ToClient, new NetworkCallback<Light>(this, &Light::updateSpecularColour));
+        registerVariable(this->attenuation_,    VariableDirection::ToClient, new NetworkCallback<Light>(this, &Light::updateAttenuation));
+        registerVariable(this->spotlightRange_, VariableDirection::ToClient, new NetworkCallback<Light>(this, &Light::updateSpotlightRange));
     }
 
@@ -127,5 +127,5 @@
     void Light::updateAttenuation()
     {
-        if (this->light_ && this->type_ != Light::LT_DIRECTIONAL)
+        if (this->light_ && this->type_ != Light::Directional)
             this->light_->setAttenuation(this->attenuation_.x, this->attenuation_.y, this->attenuation_.z, this->attenuation_.w);
     }
@@ -133,5 +133,5 @@
     void Light::updateSpotlightRange()
     {
-        if (this->light_ && this->type_ == Light::LT_SPOTLIGHT)
+        if (this->light_ && this->type_ == Light::Spotlight)
             this->light_->setSpotlightRange(Degree(this->spotlightRange_.x), Degree(this->spotlightRange_.y), this->spotlightRange_.z);
     }
@@ -140,11 +140,11 @@
     {
         if (type == "point")
-            this->setType(Light::LT_POINT);
+            this->setType(Light::Point);
         else if (type == "directional")
-            this->setType(Light::LT_DIRECTIONAL);
+            this->setType(Light::Directional);
         else if (type == "spotlight")
-            this->setType(Light::LT_SPOTLIGHT);
+            this->setType(Light::Spotlight);
         else
-            this->setType(Light::LT_POINT);
+            this->setType(Light::Point);
     }
 
@@ -153,9 +153,9 @@
         switch (this->type_)
         {
-            case Light::LT_DIRECTIONAL:
+            case Light::Directional:
                 return "directional";
-            case Light::LT_SPOTLIGHT:
+            case Light::Spotlight:
                 return "spotlight";
-            case Light::LT_POINT:
+            case Light::Point:
             default:
                 return "point";
@@ -169,7 +169,7 @@
             this->light_->setType(static_cast<Ogre::Light::LightTypes>(this->type_));
 
-            if (this->type_ != Light::LT_DIRECTIONAL)
+            if (this->type_ != Light::Directional)
                 this->updateAttenuation();
-            if (this->type_ == Light::LT_SPOTLIGHT)
+            if (this->type_ == Light::Spotlight)
                 this->updateSpotlightRange();
         }
Index: code/trunk/src/orxonox/objects/worldentities/Light.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Light.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Light.h	(revision 3280)
@@ -45,9 +45,9 @@
             {
                 /// Point light sources give off light equally in all directions, so require only position not direction
-                LT_POINT,
+                Point,
                 /// Directional lights simulate parallel light beams from a distant source, hence have direction but no position
-                LT_DIRECTIONAL,
+                Directional,
                 /// Spotlights simulate a cone of light from a source so require position and direction, plus extra values for falloff
-                LT_SPOTLIGHT
+                Spotlight
             };
 
Index: code/trunk/src/orxonox/objects/worldentities/Model.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Model.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Model.cc	(revision 3280)
@@ -65,6 +65,6 @@
     void Model::registerVariables()
     {
-        registerVariable(this->meshSrc_,    variableDirection::toclient, new NetworkCallback<Model>(this, &Model::changedMesh));
-        registerVariable(this->bCastShadows_, variableDirection::toclient, new NetworkCallback<Model>(this, &Model::changedShadows));
+        registerVariable(this->meshSrc_,    VariableDirection::ToClient, new NetworkCallback<Model>(this, &Model::changedMesh));
+        registerVariable(this->bCastShadows_, VariableDirection::ToClient, new NetworkCallback<Model>(this, &Model::changedShadows));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 3280)
@@ -52,5 +52,5 @@
         this->continuousResynchroTimer_ = 0;
 
-        this->setPriority(priority::low);
+        this->setPriority(Priority::Low);
 
         this->registerVariables();
@@ -89,9 +89,9 @@
     void MovableEntity::registerVariables()
     {
-        registerVariable(this->linearVelocity_,        variableDirection::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::processLinearVelocity));
-        registerVariable(this->angularVelocity_,       variableDirection::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::processAngularVelocity));
+        registerVariable(this->linearVelocity_,        VariableDirection::ToClient, new NetworkCallback<MovableEntity>(this, &MovableEntity::processLinearVelocity));
+        registerVariable(this->angularVelocity_,       VariableDirection::ToClient, new NetworkCallback<MovableEntity>(this, &MovableEntity::processAngularVelocity));
 
-        registerVariable(this->overwrite_position_,    variableDirection::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwritePosition));
-        registerVariable(this->overwrite_orientation_, variableDirection::toclient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwriteOrientation));
+        registerVariable(this->overwrite_position_,    VariableDirection::ToClient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwritePosition));
+        registerVariable(this->overwrite_orientation_, VariableDirection::ToClient, new NetworkCallback<MovableEntity>(this, &MovableEntity::overwriteOrientation));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.cc	(revision 3280)
@@ -53,5 +53,5 @@
 
         this->particles_ = 0;
-        this->LOD_ = LODParticle::normal;
+        this->LOD_ = LODParticle::Normal;
 
         this->registerVariables();
@@ -71,5 +71,5 @@
         SUPER(ParticleEmitter, XMLPort, xmlelement, mode);
 
-        XMLPortParam(ParticleEmitter, "lod",    setLODxml, getLODxml, xmlelement, mode).defaultValues(LODParticle::normal);
+        XMLPortParam(ParticleEmitter, "lod",    setLODxml, getLODxml, xmlelement, mode).defaultValues(LODParticle::Normal);
         XMLPortParam(ParticleEmitter, "source", setSource, getSource, xmlelement, mode);
     }
@@ -77,6 +77,6 @@
     void ParticleEmitter::registerVariables()
     {
-        registerVariable(this->source_, variableDirection::toclient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::sourceChanged));
-        registerVariable((int&)(this->LOD_),    variableDirection::toclient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::LODchanged));
+        registerVariable(this->source_, VariableDirection::ToClient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::sourceChanged));
+        registerVariable((int&)(this->LOD_),    VariableDirection::ToClient, new NetworkCallback<ParticleEmitter>(this, &ParticleEmitter::LODchanged));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/ParticleEmitter.h	(revision 3280)
@@ -57,12 +57,12 @@
                 { return this->source_; }
 
-            inline void setLOD(LODParticle::LOD level)
+            inline void setLOD(LODParticle::Value level)
                 { this->LOD_ = level; this->LODchanged(); }
-            inline LODParticle::LOD getLOD() const
+            inline LODParticle::Value getLOD() const
                 { return this->LOD_; }
 
         protected:
             inline void setLODxml(unsigned int level)
-                { this->LOD_ = (LODParticle::LOD)level; this->LODchanged(); }
+                { this->LOD_ = (LODParticle::Value)level; this->LODchanged(); }
             inline unsigned int getLODxml() const
                 { return (unsigned int)this->LOD_; }
@@ -73,5 +73,5 @@
             ParticleInterface* particles_;
             std::string        source_;
-            LODParticle::LOD   LOD_;
+            LODParticle::Value   LOD_;
     };
 }
Index: code/trunk/src/orxonox/objects/worldentities/Planet.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/Planet.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/Planet.cc	(revision 3280)
@@ -157,9 +157,9 @@
     void Planet::registerVariables()
     {
-        registerVariable(this->atmosphere_, variableDirection::toclient);
-        registerVariable(this->meshSrc_, variableDirection::toclient, new NetworkCallback<Planet>(this, &Planet::changedMesh));
-        registerVariable(this->bCastShadows_, variableDirection::toclient, new NetworkCallback<Planet>(this, &Planet::changedShadows));
-        registerVariable(this->atmosphereSize, variableDirection::toclient);
-        registerVariable(this->imageSize, variableDirection::toclient);
+        registerVariable(this->atmosphere_, VariableDirection::ToClient);
+        registerVariable(this->meshSrc_, VariableDirection::ToClient, new NetworkCallback<Planet>(this, &Planet::changedMesh));
+        registerVariable(this->bCastShadows_, VariableDirection::ToClient, new NetworkCallback<Planet>(this, &Planet::changedShadows));
+        registerVariable(this->atmosphereSize, VariableDirection::ToClient);
+        registerVariable(this->imageSize, VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/PongBall.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/PongBall.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/PongBall.cc	(revision 3280)
@@ -72,5 +72,5 @@
         registerVariable( this->relMercyOffset_ );
         registerVariable( this->batID_[0] );
-        registerVariable( this->batID_[1], variableDirection::toclient, new NetworkCallback<PongBall>( this, &PongBall::applyBats) );
+        registerVariable( this->batID_[1], VariableDirection::ToClient, new NetworkCallback<PongBall>( this, &PongBall::applyBats) );
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/StaticEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/StaticEntity.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/StaticEntity.cc	(revision 3280)
@@ -43,5 +43,5 @@
         RegisterObject(StaticEntity);
         
-        this->setPriority(priority::very_low);
+        this->setPriority(Priority::VeryLow);
 
         this->registerVariables();
@@ -54,6 +54,6 @@
     void StaticEntity::registerVariables()
     {
-        registerVariable(this->getPosition(),    variableDirection::toclient, new NetworkCallback<StaticEntity>(this, &StaticEntity::positionChanged));
-        registerVariable(this->getOrientation(), variableDirection::toclient, new NetworkCallback<StaticEntity>(this, &StaticEntity::orientationChanged));
+        registerVariable(this->getPosition(),    VariableDirection::ToClient, new NetworkCallback<StaticEntity>(this, &StaticEntity::positionChanged));
+        registerVariable(this->getOrientation(), VariableDirection::ToClient, new NetworkCallback<StaticEntity>(this, &StaticEntity::orientationChanged));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/WorldEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/WorldEntity.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/WorldEntity.cc	(revision 3280)
@@ -175,29 +175,29 @@
     void WorldEntity::registerVariables()
     {
-        registerVariable(this->mainStateName_,  variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedMainState));
-
-        registerVariable(this->bActive_,        variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedActivity));
-        registerVariable(this->bVisible_,       variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedVisibility));
-
-        registerVariable(this->getScale3D(),    variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::scaleChanged));
+        registerVariable(this->mainStateName_,  VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedMainState));
+
+        registerVariable(this->bActive_,        VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedActivity));
+        registerVariable(this->bVisible_,       VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::changedVisibility));
+
+        registerVariable(this->getScale3D(),    VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::scaleChanged));
 
         // Physics stuff
-        registerVariable(this->mass_,           variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::massChanged));
-        registerVariable(this->restitution_,    variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::restitutionChanged));
-        registerVariable(this->angularFactor_,  variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::angularFactorChanged));
-        registerVariable(this->linearDamping_,  variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::linearDampingChanged));
-        registerVariable(this->angularDamping_, variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::angularDampingChanged));
-        registerVariable(this->friction_,       variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::frictionChanged));
+        registerVariable(this->mass_,           VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::massChanged));
+        registerVariable(this->restitution_,    VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::restitutionChanged));
+        registerVariable(this->angularFactor_,  VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::angularFactorChanged));
+        registerVariable(this->linearDamping_,  VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::linearDampingChanged));
+        registerVariable(this->angularDamping_, VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::angularDampingChanged));
+        registerVariable(this->friction_,       VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::frictionChanged));
         registerVariable(this->bCollisionCallbackActive_,
-                                                variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionCallbackActivityChanged));
+                                                VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionCallbackActivityChanged));
         registerVariable(this->bCollisionResponseActive_,
-                                                variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionResponseActivityChanged));
+                                                VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionResponseActivityChanged));
         registerVariable((int&)this->collisionTypeSynchronised_,
-                                                variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionTypeChanged));
+                                                VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionTypeChanged));
         registerVariable(this->bPhysicsActiveSynchronised_,
-                                                variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::physicsActivityChanged));
+                                                VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::physicsActivityChanged));
 
         // Attach to parent if necessary
-        registerVariable(this->parentID_,       variableDirection::toclient, new NetworkCallback<WorldEntity>(this, &WorldEntity::networkcallback_parentChanged));
+        registerVariable(this->parentID_,       VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::networkcallback_parentChanged));
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 3280)
@@ -28,4 +28,6 @@
 
 #include "Pawn.h"
+
+#include <algorithm>
 
 #include "core/CoreIncludes.h"
@@ -117,8 +119,8 @@
     void Pawn::registerVariables()
     {
-        registerVariable(this->bAlive_,        variableDirection::toclient);
-        registerVariable(this->health_,        variableDirection::toclient);
-        registerVariable(this->initialHealth_, variableDirection::toclient);
-        registerVariable(this->bReload_,       variableDirection::toserver);
+        registerVariable(this->bAlive_,        VariableDirection::ToClient);
+        registerVariable(this->health_,        VariableDirection::ToClient);
+        registerVariable(this->initialHealth_, VariableDirection::ToClient);
+        registerVariable(this->bReload_,       VariableDirection::ToServer);
     }
 
@@ -152,5 +154,5 @@
     void Pawn::setHealth(float health)
     {
-        this->health_ = min(health, this->maxHealth_);
+        this->health_ = std::min(health, this->maxHealth_);
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/pawns/SpaceShip.cc	(revision 3280)
@@ -90,7 +90,7 @@
     void SpaceShip::registerVariables()
     {
-        registerVariable(this->primaryThrust_,  variableDirection::toclient);
-        registerVariable(this->auxilaryThrust_, variableDirection::toclient);
-        registerVariable(this->rotationThrust_, variableDirection::toclient);
+        registerVariable(this->primaryThrust_,  VariableDirection::ToClient);
+        registerVariable(this->auxilaryThrust_, VariableDirection::ToClient);
+        registerVariable(this->rotationThrust_, VariableDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 3280)
@@ -93,6 +93,6 @@
     void Spectator::registerVariables()
     {
-        registerVariable(this->bGreetingFlareVisible_, variableDirection::toclient, new NetworkCallback<Spectator>(this, &Spectator::changedFlareVisibility));
-        registerVariable(this->bGreeting_,             variableDirection::toserver, new NetworkCallback<Spectator>(this, &Spectator::changedGreeting));
+        registerVariable(this->bGreetingFlareVisible_, VariableDirection::ToClient, new NetworkCallback<Spectator>(this, &Spectator::changedFlareVisibility));
+        registerVariable(this->bGreeting_,             VariableDirection::ToServer, new NetworkCallback<Spectator>(this, &Spectator::changedGreeting));
     }
 
@@ -145,5 +145,5 @@
         ControllableEntity::setPlayer(player);
 
-//        this->setObjectMode(objectDirection::toclient);
+//        this->setObjectMode(ObjectDirection::ToClient);
     }
 
Index: code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.cc	(revision 3280)
@@ -43,5 +43,5 @@
         RegisterObject(TeamBaseMatchBase);
 
-        this->state_ = BaseState::uncontrolled;
+        this->state_ = BaseState::Uncontrolled;
 
         TeamBaseMatch* gametype = dynamic_cast<TeamBaseMatch*>(this->getGametype());
@@ -66,11 +66,11 @@
         switch (this->state_)
         {
-            case BaseState::controlTeam1:
+            case BaseState::ControlTeam1:
                 colour = gametype->getTeamColour(0);
                 break;
-            case BaseState::controlTeam2:
+            case BaseState::ControlTeam2:
                 colour = gametype->getTeamColour(1);
                 break;
-            case BaseState::uncontrolled:
+            case BaseState::Uncontrolled:
             default:
                 colour = ColourValue(0.5, 0.5, 0.5, 1.0);
Index: code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/pawns/TeamBaseMatchBase.h	(revision 3280)
@@ -38,9 +38,9 @@
     namespace BaseState
     {
-        enum Enum
+        enum Value
         {
-            uncontrolled,
-            controlTeam1,
-            controlTeam2,
+            Uncontrolled,
+            ControlTeam1,
+            ControlTeam2,
         };
     }
@@ -58,5 +58,5 @@
 
             // Set the state of a base to whatever the argument of the function is
-            void setState(BaseState::Enum state)
+            void setState(BaseState::Value state)
             {
                 this->state_ = state;
@@ -66,5 +66,5 @@
 
             // Get the state of a base as a return value
-            BaseState::Enum getState() const
+            BaseState::Value getState() const
             {
                 return this->state_;
@@ -75,5 +75,5 @@
             void changeTeamColour();
 
-            BaseState::Enum state_;
+            BaseState::Value state_;
     };
 }
Index: code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc	(revision 3280)
@@ -141,5 +141,5 @@
   }
 
-  bool DistanceTrigger::isTriggered(TriggerMode mode)
+  bool DistanceTrigger::isTriggered(TriggerMode::Value mode)
   {
     if (Trigger::isTriggered(mode))
Index: code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h	(revision 3280)
@@ -59,5 +59,5 @@
 
     protected:
-      virtual bool isTriggered(TriggerMode mode);
+      virtual bool isTriggered(TriggerMode::Value mode);
       virtual void notifyMaskUpdate() {}
 
Index: code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.cc	(revision 3280)
@@ -54,5 +54,5 @@
     }
 
-    bool EventTrigger::isTriggered(TriggerMode mode)
+    bool EventTrigger::isTriggered(TriggerMode::Value mode)
     {
         if (Trigger::isTriggered(mode))
Index: code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/EventTrigger.h	(revision 3280)
@@ -47,5 +47,5 @@
 
         protected:
-            virtual bool isTriggered(TriggerMode mode);
+            virtual bool isTriggered(TriggerMode::Value mode);
 
         private:
Index: code/trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/PlayerTrigger.h	(revision 3280)
@@ -70,5 +70,5 @@
             
     protected:
-        virtual bool isTriggered(TriggerMode mode) = 0;
+        virtual bool isTriggered(TriggerMode::Value mode) = 0;
         
         /**
Index: code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.cc	(revision 3280)
@@ -46,5 +46,5 @@
     RegisterObject(Trigger);
 
-    this->mode_ = TM_EventTriggerAND;
+    this->mode_ = TriggerMode::EventTriggerAND;
 
     this->bFirstTick_ = true;
@@ -163,5 +163,5 @@
   }
 
-  bool Trigger::isTriggered(TriggerMode mode)
+  bool Trigger::isTriggered(TriggerMode::Value mode)
   {
 //    if (this->bUpdating_)
@@ -175,11 +175,11 @@
       switch (mode)
       {
-        case TM_EventTriggerAND:
+        case TriggerMode::EventTriggerAND:
           returnval = checkAnd();
           break;
-        case TM_EventTriggerOR:
+        case TriggerMode::EventTriggerOR:
           returnval = checkOr();
           break;
-        case TM_EventTriggerXOR:
+        case TriggerMode::EventTriggerXOR:
           returnval = checkXor();
           break;
@@ -270,18 +270,18 @@
   {
     if (modeName == "and")
-      this->setMode(TM_EventTriggerAND);
+      this->setMode(TriggerMode::EventTriggerAND);
     else if (modeName == "or")
-      this->setMode(TM_EventTriggerOR);
+      this->setMode(TriggerMode::EventTriggerOR);
     else if (modeName == "xor")
-      this->setMode(TM_EventTriggerXOR);
+      this->setMode(TriggerMode::EventTriggerXOR);
   }
 
   std::string Trigger::getModeString() const
   {
-    if (this->mode_ == TM_EventTriggerAND)
+    if (this->mode_ == TriggerMode::EventTriggerAND)
       return std::string("and");
-    else if (this->mode_ == TM_EventTriggerOR)
+    else if (this->mode_ == TriggerMode::EventTriggerOR)
       return std::string("or");
-    else if (this->mode_ == TM_EventTriggerXOR)
+    else if (this->mode_ == TriggerMode::EventTriggerXOR)
       return std::string("xor");
     else
Index: code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.h
===================================================================
--- code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.h	(revision 3214)
+++ code/trunk/src/orxonox/objects/worldentities/triggers/Trigger.h	(revision 3280)
@@ -41,10 +41,13 @@
 namespace orxonox
 {
-  enum TriggerMode
+  namespace TriggerMode
   {
-    TM_EventTriggerAND,
-    TM_EventTriggerOR,
-    TM_EventTriggerXOR,
-  };
+    enum Value
+    {
+      EventTriggerAND,
+      EventTriggerOR,
+      EventTriggerXOR,
+    };
+  }
 
   class _OrxonoxExport Trigger : public StaticEntity, public Tickable
@@ -64,7 +67,7 @@
 
       void setMode(const std::string& modeName);
-      inline void setMode(TriggerMode mode)
+      inline void setMode(TriggerMode::Value mode)
         { this->mode_ = mode; }
-      inline TriggerMode getMode() const
+      inline TriggerMode::Value getMode() const
         { return mode_; }
 
@@ -103,5 +106,5 @@
     protected:
       inline bool isTriggered() { return this->isTriggered(this->mode_); }
-      virtual bool isTriggered(TriggerMode mode);
+      virtual bool isTriggered(TriggerMode::Value mode);
       virtual void triggered(bool bIsTriggered);
 
@@ -118,5 +121,5 @@
       bool bFirstTick_;
 
-      TriggerMode mode_;
+      TriggerMode::Value mode_;
       bool bInvertMode_;
       bool bSwitch_;
