X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;h=e439e71d6cdbcecdaec8c2c9e245bc65b52ef3ff;hb=30d133ac6c0358f7c895df1af02ff4cca730707f;hp=f6ea818788ea12d34855155862f717cae33209c7;hpb=4f99eecc06f270aa3c8f536c0b3813c743d19ef5;p=rocksndiamonds.git diff --git a/src/libgame/misc.c b/src/libgame/misc.c index f6ea8187..e439e71d 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -450,6 +450,7 @@ void GetOptions(char *argv[]) options.graphics_directory = RO_BASE_PATH "/" GRAPHICS_DIRECTORY; options.sounds_directory = RO_BASE_PATH "/" SOUNDS_DIRECTORY; options.music_directory = RO_BASE_PATH "/" MUSIC_DIRECTORY; + options.autoplay_leveldir = NULL; options.serveronly = FALSE; options.network = FALSE; options.verbose = FALSE; @@ -500,6 +501,7 @@ void GetOptions(char *argv[]) " -g, --graphics alternative graphics directory\n" " -s, --sounds alternative sounds directory\n" " -m, --music alternative music directory\n" + " -a, --autoplay automatically play level tapes\n" " -n, --network network multiplayer game\n" " --serveronly only start network server\n" " -v, --verbose verbose mode\n" @@ -571,6 +573,15 @@ void GetOptions(char *argv[]) if (option_arg == next_option) options_left++; } + else if (strncmp(option, "-autoplay", option_len) == 0) + { + if (option_arg == NULL) + Error(ERR_EXIT_HELP, "option '%s' requires an argument", option_str); + + options.autoplay_leveldir = option_arg; + if (option_arg == next_option) + options_left++; + } else if (strncmp(option, "-network", option_len) == 0) { options.network = TRUE; @@ -1439,7 +1450,7 @@ struct FileInfo *getFileListFromConfigList(struct ConfigInfo *config_list, } if (list_pos != num_file_list_entries - 1) - Error(ERR_EXIT, "inconsistant config list information -- please fix"); + Error(ERR_EXIT, "inconsistant config list information (%d != %d) -- please fix", list_pos, num_file_list_entries - 1); return file_list; } @@ -1731,7 +1742,7 @@ void FreeCustomArtworkList(struct ArtworkListInfo *artwork_info) { int i; - if (artwork_info->artwork_list == NULL) + if (artwork_info == NULL || artwork_info->artwork_list == NULL) return; #if 0