X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fmisc.c;fp=src%2Flibgame%2Fmisc.c;h=f0858f4a20c5ee731339cd52073d05246cf3fd97;hp=7c3e04fca21eaa297b0a5398bfb98b1c604c2618;hb=14ef59d8e791fc8a0d52978873555dc36d2d5ee0;hpb=b73db12a3fa161e71414e0f2cde126f2e860b079 diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 7c3e04fc..f0858f4a 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -1350,6 +1350,8 @@ void GetOptions(int argc, char *argv[], options.identifier = NULL; options.level_nr = NULL; + options.display_nr = 0; + options.mytapes = FALSE; options.serveronly = FALSE; options.network = FALSE; @@ -1549,6 +1551,23 @@ void GetOptions(int argc, char *argv[], if (option_arg == next_option) options_left++; } + else if (strncmp(option, "-display", option_len) == 0) + { + if (option_arg == NULL) + FailWithHelp("option '%s' requires an argument", option_str); + + if (option_arg == next_option) + options_left++; + + int display_nr = atoi(option_arg); + + options.display_nr = + MAX(0, MIN(display_nr, SDL_GetNumVideoDisplays() - 1)); + + if (display_nr != options.display_nr) + Warn("invalid display %d -- using display %d", + display_nr, options.display_nr); + } #if defined(PLATFORM_MAC) else if (strPrefix(option, "-psn")) {