Legacy elements

pull/379/head
FlightlessMango 4 years ago
parent 0c57171497
commit 366de9a9dd

@ -5,13 +5,17 @@
#include "mesa/util/macros.h" #include "mesa/util/macros.h"
void HudElements::time(){ void HudElements::time(){
ImGui::TableNextRow(); if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_time]){
ImGui::TextColored(ImVec4(1.0f, 1.0f, 1.0f, 1.00f), "%s", HUDElements.sw_stats->time.c_str()); ImGui::TableNextRow();
ImGui::TextColored(ImVec4(1.0f, 1.0f, 1.0f, 1.00f), "%s", HUDElements.sw_stats->time.c_str());
}
} }
void HudElements::version(){ void HudElements::version(){
ImGui::TableNextRow(); if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_version]){
ImGui::Text("%s", MANGOHUD_VERSION); ImGui::TableNextRow();
ImGui::Text("%s", MANGOHUD_VERSION);
}
} }
void HudElements::gpu_stats(){ void HudElements::gpu_stats(){
@ -115,6 +119,7 @@ void HudElements::cpu_stats(){
} }
void HudElements::core_load(){ void HudElements::core_load(){
if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_core_load]){
int i = 0; int i = 0;
for (const CPUData &cpuData : cpuStats.GetCPUData()) for (const CPUData &cpuData : cpuStats.GetCPUData())
{ {
@ -136,6 +141,7 @@ void HudElements::core_load(){
ImGui::PopFont(); ImGui::PopFont();
i++; i++;
} }
}
} }
void HudElements::io_stats(){ void HudElements::io_stats(){
if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_io_read] || HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_io_write]){ if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_io_read] || HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_io_write]){
@ -236,8 +242,8 @@ void HudElements::gpu_name(){
} }
} }
void HudElements::engine_version(){ void HudElements::engine_version(){
ImGui::TableNextRow();
if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_engine_version]){ if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_engine_version]){
ImGui::TableNextRow();
ImGui::PushFont(HUDElements.sw_stats->font1); ImGui::PushFont(HUDElements.sw_stats->font1);
if (HUDElements.is_vulkan) { if (HUDElements.is_vulkan) {
if ((HUDElements.sw_stats->engineName == "DXVK" || HUDElements.sw_stats->engineName == "VKD3D")){ if ((HUDElements.sw_stats->engineName == "DXVK" || HUDElements.sw_stats->engineName == "VKD3D")){
@ -258,7 +264,6 @@ void HudElements::engine_version(){
"%d.%d%s", HUDElements.sw_stats->version_gl.major, HUDElements.sw_stats->version_gl.minor, "%d.%d%s", HUDElements.sw_stats->version_gl.major, HUDElements.sw_stats->version_gl.minor,
HUDElements.sw_stats->version_gl.is_gles ? " ES" : ""); HUDElements.sw_stats->version_gl.is_gles ? " ES" : "");
} }
// ImGui::SameLine();
ImGui::PopFont(); ImGui::PopFont();
} }
} }
@ -473,51 +478,52 @@ void HudElements::sort_elements(std::pair<std::string, std::string> option){
auto param = option.first; auto param = option.first;
auto value = option.second; auto value = option.second;
if (param == "version") if (param == "version") { ordered_functions.push_back({version, value}); }
ordered_functions.push_back({version, value}); if (param == "time") { ordered_functions.push_back({time, value}); }
if (param == "time") if (param == "gpu_stats") { ordered_functions.push_back({gpu_stats, value}); }
ordered_functions.push_back({time, value}); if (param == "cpu_stats") { ordered_functions.push_back({cpu_stats, value}); }
if (param == "gpu_stats") if (param == "core_load") { ordered_functions.push_back({core_load, value}); }
ordered_functions.push_back({gpu_stats, value}); if (param == "io_stats") { ordered_functions.push_back({io_stats, value}); }
if (param == "cpu_stats") if (param == "vram") { ordered_functions.push_back({vram, value}); }
ordered_functions.push_back({cpu_stats, value}); if (param == "ram") { ordered_functions.push_back({ram, value}); }
if (param == "core_load") if (param == "fps") { ordered_functions.push_back({fps, value}); }
ordered_functions.push_back({core_load, value}); if (param == "engine_version") { ordered_functions.push_back({engine_version, value}); }
if (param == "io_stats") if (param == "gpu_name") { ordered_functions.push_back({gpu_name, value}); }
ordered_functions.push_back({io_stats, value}); if (param == "vulkan_driver") { ordered_functions.push_back({vulkan_driver, value}); }
if (param == "vram") if (param == "arch") { ordered_functions.push_back({arch, value}); }
ordered_functions.push_back({vram, value}); if (param == "wine") { ordered_functions.push_back({wine, value}); }
if (param == "ram") if (param == "frame_timing") { ordered_functions.push_back({frame_timing, value}); }
ordered_functions.push_back({ram, value}); if (param == "media_player") { ordered_functions.push_back({media_player, value}); }
if (param == "fps")
ordered_functions.push_back({fps, value});
if (param == "engine_version")
ordered_functions.push_back({engine_version, value});
if (param == "gpu_name")
ordered_functions.push_back({gpu_name, value});
if (param == "vulkan_driver")
ordered_functions.push_back({vulkan_driver, value});
if (param == "arch")
ordered_functions.push_back({arch, value});
if (param == "wine")
ordered_functions.push_back({wine, value});
if (param == "frame_timing")
ordered_functions.push_back({frame_timing, value});
if (param == "media_player")
ordered_functions.push_back({media_player, value});
if (param == "graphs"){ if (param == "graphs"){
std::vector<std::string> permitted_params = { stringstream ss; ss << value;
"gpu_load", "cpu_load", "gpu_core_clock", "gpu_mem_clock", while (getline(ss, value, '+')) {
"vram", "ram", "cpu_temp", "gpu_temp" if (find(permitted_params.begin(), permitted_params.end(), value) != permitted_params.end())
};
std::stringstream ss; ss << value;
while (std::getline(ss, value, '+')) {
if (std::find(permitted_params.begin(), permitted_params.end(), value) != permitted_params.end())
ordered_functions.push_back({graphs, value}); ordered_functions.push_back({graphs, value});
else else
printf("MANGOHUD: Unrecognized graph type: %s\n", value.c_str()); printf("MANGOHUD: Unrecognized graph type: %s\n", value.c_str());
} }
} }
return;
}
void HudElements::legacy_elements(){
string value = "NULL";
ordered_functions.push_back({time, value});
ordered_functions.push_back({version, value});
ordered_functions.push_back({gpu_stats, value});
ordered_functions.push_back({cpu_stats, value});
ordered_functions.push_back({core_load, value});
ordered_functions.push_back({io_stats, value});
ordered_functions.push_back({vram, value});
ordered_functions.push_back({ram, value});
ordered_functions.push_back({fps, value});
ordered_functions.push_back({engine_version, value});
ordered_functions.push_back({gpu_name, value});
ordered_functions.push_back({vulkan_driver, value});
ordered_functions.push_back({arch, value});
ordered_functions.push_back({wine, value});
ordered_functions.push_back({frame_timing, value});
ordered_functions.push_back({media_player, value});
} }
HudElements HUDElements; HudElements HUDElements;

@ -16,7 +16,12 @@ class HudElements{
std::vector<std::pair<std::string, std::string>> options; std::vector<std::pair<std::string, std::string>> options;
std::vector<std::pair<void(*)(), std::string >> ordered_functions; std::vector<std::pair<void(*)(), std::string >> ordered_functions;
int min, max, gpu_core_max, gpu_mem_max, cpu_temp_max, gpu_temp_max; int min, max, gpu_core_max, gpu_mem_max, cpu_temp_max, gpu_temp_max;
std::vector<std::string> permitted_params = {
"gpu_load", "cpu_load", "gpu_core_clock", "gpu_mem_clock",
"vram", "ram", "cpu_temp", "gpu_temp"
};
void sort_elements(std::pair<std::string, std::string> option); void sort_elements(std::pair<std::string, std::string> option);
void legacy_elements();
static void version(); static void version();
static void time(); static void time();
static void gpu_stats(); static void gpu_stats();

@ -497,6 +497,7 @@ parse_overlay_config(struct overlay_params *params,
params->enabled[OVERLAY_PARAM_ENABLED_wine] = false; params->enabled[OVERLAY_PARAM_ENABLED_wine] = false;
params->enabled[OVERLAY_PARAM_ENABLED_gpu_load_change] = false; params->enabled[OVERLAY_PARAM_ENABLED_gpu_load_change] = false;
params->enabled[OVERLAY_PARAM_ENABLED_cpu_load_change] = false; params->enabled[OVERLAY_PARAM_ENABLED_cpu_load_change] = false;
params->enabled[OVERLAY_PARAM_ENABLED_legacy_layout] = true;
params->fps_sampling_period = 500000; /* 500ms */ params->fps_sampling_period = 500000; /* 500ms */
params->width = 0; params->width = 0;
params->height = 140; params->height = 140;
@ -671,6 +672,11 @@ parse_overlay_config(struct overlay_params *params,
printf("MANGOHUD: output_file is Deprecated, use output_folder instead\n"); printf("MANGOHUD: output_file is Deprecated, use output_folder instead\n");
auto real_size = params->font_size * params->font_scale; auto real_size = params->font_size * params->font_scale;
real_font_size = ImVec2(real_size, real_size / 2); real_font_size = ImVec2(real_size, real_size / 2);
for (auto& option : HUDElements.options) HUDElements.params = params;
HUDElements.sort_elements(option); if (params->enabled[OVERLAY_PARAM_ENABLED_legacy_layout]){
HUDElements.legacy_elements();
} else {
for (auto& option : HUDElements.options)
HUDElements.sort_elements(option);
}
} }

@ -54,6 +54,7 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_BOOL(gpu_load_change) \ OVERLAY_PARAM_BOOL(gpu_load_change) \
OVERLAY_PARAM_BOOL(cpu_load_change) \ OVERLAY_PARAM_BOOL(cpu_load_change) \
OVERLAY_PARAM_BOOL(graphs) \ OVERLAY_PARAM_BOOL(graphs) \
OVERLAY_PARAM_BOOL(legacy_layout) \
OVERLAY_PARAM_CUSTOM(fps_sampling_period) \ OVERLAY_PARAM_CUSTOM(fps_sampling_period) \
OVERLAY_PARAM_CUSTOM(output_folder) \ OVERLAY_PARAM_CUSTOM(output_folder) \
OVERLAY_PARAM_CUSTOM(output_file) \ OVERLAY_PARAM_CUSTOM(output_file) \

Loading…
Cancel
Save