diff --git a/src/conf.c b/src/conf.c index 65f719e..a248590 100644 --- a/src/conf.c +++ b/src/conf.c @@ -60,15 +60,16 @@ static void print_usage(char** argv); static void print_usage(char** argv) { LOG("USAGE: %s [OPTION]", argv[0]); LOG("Options are:"); - LOG("\t-f, --fullscreen - Fullscreen"); - LOG("\t-F, --fps - Limit frames per second"); - LOG("\t-d s, --data s - Set the data file to be s"); - LOG("\t-j n, --joystick n - Use joystick (n)"); - LOG("\t-J s, --joystick s - Use joystick whose name contains (s)"); - LOG("\t-m f, --music f - Set the music volume to f"); - LOG("\t-s f, --sound f - Set the sound volume to f"); - LOG("\t-h --help - Display this message and exit."); - LOG("\t-v - Print the version and exit"); + LOG(" -f, --fullscreen - Fullscreen"); + LOG(" -F, --fps - Limit frames per second"); + LOG(" -d s, --data s - Set the data file to be s"); + LOG(" -j n, --joystick n - Use joystick (n)"); + LOG(" -J s, --joystick s - Use joystick whose name contains (s)"); + LOG(" -S, --Sound - Forces sound."); + LOG(" -m f --mvol f - Set the music volume to f"); + LOG(" -s f --svol f - Set the sound volume to f"); + LOG(" -h --help - Display this message and exit."); + LOG(" -v - Print the version and exit"); } // Set the default configuration. @@ -79,6 +80,8 @@ void conf_setDefaults(void) { gl_screen.w = 800; gl_screen.h = 640; gl_screen.flags = 0; + // Openal. + nosound = 1; // TODO: make sound default when it's sane again. // Joystick. indjoystick = -1; namjoystick = NULL; @@ -200,21 +203,22 @@ int conf_loadConfig(const char* file) { // Parse some CLI options. void conf_parseCLI(int argc, char** argv) { static struct option long_options[] = { - { "fullscreen", no_argument, 0, 'f' }, - { "fps", required_argument, 0, 'F' }, - { "data", required_argument, 0, 'd' }, - { "joystick", required_argument, 0, 'j' }, - { "Joystick", required_argument, 0, 'J' }, - { "music", required_argument, 0, 'm' }, - { "sound", required_argument, 0, 's' }, - { "help", no_argument, 0, 'h' }, - { "version", no_argument, 0, 'v' }, + { "fullscreen", no_argument, 0, 'f' }, + { "fps", required_argument, 0, 'F' }, + { "data", required_argument, 0, 'd' }, + { "joystick", required_argument, 0, 'j' }, + { "Joystick", required_argument, 0, 'J' }, + { "sound", no_argument, 0, 'S' }, + { "mvol", required_argument, 0, 'm' }, + { "svol", required_argument, 0, 's' }, + { "help", no_argument, 0, 'h' }, + { "version", no_argument, 0, 'v' }, { NULL, 0, 0, 0 } }; int option_index = 0; int c = 0; - while((c = getopt_long(argc, argv, "fF:d:J:j:s:m:V:hv", + while((c = getopt_long(argc, argv, "fF:d:J:MSm:s:hv", long_options, &option_index)) != -1) { switch(c) { case 'f': @@ -232,6 +236,12 @@ void conf_parseCLI(int argc, char** argv) { case 'J': namjoystick = strdup(optarg); break; + case 'M': + nosound = 1; + break; + case 'S': + nosound = 0; + break; case 'm': music_volume(atof(optarg)); break;