Index: /orxonox/branches/bensch/Makefile
===================================================================
--- /orxonox/branches/bensch/Makefile	(revision 1816)
+++ /orxonox/branches/bensch/Makefile	(revision 1817)
@@ -60,5 +60,6 @@
 PROGRAMS = $(bin_PROGRAMS)
 am_orxonox_OBJECTS = orxonox_gui.$(OBJEXT) orxonox_gui_video.$(OBJEXT) \
-	orxonox_gui_audio.$(OBJEXT) orxonox_gui_exec.$(OBJEXT)
+	orxonox_gui_audio.$(OBJEXT) orxonox_gui_exec.$(OBJEXT) \
+	orxonox_gui_file.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 orxonox_LDADD = $(LDADD)
@@ -69,4 +70,5 @@
 	./$(DEPDIR)/orxonox_gui_audio.Po \
 	./$(DEPDIR)/orxonox_gui_exec.Po \
+	./$(DEPDIR)/orxonox_gui_file.Po \
 	./$(DEPDIR)/orxonox_gui_video.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -185,5 +187,5 @@
 AM_CFLAGS = `pkg-config --cflags gtk+-2.0`
 AM_LDFLAGS = `pkg-config --libs  gtk+-2.0`
-orxonox_SOURCES = orxonox_gui.c orxonox_gui_video.c orxonox_gui_audio.c orxonox_gui_exec.c\
+orxonox_SOURCES = orxonox_gui.c orxonox_gui_video.c orxonox_gui_audio.c orxonox_gui_exec.c orxonox_gui_file.c\
         aclocal.m4
 
@@ -298,4 +300,5 @@
 include ./$(DEPDIR)/orxonox_gui_audio.Po
 include ./$(DEPDIR)/orxonox_gui_exec.Po
+include ./$(DEPDIR)/orxonox_gui_file.Po
 include ./$(DEPDIR)/orxonox_gui_video.Po
 
Index: /orxonox/branches/bensch/Makefile.am
===================================================================
--- /orxonox/branches/bensch/Makefile.am	(revision 1816)
+++ /orxonox/branches/bensch/Makefile.am	(revision 1817)
@@ -3,5 +3,5 @@
 
 bin_PROGRAMS=orxonox
-orxonox_SOURCES=orxonox_gui.c orxonox_gui_video.c orxonox_gui_audio.c orxonox_gui_exec.c\
+orxonox_SOURCES=orxonox_gui.c orxonox_gui_video.c orxonox_gui_audio.c orxonox_gui_exec.c orxonox_gui_file.c\
         aclocal.m4
 
Index: /orxonox/branches/bensch/Makefile.in
===================================================================
--- /orxonox/branches/bensch/Makefile.in	(revision 1816)
+++ /orxonox/branches/bensch/Makefile.in	(revision 1817)
@@ -60,5 +60,6 @@
 PROGRAMS = $(bin_PROGRAMS)
 am_orxonox_OBJECTS = orxonox_gui.$(OBJEXT) orxonox_gui_video.$(OBJEXT) \
-	orxonox_gui_audio.$(OBJEXT) orxonox_gui_exec.$(OBJEXT)
+	orxonox_gui_audio.$(OBJEXT) orxonox_gui_exec.$(OBJEXT) \
+	orxonox_gui_file.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 orxonox_LDADD = $(LDADD)
@@ -69,4 +70,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox_gui_audio.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox_gui_exec.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/orxonox_gui_file.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox_gui_video.Po
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -185,5 +187,5 @@
 AM_CFLAGS = `pkg-config --cflags gtk+-2.0`
 AM_LDFLAGS = `pkg-config --libs  gtk+-2.0`
-orxonox_SOURCES = orxonox_gui.c orxonox_gui_video.c orxonox_gui_audio.c orxonox_gui_exec.c\
+orxonox_SOURCES = orxonox_gui.c orxonox_gui_video.c orxonox_gui_audio.c orxonox_gui_exec.c orxonox_gui_file.c\
         aclocal.m4
 
@@ -298,4 +300,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox_gui_audio.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox_gui_exec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox_gui_file.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox_gui_video.Po@am__quote@
 
Index: /orxonox/branches/bensch/config.log
===================================================================
--- /orxonox/branches/bensch/config.log	(revision 1816)
+++ /orxonox/branches/bensch/config.log	(revision 1817)
@@ -1069,2 +1069,38 @@
 config.status:800: creating config.h
 config.status:944: config.h is unchanged
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by config.status, which was
+generated by GNU Autoconf 2.58.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status Makefile depfiles
+
+on iasius
+
+config.status:696: creating Makefile
+config.status:1121: executing depfiles commands
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by config.status, which was
+generated by GNU Autoconf 2.58.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status Makefile depfiles
+
+on iasius
+
+config.status:696: creating Makefile
+config.status:1121: executing depfiles commands
Index: /orxonox/branches/bensch/orxonox_gui.c
===================================================================
--- /orxonox/branches/bensch/orxonox_gui.c	(revision 1816)
+++ /orxonox/branches/bensch/orxonox_gui.c	(revision 1817)
@@ -3,7 +3,5 @@
 #include "orxonox_gui_audio.h"
 #include "orxonox_gui_exec.h"
-int verbose;
-int close_window = 0;
-int app_drawed = 0;
+int verbose = 1;
 
 
@@ -16,9 +14,17 @@
 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);
+
 
     gtk_init (&argc, &argv);
@@ -36,5 +42,5 @@
       
       {
-	gtk_box_pack_start(GTK_BOX(hbox_video_audio), orxonox_gui_video_frame(), TRUE, TRUE, 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(), TRUE, TRUE, 0);	
@@ -60,5 +66,4 @@
     gtk_widget_show_all  (window);
     
-    app_drawed =1;
     gtk_main ();
     
Index: /orxonox/branches/bensch/orxonox_gui.h
===================================================================
--- /orxonox/branches/bensch/orxonox_gui.h	(revision 1816)
+++ /orxonox/branches/bensch/orxonox_gui.h	(revision 1817)
@@ -8,3 +8,17 @@
 #include <gtk/gtk.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/branches/bensch/orxonox_gui_file.c
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_file.c	(revision 1817)
+++ /orxonox/branches/bensch/orxonox_gui_file.c	(revision 1817)
@@ -0,0 +1,23 @@
+#include <stdio.h>
+#include <stdlib.h>
+#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;
+}
Index: /orxonox/branches/bensch/orxonox_gui_file.h
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_file.h	(revision 1817)
+++ /orxonox/branches/bensch/orxonox_gui_file.h	(revision 1817)
@@ -0,0 +1,12 @@
+#ifndef _ORXONOX_GUI_VIDEO_H
+#define _ORXONOX_GUI_VIDEO_H
+
+#include "orxonox_gui.h"
+
+struct settings orxonox_gui_file_save (char *filename);
+struct settings orxonox_gui_file_load (char *filename);
+void orxonox_gui_file_default (struct settings *orxonox_settings);
+
+
+
+#endif /* _ORXONOX_GUI_VIDEO_H */
Index: /orxonox/branches/bensch/orxonox_gui_video.c
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_video.c	(revision 1816)
+++ /orxonox/branches/bensch/orxonox_gui_video.c	(revision 1817)
@@ -1,9 +1,15 @@
-#include "orxonox_gui.h"
+#include "orxonox_gui_video.h"
 
-GtkWidget *orxonox_gui_video_frame (void)
+
+
+
+
+/* Drawing The VIDEO_FRAME */
+GtkWidget *orxonox_gui_video_frame (struct settings *orxonox_settings)
 {
   GtkWidget *frame;
-  GtkWidget *button;
-
+  GtkWidget *fullscreen_button;
+  GtkWidget *wireframe_button;
+  
   frame = gtk_frame_new ( "Video-Options:");
   {
@@ -11,13 +17,16 @@
     orxonox_gui_video_vbox = gtk_vbox_new (FALSE, 0);
     {
-	button = gtk_check_button_new_with_label ("Fullscreen-mode");
+	fullscreen_button = gtk_check_button_new_with_label ("Fullscreen-mode");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fullscreen_button), orxonox_settings->video_fullscreen);
+
 	/*	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), orxonox_gui_video_fullscreen);
 	 */
-	gtk_box_pack_start(GTK_BOX (orxonox_gui_video_vbox), button, TRUE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_video_vbox), fullscreen_button, TRUE, TRUE, 0);
 
-	button = gtk_check_button_new_with_label ("Wireframe-mode");
+	wireframe_button = gtk_check_button_new_with_label ("Wireframe-mode");
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wireframe_button), orxonox_settings->video_wireframe);
 	/*	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), orxonox_gui_video_Wireframe);
 	 */
-	gtk_box_pack_start(GTK_BOX (orxonox_gui_video_vbox), button, TRUE, TRUE, 0);
+	gtk_box_pack_start(GTK_BOX (orxonox_gui_video_vbox), wireframe_button, TRUE, TRUE, 0);
 	
     }
Index: /orxonox/branches/bensch/orxonox_gui_video.h
===================================================================
--- /orxonox/branches/bensch/orxonox_gui_video.h	(revision 1816)
+++ /orxonox/branches/bensch/orxonox_gui_video.h	(revision 1817)
@@ -2,5 +2,7 @@
 #define _ORXONOX_GUI_VIDEO_H
 
-GtkWidget *orxonox_gui_video_frame (void);
+#include "orxonox_gui.h"
+
+GtkWidget *orxonox_gui_video_frame (struct settings *orxonox_settings);
 
 #endif /* _ORXONOX_GUI_VIDEO_H */
