Index: /orxonox/branches/updater/src/gui/orxonox_gui.cc
===================================================================
--- /orxonox/branches/updater/src/gui/orxonox_gui.cc	(revision 3378)
+++ /orxonox/branches/updater/src/gui/orxonox_gui.cc	(revision 3379)
@@ -60,5 +60,5 @@
   initGUI(argc, argv);
 
-  orxonoxGUI = new Window( "Grafical OrxOnoX loader, "PACKAGE_VERSION);
+  orxonoxGUI = new Window( "grafical orxonox loader, "PACKAGE_VERSION);
   
   Box* windowBox = new Box ('h');
@@ -93,5 +93,4 @@
   
   orxonoxGUI->fill(windowBox);
-  flags->setTextFromFlags(orxonoxGUI);
 
   // Reading Values from File
@@ -102,5 +101,5 @@
     orxonoxGUI->walkThrough(Widget::flagCheck, argv[optCount], 0);
 
-
+  flags->setTextFromFlags(orxonoxGUI);
   orxonoxGUI->showall();
 
Index: /orxonox/branches/updater/src/gui/orxonox_gui_exec.cc
===================================================================
--- /orxonox/branches/updater/src/gui/orxonox_gui_exec.cc	(revision 3378)
+++ /orxonox/branches/updater/src/gui/orxonox_gui_exec.cc	(revision 3379)
@@ -154,7 +154,7 @@
   int counter = 0;
   while(counter < depth &&((widget->isOption>0
-			      &&(static_cast<Option*>(widget)->isSaveable()) )
+			      &&(static_cast<Option*>(widget)->isSaveable()))
 			     ||(widget->isOption<0
-				 && static_cast<Packer*>(widget)->getGroupName())))
+				&& static_cast<Packer*>(widget)->getGroupName())))
     {
       fprintf(this->CONFIG_FILE, "  ", depth);
@@ -224,4 +224,6 @@
 		  groupWidget = widget;
 		}
+	      else
+		PRINT(3)("Group %s located.\n", static_cast<Packer*>(groupWidget)->groupName);
 	    }
 	  // option-setting //
@@ -245,4 +247,5 @@
     }
 }
+
 /**
    \brief Maps Confugurations to the Options.
@@ -253,13 +256,13 @@
 {
   VarInfo* info =(VarInfo*)varInfo;
-
-  if(widget->isOption >= 1 && widget->isOption <= 3)
-    {
-      if(!strcmp(static_cast<Option*>(widget)->title, info->variableName))
-	static_cast<Option*>(widget)->value = atoi(info->variableValue);
-    }
-  else if(widget->isOption == 5)
-    {
-       if(!strcmp(static_cast<Option*>(widget)->title, info->variableName))
+  if(widget->title && !strcmp(widget->title, info->variableName))
+    {
+      PRINT(3)("Located Option %s.\n", widget->title);
+      if(widget->isOption >= 1 && widget->isOption <= 3)
+	{
+	  static_cast<Option*>(widget)->value = atoi(info->variableValue);
+	  static_cast<Option*>(widget)->redraw(); //!< \todo change this to setValue.
+	}
+      else if(widget->isOption == 5)
 	static_cast<OptionLabel*>(widget)->setValue(info->variableValue);
     }
Index: /orxonox/branches/updater/src/gui/orxonox_gui_video.cc
===================================================================
--- /orxonox/branches/updater/src/gui/orxonox_gui_video.cc	(revision 3378)
+++ /orxonox/branches/updater/src/gui/orxonox_gui_video.cc	(revision 3379)
@@ -45,4 +45,7 @@
   this->videoBox->fill(wireframe);
 
+  this->advancedWindowCreate();
+  this->videoBox->fill(this->advancedWindowGetButton());
+
   this->videoFrame->fill(videoBox);
 }
@@ -63,2 +66,79 @@
   return this->videoFrame;
 }
+
+
+/**
+   \brief Creates a window, and all it contains for the Source-update.
+*/
+void OrxonoxGuiVideo::advancedWindowCreate(void)
+{
+  // the button, that opens this Window.
+  this->advancedButton = new Button("advanced");
+
+  // the Window itself
+  this->advancedWindow = new Window("Advanced Video Options");
+  this->advancedWindow->setGroupName("advancedVideoOptions");
+
+  this->advancedBox = new Box('v');
+
+  // Advanced Performance Options
+  this->shadows = new CheckButton("Shadows");
+  this->shadows->saveability();
+  this->advancedBox->fill(this->shadows);
+
+  this->fog = new CheckButton("Fog");
+  this->fog->saveability();
+  this->advancedBox->fill(this->fog);
+
+  this->reflections = new CheckButton("Reflections");
+  this->reflections->saveability();
+  this->advancedBox->fill(this->reflections);
+
+  this->textures = new CheckButton("Textures");
+  this->textures->saveability();
+  this->advancedBox->fill(this->textures);
+
+  this->textureDetail = new Menu("Texture Detail", "low", "medium", "high", "lastItem");
+  this->textureDetail->saveability();
+  this->advancedBox->fill(this->textureDetail);
+
+  this->modelDetailLabel = new Label("Model Detail");
+  this->advancedBox->fill(this->modelDetailLabel);
+  this->modelDetail = new Menu("Model Detail", "low", "medium", "high", "lastItem");
+  this->modelDetail->saveability();
+  this->advancedBox->fill(this->modelDetail);
+
+  this->antiAliasingLabel = new Label("Anti-Aliasing-depth:");
+  this->advancedBox->fill(this->antiAliasingLabel);
+  this->antiAliasing = new Menu("Anti Aliasing", "0", "1", "2", "4", "8",  "lastItem");
+  this->antiAliasing->saveability();
+  this->advancedBox->fill(this->antiAliasing);
+
+  this->filterMethodLabel = new Label("Filtering Method:");
+  this->advancedBox->fill(this->filterMethodLabel);
+  this->filterMethod = new Menu("Filtering Method", "none", "linear", "bilinear", "trilinear", "anisortopic", "lastItem");
+  this->filterMethod->saveability();
+  this->advancedBox->fill(this->filterMethod);
+  
+  this->closeButton = new Button("close");
+  this->advancedBox->fill(this->closeButton);
+
+  this->advancedWindow->fill(advancedBox);
+#ifdef HAVE_GTK2 
+  this->advancedButton->connectSignal("button_press_event", this->advancedWindow, Window::windowOpen);
+  this->closeButton->connectSignal("button_press_event", this->advancedWindow, Window::windowClose);
+  this->advancedWindow->connectSignal("destroy", this->advancedWindow, Window::windowClose);
+  this->advancedWindow->connectSignal("delete_event", this->advancedWindow, Window::windowClose);
+#endif /* HAVE_GTK2 */
+   Window::addWindow(this->advancedWindow);
+
+}
+
+/**
+   \returns A Pointer to the Button of the UpdaterSourceWindow
+*/
+Button* OrxonoxGuiVideo::advancedWindowGetButton(void)
+{
+  return this->advancedButton;
+}
+
Index: /orxonox/branches/updater/src/gui/orxonox_gui_video.h
===================================================================
--- /orxonox/branches/updater/src/gui/orxonox_gui_video.h	(revision 3378)
+++ /orxonox/branches/updater/src/gui/orxonox_gui_video.h	(revision 3379)
@@ -16,4 +16,29 @@
   CheckButton* fullscreen;  //!< CheckButton for fullscreen-mode
   CheckButton* wireframe;   //!< CheckButton for wireframe Mode.
+
+  // advanced-Performance-Options
+  Window* advancedWindow;   //!< A Window to display advanced options.
+  Button* advancedButton;   //!< A Button to open the Advanced Video Performance Window.
+  Box* advancedBox;         //!< A Box to pack the options into.
+  CheckButton* shadows;     //!< CheckButton for shadows
+  CheckButton* fog;         //!< CheckButton for fog.
+  CheckButton* reflections; //!< CheckButton for reflections
+  CheckButton* textures;    //!< CheckButton for textures
+  Menu* textureDetail;      //!< Menu for the Texture-Detail.
+  
+  Label* modelDetailLabel;  //!< Label for model-detail.
+  Menu* modelDetail;        //!< model-detail.
+  
+  Label* antiAliasingLabel; //!< Label for the anti-aliasing mode.
+  Menu* antiAliasing;       //!< Menu for the Antialiasing-mode.
+
+  Label* filterMethodLabel; //!< Label for filtering-Method.
+  Menu* filterMethod;       //!< Menu for filtering Method.
+
+  Button* closeButton;      //!< A Button to close the Advanced-settingsWindow.
+
+  Button* advancedWindowGetButton(void);
+  void advancedWindowCreate(void);
+  
  public:
   OrxonoxGuiVideo(void);
