Index: /code/branches/ogre/src/orxonox/GraphicsEngine.cc
===================================================================
--- /code/branches/ogre/src/orxonox/GraphicsEngine.cc	(revision 1243)
+++ /code/branches/ogre/src/orxonox/GraphicsEngine.cc	(revision 1244)
@@ -70,5 +70,5 @@
     this->renderWindow_ = 0;
     this->setConfigValues();
-    COUT(4) << "*** GraphicsEngine: Constructed" << std::endl;
+    CCOUT(4) << "Constructed" << std::endl;
   }
 
@@ -87,5 +87,5 @@
   void GraphicsEngine::destroy()
   {
-    COUT(4) << "*** GraphicsEngine: Destroying objects..." << std::endl;
+    COUT(4) << "Destroying objects..." << std::endl;
     Ogre::WindowEventUtilities::removeWindowEventListener(this->renderWindow_, this);
     if (this->root_)
@@ -101,5 +101,5 @@
       delete Ogre::LogManager::getSingletonPtr();
     }
-    COUT(4) << "*** GraphicsEngine: Destroying objects done" << std::endl;
+    COUT(4) << "Destroying objects done" << std::endl;
   }
 
@@ -118,4 +118,5 @@
   bool GraphicsEngine::setup(std::string& dataPath)
   {
+    CCOUT(3) << "Setting up..." << std::endl;
     // temporary overwrite of dataPath, change ini file for permanent change
     if (dataPath != "")
@@ -139,5 +140,5 @@
     else
       logger = Ogre::LogManager::getSingletonPtr();
-    COUT(4) << "*** GraphicsEngine: Ogre LogManager created/assigned" << std::endl;
+    CCOUT(4) << "Ogre LogManager created/assigned" << std::endl;
 
     // create our own log that we can listen to
@@ -153,11 +154,12 @@
 
     // Root will detect that we've already created a Log
-    COUT(4) << "*** GraphicsEngine: Creating Ogre Root..." << std::endl;
+    CCOUT(4) << "Creating Ogre Root..." << std::endl;
     root_ = new Ogre::Root(plugin_filename);
-    COUT(4) << "*** GraphicsEngine: Creating Ogre Root done" << std::endl;
+    CCOUT(4) << "Creating Ogre Root done" << std::endl;
 
     // specify where Ogre has to look for resources. This call doesn't parse anything yet!
     declareRessourceLocations();
 
+    CCOUT(3) << "Set up done." << std::endl;
     return true;
   }
@@ -165,4 +167,5 @@
   void GraphicsEngine::declareRessourceLocations()
   {
+    CCOUT(4) << "Declaring Resources" << std::endl;
     //TODO: Specify layout of data file and maybe use xml-loader
     //TODO: Work with ressource groups (should be generated by a special loader)
@@ -194,10 +197,15 @@
   bool GraphicsEngine::loadRenderer()
   {
+    CCOUT(4) << "Configuring Renderer" << std::endl;
     if (!root_->restoreConfig() && !root_->showConfigDialog())
       return false;
 
+    CCOUT(4) << "Creating render window" << std::endl;
     this->renderWindow_ = root_->initialise(true, "OrxonoxV2");
     if (!root_->isInitialised())
-      return false;
+    {
+      CCOUT(2) << "Error: Creating Ogre root object failed" << std::endl;
+      return false;
+    }
     Ogre::WindowEventUtilities::addWindowEventListener(this->renderWindow_, this);
     Ogre::TextureManager::getSingleton().setDefaultNumMipmaps(5);
@@ -205,8 +213,19 @@
   }
 
-  void GraphicsEngine::initialiseResources()
-  {
+  bool GraphicsEngine::initialiseResources()
+  {
+    CCOUT(4) << "Initialising resources" << std::endl;
     //TODO: Do NOT load all the groups, why are we doing that? And do we really do that? initialise != load...
-    Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
+    try
+    {
+      Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
+    }
+    catch (Ogre::Exception e)
+    {
+      CCOUT(2) << "Error: There was an Error when initialising the resources." << std::endl;
+      CCOUT(2) << "ErrorMessage: " << e.getFullDescription() << std::endl;
+      return false;
+    }
+    return true;
   }
 
@@ -216,8 +235,12 @@
   bool GraphicsEngine::createNewScene()
   {
+    CCOUT(4) << "Creating new SceneManager" << std::endl;
     if (scene_)
-      return false;
+    {
+      CCOUT(2) << "SceneManager already exists! Skipping." << std::endl;
+      return false;
+    }
     scene_ = root_->createSceneManager(Ogre::ST_GENERIC, "Default SceneManager");
-    COUT(3) << "Info: Created SceneManager: " << scene_ << std::endl;
+    CCOUT(3) << "Created SceneManager: " << scene_ << std::endl;
     return true;
   }
Index: /code/branches/ogre/src/orxonox/GraphicsEngine.h
===================================================================
--- /code/branches/ogre/src/orxonox/GraphicsEngine.h	(revision 1243)
+++ /code/branches/ogre/src/orxonox/GraphicsEngine.h	(revision 1244)
@@ -59,5 +59,5 @@
             void declareRessourceLocations();
             bool loadRenderer();
-            void initialiseResources();
+            bool initialiseResources();
             bool createNewScene();
 
Index: /code/branches/ogre/src/orxonox/Orxonox.cc
===================================================================
--- /code/branches/ogre/src/orxonox/Orxonox.cc	(revision 1243)
+++ /code/branches/ogre/src/orxonox/Orxonox.cc	(revision 1244)
@@ -37,10 +37,7 @@
 
 //****** STD *******
-//#include <iostream>
-//#include <exception>
 #include <deque>
 
 //****** OGRE ******
-//#include <OgreException.h>
 #include <OgreFrameListener.h>
 #include <OgreOverlay.h>
@@ -159,5 +156,5 @@
 
   /**
-   * create a new instance of Orxonox
+   * Create a new instance of Orxonox. Avoid doing any actual work here.
    */
   Orxonox::Orxonox()
@@ -177,5 +174,5 @@
 
   /**
-   * destruct Orxonox
+   * Destruct Orxonox.
    */
   Orxonox::~Orxonox()
@@ -208,5 +205,5 @@
 
   /**
-   * @return singleton object
+   * @return singleton reference
    */
   Orxonox* Orxonox::getSingleton()
@@ -248,4 +245,5 @@
       return false;
 
+    COUT(3) << "*** Orxonox: Mode is " << mode << "." << std::endl;
     if (mode == "client")
       mode_ = CLIENT;
@@ -260,5 +258,5 @@
 
     // for playable server, client and standalone, the startup
-    // procedure until the GUI is the identical
+    // procedure until the GUI is identical
 
     TclBind::getInstance().setDataPath(dataPath);
@@ -284,5 +282,5 @@
       return false;
 
-    // Calls the InputHandler which sets up the input devices.
+    // Calls the InputManager which sets up the input devices.
     // The render window width and height are used to set up the mouse movement.
     if (!InputManager::initialise(ogre_->getWindowHandle(),
@@ -290,6 +288,7 @@
       return false;
 
-    // TODO: Spread this so that this call onyl initialises things needed for the GUI
-    ogre_->initialiseResources();
+    // TODO: Spread this so that this call only initialises things needed for the GUI
+    if (!ogre_->initialiseResources())
+      return false;
 
     // TOOD: load the GUI here
@@ -298,5 +297,5 @@
     // TODO: run GUI here
 
-    // The following lines depend very much on the GUI, so they're probably misplaced here..
+    // The following lines depend very much on the GUI output, so they're probably misplaced here..
 
     InputManager::setInputState(InputManager::IS_NONE);
@@ -325,4 +324,8 @@
   }
 
+  /**
+   * Loads everything in the scene except for the actual objects.
+   * This includes HUD, Console..
+   */
   bool Orxonox::loadPlayground()
   {
@@ -338,4 +341,5 @@
 
     // Load the HUD
+    COUT(3) << "*** Orxonox: Loading HUD..." << std::endl;
     Ogre::Overlay* hudOverlay = Ogre::OverlayManager::getSingleton().getByName("Orxonox/HUD1.2");
     orxonoxHUD_ = new HUD();
@@ -344,4 +348,5 @@
     hudOverlay->show();
 
+    COUT(3) << "*** Orxonox: Loading Console..." << std::endl;
     InputBuffer* ib = dynamic_cast<InputBuffer*>(InputManager::getKeyHandler("buffer"));
     /*
@@ -365,7 +370,10 @@
   }
 
+  /**
+   * Level loading method for server mode.
+   */
   bool Orxonox::serverLoad()
   {
-    COUT(2) << "initialising server" << std::endl;
+    COUT(2) << "Loading level in server mode" << std::endl;
 
     server_g = new network::Server();
@@ -379,7 +387,10 @@
   }
 
+  /**
+   * Level loading method for client mode.
+   */
   bool Orxonox::clientLoad()
   {
-    COUT(2) << "initialising client" << std::endl;\
+    COUT(2) << "Loading level in client mode" << std::endl;\
 
     if (serverIp_.compare("") == 0)
@@ -394,7 +405,10 @@
   }
 
+  /**
+   * Level loading method for standalone mode.
+   */
   bool Orxonox::standaloneLoad()
   {
-    COUT(2) << "initialising standalone mode" << std::endl;
+    COUT(2) << "Loading level in standalone mode" << std::endl;
 
     if (!loadScene())
@@ -404,4 +418,7 @@
   }
 
+  /**
+   * Helper method to load a level.
+   */
   bool Orxonox::loadScene()
   {
@@ -447,4 +464,5 @@
     timer_->reset();
 
+    COUT(3) << "*** Orxonox: Starting the main loop." << std::endl;
 	  while (!bAbort_)
 	  {
@@ -534,6 +552,10 @@
   }
 
+  /**
+   * Static function that shows the console in game mode.
+   */
   void Orxonox::activateConsole()
   {
+    // currently, the console shows itself when feeded with input.
     InputManager::setInputState(InputManager::IS_CONSOLE);
   }
