added command line option to select display to open program window
[rocksndiamonds.git] / src / libgame / misc.c
index 7c3e04fca21eaa297b0a5398bfb98b1c604c2618..f0858f4a20c5ee731339cd52073d05246cf3fd97 100644 (file)
@@ -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"))
     {