Index: code/branches/output/src/libraries/util/Output.h
===================================================================
--- code/branches/output/src/libraries/util/Output.h	(revision 8807)
+++ code/branches/output/src/libraries/util/Output.h	(revision 8808)
@@ -37,5 +37,4 @@
     // Just for convenience
     using std::endl;
-    using namespace level;
 
     inline OutputStream& orxout(OutputLevel level = level::debug_output, OutputContext context = context::undefined())
Index: code/branches/output/src/libraries/util/output/BaseWriter.cc
===================================================================
--- code/branches/output/src/libraries/util/output/BaseWriter.cc	(revision 8807)
+++ code/branches/output/src/libraries/util/output/BaseWriter.cc	(revision 8808)
@@ -65,6 +65,6 @@
     void BaseWriter::changedConfigurableLevels()
     {
-        OutputLevel max_level = std::max(this->configurableMaxLevel_, this->configurableContextsMaxLevel_);
-        OutputListener::setLevelMax(max_level);
+        int max_level = std::max(this->configurableMaxLevel_, this->configurableContextsMaxLevel_);
+        OutputListener::setLevelMax(static_cast<OutputLevel>(max_level));
     }
 
Index: code/branches/output/src/libraries/util/output/BaseWriter.h
===================================================================
--- code/branches/output/src/libraries/util/output/BaseWriter.h	(revision 8807)
+++ code/branches/output/src/libraries/util/output/BaseWriter.h	(revision 8808)
@@ -50,9 +50,9 @@
             void setLevelMax(OutputLevel max);
 
-            OutputLevel configurableMaxLevel_;
+            int configurableMaxLevel_;
             inline std::string getConfigurableMaxLevelName() const
                 { return "outputLevel" + this->name_; }
 
-            OutputLevel configurableContextsMaxLevel_;
+            int configurableContextsMaxLevel_;
             inline std::string getConfigurableContextsMaxLevelName() const
                 { return "outputContextsLevel" + this->name_; }
Index: code/branches/output/src/libraries/util/output/OutputDefinitions.h
===================================================================
--- code/branches/output/src/libraries/util/output/OutputDefinitions.h	(revision 8807)
+++ code/branches/output/src/libraries/util/output/OutputDefinitions.h	(revision 8808)
@@ -38,25 +38,28 @@
 namespace orxonox
 {
-    typedef uint16_t OutputLevel;
-
     namespace level
     {
-        static const OutputLevel all              = 0xFFFF;
-        static const OutputLevel none             = 0x0000;
+        enum OutputLevel
+        {
+            all              = 0xFFFF,
+            none             = 0x0000,
 
-        static const OutputLevel message          = 0x0001;
-        static const OutputLevel debug_output     = 0x0002;
-        static const OutputLevel user_error       = 0x0004;
-        static const OutputLevel user_warning     = 0x0008;
-        static const OutputLevel user_status      = 0x0010;
-        static const OutputLevel user_info        = 0x0020;
-        static const OutputLevel internal_error   = 0x0040;
-        static const OutputLevel internal_warning = 0x0080;
-        static const OutputLevel internal_status  = 0x0100;
-        static const OutputLevel internal_info    = 0x0200;
-        static const OutputLevel verbose          = 0x0400;
-        static const OutputLevel verbose_more     = 0x0800;
-        static const OutputLevel verbose_ultra    = 0x1000;
+            message          = 0x0001,
+            debug_output     = 0x0002,
+            user_error       = 0x0004,
+            user_warning     = 0x0008,
+            user_status      = 0x0010,
+            user_info        = 0x0020,
+            internal_error   = 0x0040,
+            internal_warning = 0x0080,
+            internal_status  = 0x0100,
+            internal_info    = 0x0200,
+            verbose          = 0x0400,
+            verbose_more     = 0x0800,
+            verbose_ultra    = 0x1000
+        };
     }
+
+    using namespace level;
 
     typedef uint64_t OutputContext;
Index: code/branches/output/src/libraries/util/output/OutputListener.cc
===================================================================
--- code/branches/output/src/libraries/util/output/OutputListener.cc	(revision 8807)
+++ code/branches/output/src/libraries/util/output/OutputListener.cc	(revision 8808)
@@ -48,15 +48,14 @@
     void OutputListener::setLevelMax(OutputLevel max)
     {
-        this->setLevelRange(level::debug_output, max);
+        this->setLevelRange(static_cast<OutputLevel>(0x1), max);
     }
 
     void OutputListener::setLevelRange(OutputLevel min, OutputLevel max)
     {
-        OutputLevel mask = 0;
-
-        for (OutputLevel level = min; level <= max; level = level << 1)
+        int mask = 0;
+        for (int level = min; level <= max; level = level << 1)
             mask |= level;
 
-        this->setLevelMask(mask);
+        this->setLevelMask(static_cast<OutputLevel>(mask));
     }
 
Index: code/branches/output/src/libraries/util/output/OutputManager.cc
===================================================================
--- code/branches/output/src/libraries/util/output/OutputManager.cc	(revision 8807)
+++ code/branches/output/src/libraries/util/output/OutputManager.cc	(revision 8808)
@@ -38,5 +38,5 @@
     OutputManager::OutputManager()
     {
-        this->combinedLevelMask_ = 0;
+        this->combinedLevelMask_ = level::none;
         this->combinedContextMask_ = 0;
     }
@@ -99,7 +99,8 @@
     void OutputManager::updateCombinedLevelMask()
     {
-        this->combinedLevelMask_ = 0;
+        int mask = 0;
         for (size_t i = 0; i < this->listeners_.size(); ++i)
-            this->combinedLevelMask_ |= this->listeners_[i]->getLevelMask();
+            mask |= this->listeners_[i]->getLevelMask();
+        this->combinedLevelMask_ = static_cast<OutputLevel>(mask);
     }
 
