Index: code/branches/objecthierarchy/src/orxonox/Settings.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/Settings.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/Settings.cc	(revision 1949)
@@ -49,9 +49,4 @@
     */
     Settings::Settings()
-        : bShowsGraphics_(false)
-        , bHasServer_(false)
-        , bIsClient_(false)
-        , bIsStandalone_(false)
-        , bIsMaster_(false)
     {
         RegisterRootObject(Settings);
Index: code/branches/objecthierarchy/src/orxonox/Settings.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/Settings.h	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/Settings.h	(revision 1949)
@@ -50,9 +50,4 @@
         friend class ClassIdentifier<Settings>;
         friend class GSRoot;
-        friend class GSGraphics;
-        friend class GSServer;
-        friend class GSClient;
-        friend class GSDedicated;
-        friend class GSStandalone;
 
     public:
@@ -62,19 +57,5 @@
         { assert(singletonRef_s); singletonRef_s->_tsetDataPath(path); }
 
-        // an alternative to a global game mode variable
-        static bool showsGraphics() { assert(singletonRef_s); return singletonRef_s->bShowsGraphics_; }
-        static bool hasServer()     { assert(singletonRef_s); return singletonRef_s->bHasServer_; }
-        static bool isClient()      { assert(singletonRef_s); return singletonRef_s->bIsClient_; }
-        static bool isStandalone()  { assert(singletonRef_s); return singletonRef_s->bIsStandalone_; }
-        static bool isMaster()      { assert(singletonRef_s); return singletonRef_s->bIsMaster_; }
-
     private:
-        // GSRoot has access to these
-        static void setShowsGraphics(bool val) { assert(singletonRef_s); singletonRef_s->bShowsGraphics_ = val; singletonRef_s->updateIsMaster(); }
-        static void setHasServer    (bool val) { assert(singletonRef_s); singletonRef_s->bHasServer_     = val; singletonRef_s->updateIsMaster(); }
-        static void setIsClient     (bool val) { assert(singletonRef_s); singletonRef_s->bIsClient_      = val; singletonRef_s->updateIsMaster(); }
-        static void setIsStandalone (bool val) { assert(singletonRef_s); singletonRef_s->bIsStandalone_  = val; singletonRef_s->updateIsMaster(); }
-        static void updateIsMaster  ()         { assert(singletonRef_s); singletonRef_s->bIsMaster_ = (singletonRef_s->bHasServer_ || singletonRef_s->bIsStandalone_); }
-
         Settings();
         Settings(const Settings& instance);
@@ -87,10 +68,4 @@
         void setConfigValues();
 
-        bool bShowsGraphics_;                                  //!< global variable that tells whether to show graphics
-        bool bHasServer_;                                      //!< global variable that tells whether this is a server
-        bool bIsClient_;
-        bool bIsStandalone_;
-        bool bIsMaster_;
-
         std::string dataPath_;                                 //!< Path to the game data
 
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSClient.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSClient.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSClient.cc	(revision 1949)
@@ -32,6 +32,6 @@
 #include "core/input/InputManager.h"
 #include "core/CommandLine.h"
+#include "core/Core.h"
 #include "network/Client.h"
-#include "Settings.h"
 
 namespace orxonox
@@ -51,5 +51,5 @@
     void GSClient::enter()
     {
-        Settings::_getInstance().setIsClient(true);
+        Core::setIsClient(true);
 
         GSLevel::enter();
@@ -81,5 +81,5 @@
         GSLevel::leave();
 
-        Settings::_getInstance().setIsClient(false);
+        Core::setIsClient(false);
     }
 
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSDedicated.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSDedicated.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSDedicated.cc	(revision 1949)
@@ -35,8 +35,9 @@
 #include "core/CommandLine.h"
 #include "core/Loader.h"
+#include "core/Core.h"
 #include "network/Server.h"
 #include "objects/Tickable.h"
+#include "Settings.h"
 #include "GraphicsEngine.h"
-#include "Settings.h"
 
 namespace orxonox
@@ -57,5 +58,5 @@
     void GSDedicated::enter()
     {
-        Settings::_getInstance().setHasServer(true);
+        Core::setHasServer(true);
 
         // create Ogre SceneManager for the level
@@ -97,5 +98,5 @@
         Ogre::Root::getSingleton().destroySceneManager(this->sceneManager_);
 
-        Settings::_getInstance().setHasServer(false);
+        Core::setHasServer(false);
     }
 
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSGraphics.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSGraphics.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSGraphics.cc	(revision 1949)
@@ -47,4 +47,5 @@
 #include "core/ConfigValueIncludes.h"
 #include "core/CoreIncludes.h"
+#include "core/Core.h"
 #include "core/input/InputManager.h"
 #include "core/input/KeyBinder.h"
@@ -101,5 +102,5 @@
     void GSGraphics::enter()
     {
-        Settings::_getInstance().setShowsGraphics(true);
+        Core::setShowsGraphics(true);
 
         // initialise graphics engine. Doesn't load the render window yet!
@@ -196,5 +197,5 @@
         delete graphicsEngine_;
 
-        Settings::_getInstance().setShowsGraphics(false);
+        Core::setShowsGraphics(false);
     }
 
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc	(revision 1949)
@@ -44,6 +44,6 @@
 #include "objects/Radar.h"
 //#include "tools/ParticleInterface.h"
+#include "GraphicsEngine.h"
 #include "Settings.h"
-#include "GraphicsEngine.h"
 
 namespace orxonox
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSServer.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSServer.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSServer.cc	(revision 1949)
@@ -33,6 +33,6 @@
 #include "core/input/InputManager.h"
 #include "core/CommandLine.h"
+#include "core/Core.h"
 #include "network/Server.h"
-#include "Settings.h"
 
 namespace orxonox
@@ -52,5 +52,5 @@
     void GSServer::enter()
     {
-        Settings::_getInstance().setHasServer(true);
+        Core::setHasServer(true);
 
         GSLevel::enter();
@@ -86,5 +86,5 @@
         GSLevel::leave();
 
-        Settings::_getInstance().setHasServer(false);
+        Core::setHasServer(false);
     }
 
Index: code/branches/objecthierarchy/src/orxonox/gamestates/GSStandalone.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/gamestates/GSStandalone.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/gamestates/GSStandalone.cc	(revision 1949)
@@ -32,5 +32,5 @@
 #include "core/input/InputManager.h"
 #include "core/ConsoleCommand.h"
-#include "Settings.h"
+#include "core/Core.h"
 
 namespace orxonox
@@ -59,5 +59,5 @@
         InputManager::getInstance().requestEnterState("game");
 
-        Settings::_getInstance().setIsStandalone(true);
+        Core::setIsStandalone(true);
     }
 
@@ -72,5 +72,5 @@
         GSLevel::leave();
 
-        Settings::_getInstance().setIsStandalone(false);
+        Core::setIsStandalone(false);
     }
 
Index: code/branches/objecthierarchy/src/orxonox/objects/infos/LevelInfo.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/infos/LevelInfo.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/objects/infos/LevelInfo.cc	(revision 1949)
@@ -34,6 +34,6 @@
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
+#include "core/Core.h"
 
-#include "Settings.h"
 #include "GraphicsEngine.h"
 
@@ -72,5 +72,5 @@
     void LevelInfo::setSkybox(const std::string& skybox)
     {
-        if (Settings::showsGraphics())
+        if (Core::showsGraphics())
             if (GraphicsEngine::getInstance().getLevelSceneManager())
                 GraphicsEngine::getInstance().getLevelSceneManager()->setSkyBox(true, skybox);
@@ -81,5 +81,5 @@
     void LevelInfo::setAmbientLight(const ColourValue& colour)
     {
-        if (Settings::showsGraphics())
+        if (Core::showsGraphics())
             GraphicsEngine::getInstance().getLevelSceneManager()->setAmbientLight(colour);
 
Index: code/branches/objecthierarchy/src/orxonox/objects/infos/PlayerInfo.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/infos/PlayerInfo.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/objects/infos/PlayerInfo.cc	(revision 1949)
@@ -35,8 +35,8 @@
 #include "core/ConfigValueIncludes.h"
 #include "core/XMLPort.h"
+#include "core/Core.h"
 
 #include "network/Host.h"
 
-#include "Settings.h"
 #include "GraphicsEngine.h"
 #include "objects/gametypes/Gametype.h"
@@ -51,5 +51,5 @@
 
         this->ping_ = -1;
-        this->bLocalPlayer_ = Settings::isStandalone();
+        this->bLocalPlayer_ = Core::isStandalone();
         this->bLocalPlayer_ = false;
         this->bHumanPlayer_ = false;
@@ -78,5 +78,5 @@
     {
 std::cout << "# PI(" << this->getObjectID() << "): checkName: " << this->bLocalPlayer_ << std::endl;
-        if (this->bLocalPlayer_ && Settings::isMaster())
+        if (this->bLocalPlayer_ && Core::isMaster())
             this->setName(this->playerName_);
     }
@@ -114,5 +114,5 @@
 //std::cout << "# PI(" << this->getObjectID() << "): checkClientID(): name: " << this->getName() << std::endl;
 
-            if (Settings::isClient())
+            if (Core::isClient())
             {
 std::cout << "# PI(" << this->getObjectID() << "): checkClientID(): we're on a client: set object mode to bidirectional" << std::endl;
@@ -134,5 +134,5 @@
     {
 std::cout << "# PI(" << this->getObjectID() << "): finishedSetup(): " << this->bFinishedSetup_ << std::endl;
-        if (Settings::isClient())
+        if (Core::isClient())
         {
 std::cout << "# PI(" << this->getObjectID() << "): finishedSetup(): we're a client: finish setup" << std::endl;
Index: code/branches/objecthierarchy/src/orxonox/tools/Mesh.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/tools/Mesh.cc	(revision 1948)
+++ code/branches/objecthierarchy/src/orxonox/tools/Mesh.cc	(revision 1949)
@@ -32,6 +32,6 @@
 #include <sstream>
 #include <OgreSceneManager.h>
+#include "core/Core.h"
 #include "GraphicsEngine.h"
-#include "Settings.h"
 
 namespace orxonox
@@ -48,5 +48,5 @@
         std::ostringstream name;
         name << (Mesh::meshCounter_s++);
-        if (Settings::showsGraphics())
+        if (Core::showsGraphics())
             this->entity_ = GraphicsEngine::getInstance().getLevelSceneManager()->createEntity("Mesh" + name.str(), file);
     }
@@ -54,5 +54,5 @@
     Mesh::~Mesh()
     {
-        if (this->entity_ && Settings::showsGraphics())
+        if (this->entity_ && Core::showsGraphics())
             GraphicsEngine::getInstance().getLevelSceneManager()->destroyEntity(this->entity_);
     }
