#include #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); } }