From c0b348e94445097be53f2be3008e38ee197067da Mon Sep 17 00:00:00 2001 From: "simon.kagstrom" Date: Fri, 29 May 2009 16:38:07 +0000 Subject: [PATCH] Store changed prefs in uaerc.saved and make uaerc.user an optional configuration file which overrides the other configuration if it exists. --- src/gui-sdl/gui-sdl.c | 2 +- src/main.c | 44 +++++++++++++++++++++++-------------------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/gui-sdl/gui-sdl.c b/src/gui-sdl/gui-sdl.c index 65019e2..8c300e9 100644 --- a/src/gui-sdl/gui-sdl.c +++ b/src/gui-sdl/gui-sdl.c @@ -757,7 +757,7 @@ void gui_display(int shortcut) } #endif strcat(user_options, OPTIONSFILENAME); - strcat(user_options, ".user"); + strcat(user_options, ".saved"); for (i = 0; i < 2; i++) setup_joystick_defaults(i); diff --git a/src/main.c b/src/main.c index a827d8e..5b21536 100644 --- a/src/main.c +++ b/src/main.c @@ -391,6 +391,28 @@ static void parse_cmdline (int argc, char **argv) } #endif +static void parse_user_conf_file(const char *extension) +{ + /* FIXME! ska: This is temporary, and will be removed when you can + * pass command line options in meta.xml for the homebrew channel */ + char user_options[255] = ""; + char *user_argv[] = {"program", "-f", user_options}; +#ifdef OPTIONS_IN_HOME + char *home = getenv ("HOME"); + if (home != NULL && strlen (home) < 240) + { + strcpy (user_options, home); + strcat (user_options, "/"); + } +#endif + strcat(user_options, OPTIONSFILENAME); + strcat(user_options, extension); + + /* Allow the user uaerc to override the default one */ + parse_cmdline (3, user_argv); + /* Until here */ +} + static void parse_cmdline_and_init_file (int argc, char **argv) { char *home; @@ -433,26 +455,8 @@ static void parse_cmdline_and_init_file (int argc, char **argv) fix_options (); parse_cmdline (argc, argv); - /* FIXME! ska: This is temporary, and will be removed when you can - * pass command line options in meta.xml for the homebrew channel */ - { - char user_options[255] = ""; - char *user_argv[] = {"program", "-f", user_options}; -#ifdef OPTIONS_IN_HOME - char *home = getenv ("HOME"); - if (home != NULL && strlen (home) < 240) - { - strcpy (user_options, home); - strcat (user_options, "/"); - } -#endif - strcat(user_options, OPTIONSFILENAME); - strcat(user_options, ".user"); - - /* Allow the user uaerc to override the default one */ - parse_cmdline (3, user_argv); - } - /* Until here */ + parse_user_conf_file(".saved"); + parse_user_conf_file(".user"); fix_options (); }