X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=d4ebcda7025599fbaa0ae685b558685d60ef2311;hp=d21363cad99665ff029ee48bb9c94ec2739c59af;hb=a312d80612bb9a448cdc1abbde690b296fa92b17;hpb=5b56a3369f281d29bbc45ec85443b1c3b2c27323 diff --git a/src/libgame/misc.c b/src/libgame/misc.c index d21363ca..d4ebcda7 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -662,8 +662,7 @@ boolean strSuffixLower(char *s, char *suffix) /* command line option handling functions */ /* ------------------------------------------------------------------------- */ -void GetOptions(char *argv[], void (*print_usage_function)(void), - unsigned long (*get_cmd_switch_function)(char *)) +void GetOptions(char *argv[], void (*print_usage_function)(void)) { char *ro_base_path = RO_BASE_PATH; char *rw_base_path = RW_BASE_PATH; @@ -694,7 +693,9 @@ void GetOptions(char *argv[], void (*print_usage_function)(void), options.sounds_directory = getPath2(ro_base_path, SOUNDS_DIRECTORY); options.music_directory = getPath2(ro_base_path, MUSIC_DIRECTORY); options.docs_directory = getPath2(ro_base_path, DOCS_DIRECTORY); + options.execute_command = NULL; + options.special_flags = NULL; options.serveronly = FALSE; options.network = FALSE; @@ -702,8 +703,6 @@ void GetOptions(char *argv[], void (*print_usage_function)(void), options.debug = FALSE; options.debug_x11_sync = FALSE; - options.cmd_switches = 0; - #if !defined(PLATFORM_UNIX) if (*options_left == NULL) /* no options given -- enable verbose mode */ options.verbose = TRUE; @@ -834,18 +833,22 @@ void GetOptions(char *argv[], void (*print_usage_function)(void), } else if (strPrefix(option, "-D")) { - char *switch_string = &option[2]; - unsigned long switch_value; +#if 1 + options.special_flags = getStringCopy(&option[2]); +#else + char *flags_string = &option[2]; + unsigned long flags_value; - if (*switch_string == '\0') - Error(ERR_EXIT_HELP, "empty switch ignored"); + if (*flags_string == '\0') + Error(ERR_EXIT_HELP, "empty flag ignored"); - switch_value = get_cmd_switch_function(switch_string); + flags_value = get_special_flags_function(flags_string); - if (switch_value == 0) - Error(ERR_EXIT_HELP, "unknown switch '%s'", switch_string); + if (flags_value == 0) + Error(ERR_EXIT_HELP, "unknown flag '%s'", flags_string); - options.cmd_switches |= switch_value; + options.special_flags |= flags_value; +#endif } else if (strncmp(option, "-execute", option_len) == 0) {