Index: /code/branches/gui/src/core/CMakeLists.txt
===================================================================
--- /code/branches/gui/src/core/CMakeLists.txt	(revision 2847)
+++ /code/branches/gui/src/core/CMakeLists.txt	(revision 2848)
@@ -25,4 +25,5 @@
   Event.cc
   Game.cc
+  GameMode.cc
   GameState.cc
   Language.cc
Index: /code/branches/gui/src/core/Core.cc
===================================================================
--- /code/branches/gui/src/core/Core.cc	(revision 2847)
+++ /code/branches/gui/src/core/Core.cc	(revision 2848)
@@ -81,10 +81,4 @@
     static boost::filesystem::path logPath_g;                   //!< Path to the log file folder
 
-    bool Core::bShowsGraphics_s = false;
-    bool Core::bHasServer_s     = false;
-    bool Core::bIsClient_s      = false;
-    bool Core::bIsStandalone_s  = false;
-    bool Core::bIsMaster_s      = false;
-
     Core* Core::singletonRef_s  = 0;
 
Index: /code/branches/gui/src/core/Core.h
===================================================================
--- /code/branches/gui/src/core/Core.h	(revision 2847)
+++ /code/branches/gui/src/core/Core.h	(revision 2848)
@@ -83,16 +83,4 @@
             static std::string getLogPathString();
 
-            // fast access global variables.
-            static bool showsGraphics() { return bShowsGraphics_s; }
-            static bool hasServer()     { return bHasServer_s; }
-            static bool isClient()      { return bIsClient_s; }
-            static bool isStandalone()  { return bIsStandalone_s; }
-            static bool isMaster()      { return bIsMaster_s; }
-            static void setShowsGraphics(bool val) { bShowsGraphics_s = val; updateIsMaster(); }
-            static void setHasServer    (bool val) { bHasServer_s     = val; updateIsMaster(); }
-            static void setIsClient     (bool val) { bIsClient_s      = val; updateIsMaster(); }
-            static void setIsStandalone (bool val) { bIsStandalone_s  = val; updateIsMaster(); }
-            static void updateIsMaster  ()         { bIsMaster_s      = (bHasServer_s || bIsStandalone_s); }
-
         private:
             Core(const Core&);
@@ -129,10 +117,4 @@
             bool loaded_;                                   //!< Only true if constructor was interrupted
 
-            static bool bShowsGraphics_s;                   //!< global variable that tells whether to show graphics
-            static bool bHasServer_s;                       //!< global variable that tells whether this is a server
-            static bool bIsClient_s;
-            static bool bIsStandalone_s;
-            static bool bIsMaster_s;
-
             static Core* singletonRef_s;
     };
Index: /code/branches/gui/src/core/GameMode.cc
===================================================================
--- /code/branches/gui/src/core/GameMode.cc	(revision 2848)
+++ /code/branches/gui/src/core/GameMode.cc	(revision 2848)
@@ -0,0 +1,43 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file
+    @brief Implementation of the GameMode class.
+*/
+
+#include "GameMode.h"
+
+namespace orxonox
+{
+    bool GameMode::bShowsGraphics_s = false;
+    bool GameMode::bHasServer_s     = false;
+    bool GameMode::bIsClient_s      = false;
+    bool GameMode::bIsStandalone_s  = false;
+    bool GameMode::bIsMaster_s      = false;
+}
Index: /code/branches/gui/src/core/GameMode.h
===================================================================
--- /code/branches/gui/src/core/GameMode.h	(revision 2848)
+++ /code/branches/gui/src/core/GameMode.h	(revision 2848)
@@ -0,0 +1,68 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+    @file
+    @brief Declaration of the GameMode class.
+*/
+
+#ifndef _GameMode_H__
+#define _GameMode_H__
+
+#include "CorePrereqs.h"
+
+namespace orxonox
+{
+    class _CoreExport GameMode
+    {
+        public:
+            static bool showsGraphics() { return bShowsGraphics_s; }
+            static bool hasServer()     { return bHasServer_s; }
+            static bool isClient()      { return bIsClient_s; }
+            static bool isStandalone()  { return bIsStandalone_s; }
+            static bool isMaster()      { return bIsMaster_s; }
+            static void setShowsGraphics(bool val) { bShowsGraphics_s = val; updateIsMaster(); }
+            static void setHasServer    (bool val) { bHasServer_s     = val; updateIsMaster(); }
+            static void setIsClient     (bool val) { bIsClient_s      = val; updateIsMaster(); }
+            static void setIsStandalone (bool val) { bIsStandalone_s  = val; updateIsMaster(); }
+            static void updateIsMaster  ()         { bIsMaster_s      = (bHasServer_s || bIsStandalone_s); }
+
+        private:
+            GameMode();
+            GameMode(const GameMode& inst);
+            ~GameMode();
+
+            static bool bShowsGraphics_s;                   //!< global variable that tells whether to show graphics
+            static bool bHasServer_s;                       //!< global variable that tells whether this is a server
+            static bool bIsClient_s;
+            static bool bIsStandalone_s;
+            static bool bIsMaster_s;
+    };
+}
+
+#endif /* _GameMode_H__ */
Index: /code/branches/gui/src/network/ClientConnectionListener.cc
===================================================================
--- /code/branches/gui/src/network/ClientConnectionListener.cc	(revision 2847)
+++ /code/branches/gui/src/network/ClientConnectionListener.cc	(revision 2848)
@@ -29,5 +29,5 @@
 #include "ClientConnectionListener.h"
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 namespace orxonox{
@@ -39,5 +39,5 @@
 
   void ClientConnectionListener::getConnectedClients(){
-    if(Core::showsGraphics())
+    if(GameMode::showsGraphics())
       this->clientConnected(0); //server client id
     ClientInformation *client = ClientInformation::getBegin();
Index: /code/branches/gui/src/network/packet/Gamestate.cc
===================================================================
--- /code/branches/gui/src/network/packet/Gamestate.cc	(revision 2847)
+++ /code/branches/gui/src/network/packet/Gamestate.cc	(revision 2848)
@@ -34,5 +34,5 @@
 #include "../synchronisable/Synchronisable.h"
 #include "../TrafficControl.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Iterator.h"
@@ -162,5 +162,5 @@
     if(!s)
     {
-      if (!Core::isMaster())
+      if (!GameMode::isMaster())
       {
         Synchronisable::fabricate(mem, mode);
Index: /code/branches/gui/src/network/synchronisable/SynchronisableVariable.cc
===================================================================
--- /code/branches/gui/src/network/synchronisable/SynchronisableVariable.cc	(revision 2847)
+++ /code/branches/gui/src/network/synchronisable/SynchronisableVariable.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include <cstring>
 #include "util/Math.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 
@@ -41,5 +41,5 @@
   if ( state_ == 0x0 )
   {
-    state_ = Core::isMaster() ? 0x1 : 0x2;  // set the appropriate mode here
+    state_ = GameMode::isMaster() ? 0x1 : 0x2;  // set the appropriate mode here
   }
 }
Index: /code/branches/gui/src/orxonox/CameraManager.cc
===================================================================
--- /code/branches/gui/src/orxonox/CameraManager.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/CameraManager.cc	(revision 2848)
@@ -35,5 +35,5 @@
 #include <OgreResource.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/Iterator.h"
 #include "objects/worldentities/Camera.h"
@@ -75,5 +75,5 @@
     void CameraManager::requestFocus(Camera* camera)
     {
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             return;
 
@@ -100,5 +100,5 @@
     void CameraManager::releaseFocus(Camera* camera)
     {
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             return;
 
Index: /code/branches/gui/src/orxonox/GraphicsManager.cc
===================================================================
--- /code/branches/gui/src/orxonox/GraphicsManager.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/GraphicsManager.cc	(revision 2848)
@@ -62,4 +62,5 @@
 #include "core/CoreIncludes.h"
 #include "core/Core.h"
+#include "core/GameMode.h"
 #include "tools/WindowEventListener.h"
 #include "tools/ParticleInterface.h"
@@ -102,6 +103,4 @@
     void GraphicsManager::initialise()
     {
-        Core::setShowsGraphics(true);
-
         // Ogre setup procedure
         setupOgre();
@@ -156,7 +155,4 @@
             this->ogreLogger_->destroyLog(Ogre::LogManager::getSingleton().getDefaultLog());
             delete this->ogreLogger_;
-
-            // Don't showing graphics anymore
-            Core::setShowsGraphics(false);
         }
 
Index: /code/branches/gui/src/orxonox/PlayerManager.cc
===================================================================
--- /code/branches/gui/src/orxonox/PlayerManager.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/PlayerManager.cc	(revision 2848)
@@ -31,5 +31,5 @@
 
 #include "LevelManager.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "objects/Level.h"
@@ -58,5 +58,5 @@
     void PlayerManager::clientConnected(unsigned int clientID)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             COUT(3) << "client connected" << std::endl;
@@ -77,5 +77,5 @@
     void PlayerManager::clientDisconnected(unsigned int clientID)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             COUT(3) << "client disconnected" << std::endl;
@@ -97,5 +97,5 @@
     PlayerInfo* PlayerManager::getClient(unsigned int clientID) const
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             std::map<unsigned int, PlayerInfo*>::const_iterator it = this->clients_.find(clientID);
Index: /code/branches/gui/src/orxonox/gamestates/GSClient.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSClient.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSClient.cc	(revision 2848)
@@ -33,7 +33,7 @@
 #include "core/Clock.h"
 #include "core/CommandLine.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "network/Client.h"
-#include "core/Game.h"
 
 namespace orxonox
@@ -55,5 +55,5 @@
     void GSClient::activate()
     {
-        Core::setIsClient(true);
+        GameMode::setIsClient(true);
 
         this->client_ = new Client(CommandLine::getValue("ip").getString(), CommandLine::getValue("port"));
@@ -72,5 +72,5 @@
         delete this->client_;
 
-        Core::setIsClient(false);
+        GameMode::setIsClient(false);
     }
 
Index: /code/branches/gui/src/orxonox/gamestates/GSDedicated.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSDedicated.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSDedicated.cc	(revision 2848)
@@ -32,10 +32,10 @@
 #include "core/Clock.h"
 #include "core/CommandLine.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/Iterator.h"
 #include "network/Server.h"
 #include "objects/Tickable.h"
 #include "util/Sleep.h"
-#include "core/Game.h"
 
 namespace orxonox
@@ -56,5 +56,5 @@
     void GSDedicated::activate()
     {
-        Core::setHasServer(true);
+        GameMode::setHasServer(true);
 
         this->server_ = new Server(CommandLine::getValue("port"));
@@ -69,5 +69,5 @@
         delete this->server_;
 
-        Core::setHasServer(false);
+        GameMode::setHasServer(false);
     }
 
Index: /code/branches/gui/src/orxonox/gamestates/GSGUI.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSGUI.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSGUI.cc	(revision 2848)
@@ -33,9 +33,9 @@
 #include "core/Clock.h"
 #include "core/ConsoleCommand.h"
+#include "core/Game.h"
 #include "core/input/InputManager.h"
 #include "core/input/SimpleInputState.h"
 #include "gui/GUIManager.h"
 #include "GraphicsManager.h"
-#include "core/Game.h"
 
 namespace orxonox
Index: /code/branches/gui/src/orxonox/gamestates/GSGraphics.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSGraphics.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSGraphics.cc	(revision 2848)
@@ -38,4 +38,5 @@
 #include "core/CoreIncludes.h"
 #include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/input/InputManager.h"
 #include "core/input/KeyBinder.h"
@@ -74,5 +75,5 @@
     void GSGraphics::activate()
     {
-        Core::setShowsGraphics(true);
+        GameMode::setShowsGraphics(true);
 
         setConfigValues();
@@ -128,5 +129,5 @@
         delete graphicsManager_;
 
-        Core::setShowsGraphics(false);
+        GameMode::setShowsGraphics(false);
     }
 
Index: /code/branches/gui/src/orxonox/gamestates/GSLevel.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSLevel.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSLevel.cc	(revision 2848)
@@ -39,6 +39,8 @@
 #include "core/CommandLine.h"
 #include "core/ConfigValueIncludes.h"
+#include "core/Core.h"
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "objects/Tickable.h"
 #include "objects/Radar.h"
@@ -47,5 +49,4 @@
 #include "LevelManager.h"
 #include "PlayerManager.h"
-#include "core/Game.h"
 
 namespace orxonox
@@ -83,5 +84,5 @@
         setConfigValues();
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("game");
@@ -99,5 +100,5 @@
         this->playerManager_ = new PlayerManager();
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             // create the global LevelManager
@@ -107,5 +108,5 @@
         }
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             // TODO: insert slomo console command with
@@ -149,8 +150,8 @@
         //Loader::close();
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
             InputManager::getInstance().requestLeaveState("game");
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->unloadLevel();
 
@@ -179,5 +180,5 @@
         }
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             inputState_->setHandler(0);
@@ -240,5 +241,5 @@
     void GSLevel::keybindInternal(const std::string& command, bool bTemporary)
     {
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             static std::string bindingString = "";
Index: /code/branches/gui/src/orxonox/gamestates/GSRoot.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSRoot.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSRoot.cc	(revision 2848)
@@ -33,5 +33,6 @@
 #include "util/Debug.h"
 #include "core/Clock.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/CommandLine.h"
 #include "core/ConsoleCommand.h"
@@ -39,5 +40,4 @@
 #include "tools/Timer.h"
 #include "objects/Tickable.h"
-#include "core/Game.h"
 
 namespace orxonox
@@ -142,5 +142,5 @@
     void GSRoot::setTimeFactor(float factor)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             if (!this->bPaused_)
@@ -160,5 +160,5 @@
     void GSRoot::pause()
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             if (!this->bPaused_)
Index: /code/branches/gui/src/orxonox/gamestates/GSServer.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSServer.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSServer.cc	(revision 2848)
@@ -31,7 +31,7 @@
 
 #include "core/CommandLine.h"
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "network/Server.h"
-#include "core/Game.h"
 
 namespace orxonox
@@ -53,5 +53,5 @@
     void GSServer::activate()
     {
-        Core::setHasServer(true);
+        GameMode::setHasServer(true);
 
         this->server_ = new Server(CommandLine::getValue("port"));
@@ -66,5 +66,5 @@
         delete this->server_;
 
-        Core::setHasServer(false);
+        GameMode::setHasServer(false);
     }
 
Index: /code/branches/gui/src/orxonox/gamestates/GSStandalone.cc
===================================================================
--- /code/branches/gui/src/orxonox/gamestates/GSStandalone.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/gamestates/GSStandalone.cc	(revision 2848)
@@ -32,9 +32,9 @@
 #include <OgreViewport.h>
 #include <OgreCamera.h>
-#include "core/Core.h"
+#include "core/Game.h"
+#include "core/GameMode.h"
 #include "core/ConsoleCommand.h"
 #include "gui/GUIManager.h"
 #include "GraphicsManager.h"
-#include "core/Game.h"
 
 namespace orxonox
@@ -54,5 +54,5 @@
     void GSStandalone::activate()
     {
-        Core::setIsStandalone(true);
+        GameMode::setIsStandalone(true);
 
         guiManager_ = GUIManager::getInstancePtr();
@@ -63,5 +63,5 @@
     void GSStandalone::deactivate()
     {
-        Core::setIsStandalone(false);
+        GameMode::setIsStandalone(false);
     }
 
Index: /code/branches/gui/src/orxonox/objects/Scene.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/Scene.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/Scene.cc	(revision 2848)
@@ -41,5 +41,5 @@
 
 #include "core/CoreIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/XMLPort.h"
 #include "tools/BulletConversions.h"
@@ -57,5 +57,5 @@
         this->bShadows_ = true;
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (Ogre::Root::getSingletonPtr())
@@ -99,5 +99,5 @@
                 Ogre::Root::getSingleton().destroySceneManager(this->sceneManager_);
             }
-            else if (!Core::showsGraphics())
+            else if (!GameMode::showsGraphics())
             {
                 delete this->sceneManager_;
@@ -227,5 +227,5 @@
     void Scene::tick(float dt)
     {
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
         {
             // We need to update the scene nodes if we don't render
@@ -256,5 +256,5 @@
     void Scene::setSkybox(const std::string& skybox)
     {
-        if (Core::showsGraphics() && this->sceneManager_)
+        if (GameMode::showsGraphics() && this->sceneManager_)
             this->sceneManager_->setSkyBox(true, skybox);
 
@@ -264,5 +264,5 @@
     void Scene::setAmbientLight(const ColourValue& colour)
     {
-        if (Core::showsGraphics() && this->sceneManager_)
+        if (GameMode::showsGraphics() && this->sceneManager_)
             this->sceneManager_->setAmbientLight(colour);
 
@@ -272,5 +272,5 @@
     void Scene::setShadow(bool bShadow)
     {
-        if (Core::showsGraphics() && this->sceneManager_)
+        if (GameMode::showsGraphics() && this->sceneManager_)
         {
             if (bShadow)
Index: /code/branches/gui/src/orxonox/objects/controllers/AIController.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/controllers/AIController.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/controllers/AIController.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include "AIController.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
@@ -45,5 +45,5 @@
         RegisterObject(AIController);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->actionTimer_.setTimer(ACTION_INTERVAL, true, this, createExecutor(createFunctor(&AIController::action)));
     }
Index: /code/branches/gui/src/orxonox/objects/gametypes/Gametype.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/gametypes/Gametype.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/gametypes/Gametype.cc	(revision 2848)
@@ -36,5 +36,5 @@
 #include "core/ConfigValueIncludes.h"
 #include "core/Template.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "overlays/OverlayGroup.h"
 #include "objects/infos/PlayerInfo.h"
@@ -69,5 +69,5 @@
 
         // load the corresponding score board
-        if (Core::showsGraphics() && this->scoreboardTemplate_ != "")
+        if (GameMode::showsGraphics() && this->scoreboardTemplate_ != "")
         {
             this->scoreboard_ = new OverlayGroup(this);
Index: /code/branches/gui/src/orxonox/objects/infos/Bot.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/infos/Bot.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/infos/Bot.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include "Bot.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
@@ -46,5 +46,5 @@
 
         this->bHumanPlayer_ = false;
-        this->bLocalPlayer_ = Core::isMaster();
+        this->bLocalPlayer_ = GameMode::isMaster();
         this->bSetUnreadyAfterSpawn_ = false;
         this->setReadyToSpawn(true);
Index: /code/branches/gui/src/orxonox/objects/infos/HumanPlayer.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/infos/HumanPlayer.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/infos/HumanPlayer.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include "HumanPlayer.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
@@ -47,5 +47,5 @@
         RegisterObject(HumanPlayer);
 
-        this->server_initialized_ = Core::isMaster();
+        this->server_initialized_ = GameMode::isMaster();
         this->client_initialized_ = false;
 
@@ -82,5 +82,5 @@
             this->synchronize_nick_ = this->nick_;
 
-            if (Core::isMaster())
+            if (GameMode::isMaster())
                 this->setName(this->nick_);
         }
@@ -105,5 +105,5 @@
             this->client_initialized_ = true;
 
-            if (!Core::isMaster())
+            if (!GameMode::isMaster())
                 this->setObjectMode(objectDirection::bidirectional);
             else
Index: /code/branches/gui/src/orxonox/objects/items/MultiStateEngine.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/items/MultiStateEngine.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/items/MultiStateEngine.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include "MultiStateEngine.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -123,5 +123,5 @@
             }
 
-            if (Core::isMaster())
+            if (GameMode::isMaster())
             {
                 for (std::list<WorldEntity*>::const_iterator it = this->activeEffects_.begin(); it != this->activeEffects_.end(); ++it)
Index: /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/BillboardProjectile.cc	(revision 2848)
@@ -32,5 +32,5 @@
 #include <OgreBillboardSet.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "objects/Scene.h"
@@ -44,5 +44,5 @@
         RegisterObject(BillboardProjectile);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             assert(this->getScene()->getSceneManager()); // getScene() was already checked by WorldEntity
@@ -56,5 +56,5 @@
     BillboardProjectile::~BillboardProjectile()
     {
-        if (this->isInitialized() && Core::showsGraphics() && this->billboard_.getBillboardSet())
+        if (this->isInitialized() && GameMode::showsGraphics() && this->billboard_.getBillboardSet())
             this->detachOgreObject(this->billboard_.getBillboardSet());
     }
Index: /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/ParticleProjectile.cc	(revision 2848)
@@ -33,5 +33,5 @@
 #include <OgreParticleEmitter.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
@@ -46,5 +46,5 @@
         RegisterObject(ParticleProjectile);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             this->particles_ = new ParticleInterface(this->getScene()->getSceneManager(), "Orxonox/shot3_small", LODParticle::normal);
Index: /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/weaponSystem/projectiles/Projectile.cc	(revision 2848)
@@ -41,5 +41,5 @@
 #include "objects/worldentities/ParticleSpawner.h"
 #include "objects/collisionshapes/SphereCollisionShape.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 namespace orxonox
@@ -55,5 +55,5 @@
         // Get notification about collisions
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->enableCollisionCallback();
@@ -93,5 +93,5 @@
     void Projectile::destroyObject()
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             delete this;
     }
@@ -99,5 +99,5 @@
     bool Projectile::collidesAgainst(WorldEntity* otherObject, btManifoldPoint& contactPoint)
     {
-        if (!this->bDestroy_ && Core::isMaster())
+        if (!this->bDestroy_ && GameMode::isMaster())
         {
             this->bDestroy_ = true;
Index: /code/branches/gui/src/orxonox/objects/worldentities/Backlight.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/Backlight.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/Backlight.cc	(revision 2848)
@@ -33,5 +33,5 @@
 #include <OgreSceneManager.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
@@ -58,5 +58,5 @@
         this->tickcount_ = 0;
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (!this->getScene())
Index: /code/branches/gui/src/orxonox/objects/worldentities/Billboard.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/Billboard.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/Billboard.cc	(revision 2848)
@@ -34,5 +34,5 @@
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "objects/Scene.h"
 
@@ -81,5 +81,5 @@
         if (!this->billboard_.getBillboardSet())
         {
-            if (this->getScene() && Core::showsGraphics())
+            if (this->getScene() && GameMode::showsGraphics())
             {
                 this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->material_, this->colour_, 1);
@@ -98,5 +98,5 @@
         {
 /*
-            if (this->getScene() && Core::showsGraphics() && (this->material_ != ""))
+            if (this->getScene() && GameMode::showsGraphics() && (this->material_ != ""))
             {
                 this->billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->material_, this->colour_, 1);
Index: /code/branches/gui/src/orxonox/objects/worldentities/BlinkingBillboard.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/BlinkingBillboard.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/BlinkingBillboard.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include "BlinkingBillboard.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -77,5 +77,5 @@
         SUPER(BlinkingBillboard, tick, dt);
 
-        if (Core::isMaster() && this->isActive())
+        if (GameMode::isMaster() && this->isActive())
         {
             this->time_ += dt;
Index: /code/branches/gui/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 2848)
@@ -34,5 +34,5 @@
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/XMLPort.h"
 #include "core/Template.h"
@@ -236,5 +236,5 @@
             this->startLocalHumanControl();
 
-            if (!Core::isMaster())
+            if (!GameMode::isMaster())
             {
                 this->client_overwrite_ = this->server_overwrite_;
@@ -331,5 +331,5 @@
             if (!this->isDynamic())
             {
-                if (Core::isMaster())
+                if (GameMode::isMaster())
                 {
                     this->server_position_ = this->getPosition();
@@ -446,5 +446,5 @@
     void ControllableEntity::setPosition(const Vector3& position)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setPosition(position);
@@ -461,5 +461,5 @@
     void ControllableEntity::setOrientation(const Quaternion& orientation)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setOrientation(orientation);
@@ -476,5 +476,5 @@
     void ControllableEntity::setVelocity(const Vector3& velocity)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setVelocity(velocity);
@@ -491,5 +491,5 @@
     void ControllableEntity::setAngularVelocity(const Vector3& velocity)
     {
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             MobileEntity::setAngularVelocity(velocity);
@@ -507,5 +507,5 @@
     {
         MobileEntity::setWorldTransform(worldTrans);
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->server_position_ = this->getPosition();
Index: /code/branches/gui/src/orxonox/objects/worldentities/ExplosionChunk.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/ExplosionChunk.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/ExplosionChunk.cc	(revision 2848)
@@ -32,5 +32,5 @@
 #include <OgreParticleSystem.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
@@ -47,5 +47,5 @@
         RegisterObject(ExplosionChunk);
 
-        if ( Core::showsGraphics() && ( !this->getScene() || !this->getScene()->getSceneManager() ) )
+        if ( GameMode::showsGraphics() && ( !this->getScene() || !this->getScene()->getSceneManager() ) )
             ThrowException(AbortLoading, "Can't create ExplosionChunk, no scene or no scene manager given.");
 
@@ -53,5 +53,5 @@
         this->LOD_ = LODParticle::normal;
 
-        if ( Core::showsGraphics() )
+        if ( GameMode::showsGraphics() )
         {
             try
@@ -75,5 +75,5 @@
         }
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             Vector3 velocity(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1));
@@ -132,5 +132,5 @@
             this->smoke_->setEnabled(false);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->bStop_ = true;
@@ -148,5 +148,5 @@
         static const unsigned int CHANGES_PER_SECOND = 5;
 
-        if (Core::isMaster() && rnd() < dt*CHANGES_PER_SECOND)
+        if (GameMode::isMaster() && rnd() < dt*CHANGES_PER_SECOND)
         {
             float length = this->getVelocity().length();
Index: /code/branches/gui/src/orxonox/objects/worldentities/Light.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/Light.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/Light.cc	(revision 2848)
@@ -37,5 +37,5 @@
 #include "util/String.h"
 #include "util/Exception.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -57,5 +57,5 @@
         this->spotlightRange_ = Vector3(40.0f, 30.0f, 1.0f);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (!this->getScene())
Index: /code/branches/gui/src/orxonox/objects/worldentities/Model.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/Model.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/Model.cc	(revision 2848)
@@ -31,5 +31,5 @@
 #include <OgreEntity.h>
 #include "Model.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -71,5 +71,5 @@
     void Model::changedMesh()
     {
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             if (this->mesh_.getEntity())
Index: /code/branches/gui/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 2848)
@@ -34,5 +34,5 @@
 #include "core/XMLPort.h"
 #include "core/Executor.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 
 namespace orxonox
@@ -89,5 +89,5 @@
     void MovableEntity::resynchronize()
     {
-        if (Core::isMaster() && !this->continuousResynchroTimer_)
+        if (GameMode::isMaster() && !this->continuousResynchroTimer_)
         {
             // Resynchronise every few seconds because we only work with velocities (no positions)
Index: /code/branches/gui/src/orxonox/objects/worldentities/ParticleEmitter.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/ParticleEmitter.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/ParticleEmitter.cc	(revision 2848)
@@ -39,5 +39,5 @@
 #include "tools/ParticleInterface.h"
 #include "util/Exception.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -52,5 +52,5 @@
         RegisterObject(ParticleEmitter);
 
-        if (Core::showsGraphics() && (!this->getScene() || !this->getScene()->getSceneManager()))
+        if (GameMode::showsGraphics() && (!this->getScene() || !this->getScene()->getSceneManager()))
             ThrowException(AbortLoading, "Can't create ParticleEmitter, no scene or no scene manager given.");
 
@@ -108,5 +108,5 @@
         }
 
-        if (Core::showsGraphics() && this->getScene() && this->getScene()->getSceneManager())
+        if (GameMode::showsGraphics() && this->getScene() && this->getScene()->getSceneManager())
         {
             try
Index: /code/branches/gui/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 2848)
@@ -30,5 +30,5 @@
 #include "Pawn.h"
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -63,5 +63,5 @@
         this->getPickUp().setPlayer(this);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->weaponSystem_ = new WeaponSystem(this);
@@ -187,5 +187,5 @@
             this->getPlayer()->stopControl(this);
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->deatheffect();
     }
@@ -234,5 +234,5 @@
     {
         this->setHealth(this->initialHealth_);
-        if (Core::isMaster())
+        if (GameMode::isMaster())
             this->spawneffect();
     }
Index: /code/branches/gui/src/orxonox/objects/worldentities/pawns/Spectator.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 2848)
@@ -34,5 +34,5 @@
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "objects/worldentities/Model.h"
 #include "objects/Scene.h"
@@ -63,5 +63,5 @@
         this->setDestroyWhenPlayerLeft(true);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             this->greetingFlare_ = new BillboardSet();
@@ -206,5 +206,5 @@
         this->bGreeting_ = !this->bGreeting_;
 
-        if (Core::isMaster())
+        if (GameMode::isMaster())
         {
             this->bGreetingFlareVisible_ = this->bGreeting_;
Index: /code/branches/gui/src/orxonox/objects/worldentities/triggers/Trigger.cc
===================================================================
--- /code/branches/gui/src/orxonox/objects/worldentities/triggers/Trigger.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/objects/worldentities/triggers/Trigger.cc	(revision 2848)
@@ -36,5 +36,5 @@
 #include "core/ConsoleCommand.h"
 #include "core/XMLPort.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "objects/Scene.h"
 
@@ -67,5 +67,5 @@
 //    this->bUpdating_ = false;
 
-    if (this->getScene() && Core::showsGraphics())
+    if (this->getScene() && GameMode::showsGraphics())
     {
       this->debugBillboard_.setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0, 0.0, 0.0), 1);
Index: /code/branches/gui/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- /code/branches/gui/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 2848)
@@ -44,5 +44,5 @@
 #include "util/Exception.h"
 #include "util/String.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -67,5 +67,5 @@
         this->group_ = 0;
 
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             ThrowException(NoGraphics, "Can't create OrxonoxOverlay, graphics engine not initialized");
 
Index: /code/branches/gui/src/orxonox/tools/BillboardSet.cc
===================================================================
--- /code/branches/gui/src/orxonox/tools/BillboardSet.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/tools/BillboardSet.cc	(revision 2848)
@@ -37,5 +37,5 @@
 #include <OgreBillboard.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "util/Convert.h"
 #include "util/String.h"
@@ -72,5 +72,5 @@
         try
         {
-            if (Core::showsGraphics())
+            if (GameMode::showsGraphics())
             {
                 this->billboardSet_ = scenemanager->createBillboardSet("Billboard" + convertToString(BillboardSet::billboardSetCounter_s++), count);
@@ -95,5 +95,5 @@
         try
         {
-            if (Core::showsGraphics())
+            if (GameMode::showsGraphics())
             {
                 this->billboardSet_ = scenemanager->createBillboardSet("Billboard" + convertToString(BillboardSet::billboardSetCounter_s++), count);
Index: /code/branches/gui/src/orxonox/tools/Mesh.cc
===================================================================
--- /code/branches/gui/src/orxonox/tools/Mesh.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/tools/Mesh.cc	(revision 2848)
@@ -35,5 +35,5 @@
 #include <cassert>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "util/Convert.h"
 #include "util/String.h"
@@ -64,5 +64,5 @@
             this->scenemanager_->destroyEntity(this->entity_);
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             try
Index: /code/branches/gui/src/orxonox/tools/ParticleInterface.cc
===================================================================
--- /code/branches/gui/src/orxonox/tools/ParticleInterface.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/tools/ParticleInterface.cc	(revision 2848)
@@ -41,5 +41,5 @@
 
 #include "GraphicsManager.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "util/Convert.h"
@@ -64,5 +64,5 @@
         this->speedFactor_ = 1.0f;
 
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
         {
             try
@@ -178,5 +178,5 @@
     {
         this->detaillevel_ = level;
-        if (Core::showsGraphics())
+        if (GameMode::showsGraphics())
             this->detailLevelChanged(GraphicsManager::getInstance().getDetailLevelParticle());
     }
Index: /code/branches/gui/src/orxonox/tools/Shader.cc
===================================================================
--- /code/branches/gui/src/orxonox/tools/Shader.cc	(revision 2847)
+++ /code/branches/gui/src/orxonox/tools/Shader.cc	(revision 2848)
@@ -36,5 +36,5 @@
 #include <OgrePlugin.h>
 
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
@@ -59,5 +59,5 @@
         this->compositorInstance_ = 0;
         this->bVisible_ = true;
-        this->bLoadCompositor_ = Core::showsGraphics();
+        this->bLoadCompositor_ = GameMode::showsGraphics();
         this->bViewportInitialized_ = false;
         this->compositor_ = "";
@@ -246,5 +246,5 @@
     Shader::ParameterPointer* Shader::getParameterPointer(const std::string& material, size_t technique, size_t pass, const std::string& parameter)
     {
-        if (!Core::showsGraphics() || !Shader::bLoadedCgPlugin_s)
+        if (!GameMode::showsGraphics() || !Shader::bLoadedCgPlugin_s)
             return 0;
 
