Add universal param

pull/532/merge
FlightlessMango 3 years ago
parent 898f0ea28d
commit 3ac7772a55

@ -72,6 +72,7 @@ void imgui_init()
return;
parse_overlay_config(&params, getenv("MANGOHUD_CONFIG"));
_params = params;
//check for blacklist item in the config file
for (auto& item : params.blacklist) {

@ -85,6 +85,7 @@ void check_keybinds(struct swapchain_stats& sw_stats, struct overlay_params& par
#endif
if (pressed){
parse_overlay_config(&params, getenv("MANGOHUD_CONFIG"));
_params = params;
reload_cfg_press = now;
}
}

@ -5,6 +5,7 @@
#include "overlay.h"
#include "config.h"
#include "file_utils.h"
#include "string_utils.h"
string os, cpu, gpu, ram, kernel, driver, cpusched;
bool sysInfoFetched = false;
@ -95,12 +96,11 @@ string get_log_suffix(){
return log_name;
}
void logging(void *params_void){
overlay_params *params = reinterpret_cast<overlay_params *>(params_void);
void logging(){
logger->wait_until_data_valid();
while (logger->is_active()){
logger->try_log();
this_thread::sleep_for(chrono::milliseconds(params->log_interval));
this_thread::sleep_for(chrono::milliseconds(_params.log_interval));
}
}
@ -117,8 +117,8 @@ void Logger::start_logging() {
m_values_valid = false;
m_logging_on = true;
m_log_start = Clock::now();
if((!m_params->output_folder.empty()) && (m_params->log_interval != 0)){
std::thread(logging, m_params).detach();
if((!_params.output_folder.empty()) && (_params.log_interval != 0)){
std::thread(logging).detach();
}
}
@ -127,13 +127,13 @@ void Logger::stop_logging() {
m_logging_on = false;
m_log_end = Clock::now();
std::thread(calculate_benchmark_data, m_params).detach();
calculate_benchmark_data();
if(!m_params->output_folder.empty()) {
if(!_params.output_folder.empty()) {
std::string program = get_wine_exe_name();
if (program.empty())
program = get_program_name();
m_log_files.emplace_back(m_params->output_folder + "/" + program + "_" + get_log_suffix());
m_log_files.emplace_back(_params.output_folder + "/" + program + "_" + get_log_suffix());
std::thread(writeFile, m_log_files.back()).detach();
}
}
@ -149,7 +149,7 @@ void Logger::try_log() {
currentLogData.frametime = frametime;
m_log_array.push_back(currentLogData);
if(m_params->log_duration && (elapsedLog >= std::chrono::seconds(m_params->log_duration))){
if(_params.log_duration && (elapsedLog >= std::chrono::seconds(_params.log_duration))){
stop_logging();
}
}

@ -135,9 +135,7 @@ void update_hud_info(struct swapchain_stats& sw_stats, struct overlay_params& pa
sw_stats.n_frames_since_update++;
}
void calculate_benchmark_data(void *params_void){
overlay_params *params = reinterpret_cast<overlay_params *>(params_void);
void calculate_benchmark_data(){
vector<float> sorted = benchmark.fps_data;
std::sort(sorted.begin(), sorted.end());
benchmark.percentile_data.clear();
@ -149,7 +147,7 @@ void calculate_benchmark_data(void *params_void){
size_t max_label_size = 0;
for (std::string percentile : params->benchmark_percentiles) {
for (std::string percentile : _params.benchmark_percentiles) {
float result;
// special case handling for a mean-based average

@ -105,6 +105,7 @@ extern struct benchmark_stats benchmark;
extern ImVec2 real_font_size;
extern std::string wineVersion;
extern std::vector<logData> graph_data;
extern overlay_params _params;
void position_layer(struct swapchain_stats& data, struct overlay_params& params, ImVec2 window_size);
void render_imgui(swapchain_stats& data, struct overlay_params& params, ImVec2& window_size, bool is_vulkan);
@ -116,7 +117,7 @@ void check_keybinds(struct swapchain_stats& sw_stats, struct overlay_params& par
void init_system_info(void);
void FpsLimiter(struct fps_limit& stats);
void get_device_name(int32_t vendorID, int32_t deviceID, struct swapchain_stats& sw_stats);
void calculate_benchmark_data(void *params_void);
void calculate_benchmark_data();
void create_fonts(const overlay_params& params, ImFont*& small_font, ImFont*& text_font);
void right_aligned_text(ImVec4& col, float off_x, const char *fmt, ...);
void center_text(const std::string& text);

@ -59,6 +59,7 @@
float offset_x, offset_y, hudSpacing;
int hudFirstRow, hudSecondRow;
VkPhysicalDeviceDriverProperties driverProps = {};
overlay_params _params {};
#if !defined(_WIN32)
namespace MangoHud { namespace GL {
@ -1931,6 +1932,7 @@ static VkResult overlay_CreateInstance(
instance_data_map_physical_devices(instance_data, true);
parse_overlay_config(&instance_data->params, getenv("MANGOHUD_CONFIG"));
_params = instance_data->params;
//check for blacklist item in the config file
for (auto& item : instance_data->params.blacklist) {

@ -14,6 +14,7 @@ void init_d3d_shared(){
if (cfg_inited)
return;
parse_overlay_config(&params, getenv("MANGOHUD_CONFIG"));
_params = params;
cfg_inited = true;
// init_cpu_stats(params);
}

Loading…
Cancel
Save