Index: /orxonox/trunk/gui/Makefile
===================================================================
--- /orxonox/trunk/gui/Makefile	(revision 1864)
+++ /orxonox/trunk/gui/Makefile	(revision 1864)
@@ -0,0 +1,86 @@
+
+CC = gcc
+CXX = g++
+APP_LIB_DEPS = `pkg-config --libs  gtk+-2.0`
+GL_LIB = libGL.so
+GLU_LIB = libGLU.so
+GLUT_LIB = libglut.so
+GLW_LIB = libGLw.so
+OSMESA_LIB = libOSMesa.so
+
+CFLAGS = `pkg-config --cflags gtk+-2.0`
+CXXFLAGS = -fPIC -O3
+GLUT_CFLAGS = -fexceptions
+
+TOP = ../..
+INCDIR = /usr/Mesa-6.0.1/include
+LIBDIR = /usr/Mesa-6.0.1/lib
+
+LIBS = -L$(LIBDIR) $(APP_LIB_DEPS)
+
+OSMESA_LIBS = -L$(LIBDIR) -lglut -lOSMesa -lGLU -lGL $(APP_LIB_DEPS)
+
+LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB)
+
+PROGS = \
+	orxonox_gui \
+
+HEADERS = \
+	orxonox.h \
+	data_core.h
+	
+SOURCES = \
+	orxonox.cc \
+	data_core.cc
+
+OBJECTS = \
+	orxonox_gui.o \
+	orxonox_gui_exec.o \
+	orxonox_gui_audio.o \
+	orxonox_gui_video.o \
+	orxonox_gui_file.o 
+
+TARGET = orxonox_gui
+
+.SUFFIXES:
+.SUFFIXES: .c .o
+
+#.cc: $(LIB_DEP)
+#	$(CXX) -I$(INCDIR) $(CFLAGS) $< $(LIBS) -o $@
+
+.cc.o:
+	@ echo "$@ is being comiled..."
+	@ $(CXX) -c $(CFLAGS) -I$(INCDIR) -o $@ $<
+
+
+#### build
+
+all: $(TARGET)
+
+$(TARGET): $(OBJECTS)
+	@ echo "orxonox_gui is being linked..."
+	@ $(CXX) $(LIBS) -o $(TARGET) $(OBJECTS)
+
+
+help:
+	@echo "Cleaning targets:"
+	@echo "  clean		- remove most generated files"
+	@echo ""
+	@echo "Generic targets:"
+	@echo "  all		- Build all targets"
+	@echo ""
+	@echo "For further info see the README file"
+	
+clean:
+	rm -rf *.o *~
+	rm $(TARGET)
+
+####compile
+
+#orxonox.o: orxonox.cc \
+#		orxonox.h
+
+#data_tank.o: data_tank.cc \
+#		data_tank.h	
+	
+#EOF
Index: /orxonox/trunk/gui/orxonox_gui.c
===================================================================
--- /orxonox/trunk/gui/orxonox_gui.c	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui.c	(revision 1864)
@@ -0,0 +1,65 @@
+#include "orxonox_gui.h"
+#include "orxonox_gui_video.h"
+#include "orxonox_gui_audio.h"
+int verbose = 1;
+
+int main( int argc, char *argv[] )
+  {
+    GtkWidget *window;
+    GtkWidget *vbox_main;
+    GtkWidget *hbox_video_audio;
+    GtkWidget *hbox_view_exec;
+    struct settings *orxonox_settings;
+
+    int option_count = 7; /* important: look that this is greater than options in 'struct settings' */
+
+    /* Initialize all settings */
+    
+    orxonox_settings = malloc (option_count*sizeof (int));
+
+    orxonox_gui_file_default (orxonox_settings);
+    orxonox_gui_file_load ("~/.orxonox.conf", orxonox_settings);
+
+
+    gtk_init (&argc, &argv);
+    /* Main Window */
+    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+    gtk_window_set_title ( GTK_WINDOW (window), "orxonox");
+    g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
+    g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (orxonox_gui_quit), orxonox_settings);
+    gtk_container_set_border_width (GTK_CONTAINER (window), 5);
+    
+    /*  VBOX - MAIN */
+    vbox_main = gtk_vbox_new (FALSE, 0);
+    {
+      hbox_video_audio = gtk_hbox_new (FALSE, 0);
+      
+      {
+	gtk_box_pack_start(GTK_BOX(hbox_video_audio), orxonox_gui_video_frame(orxonox_settings), TRUE, TRUE, 0);	
+	
+	gtk_box_pack_start(GTK_BOX(hbox_video_audio), orxonox_gui_audio_frame(orxonox_settings), TRUE, TRUE, 0);	
+      }
+      gtk_box_pack_start (GTK_BOX (vbox_main), hbox_video_audio, TRUE, TRUE, 0);
+      
+      {
+	hbox_view_exec = gtk_hbox_new ( FALSE,0);
+	/*
+	{
+	  info ( hbox_view_exec );
+	}
+	*/
+	{
+	  gtk_box_pack_start(GTK_BOX(hbox_view_exec), orxonox_gui_exec_frame(orxonox_settings), TRUE, TRUE, 0);	
+
+	}
+	gtk_box_pack_start (GTK_BOX (vbox_main), hbox_view_exec, TRUE, TRUE, 0);
+      } 
+    }
+    gtk_container_add (GTK_CONTAINER (window), vbox_main);
+    
+    gtk_widget_show_all  (window);
+
+    gtk_main ();
+    
+    return(0);
+  }
Index: /orxonox/trunk/gui/orxonox_gui.h
===================================================================
--- /orxonox/trunk/gui/orxonox_gui.h	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui.h	(revision 1864)
@@ -0,0 +1,25 @@
+
+#ifndef _ORXONOX_GUI_H
+#define _ORXONOX_GUI_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include "orxonox_gui_exec.h"
+
+struct settings
+{
+  int video_fullscreen;
+  int video_wireframe;
+  
+  int audio_enable_sound;
+  int audio_music_volume;
+  int audio_effects_volume;
+  
+  int exec_save_settings;
+  int exec_show_menu;
+};
+extern verbose;
+
+#endif /* _ORXONOX_GUI_H */
Index: /orxonox/trunk/gui/orxonox_gui_audio.c
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_audio.c	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_audio.c	(revision 1864)
@@ -0,0 +1,63 @@
+#include "orxonox_gui.h"
+
+void audio_check_button_change(GtkWidget *widget, int* data)
+{
+  *data = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget)); 
+  orxonox_flags_update ();
+  if (verbose >=1)
+    printf ("%s changed to %i.\n", gtk_button_get_label(GTK_BUTTON(widget)), *data);
+  return;
+}
+
+void audio_slider_change(GtkWidget *widget, int* data)
+{
+  *data = gtk_range_get_value ( GTK_RANGE (widget));
+  orxonox_flags_update ();
+  if (verbose >=1)
+    printf ("Changed slider to %i.\n", *data);
+  return;
+}
+
+GtkWidget *orxonox_gui_audio_frame (struct settings *orxonox_settings)
+{
+  GtkWidget *frame;
+  GtkWidget *enable_sound_button;
+  GtkWidget *label;
+  GtkWidget *music_volume_slider;
+  GtkWidget *effects_volume_slider;
+
+  frame = gtk_frame_new ( "Audio-Options:");
+  gtk_container_set_border_width (GTK_CONTAINER (frame), 5);
+  {
+    GtkWidget *orxonox_gui_audio_vbox;
+    orxonox_gui_audio_vbox = gtk_vbox_new (FALSE, 0);
+    {
+
+	enable_sound_button = gtk_check_button_new_with_label ("Enable Sound");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (enable_sound_button), orxonox_settings->audio_enable_sound);
+	g_signal_connect(GTK_TOGGLE_BUTTON(enable_sound_button), "clicked", G_CALLBACK(audio_check_button_change), &(orxonox_settings->audio_enable_sound));
+
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_audio_vbox), enable_sound_button, TRUE, TRUE, 0);
+
+	label=gtk_label_new ("Music Volume");
+	gtk_box_pack_start (GTK_BOX(orxonox_gui_audio_vbox), label, TRUE, TRUE, 0);
+	music_volume_slider = gtk_hscale_new_with_range (0,100,5);
+	gtk_range_set_value ( GTK_RANGE (music_volume_slider), orxonox_settings->audio_music_volume);
+	gtk_range_set_update_policy ( GTK_RANGE (music_volume_slider), GTK_UPDATE_DISCONTINUOUS);
+	g_signal_connect (GTK_RANGE (music_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_music_volume) );
+	gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), music_volume_slider, TRUE, TRUE, 0);
+
+	label=gtk_label_new ("Effects Volume");
+	gtk_box_pack_start (GTK_BOX(orxonox_gui_audio_vbox), label, TRUE, TRUE, 0);
+	effects_volume_slider = gtk_hscale_new_with_range (0,100,5);
+	gtk_range_set_value ( GTK_RANGE (effects_volume_slider), orxonox_settings->audio_effects_volume);
+	gtk_range_set_update_policy ( GTK_RANGE (effects_volume_slider), GTK_UPDATE_DISCONTINUOUS);
+	g_signal_connect (GTK_RANGE (effects_volume_slider), "value_changed", G_CALLBACK (audio_slider_change), &(orxonox_settings->audio_effects_volume) );
+	gtk_box_pack_start ( GTK_BOX (orxonox_gui_audio_vbox), effects_volume_slider, TRUE, TRUE, 0);
+
+    }
+    gtk_container_add(GTK_CONTAINER(frame), orxonox_gui_audio_vbox);
+  }
+  return frame;
+}
+
Index: /orxonox/trunk/gui/orxonox_gui_audio.h
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_audio.h	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_audio.h	(revision 1864)
@@ -0,0 +1,8 @@
+#ifndef _ORXONOX_GUI_AUDIO_H
+#define _ORXONOX_GUI_AUDIO_H
+
+
+void audio_check_button_change(GtkWidget *widget, int* data);
+GtkWidget *orxonox_gui_audio_frame (struct settings *orxonox_settings);
+
+#endif /* _ORXONOX_GUI_AUDIO_H */
Index: /orxonox/trunk/gui/orxonox_gui_exec.c
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_exec.c	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_exec.c	(revision 1864)
@@ -0,0 +1,149 @@
+#include "orxonox_gui_exec.h"
+GtkWidget *exec_flags_label;
+struct settings *exec_orxonox_settings;
+
+gint orxonox_gui_quit ( GtkWidget *widget, GdkEvent *event, gpointer data)
+{
+  if (exec_orxonox_settings->exec_save_settings)
+    orxonox_gui_file_save("~/.orxonox.conf", exec_orxonox_settings);
+  gtk_main_quit();
+  return FALSE;
+}
+
+
+void exec_check_button_change(GtkWidget *widget, int* data)
+{
+  *data = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget)); 
+  orxonox_flags_update ();
+  if (verbose >=1)
+    printf ("%s changed to %i.\n", gtk_button_get_label(GTK_BUTTON(widget)), *data);
+  return;
+}
+
+void exec_verbose_mode_change(GtkWidget *widget, gpointer data)
+{
+  verbose = GPOINTER_TO_INT(data);
+  orxonox_flags_update ();
+  if (verbose >= 1)
+    printf ("Verbose-mode changed to %i.\n", verbose);
+  return;
+}
+
+
+GtkWidget *orxonox_gui_exec_frame (struct settings *orxonox_settings)
+{
+  GtkWidget *frame;
+  GtkWidget *save_settings_button;
+  GtkWidget *show_menu_button;
+  GtkWidget *start_button;
+  GtkWidget *quit_button;
+  GtkWidget *flags_frame;
+  GtkWidget *setting_box;
+  GtkWidget *verbose_button;
+
+
+  frame = gtk_frame_new ( "Execute-Tags:");
+  gtk_container_set_border_width (GTK_CONTAINER (frame), 5);
+  {
+    GtkWidget *orxonox_gui_exec_vbox;
+    orxonox_gui_exec_vbox = gtk_vbox_new (FALSE, 5);
+    {
+
+	start_button = gtk_button_new_with_label ("Start");
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_exec_vbox), start_button, TRUE, TRUE, 5);
+	setting_box = gtk_hbox_new(FALSE, 5);
+	{
+	  save_settings_button = gtk_check_button_new_with_label ("Save Settings");
+	  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (save_settings_button), orxonox_settings->exec_save_settings);
+	  g_signal_connect(GTK_TOGGLE_BUTTON(save_settings_button), "clicked", G_CALLBACK(exec_check_button_change), &(orxonox_settings->exec_save_settings));
+	  gtk_box_pack_start(GTK_BOX (setting_box), save_settings_button, TRUE, TRUE, 0);
+	  
+	  {
+	    GtkWidget *opt;
+	    GtkWidget *menu;
+	    GtkWidget *item;
+
+	    opt = gtk_option_menu_new ();
+	    menu = gtk_menu_new ();
+
+	    item = gtk_menu_item_new_with_label ("no verbose");     
+	    g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (exec_verbose_mode_change), GINT_TO_POINTER(0));
+	    gtk_menu_shell_append(GTK_MENU_SHELL (menu), item);
+
+	    item = gtk_menu_item_new_with_label ("verbose");
+	    g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (exec_verbose_mode_change), GINT_TO_POINTER(1));
+	    gtk_menu_shell_append(GTK_MENU_SHELL (menu), item);
+
+	    item = gtk_menu_item_new_with_label ("debug");
+	    g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (exec_verbose_mode_change), GINT_TO_POINTER(2));
+	    gtk_menu_shell_append(GTK_MENU_SHELL (menu), item);
+
+	    gtk_option_menu_set_menu (GTK_OPTION_MENU (opt), menu);
+	    gtk_option_menu_set_history (GTK_OPTION_MENU (opt), verbose);
+	    gtk_box_pack_start (GTK_BOX (setting_box), opt, TRUE, TRUE, 0);
+
+	  }
+	}
+	gtk_box_pack_start(GTK_BOX(orxonox_gui_exec_vbox), setting_box, TRUE, TRUE, 0);
+	show_menu_button = gtk_check_button_new_with_label ("Always show this Menu");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (show_menu_button), orxonox_settings->exec_show_menu);
+	g_signal_connect(GTK_TOGGLE_BUTTON(show_menu_button), "clicked", G_CALLBACK(exec_check_button_change), &(orxonox_settings->exec_show_menu));
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_exec_vbox), show_menu_button, TRUE, TRUE, 0);
+	
+	quit_button = gtk_button_new_with_label ("quit");
+	g_signal_connect(GTK_BUTTON(quit_button), "clicked", G_CALLBACK(orxonox_gui_quit), NULL);
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_exec_vbox), quit_button, FALSE, FALSE, 5);
+
+
+	flags_frame = gtk_frame_new("Orxonox's starting Flags");
+	{
+	  exec_flags_label = gtk_label_new("test");
+	  exec_orxonox_settings = orxonox_settings;
+	  orxonox_flags_update();
+	  gtk_container_add (GTK_CONTAINER(flags_frame), exec_flags_label);
+
+	}
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_exec_vbox), flags_frame, FALSE, FALSE, 5);
+    }
+    gtk_container_add(GTK_CONTAINER(frame), orxonox_gui_exec_vbox);
+  }
+
+  return frame;
+
+}
+
+
+char * orxonox_flags_text (struct settings *orxonox_settings, char *exec_flags_text)
+{
+  char temp [50];
+  bzero(exec_flags_text, 1);
+  strcat(exec_flags_text, "orxonox ");
+
+  if(!orxonox_settings->video_fullscreen)
+    strcat(exec_flags_text, "--windowed ");
+  if(orxonox_settings->video_wireframe)
+    strcat(exec_flags_text, "--wireframe ");
+  
+  if(!orxonox_settings->audio_enable_sound)
+    strcat(exec_flags_text, "--disable_audio ");
+  if(orxonox_settings->audio_music_volume != 80)
+    {
+      strcat(exec_flags_text, "--music_volume=");
+      sprintf(temp, "%i ", (int) orxonox_settings->audio_music_volume);
+      strcat(exec_flags_text, temp);
+    }
+  if(orxonox_settings->audio_effects_volume != 80)
+    {
+      strcat(exec_flags_text, "--effects_volume= ");
+      sprintf(temp, "%i ", (int) orxonox_settings->audio_effects_volume);
+      strcat(exec_flags_text, temp);
+    }
+  return (exec_flags_text);
+}
+
+void orxonox_flags_update (void)
+{
+  char exec_flags_text[1024];
+  gtk_label_set_text (GTK_LABEL(exec_flags_label), orxonox_flags_text (exec_orxonox_settings, exec_flags_text));
+  return;
+}
Index: /orxonox/trunk/gui/orxonox_gui_exec.h
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_exec.h	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_exec.h	(revision 1864)
@@ -0,0 +1,12 @@
+#ifndef _ORXONOX_GUI_EXEC_H
+#define _ORXONOX_GUI_EXEC_H
+#include "orxonox_gui.h"
+
+gint orxonox_gui_quit ( GtkWidget *widget, GdkEvent *event, gpointer data);
+
+void exec_check_button_change(GtkWidget *widget, int* data);
+GtkWidget *orxonox_gui_exec_frame (struct settings *orxonox_settings);
+char * orxonox_flags_text (struct settings *orxonox_settings, char *exec_flags_text);
+void orxonox_flags_update (void);
+
+#endif /* _ORXONOX_GUI_EXEC_H */
Index: /orxonox/trunk/gui/orxonox_gui_file.c
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_file.c	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_file.c	(revision 1864)
@@ -0,0 +1,139 @@
+#include <sys/stat.h>
+#include "orxonox_gui_file.h"
+
+
+void orxonox_gui_file_default (struct settings *orxonox_settings)
+{
+  if (verbose >= 1)
+    printf("Setting orxonox to it's default settings.\n");
+
+  orxonox_settings->video_fullscreen = 1;
+  orxonox_settings->video_wireframe = 0;
+  
+  orxonox_settings->audio_enable_sound = 1;
+  orxonox_settings->audio_music_volume = 80;
+  orxonox_settings->audio_effects_volume = 80;
+  
+  orxonox_settings->exec_save_settings = 1;
+  orxonox_settings->exec_show_menu = 0;
+
+  return;
+}
+
+void orxonox_gui_file_save (char *config_file, struct settings *orxonox_settings)
+{
+  FILE *IOFILE;
+  char local_config_file[1000];
+
+  sprintf(local_config_file,"%s", config_file);
+  if (!strncmp (local_config_file,"~/", 2))
+  {
+    char buffer[100];
+    char *homedir = getenv("HOME");
+    sprintf(buffer, local_config_file);
+    sprintf (local_config_file,"%s/%s", homedir,buffer+2);
+  }
+
+  IOFILE = fopen( local_config_file, "w");
+  if (IOFILE)
+    {
+      if (verbose >= 1)
+	printf ("Saving settings to '%s'\n", local_config_file);
+      
+      fprintf (IOFILE, "%s\n", "Configuration file of orxonox (do not edit if ou do not know what you are doing)");
+      fprintf (IOFILE, "orxonox_settings->video_fullscreen = %i\n", orxonox_settings->video_fullscreen);
+      fprintf (IOFILE, "orxonox_settings->video_wireframe = %i\n", orxonox_settings->video_wireframe);
+      
+      fprintf (IOFILE, "orxonox_settings->audio_enable_sound = %i\n", orxonox_settings->audio_enable_sound);
+      fprintf (IOFILE, "orxonox_settings->audio_music_volume = %i\n", orxonox_settings->audio_music_volume);
+      fprintf (IOFILE, "orxonox_settings->audio_effects_volume = %i\n", orxonox_settings->audio_effects_volume);
+      
+      fprintf (IOFILE, "orxonox_settings->exec_save_settings = %i\n", orxonox_settings->exec_save_settings);
+      fprintf (IOFILE, "orxonox_settings->exec_show_menu = %i\n", orxonox_settings->exec_show_menu);
+      
+      fprintf (IOFILE, "orxonox_settings->verbose = %i\n", verbose);
+      
+      fclose( IOFILE );
+      return;
+    }
+  else
+    {
+      if (verbose >= 1)
+	printf ("Settingsfile '%s' does not exist.\n", local_config_file);
+    }
+}
+
+void orxonox_gui_file_load (char *config_file, struct settings *orxonox_settings)
+{
+  FILE *IOFILE;
+  char variable[100];
+  char equals[5];
+  char value[100];
+  char buffer[100];
+  char local_config_file[1000];
+  
+  sprintf(local_config_file,"%s", config_file);
+  if (!strncmp (config_file, "~/", 2))
+    {
+      char *homedir = getenv("HOME");
+      sprintf(buffer, local_config_file);
+      sprintf (local_config_file,"%s/%s", homedir, buffer+2);
+    }
+  
+
+  IOFILE = fopen(local_config_file, "r");
+  if (IOFILE)
+    {
+      if (verbose >= 1)
+	printf ("Loading settings from '%s'\n", local_config_file);
+      
+      fscanf (IOFILE, "Configuration file of orxonox (do not edit if ou do not know what you are doing)");
+      while (fscanf (IOFILE,"%s %s %s", variable, equals, value) != EOF)
+	{
+	  if ( !strcmp (variable, "orxonox_settings->video_fullscreen"))
+	    {
+	      orxonox_settings->video_fullscreen = atoi (value);
+	    }
+	  else if ( !strcmp (variable, "orxonox_settings->video_wireframe"))
+	    {
+	      orxonox_settings->video_wireframe = atoi (value);
+	    }
+	  
+	  else if ( !strcmp (variable, "orxonox_settings->audio_enable_sound"))
+	    {
+	      orxonox_settings->audio_enable_sound = atoi (value);
+	    }
+	  else if ( !strcmp (variable, "orxonox_settings->audio_music_volume"))
+	    {
+	      orxonox_settings->audio_music_volume = atoi (value);
+	    }
+	  else if ( !strcmp (variable, "orxonox_settings->audio_effects_volume"))
+	    {
+	      orxonox_settings->audio_effects_volume = atoi (value);
+	    }
+	  
+	  else if ( !strcmp (variable, "orxonox_settings->exec_save_settings"))
+	    {
+	      orxonox_settings->exec_save_settings = atoi (value);
+	    }
+	  else if ( !strcmp (variable, "orxonox_settings->exec_show_menu"))
+	    {
+	      orxonox_settings->exec_show_menu = atoi (value);
+	    }
+	  
+	  else if ( !strcmp (variable, "orxonox_settings->verbose"))
+	    {
+	      verbose = atoi (value);
+	    }
+	  
+	}
+      fclose( IOFILE );      
+      return;
+    }
+
+  else
+    {
+      if (verbose >= 1)
+	printf ("File '%s' does not exist. Can not load orxonox-states.\n", local_config_file);
+    }
+}
Index: /orxonox/trunk/gui/orxonox_gui_file.h
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_file.h	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_file.h	(revision 1864)
@@ -0,0 +1,12 @@
+#ifndef _ORXONOX_GUI_VIDEO_H
+#define _ORXONOX_GUI_VIDEO_H
+
+#include "orxonox_gui.h"
+
+void orxonox_gui_file_save (char *config_file, struct settings *orxonox_settings);
+void orxonox_gui_file_load (char *config_file, struct settings *orxonox_settings);
+void orxonox_gui_file_default (struct settings *orxonox_settings);
+
+
+
+#endif /* _ORXONOX_GUI_VIDEO_H */
Index: /orxonox/trunk/gui/orxonox_gui_video.c
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_video.c	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_video.c	(revision 1864)
@@ -0,0 +1,42 @@
+#include "orxonox_gui_video.h"
+
+void video_option_change(GtkWidget *widget, int* data)
+{
+  *data = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); 
+  orxonox_flags_update ();
+  if (verbose >=1)
+    printf ("%s changed to %i.\n", gtk_button_get_label(GTK_BUTTON(widget)), *data);
+}
+
+/* Drawing The VIDEO_FRAME */
+GtkWidget *orxonox_gui_video_frame (struct settings *orxonox_settings)
+{
+  GtkWidget *frame;
+  GtkWidget *fullscreen_button;
+  GtkWidget *wireframe_button;
+  
+  frame = gtk_frame_new ( "Video-Options:");
+  gtk_container_set_border_width (GTK_CONTAINER (frame), 5);
+
+  {
+    GtkWidget *orxonox_gui_video_vbox;
+    orxonox_gui_video_vbox = gtk_vbox_new (FALSE, 0);
+    {
+	fullscreen_button = gtk_check_button_new_with_label ("Fullscreen-mode");
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (fullscreen_button), orxonox_settings->video_fullscreen);
+	g_signal_connect(GTK_TOGGLE_BUTTON(fullscreen_button), "clicked", G_CALLBACK(video_option_change), &(orxonox_settings->video_fullscreen));
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_video_vbox), fullscreen_button, TRUE, TRUE, 0);
+
+	wireframe_button = gtk_check_button_new_with_label ("Wireframe-mode");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wireframe_button), orxonox_settings->video_wireframe);
+	g_signal_connect(GTK_TOGGLE_BUTTON(wireframe_button), "clicked", G_CALLBACK(video_option_change), &(orxonox_settings->video_wireframe));
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_video_vbox), wireframe_button, TRUE, TRUE, 0);
+	
+    }
+    gtk_container_add(GTK_CONTAINER(frame), orxonox_gui_video_vbox);
+  }
+
+  return frame;
+
+}
+
Index: /orxonox/trunk/gui/orxonox_gui_video.h
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_video.h	(revision 1864)
+++ /orxonox/trunk/gui/orxonox_gui_video.h	(revision 1864)
@@ -0,0 +1,9 @@
+#ifndef _ORXONOX_GUI_VIDEO_H
+#define _ORXONOX_GUI_VIDEO_H
+
+#include "orxonox_gui.h"
+
+void video_option_change(GtkWidget *widget, int * data);
+GtkWidget *orxonox_gui_video_frame (struct settings *orxonox_settings);
+
+#endif /* _ORXONOX_GUI_VIDEO_H */
Index: /orxonox/trunk/scripts/Makefile.all
===================================================================
--- /orxonox/trunk/scripts/Makefile.all	(revision 1863)
+++ /orxonox/trunk/scripts/Makefile.all	(revision 1864)
@@ -1,4 +1,5 @@
 
-ORXONOX_DIRS = ./core
+ORXONOX_DIRS = 	./core \
+	        ./gui
 
 all: orxonox
