Index: /orxonox/trunk/src/defs/debug.h
===================================================================
--- /orxonox/trunk/src/defs/debug.h	(revision 3616)
+++ /orxonox/trunk/src/defs/debug.h	(revision 3617)
@@ -57,18 +57,18 @@
 #else /* DEBUG_SPECIAL_MODULE */
 // DEFINE MODULES \\
-#define DEBUG_MODULE_ORXONOX            0
-#define DEBUG_MODULE_WORLD              0
+#define DEBUG_MODULE_ORXONOX            2
+#define DEBUG_MODULE_WORLD              2
 #define DEBUG_MODULE_PNODE              2
-#define DEBUG_MODULE_WORLD_ENTITY       0
-#define DEBUG_MODULE_COMMAND_NODE       0
-#define DEBUG_MODULE_GRAPHICS           0
-
-#define DEBUG_MODULE_IMPORTER           0
-#define DEBUG_MODULE_TRACK_MANAGER      0
-#define DEBUG_MODULE_LIGHT              3
-#define DEBUG_MODULE_PLAYER             0
-#define DEBUG_MODULE_MATH               0
-
-#define DEBUG_MODULE_NULL_PARENT        0
+#define DEBUG_MODULE_WORLD_ENTITY       2
+#define DEBUG_MODULE_COMMAND_NODE       2
+#define DEBUG_MODULE_GRAPHICS           2
+
+#define DEBUG_MODULE_IMPORTER           2
+#define DEBUG_MODULE_TRACK_MANAGER      2
+#define DEBUG_MODULE_LIGHT              2
+#define DEBUG_MODULE_PLAYER             2
+#define DEBUG_MODULE_MATH               2
+
+#define DEBUG_MODULE_NULL_PARENT        2
 
 
Index: /orxonox/trunk/src/lib/coord/p_node.cc
===================================================================
--- /orxonox/trunk/src/lib/coord/p_node.cc	(revision 3616)
+++ /orxonox/trunk/src/lib/coord/p_node.cc	(revision 3617)
@@ -424,5 +424,5 @@
 void PNode::update ()
 {
-  PRINTF(2)("PNode::update - %s - (%f, %f, %f)\n", this->objectName, this->absCoordinate->x, this->absCoordinate->y, this->absCoordinate->z);
+  PRINTF(4)("PNode::update - %s - (%f, %f, %f)\n", this->objectName, this->absCoordinate->x, this->absCoordinate->y, this->absCoordinate->z);
   // printf("%s", this->objectName);
   if(this->mode & PNODE_MOVEMENT )
Index: /orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 3616)
+++ /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 3617)
@@ -30,6 +30,8 @@
 {
   this->setClassName ("GraphicsEngine");
-  
   this->initVideo();
+
+  this->listModes();
+
 
 }
@@ -60,10 +62,46 @@
 int GraphicsEngine::initVideo()
 {
-
+  // initialize SDL_VIDEO
   if (SDL_Init(SDL_INIT_VIDEO) == -1)
     {
-      printf ("could not initialize SDL Video\n");
+      PRINTF(1)("could not initialize SDL Video\n");
       //      return -1;
     }
+  // initialize SDL_GL-settings
+  this->setGLattribs();
+
+  // setting the Video Flags.
+  this->videoFlags = SDL_OPENGL | SDL_HWPALETTE | SDL_RESIZABLE;
+
+  /* query SDL for information about our video hardware */
+  const SDL_VideoInfo* videoInfo = SDL_GetVideoInfo ();
+  if( videoInfo == NULL)
+    {
+      PRINTF(1)("Failed getting Video Info :%s\n", SDL_GetError()); 
+      SDL_Quit ();
+    }
+  if( videoInfo->hw_available)
+    this->videoFlags |= SDL_HWSURFACE;
+  else 
+    this->videoFlags |= SDL_SWSURFACE;
+  /*
+  if(VideoInfo -> blit_hw)                            
+    VideoFlags |= SDL_HWACCEL;
+  */
+
+  // setting up the Resolution
+  this->setResoulution(800, 600, 16);
+  
+  // Set window labeling
+  SDL_WM_SetCaption ("Orxonox " PACKAGE_VERSION, "Orxonox " PACKAGE_VERSION);
+  
+  // TO DO: Create a cool icon and use it here
+  // SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask);  
+
+}
+
+
+int GraphicsEngine::setGLattribs(void)
+{
   // Set video mode
   // TO DO: parse arguments for settings
@@ -81,36 +119,4 @@
   SDL_GL_SetAttribute( SDL_GL_ACCUM_BLUE_SIZE, 0);
   SDL_GL_SetAttribute( SDL_GL_ACCUM_ALPHA_SIZE, 0);
-
-
-  //Uint32 flags = SDL_HWSURFACE | SDL_OPENGL | SDL_GL_DOUBLEBUFFER; /* \todo: SDL_OPENGL doen't permit to load images*/
-  //Uint32 flags = SDL_HWSURFACE | SDL_GL_DOUBLEBUFFER;
-
-  this->videoFlags = SDL_OPENGL | SDL_HWPALETTE | SDL_RESIZABLE;
-
-  /* query SDL for information about our video hardware */
-  const SDL_VideoInfo* videoInfo = SDL_GetVideoInfo ();
-  
-  if( videoInfo == NULL)
-    {
-      PRINTF(1)("Orxonox::initVideo() - Failed getting Video Info :%s\n", SDL_GetError()); 
-      SDL_Quit ();
-    }
-  if( videoInfo->hw_available)
-    this->videoFlags |= SDL_HWSURFACE;
-  else 
-    this->videoFlags |= SDL_SWSURFACE;
-  /*
-  if(VideoInfo -> blit_hw)                            
-    VideoFlags |= SDL_HWACCEL;
-  */
-
-  this->setResoulution(800, 600, 16);
-  
-  // Set window labeling
-  SDL_WM_SetCaption ("Orxonox " PACKAGE_VERSION, "Orxonox " PACKAGE_VERSION);
-  
-  // TO DO: Create a cool icon and use it here
-  // SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask);  
-
 }
 
@@ -129,2 +135,35 @@
 
 }
+
+
+
+
+
+
+
+/**
+   \brief outputs all the Fullscreen modes.
+*/
+void GraphicsEngine::listModes(void)
+{
+  /* Get available fullscreen/hardware modes */
+  this->videoModes=SDL_ListModes(NULL, SDL_FULLSCREEN|SDL_HWSURFACE);
+  
+  /* Check is there are any modes available */
+  if(this->videoModes == (SDL_Rect **)0){
+    PRINTF(1)("No modes available!\n");
+    exit(-1);
+  }
+  
+  /* Check if our resolution is restricted */
+  if(this->videoModes == (SDL_Rect **)-1){
+    PRINTF(1)("All resolutions available.\n");
+  }
+  else{
+    /* Print valid modes */
+    PRINT(0)("Available Resoulution Modes are\n");
+    for(int i = 0; this->videoModes[i]; ++i)
+      PRINT(0)(" |  %d x %d\n", this->videoModes[i]->w, this->videoModes[i]->h);
+  }
+  
+}
Index: /orxonox/trunk/src/lib/graphics/graphics_engine.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/graphics_engine.h	(revision 3616)
+++ /orxonox/trunk/src/lib/graphics/graphics_engine.h	(revision 3617)
@@ -24,5 +24,7 @@
 
   int initVideo();
+  int setGLattribs(void);
   int setResoulution(int width, int height, int bpp);
+  void listModes(void);
 
   static bool texturesEnabled;
@@ -39,4 +41,6 @@
   bool fullscreen;
   Uint32 videoFlags;
+
+  SDL_Rect **videoModes;
 };
 
