Chnage fps color based on fps value

pull/432/head^2
Alessandro Toia 4 years ago
parent 75d9e51445
commit 80004d3fe0

@ -71,6 +71,9 @@ void HudElements::convert_colors(struct overlay_params& params)
HUDElements.colors.cpu_load_low = convert(params.cpu_load_color[0]);
HUDElements.colors.cpu_load_med = convert(params.cpu_load_color[1]);
HUDElements.colors.cpu_load_high = convert(params.cpu_load_color[2]);
HUDElements.colors.fps_value_low = convert(params.fps_color[0]);
HUDElements.colors.fps_value_med = convert(params.fps_color[1]);
HUDElements.colors.fps_value_high = convert(params.fps_color[2]);
ImGuiStyle& style = ImGui::GetStyle();
style.Colors[ImGuiCol_PlotLines] = convert(params.frametime_color);
@ -337,7 +340,22 @@ if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_fps]){
}
ImGui::TextColored(HUDElements.colors.engine, "%s", HUDElements.is_vulkan ? HUDElements.sw_stats->engineName.c_str() : "OpenGL");
ImGui::TableNextCell();
right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%.0f", HUDElements.sw_stats->fps);
auto text_color = HUDElements.colors.text;
if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_fps_color_change]){
int fps = int(HUDElements.sw_stats->fps);
struct LOAD_DATA fps_data = {
HUDElements.colors.fps_value_low,
HUDElements.colors.fps_value_med,
HUDElements.colors.fps_value_high,
HUDElements.params->fps_value[0],
HUDElements.params->fps_value[1]
};
auto load_color = change_on_load_temp(fps_data, fps);
right_aligned_text(load_color, HUDElements.ralign_width, "%.0f", HUDElements.sw_stats->fps);
}
else {
right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%.0f", HUDElements.sw_stats->fps);
}
ImGui::SameLine(0, 1.0f);
ImGui::PushFont(HUDElements.sw_stats->font1);
ImGui::Text("FPS");

@ -65,7 +65,10 @@ class HudElements{
gpu_load_high,
cpu_load_low,
cpu_load_med,
cpu_load_high;
cpu_load_high,
fps_value_low,
fps_value_med,
fps_value_high;
} colors {};
};

@ -399,6 +399,8 @@ parse_font_glyph_ranges(const char *str)
#define parse_blacklist(s) parse_str_tokenize(s)
#define parse_custom_text_center(s) parse_str(s)
#define parse_custom_text(s) parse_str(s)
#define parse_fps_value(s) parse_load_value(s)
#define parse_fps_color(s) parse_load_color(s)
static bool
@ -577,6 +579,8 @@ parse_overlay_config(struct overlay_params *params,
params->gpu_load_value = { 60, 90 };
params->cpu_load_value = { 60, 90 };
params->cellpadding_y = -0.085;
params->fps_color = { 0xb22222, 0xfdfd09, 0x39f900 };
params->fps_value = { 30, 60 };
@ -654,7 +658,7 @@ parse_overlay_config(struct overlay_params *params,
params->font_scale_media_player = 0.55f;
// Convert from 0xRRGGBB to ImGui's format
std::array<unsigned *, 17> colors = {
std::array<unsigned *, 20> colors = {
&params->cpu_color,
&params->gpu_color,
&params->vram_color,
@ -672,6 +676,9 @@ parse_overlay_config(struct overlay_params *params,
&params->cpu_load_color[0],
&params->cpu_load_color[1],
&params->cpu_load_color[2],
&params->fps_color[0],
&params->fps_color[1],
&params->fps_color[2],
};
for (auto color : colors){

@ -61,6 +61,7 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_BOOL(frametime) \
OVERLAY_PARAM_BOOL(resolution) \
OVERLAY_PARAM_BOOL(show_fps_limit) \
OVERLAY_PARAM_BOOL(fps_color_change) \
OVERLAY_PARAM_CUSTOM(fps_sampling_period) \
OVERLAY_PARAM_CUSTOM(output_folder) \
OVERLAY_PARAM_CUSTOM(output_file) \
@ -118,6 +119,8 @@ typedef unsigned long KeySym;
OVERLAY_PARAM_CUSTOM(cpu_load_value) \
OVERLAY_PARAM_CUSTOM(gpu_load_color) \
OVERLAY_PARAM_CUSTOM(cpu_load_color) \
OVERLAY_PARAM_CUSTOM(fps_value) \
OVERLAY_PARAM_CUSTOM(fps_color) \
OVERLAY_PARAM_CUSTOM(cellpadding_y) \
OVERLAY_PARAM_CUSTOM(table_columns) \
OVERLAY_PARAM_CUSTOM(blacklist) \
@ -186,6 +189,8 @@ struct overlay_params {
std::vector<unsigned> cpu_load_color;
std::vector<unsigned> gpu_load_value;
std::vector<unsigned> cpu_load_value;
std::vector<unsigned> fps_color;
std::vector<unsigned> fps_value;
unsigned media_player_color;
unsigned table_columns;
bool no_small_font;

Loading…
Cancel
Save