Index: orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4783)
+++ orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4784)
@@ -36,4 +36,7 @@
   this->setClassID(CL_GRAPHICS_ENGINE, "GraphicsEngine");
   this->setName("GraphicsEngine");
+
+  this->isInit = false;
+
   this->bDisplayFPS = false;
   this->minFPS = 9999;
@@ -42,7 +45,5 @@
   this->fullscreenFlag = 0;
 
-  this->initVideo();
-
-  this->listModes();
+//  this->listModes();
 }
 
@@ -60,4 +61,9 @@
 }
 
+int GraphicsEngine::init()
+{
+  this->initVideo(640,480,16);
+}
+
 /**
    \brief initializes the Video for openGL.
@@ -65,6 +71,8 @@
    This has to be done only once when starting orxonox.
 */
-int GraphicsEngine::initVideo()
-{
+int GraphicsEngine::initVideo(unsigned int resX, unsigned int resY, unsigned int bbp)
+{
+  if (this->isInit)
+    return -1;
   // initialize SDL_VIDEO
   if (SDL_Init(SDL_INIT_VIDEO) == -1)
@@ -95,5 +103,5 @@
   */
     // setting up the Resolution
-  this->setResolution(640, 480, 16);
+  this->setResolution(resX, resY, bbp);
 
   // TO DO: Create a cool icon and use it here
@@ -104,4 +112,6 @@
   // Enable default GL stuff
   glEnable(GL_DEPTH_TEST);
+
+  this->isInit = true;
 }
 
@@ -112,9 +122,9 @@
  * @returns nothing usefull
  */
-int GraphicsEngine::loadFromIniFile(IniParser* iniParser)
+int GraphicsEngine::initFromIniFile(IniParser* iniParser)
 {
   // searching for a usefull resolution
   SubString resolution(iniParser->getVar(CONFIG_NAME_RESOLUTION, CONFIG_SECTION_VIDEO, "640x480"), 'x');
-  this->setResolution(atoi(resolution.getString(0)), atoi(resolution.getString(1)), 16);
+  this->initVideo(atoi(resolution.getString(0)), atoi(resolution.getString(1)), 16);
 
   // looking if we are in fullscreen-mode
Index: orxonox/trunk/src/lib/graphics/graphics_engine.h
===================================================================
--- orxonox/trunk/src/lib/graphics/graphics_engine.h	(revision 4783)
+++ orxonox/trunk/src/lib/graphics/graphics_engine.h	(revision 4784)
@@ -30,6 +30,6 @@
     inline static GraphicsEngine* getInstance() { if (!singletonRef) singletonRef = new GraphicsEngine();  return singletonRef; };
 
-    int initVideo();
-    int loadFromIniFile(IniParser* iniParser);
+    int init();
+    int initFromIniFile(IniParser* iniParser);
 
     void setWindowName(const char* windowName, const char* icon);
@@ -64,25 +64,29 @@
     static void swapBuffers() { SDL_GL_SwapBuffers(); };
 
-  public:
-    static bool texturesEnabled;
 
   private:
     GraphicsEngine();
+    int initVideo(unsigned int resX, unsigned int resY, unsigned int bbp);
+
+  public:
+    static bool             texturesEnabled; //!< if textures should be enabled (globally)
+
 
   private:
-    static GraphicsEngine* singletonRef;
+    static GraphicsEngine*  singletonRef;    //!< Pointer to the only instance of this Class
+    bool                    isInit;          //!< if the GraphicsEngine is initialized.
 
-    SDL_Surface*   screen;          //!< the screen we draw to
-    int            resolutionX;     //!< the X-resoultion of the screen
-    int            resolutionY;     //!< the Y-resolution of the screen
-    int            bitsPerPixel;    //!< the bits per pixels of the screen
-    Uint32         fullscreenFlag;  //!< if we are in fullscreen mode
-    Uint32         videoFlags;      //!< flags for video
-    SDL_Rect**     videoModes;      //!< list of resolutions
+    SDL_Surface*            screen;          //!< the screen we draw to
+    int                     resolutionX;     //!< the X-resoultion of the screen
+    int                     resolutionY;     //!< the Y-resolution of the screen
+    int                     bitsPerPixel;    //!< the bits per pixels of the screen
+    Uint32                  fullscreenFlag;  //!< if we are in fullscreen mode
+    Uint32                  videoFlags;      //!< flags for video
+    SDL_Rect**              videoModes;      //!< list of resolutions
 
-    bool           bDisplayFPS;     //!< is true if the fps should be displayed
-    float          currentFPS;      //!< the current frame rate: frames per seconds
-    float          maxFPS;          //!< maximal frame rate we ever got since start of the game
-    float          minFPS;          //!< minimal frame rate we ever got since start
+    bool                    bDisplayFPS;     //!< is true if the fps should be displayed
+    float                   currentFPS;      //!< the current frame rate: frames per seconds
+    float                   maxFPS;          //!< maximal frame rate we ever got since start of the game
+    float                   minFPS;          //!< minimal frame rate we ever got since start
 
 
Index: orxonox/trunk/src/lib/lang/class_list.cc
===================================================================
--- orxonox/trunk/src/lib/lang/class_list.cc	(revision 4783)
+++ orxonox/trunk/src/lib/lang/class_list.cc	(revision 4784)
@@ -89,5 +89,4 @@
     }
   }
-
   regClass->objectList->add(objectPointer);
 }
