]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
Tomaz's patch to name screenshots based on gamemode or -game if specified
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 13 May 2004 17:23:09 +0000 (17:23 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 13 May 2004 17:23:09 +0000 (17:23 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4157 d7cf8633-e32d-0410-b094-e92efae38249

cl_screen.c
cl_screen.h
fs.c

index d9caa1fb2b862d51c909147c8355d0fa87af09f5..fdb08f8947419ecdf02987982892b31a02913458 100644 (file)
@@ -19,6 +19,7 @@ cvar_t vid_conwidth = {CVAR_SAVE, "vid_conwidth", "640"};
 cvar_t vid_conheight = {CVAR_SAVE, "vid_conheight", "480"};
 cvar_t scr_screenshot_jpeg = {CVAR_SAVE, "scr_screenshot_jpeg","0"};
 cvar_t scr_screenshot_jpeg_quality = {CVAR_SAVE, "scr_screenshot_jpeg_quality","0.9"};
+cvar_t scr_screenshot_name = {0, "scr_screenshot_name","dp"};
 cvar_t cl_avidemo = {0, "cl_avidemo", "0"};
 
 int jpeg_supported = false;
@@ -654,17 +655,15 @@ SCR_ScreenShot_f
 */
 void SCR_ScreenShot_f (void)
 {
-       static int shotnumber = 0;
-       const char *base;
-       char filename[64];
+       int shotnumber;
+       char base[MAX_QPATH];
+       char filename[MAX_QPATH];
        qboolean jpeg = (scr_screenshot_jpeg.integer != 0);
 
-       base = "screenshots/dp";
-       if (gamemode == GAME_FNIGGIUM)
-               base = "screenshots/fniggium";
+       sprintf (base, "screenshots/%s", scr_screenshot_name.string);
        
        // find a file name to save it to
-       for (;shotnumber < 1000000;shotnumber++)
+       for (shotnumber=0;shotnumber < 1000000;shotnumber++)
                if (!FS_SysFileExists(va("%s/%s%06d.tga", fs_gamedir, base, shotnumber)) && !FS_SysFileExists(va("%s/%s%06d.jpg", fs_gamedir, base, shotnumber)))
                        break;
        if (shotnumber >= 1000000)
index c1edc105f64d34fa7a2bcd9d609b55f88e062584..4471f3df5981df72f2c57c21308fe052c2136742 100644 (file)
@@ -67,6 +67,7 @@ extern cvar_t vid_conwidth;
 extern cvar_t vid_conheight;
 extern cvar_t scr_screenshot_jpeg;
 extern cvar_t scr_screenshot_jpeg_quality;
+extern cvar_t scr_screenshot_name;
 
 void CL_Screen_NewMap(void);
 void CL_Screen_Init(void);
diff --git a/fs.c b/fs.c
index 3ecac6915545f12baeb1533bfc9172d30d9c7cce..2d81ce39a85e1fd7058865ae74ab17badf76e9a5 100644 (file)
--- a/fs.c
+++ b/fs.c
@@ -891,6 +891,8 @@ void FS_Init (void)
        fs_mempool = Mem_AllocPool("file management");
        pak_mempool = Mem_AllocPool("paks");
 
+       Cvar_RegisterVariable (&scr_screenshot_name);
+
        Cmd_AddCommand ("path", FS_Path_f);
        Cmd_AddCommand ("dir", FS_Dir_f);
        Cmd_AddCommand ("ls", FS_Ls_f);
@@ -943,6 +945,55 @@ void FS_Init (void)
                return;
        }
 
+       switch(gamemode)
+       {
+               case GAME_NORMAL:
+                       Cvar_SetQuick (&scr_screenshot_name, "dp");
+                       break;
+               case GAME_HIPNOTIC:
+                       Cvar_SetQuick (&scr_screenshot_name, "hipnotic");
+                       break;
+               case GAME_ROGUE:
+                       Cvar_SetQuick (&scr_screenshot_name, "rogue");
+                       break;
+               case GAME_NEHAHRA:
+                       Cvar_SetQuick (&scr_screenshot_name, "nehahra");
+                       break;
+               case GAME_NEXUIZ:
+                       Cvar_SetQuick (&scr_screenshot_name, "nexuiz");
+                       break;
+               case GAME_TRANSFUSION:
+                       Cvar_SetQuick (&scr_screenshot_name, "transfusion");
+                       break;
+               case GAME_GOODVSBAD2:
+                       Cvar_SetQuick (&scr_screenshot_name, "gvb2");
+                       break;
+               case GAME_TEU:
+                       Cvar_SetQuick (&scr_screenshot_name, "teu");
+                       break;
+               case GAME_BATTLEMECH:
+                       Cvar_SetQuick (&scr_screenshot_name, "battlemech");
+                       break;
+               case GAME_ZYMOTIC:
+                       Cvar_SetQuick (&scr_screenshot_name, "zymotic");
+                       break;
+               case GAME_FNIGGIUM:
+                       Cvar_SetQuick (&scr_screenshot_name, "fniggium");
+                       break;
+               case GAME_SETHERAL:
+                       Cvar_SetQuick (&scr_screenshot_name, "setheral");
+                       break;
+               case GAME_SOM:
+                       Cvar_SetQuick (&scr_screenshot_name, "som");
+                       break;
+               case GAME_TENEBRAE:
+                       Cvar_SetQuick (&scr_screenshot_name, "tenebrae");
+                       break;
+               default:
+                       Cvar_SetQuick (&scr_screenshot_name, "dp");
+                       break;
+       }
+
        // start up with GAMENAME by default (id1)
        strlcpy (com_modname, GAMENAME, sizeof (com_modname));
        FS_AddGameDirectory (va("%s/"GAMENAME, fs_basedir));
@@ -963,6 +1014,7 @@ void FS_Init (void)
                fs_modified = true;
                strlcpy (com_modname, com_argv[i+1], sizeof (com_modname));
                FS_AddGameDirectory (va("%s/%s", fs_basedir, com_argv[i+1]));
+               Cvar_SetQuick (&scr_screenshot_name, com_modname);
        }
 }