Index: code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc
===================================================================
--- code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 2890)
+++ code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc	(revision 2896)
@@ -39,11 +39,14 @@
 #include <OgreOverlayManager.h>
 #include <OgrePanelOverlayElement.h>
+#include <OgreRenderWindow.h>
+
 #include "util/Convert.h"
 #include "util/Exception.h"
 #include "util/String.h"
-#include "core/Core.h"
+#include "core/GameMode.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "core/ConsoleCommand.h"
+#include "GraphicsManager.h"
 
 namespace orxonox
@@ -64,5 +67,5 @@
         this->group_ = 0;
 
-        if (!Core::showsGraphics())
+        if (!GameMode::showsGraphics())
             ThrowException(NoGraphics, "Can't create OrxonoxOverlay, graphics engine not initialized");
 
@@ -77,7 +80,7 @@
         this->overlay_->add2D(this->background_);
 
-        // We'll have to set the aspect ratio to a default value first.
-        // GSGraphics gets informed about our construction here and can update us in the next tick.
-        this->windowAspectRatio_ = 1.0;
+        // Get aspect ratio from the render window. Later on, we get informed automatically
+        Ogre::RenderWindow* defaultWindow = GraphicsManager::getInstance().getRenderWindow();
+        this->windowAspectRatio_ = (float)defaultWindow->getWidth() / defaultWindow->getHeight();
         this->sizeCorrectionChanged();
 
@@ -175,8 +178,8 @@
     /**
     @brief
-        Called by the GraphicsEngine whenever the window size changes.
+        Called by the GraphicsManager whenever the window size changes.
         Calculates the aspect ratio only.
     */
-    void OrxonoxOverlay::windowResized(int newWidth, int newHeight)
+    void OrxonoxOverlay::windowResized(unsigned int newWidth, unsigned int newHeight)
     {
         this->windowAspectRatio_ = newWidth/(float)newHeight;
Index: code/trunk/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- code/trunk/src/orxonox/overlays/OrxonoxOverlay.h	(revision 2890)
+++ code/trunk/src/orxonox/overlays/OrxonoxOverlay.h	(revision 2896)
@@ -200,5 +200,5 @@
 
     private:
-        void windowResized(int newWidth, int newHeight);
+        void windowResized(unsigned int newWidth, unsigned int newHeight);
 
         static unsigned int hudOverlayCounter_s;   //!< Static counter for hud elements
Index: code/trunk/src/orxonox/overlays/console/InGameConsole.cc
===================================================================
--- code/trunk/src/orxonox/overlays/console/InGameConsole.cc	(revision 2890)
+++ code/trunk/src/orxonox/overlays/console/InGameConsole.cc	(revision 2896)
@@ -42,4 +42,5 @@
 #include "util/Convert.h"
 #include "util/Debug.h"
+#include "core/Clock.h"
 #include "core/CoreIncludes.h"
 #include "core/ConfigValueIncludes.h"
@@ -172,5 +173,5 @@
     {
         // create the corresponding input state
-        inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("console", 40);
+        inputState_ = InputManager::getInstance().createInputState<SimpleInputState>("console", false, false, InputStatePriority::Console);
         inputState_->setKeyHandler(Shell::getInstance().getInputBuffer());
         bHidesAllInputChanged();
@@ -347,5 +348,5 @@
         @brief Used to control the actual scrolling and the cursor.
     */
-    void InGameConsole::tick(float dt)
+    void InGameConsole::update(const Clock& time)
     {
         if (this->scroll_ != 0)
@@ -358,5 +359,5 @@
                 // enlarge oldTop a little bit so that this exponential function
                 // reaches 0 before infinite time has passed...
-                float deltaScroll = (oldTop - 0.01) * dt * this->scrollSpeed_;
+                float deltaScroll = (oldTop - 0.01) * time.getDeltaTime() * this->scrollSpeed_;
                 if (oldTop - deltaScroll >= 0)
                 {
@@ -373,5 +374,5 @@
                 // scrolling up
                 // note: +0.01 for the same reason as when scrolling down
-                float deltaScroll = (1.2 * this->relativeHeight + 0.01 + oldTop) * dt * this->scrollSpeed_;
+                float deltaScroll = (1.2 * this->relativeHeight + 0.01 + oldTop) * time.getDeltaTime() * this->scrollSpeed_;
                 if (oldTop - deltaScroll <= -1.2 * this->relativeHeight)
                 {
@@ -388,5 +389,5 @@
         if (this->bActive_)
         {
-            this->cursor_ += dt;
+            this->cursor_ += time.getDeltaTime();
             if (this->cursor_ >= this->blinkTime)
             {
@@ -409,5 +410,5 @@
         @brief Resizes the console elements. Call if window size changes.
     */
-    void InGameConsole::windowResized(int newWidth, int newHeight)
+    void InGameConsole::windowResized(unsigned int newWidth, unsigned int newHeight)
     {
         this->windowW_ = newWidth;
Index: code/trunk/src/orxonox/overlays/console/InGameConsole.h
===================================================================
--- code/trunk/src/orxonox/overlays/console/InGameConsole.h	(revision 2890)
+++ code/trunk/src/orxonox/overlays/console/InGameConsole.h	(revision 2896)
@@ -53,5 +53,5 @@
         void setConfigValues();
 
-        virtual void tick(float dt);
+        void update(const Clock& time);
 
         static InGameConsole& getInstance() { assert(singletonRef_s); return *singletonRef_s; }
@@ -81,5 +81,5 @@
         void print(const std::string& text, int index, bool alwaysShift = false);
 
-        void windowResized(int newWidth, int newHeight);
+        void windowResized(unsigned int newWidth, unsigned int newHeight);
 
         // config value related
Index: code/trunk/src/orxonox/overlays/debug/DebugFPSText.cc
===================================================================
--- code/trunk/src/orxonox/overlays/debug/DebugFPSText.cc	(revision 2890)
+++ code/trunk/src/orxonox/overlays/debug/DebugFPSText.cc	(revision 2896)
@@ -30,7 +30,7 @@
 #include "DebugFPSText.h"
 #include <OgreTextAreaOverlayElement.h>
+#include "util/Convert.h"
 #include "core/CoreIncludes.h"
-#include "GraphicsEngine.h"
-#include "util/Convert.h"
+#include "core/Game.h"
 
 namespace orxonox
@@ -51,5 +51,5 @@
         SUPER(DebugFPSText, tick, dt);
 
-        float fps = GraphicsEngine::getInstance().getAverageFramesPerSecond();
+        float fps = Game::getInstance().getAvgFPS();
         this->setCaption(convertToString(fps));
     }
Index: code/trunk/src/orxonox/overlays/debug/DebugRTRText.cc
===================================================================
--- code/trunk/src/orxonox/overlays/debug/DebugRTRText.cc	(revision 2890)
+++ code/trunk/src/orxonox/overlays/debug/DebugRTRText.cc	(revision 2896)
@@ -32,5 +32,5 @@
 #include "core/CoreIncludes.h"
 #include "util/Convert.h"
-#include "GraphicsEngine.h"
+#include "core/Game.h"
 
 namespace orxonox
@@ -51,5 +51,5 @@
         SUPER(DebugRTRText, tick, dt);
 
-        float rtr = GraphicsEngine::getInstance().getAverageTickTime();
+        float rtr = Game::getInstance().getAvgTickTime();
         this->setCaption(convertToString(rtr));
     }
Index: code/trunk/src/orxonox/overlays/hud/HUDRadar.cc
===================================================================
--- code/trunk/src/orxonox/overlays/hud/HUDRadar.cc	(revision 2890)
+++ code/trunk/src/orxonox/overlays/hud/HUDRadar.cc	(revision 2896)
@@ -94,5 +94,5 @@
     void HUDRadar::displayObject(RadarViewable* object, bool bIsMarked)
     {
-        if (object == (RadarViewable*)this->owner_)
+        if (object == static_cast<RadarViewable*>(this->owner_))
             return;
 
