JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
more autoconfiscation. added .desktop generation
[vor.git] / main.c
diff --git a/main.c b/main.c
index 6f4fa1c..794ff8d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -31,7 +31,7 @@
 
 #include "args.h"
 #include "common.h"
-#include "config.h"
+#include "vorconfig.h"
 #include "dust.h"
 #include "file.h"
 #include "float.h"
@@ -68,12 +68,15 @@ struct dot {
        int heat;     // heat multiplier (color).
 };
 
+void draw(void);
+
 struct dot edot[MAXENGINEDOTS], *dotptr = edot;
 struct dot bdot[MAXBANGDOTS];
 
 // Other global variables
 char topline[1024];
 char *initerror = "";
+int screenshot_number = 0;
 
 struct ship ship = { SHIP, 0, NULL, XSIZE/2, YSIZE/2, BARRIER_SPEED, 0.0 };
          
@@ -361,6 +364,9 @@ void
 toggle_fullscreen() {
        opt_fullscreen = 1 - opt_fullscreen;
        set_video_mode();
+       if(paused) {
+               draw();
+       }
 }
 
 
@@ -676,8 +682,21 @@ gameloop() {
                                                                return;
                                                        case SDLK_3:
                                                        case SDLK_PRINT:
-                                                               // FIXME make a unique filename like vor-screenshot-<pid>-<count>.bmp
-                                                               SDL_SaveBMP(surf_screen, "snapshot.bmp");
+                                                               {
+                                                                       FILE *screenshot_fp;
+                                                                       char tmp[30];
+                                                                       char *screenshot_filename = &(tmp[0]);
+                                                                       for(;;) {
+                                                                               snprintf(screenshot_filename, 30, "vor-screenshot-%02i.bmp", screenshot_number++);
+                                                                               screenshot_fp = fopen(screenshot_filename, "r");
+                                                                               if(screenshot_fp) {
+                                                                                       fclose(screenshot_fp);
+                                                                               } else {
+                                                                                       break;
+                                                                               }
+                                                                       }
+                                                                       SDL_SaveBMP(surf_screen, screenshot_filename);
+                                                               }
                                                                break;
                                                        case SDLK_p:
                                                        case SDLK_PAUSE: