Index: /orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4134)
+++ /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4135)
@@ -31,4 +31,7 @@
 {
   this->setClassName ("GraphicsEngine");
+
+  this->fullscreen = false;
+
   this->initVideo();
 
@@ -140,10 +143,15 @@
 int GraphicsEngine::setResolution(int width, int height, int bpp)
 {
+  Uint32 fullscreenFlag;
   this->resolutionX = width;
   this->resolutionY = height;
   this->bitsPerPixel = bpp;
+  if (this->fullscreen)
+    fullscreenFlag = SDL_FULLSCREEN;
+  else
+    fullscreenFlag = 0;
   
   printf ("ok\n");
-  if((this->screen = SDL_SetVideoMode(this->resolutionX, this->resolutionY, this->bitsPerPixel, this->videoFlags)) == NULL)
+  if((this->screen = SDL_SetVideoMode(this->resolutionX, this->resolutionY, this->bitsPerPixel, this->videoFlags | fullscreenFlag)) == NULL)
     {
       PRINTF(1)("Could not SDL_SetVideoMode(%d, %d, %d, %d): %s\n", this->resolutionX, this->resolutionY, this->bitsPerPixel, this->videoFlags, SDL_GetError());
@@ -151,5 +159,10 @@
       //    return -1;
     }
-
+}
+
+void GraphicsEngine::setFullscreen(bool fullscreen)
+{
+  this->fullscreen = fullscreen;
+  this->setResolution(this->resolutionX, this->resolutionY, this->bitsPerPixel);
 }
 
@@ -257,5 +270,5 @@
   /* Check if our resolution is restricted */
   if(this->videoModes == (SDL_Rect **)-1){
-    PRINTF(1)("All resolutions available.\n");
+    PRINTF(2)("All resolutions available.\n");
   }
   else{
@@ -263,5 +276,5 @@
     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);
+      PRINT(4)(" |  %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 4134)
+++ /orxonox/trunk/src/lib/graphics/graphics_engine.h	(revision 4135)
@@ -26,4 +26,5 @@
   int setGLattribs(void);
   int setResolution(int width, int height, int bpp);
+  void setFullscreen(bool fullscreen = false);
   /** \returns the x resolution */
   inline int getResolutionX(void) {return this->resolutionX;}
Index: /orxonox/trunk/src/orxonox.cc
===================================================================
--- /orxonox/trunk/src/orxonox.cc	(revision 4134)
+++ /orxonox/trunk/src/orxonox.cc	(revision 4135)
@@ -48,4 +48,6 @@
 /**
    \brief create a new Orxonox
+
+   In this funcitons only global values are set. The game will not be started here.
 */
 Orxonox::Orxonox ()
@@ -56,4 +58,7 @@
   this->resources = NULL;
   this->localinput = NULL;
+
+  this->argc = 0;
+  this->argv = NULL;
 }
 
@@ -103,4 +108,6 @@
 int Orxonox::init (int argc, char** argv)
 {
+  this->argc = argc;
+  this->argv = argv;
   // parse command line
   // config file
@@ -132,5 +139,19 @@
   
   GraphicsEngine::getInstance();
-  
+
+  /*
+ int i;
+  for(i = 1; i < this->argc; ++i)
+    {
+      if (!strncmp (this->argv[i], "-r", 2))
+	{
+	  char* tmp = strchr (argv[i], 'x');
+	  //	  GraphicsEngine::getInstance()->setResolution(atoi(argv[i]), atoi(tmp+1), 24);
+	}
+      else if (!strncmp(this->argv[i], "--resolution=", 13))
+	{
+	}
+    }
+  */
   return 0;
 }
@@ -339,24 +360,14 @@
 */
 int main(int argc, char** argv) 
-{  
-  
-  /* reading arguments 
-     
-     currently supported arguments are:
-     <no args>                   ::    just starts orxonox
-     --benchmark                 ::    start the benchmark without starting orxonox
-     
-     this is a preselection: it matches to one of the start* functions, the
-     finetuning is made in those functions.
-  */
-
-
+{ 
+
+  // here the pre-arguments are loaded, these are needed to go either to orxonx itself, Help, or Benchmark.
   int i;
   for(i = 1; i < argc; ++i)
     {
-      if(! strcmp( "--help", argv[i])) return startHelp(argc, argv);
-      else if(! strcmp( "--benchmark", argv[i])) return startBenchmarks();
-      else if(! strcmp( "--gui", argv[i]) || !strcmp("-g", argv[i])) showGui = true;
-      else PRINTF(2)("Orxonox does not understand the arguments %s\n", argv[i]);
+      if(! strcmp( "--help", argv[i]) || !strcmp("-h", argv[i])) return startHelp(argc, argv);
+      else if(!strcmp( "--benchmark", argv[i]) || !strcmp("-b", argv[i])) return startBenchmarks();
+      else if(!strcmp( "--gui", argv[i]) || !strcmp("-g", argv[i])) showGui = true;
+      //      else PRINTF(2)("Orxonox does not understand the arguments %s\n", argv[i]);
     }
 
@@ -376,6 +387,6 @@
     delete gui;
   }
-  PRINT(0)(" --benchmark:\t\t\tstarts the orxonox benchmark\n");
-  PRINT(0)(" --help: \t\t\tshows this help\n");
+  PRINT(0)(" -b|--benchmark:\t\tstarts the orxonox benchmark\n");
+  PRINT(0)(" -h|--help:\t\t\tshows this help\n");
 }
 
Index: /orxonox/trunk/src/orxonox.h
===================================================================
--- /orxonox/trunk/src/orxonox.h	(revision 4134)
+++ /orxonox/trunk/src/orxonox.h	(revision 4135)
@@ -39,14 +39,10 @@
   Uint32 lastframe;           //!< Time of the last Frame
   
+  unsigned int argc;          //!< Count of Arguments of orxonox
+  char** argv;                //!< Values of th Arguments of orxonox.
+  
   void getConfigFile (int argc, char** argv);
   
-  // main loop functions
-  //  void synchronize ();
-  //void handle_input ();
-  //void time_slice ();
-  //void collision ();
-  //void display ();
-  
-  	// subsystem initialization
+  // subsystem initialization
   int initVideo ();
   int initSound ();
