]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/hud/panel/engineinfo.qc
Merge branch 'terencehill/spectate_player' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / hud / panel / engineinfo.qc
index 01e7ae3da9fce2afbf8547385a511adf9bcd4820..ed7966c16ea1431fe0bfcbdeab2f2386f96897cb 100644 (file)
@@ -1,4 +1,9 @@
-// Engine info panel (#13)
+#include "engineinfo.qh"
+
+#include <client/autocvars.qh>
+#include <client/miscfunctions.qh>
+
+// Engine info (#13)
 
 float prevfps;
 float prevfps_time;
@@ -7,6 +12,9 @@ int framecounter;
 float frametimeavg;
 float frametimeavg1; // 1 frame ago
 float frametimeavg2; // 2 frames ago
+float autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage;
+float autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight;
+float autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold;
 void HUD_EngineInfo()
 {
        if(!autocvar__hud_configure)
@@ -14,12 +22,16 @@ void HUD_EngineInfo()
                if(!autocvar_hud_panel_engineinfo) return;
        }
 
-       HUD_Panel_UpdateCvars();
+       HUD_Panel_LoadCvars();
        vector pos, mySize;
        pos = panel_pos;
        mySize = panel_size;
 
-       HUD_Panel_DrawBg(1);
+       if (autocvar_hud_panel_engineinfo_dynamichud)
+               HUD_Scale_Enable();
+       else
+               HUD_Scale_Disable();
+       HUD_Panel_DrawBg();
        if(panel_bg_padding)
        {
                pos += '1 1 0' * panel_bg_padding;
@@ -27,7 +39,7 @@ void HUD_EngineInfo()
        }
 
        float currentTime = gettime(GETTIME_REALTIME);
-       if(cvar("hud_panel_engineinfo_framecounter_exponentialmovingaverage"))
+       if(autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage)
        {
                float currentframetime = currentTime - prevfps_time;
                frametimeavg = (frametimeavg + frametimeavg1 + frametimeavg2 + currentframetime)/4; // average three frametimes into framecounter for slightly more stable fps readings :P
@@ -35,10 +47,10 @@ void HUD_EngineInfo()
                frametimeavg1 = frametimeavg;
 
                float weight;
-               weight = cvar("hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight");
+               weight = autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight;
                if(currentframetime > 0.0001) // filter out insane values which sometimes seem to occur and throw off the average? If you are getting 10,000 fps or more, then you don't need a framerate counter.
                {
-                       if(fabs(prevfps - (1/frametimeavg)) > prevfps * cvar("hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold")) // if there was a big jump in fps, just force prevfps at current (1/currentframetime) to make big updates instant
+                       if(fabs(prevfps - (1/frametimeavg)) > prevfps * autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold) // if there was a big jump in fps, just force prevfps at current (1/currentframetime) to make big updates instant
                                prevfps = (1/currentframetime);
                        prevfps = (1 - weight) * prevfps + weight * (1/frametimeavg); // framecounter just used so there's no need for a new variable, think of it as "frametime average"
                }