]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_screen.c
Convert \ to / when loading texture from Q3 shader
[xonotic/darkplaces.git] / cl_screen.c
index e4cc4e22b0fb8ffb0c65a0f6b409f00ac900b3b0..ac6b64307b41311c3786b0a6cd9f5e25bed906b7 100644 (file)
@@ -125,6 +125,8 @@ int                 scr_con_margin_bottom;
 
 extern int     con_vislines;
 
+extern int cl_punchangle_applied;
+
 static void SCR_ScreenShot_f(cmd_state_t *cmd);
 static void R_Envmap_f(cmd_state_t *cmd);
 
@@ -265,7 +267,7 @@ static void SCR_DrawNetGraph_DrawGraph (int graphx, int graphy, int graphwidth,
        for (j = 0;j < NETGRAPH_PACKETS;j++)
        {
                graph = netgraph + j;
-               g[j][0] = 1.0f - 0.25f * (realtime - graph->time);
+               g[j][0] = 1.0f - 0.25f * (host.realtime - graph->time);
                g[j][1] = 1.0f;
                g[j][2] = 1.0f;
                g[j][3] = 1.0f;
@@ -285,7 +287,7 @@ static void SCR_DrawNetGraph_DrawGraph (int graphx, int graphy, int graphwidth,
                        g[j][4] = g[j][3] - graph->reliablebytes   * graphscale;
                        g[j][5] = g[j][4] - graph->ackbytes        * graphscale;
                        // count bytes in the last second
-                       if (realtime - graph->time < 1.0f)
+                       if (host.realtime - graph->time < 1.0f)
                                totalbytes += graph->unreliablebytes + graph->reliablebytes + graph->ackbytes;
                }
                if(graph->cleartime >= 0)
@@ -409,7 +411,7 @@ static void SCR_DrawNet (void)
 {
        if (cls.state != ca_connected)
                return;
-       if (realtime - cl.last_received_message < 0.3)
+       if (host.realtime - cl.last_received_message < 0.3)
                return;
        if (cls.demoplayback)
                return;
@@ -511,14 +513,14 @@ static int SCR_DrawQWDownload(int offset)
        if (!cls.qw_downloadname[0])
        {
                cls.qw_downloadspeedrate = 0;
-               cls.qw_downloadspeedtime = realtime;
+               cls.qw_downloadspeedtime = host.realtime;
                cls.qw_downloadspeedcount = 0;
                return 0;
        }
-       if (realtime >= cls.qw_downloadspeedtime + 1)
+       if (host.realtime >= cls.qw_downloadspeedtime + 1)
        {
                cls.qw_downloadspeedrate = cls.qw_downloadspeedcount;
-               cls.qw_downloadspeedtime = realtime;
+               cls.qw_downloadspeedtime = host.realtime;
                cls.qw_downloadspeedcount = 0;
        }
        if (cls.protocol == PROTOCOL_QUAKEWORLD)
@@ -984,8 +986,8 @@ static void R_TimeReport_EndFrame(void)
        mleaf_t *viewleaf;
        static double oldtime = 0;
 
-       r_refdef.stats[r_stat_timedelta] = (int)((realtime - oldtime) * 1000000.0);
-       oldtime = realtime;
+       r_refdef.stats[r_stat_timedelta] = (int)((host.realtime - oldtime) * 1000000.0);
+       oldtime = host.realtime;
        r_refdef.stats[r_stat_quality] = (int)(100 * r_refdef.view.quality);
 
        string[0] = 0;
@@ -1489,7 +1491,7 @@ void SCR_ScreenShot_f(cmd_state_t *cmd)
                Con_Printf("Wrote %s\n", filename);
        else
        {
-               Con_Errorf("Unable to write %s\n", filename);
+               Con_Printf(CON_ERROR "Unable to write %s\n", filename);
                if(jpeg || png)
                {
                        if(SCR_ScreenShot (filename, buffer1, buffer2, 0, 0, vid.width, vid.height, false, false, false, false, false, true, scr_screenshot_alpha.integer != 0))
@@ -1538,9 +1540,9 @@ static void SCR_CaptureVideo_BeginVideo(void)
        cls.capturevideo.framestep = cl_capturevideo_framestep.integer;
        cls.capturevideo.soundrate = S_GetSoundRate();
        cls.capturevideo.soundchannels = S_GetSoundChannels();
-       cls.capturevideo.startrealtime = realtime;
+       cls.capturevideo.startrealtime = host.realtime;
        cls.capturevideo.frame = cls.capturevideo.lastfpsframe = 0;
-       cls.capturevideo.starttime = cls.capturevideo.lastfpstime = realtime;
+       cls.capturevideo.starttime = cls.capturevideo.lastfpstime = host.realtime;
        cls.capturevideo.soundsampleframe = 0;
        cls.capturevideo.realtime = cl_capturevideo_realtime.integer != 0;
        cls.capturevideo.screenbuffer = (unsigned char *)Mem_Alloc(tempmempool, vid.width * vid.height * 4);
@@ -1712,7 +1714,7 @@ static void SCR_CaptureVideo_VideoFrame(int newframestepframenum)
        if(cl_capturevideo_printfps.integer)
        {
                char buf[80];
-               double t = realtime;
+               double t = host.realtime;
                if(t > cls.capturevideo.lastfpstime + 1)
                {
                        double fps1 = (cls.capturevideo.frame - cls.capturevideo.lastfpsframe) / (t - cls.capturevideo.lastfpstime + 0.0000001);
@@ -1749,7 +1751,7 @@ static void SCR_CaptureVideo(void)
                if (cls.capturevideo.realtime)
                {
                        // preserve sound sync by duplicating frames when running slow
-                       newframenum = (int)((realtime - cls.capturevideo.startrealtime) * cls.capturevideo.framerate);
+                       newframenum = (int)((host.realtime - cls.capturevideo.startrealtime) * cls.capturevideo.framerate);
                }
                else
                        newframenum = cls.capturevideo.frame + 1;
@@ -2274,9 +2276,10 @@ static void SCR_DrawScreen (void)
 #endif
        CL_DrawVideo();
        R_Shadow_EditLights_DrawSelectedLightProperties();
-       if(!scr_loading) {
-               SCR_DrawConsole();
 
+       SCR_DrawConsole();
+       
+       if(!scr_loading) {
                SCR_DrawBrand();
 
                SCR_DrawInfobar();
@@ -2717,10 +2720,17 @@ void CL_UpdateScreen(void)
        double drawscreendelta;
        r_viewport_t viewport;
 
+       // TODO: Move to a better place.
+       cl_punchangle_applied = 0;
+
        if(drawscreenstart)
        {
                drawscreendelta = Sys_DirtyTime() - drawscreenstart;
+#ifdef CONFIG_VIDEO_CAPTURE
                if (cl_minfps.value > 0 && (cl_minfps_force.integer || !(cls.timedemo || (cls.capturevideo.active && !cls.capturevideo.realtime))) && drawscreendelta >= 0 && drawscreendelta < 60)
+#else
+               if (cl_minfps.value > 0 && (cl_minfps_force.integer || !cls.timedemo) && drawscreendelta >= 0 && drawscreendelta < 60)
+#endif
                {
                        // quality adjustment according to render time
                        double actualframetime;