X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud%2Fpanel%2Fengineinfo.qc;h=ed7966c16ea1431fe0bfcbdeab2f2386f96897cb;hb=16e64ff58cf65d7b3e0815aadb530580a6aa251b;hp=01e7ae3da9fce2afbf8547385a511adf9bcd4820;hpb=c741e6b3f012aa525f23e1df30d1d933b383fbc5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/hud/panel/engineinfo.qc b/qcsrc/client/hud/panel/engineinfo.qc index 01e7ae3da..ed7966c16 100644 --- a/qcsrc/client/hud/panel/engineinfo.qc +++ b/qcsrc/client/hud/panel/engineinfo.qc @@ -1,4 +1,9 @@ -// Engine info panel (#13) +#include "engineinfo.qh" + +#include +#include + +// 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" }