]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_screen.c
added showtime/showtime_format and showdate/showdate_format cvars, and moved the...
[xonotic/darkplaces.git] / cl_screen.c
index 9384f3e2e5f66fbb44cdac27139826465d46b780..0d2ce23f344efc6bf8048146a8b838bf3d1e7f0d 100644 (file)
@@ -9,6 +9,7 @@ cvar_t scr_fov = {CVAR_SAVE, "fov","90"};       // 1 - 170
 cvar_t scr_conspeed = {CVAR_SAVE, "scr_conspeed","900"}; // LordHavoc: quake used 300
 cvar_t scr_conalpha = {CVAR_SAVE, "scr_conalpha", "1"};
 cvar_t scr_conbrightness = {CVAR_SAVE, "scr_conbrightness", "0.2"};
+cvar_t scr_conforcewhiledisconnected = {CVAR_SAVE, "scr_conforcewhiledisconnected", "1"};
 cvar_t scr_centertime = {0, "scr_centertime","2"};
 cvar_t scr_showram = {CVAR_SAVE, "showram","1"};
 cvar_t scr_showturtle = {CVAR_SAVE, "showturtle","0"};
@@ -62,7 +63,7 @@ Called for important messages that should stay in the center of the screen
 for a few moments
 ==============
 */
-void SCR_CenterPrint (char *str)
+void SCR_CenterPrint(char *str)
 {
        strlcpy (scr_centerstring, str, sizeof (scr_centerstring));
        scr_centertime_off = scr_centertime.value;
@@ -243,7 +244,7 @@ void SCR_SetUpToDrawConsole (void)
 {
        Con_CheckResize ();
 
-       if (key_dest == key_game && cls.signon != SIGNONS)
+       if (key_dest == key_game && cls.signon != SIGNONS && scr_conforcewhiledisconnected.integer)
                key_consoleactive |= KEY_CONSOLEACTIVE_FORCED;
        else
                key_consoleactive &= ~KEY_CONSOLEACTIVE_FORCED;
@@ -461,6 +462,7 @@ void CL_Screen_Init(void)
        Cvar_RegisterVariable (&scr_conspeed);
        Cvar_RegisterVariable (&scr_conalpha);
        Cvar_RegisterVariable (&scr_conbrightness);
+       Cvar_RegisterVariable (&scr_conforcewhiledisconnected);
        Cvar_RegisterVariable (&scr_showram);
        Cvar_RegisterVariable (&scr_showturtle);
        Cvar_RegisterVariable (&scr_showpause);
@@ -477,6 +479,10 @@ void CL_Screen_Init(void)
        Cmd_AddCommand ("screenshot",SCR_ScreenShot_f);
        Cmd_AddCommand ("envmap", R_Envmap_f);
 
+       // different default in GAME_FNIGGIUM
+       if (gamemode == GAME_FNIGGIUM)
+               Cvar_SetQuick(&scr_conforcewhiledisconnected, 0);
+       
        scr_initialized = true;
 }
 
@@ -608,7 +614,7 @@ void DrawQ_SetClipArea(float x, float y, float width, float height)
        drawqueue_t * dq;
        if(r_refdef.drawqueuesize + (int)sizeof(*dq) > r_refdef.maxdrawqueuesize)
        {
-               Con_DPrintf("DrawQueue full !\n");
+               Con_DPrint("DrawQueue full !\n");
                return;
        }
        dq = (void*) (r_refdef.drawqueue + r_refdef.drawqueuesize);
@@ -629,7 +635,7 @@ void DrawQ_ResetClipArea(void)
        drawqueue_t *dq;
        if(r_refdef.drawqueuesize + (int)sizeof(*dq) > r_refdef.maxdrawqueuesize)
        {
-               Con_DPrintf("DrawQueue full !\n");
+               Con_DPrint("DrawQueue full !\n");
                return;
        }
        dq = (void*) (r_refdef.drawqueue + r_refdef.drawqueuesize);
@@ -652,35 +658,35 @@ SCR_ScreenShot_f
 */
 void SCR_ScreenShot_f (void)
 {
-       static int i = 0;
-       char filename[16];
-       char checkname[MAX_OSPATH];
-       const char* extens;
+       static int shotnumber = 0;
+       const char *base;
+       char filename[64];
        qboolean jpeg = (scr_screenshot_jpeg.integer != 0);
 
-       if (jpeg)
-               extens = "jpg";
-       else
-               extens = "tga";
-
+       base = "screenshots/dp";
+       if (gamemode == GAME_FNIGGIUM)
+               base = "screenshots/fniggium";
+       
        // find a file name to save it to
-       for (; i<=9999 ; i++)
-       {
-               sprintf (filename, "dp%04i.%s", i, extens);
-               sprintf (checkname, "%s/%s", fs_gamedir, filename);
-               if (!FS_SysFileExists(checkname))
+       for (;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 (i==10000)
+       if (shotnumber >= 1000000)
        {
-               Con_Print("SCR_ScreenShot_f: Couldn't create the image file\n");
+               Con_Print("SCR_ScreenShot_f: Couldn't create the image file\n");
                return;
        }
 
-       if (SCR_ScreenShot (filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, jpeg))
-               Con_Printf ("Wrote %s\n", filename);
+       if (jpeg)
+               sprintf(filename, "%s%06d.jpg", base, shotnumber);
+       else
+               sprintf(filename, "%s%06d.tga", base, shotnumber);
+
+       if (SCR_ScreenShot(filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, jpeg))
+               Con_Printf("Wrote %s\n", filename);
        else
-               Con_Printf ("unable to write %s\n", filename);
+               Con_Printf("unable to write %s\n", filename);
+       shotnumber++;
 }
 
 static int cl_avidemo_frame = 0;
@@ -691,9 +697,9 @@ void SCR_CaptureAVIDemo(void)
        qboolean jpeg = (scr_screenshot_jpeg.integer != 0);
 
        if (jpeg)
-               sprintf(filename, "dpavi%06d.jpg", cl_avidemo_frame);
+               sprintf(filename, "video/dp%06d.jpg", cl_avidemo_frame);
        else
-               sprintf(filename, "dpavi%06d.tga", cl_avidemo_frame);
+               sprintf(filename, "video/dp%06d.tga", cl_avidemo_frame);
 
        if (SCR_ScreenShot(filename, vid.realx, vid.realy, vid.realwidth, vid.realheight, jpeg))
                cl_avidemo_frame++;
@@ -734,7 +740,7 @@ static void R_Envmap_f (void)
 
        if (Cmd_Argc() != 3)
        {
-               Con_Print("envmap <basename> <size>: save out 6 cubic environment map images, usable with loadsky, note that size must one of 128, 256, 512, or 1024 and can't be bigger than your current resolution\n");
+               Con_Print("envmap <basename> <size>: save out 6 cubic environment map images, usable with loadsky, note that size must one of 128, 256, 512, or 1024 and can't be bigger than your current resolution\n");
                return;
        }
 
@@ -742,12 +748,12 @@ static void R_Envmap_f (void)
        size = atoi(Cmd_Argv(2));
        if (size != 128 && size != 256 && size != 512 && size != 1024)
        {
-               Con_Printf("envmap: size must be one of 128, 256, 512, or 1024\n");
+               Con_Print("envmap: size must be one of 128, 256, 512, or 1024\n");
                return;
        }
        if (size > vid.realwidth || size > vid.realheight)
        {
-               Con_Printf("envmap: your resolution is not big enough to render that size\n");
+               Con_Print("envmap: your resolution is not big enough to render that size\n");
                return;
        }