From c38132c964adbd858db074e7bb464f07e398f816 Mon Sep 17 00:00:00 2001 From: flightlessmango Date: Sun, 10 Dec 2023 11:50:00 +0100 Subject: [PATCH] text_outline_color: fix BGR TO RGB Previously the outline color would swap the blue and green, making it inconsistent with how other colors function --- src/hud_elements.cpp | 1 + src/hud_elements.h | 3 ++- src/overlay.cpp | 4 +--- src/overlay_params.cpp | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/hud_elements.cpp b/src/hud_elements.cpp index 3b13d0b6..61a61649 100644 --- a/src/hud_elements.cpp +++ b/src/hud_elements.cpp @@ -97,6 +97,7 @@ void HudElements::convert_colors(const struct overlay_params& params) 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]); + HUDElements.colors.text_outline = convert(params.text_outline_color); ImGuiStyle& style = ImGui::GetStyle(); style.Colors[ImGuiCol_PlotLines] = convert(params.frametime_color); diff --git a/src/hud_elements.h b/src/hud_elements.h index 01ae5600..e2338277 100644 --- a/src/hud_elements.h +++ b/src/hud_elements.h @@ -115,7 +115,8 @@ class HudElements{ cpu_load_high, fps_value_low, fps_value_med, - fps_value_high; + fps_value_high, + text_outline; } colors {}; void TextColored(ImVec4 col, const char *fmt, ...); diff --git a/src/overlay.cpp b/src/overlay.cpp index 4f98bd28..82d97d03 100644 --- a/src/overlay.cpp +++ b/src/overlay.cpp @@ -403,9 +403,7 @@ void RenderOutlinedText(const char* text, ImU32 textColor) { float outlineThickness = HUDElements.params->text_outline_thickness; ImVec2 textSize = ImGui::CalcTextSize(text); - ImVec4 colorVec4 = ImGui::ColorConvertU32ToFloat4(HUDElements.params->text_outline_color); - colorVec4.w = HUDElements.params->alpha; - ImU32 outlineColor = ImGui::ColorConvertFloat4ToU32(colorVec4); + ImU32 outlineColor = ImGui::ColorConvertFloat4ToU32(HUDElements.colors.text_outline); ImVec2 pos = window->DC.CursorPos; ImDrawList* drawList = ImGui::GetWindowDrawList(); diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp index cacb2488..bf6fb8ae 100644 --- a/src/overlay_params.cpp +++ b/src/overlay_params.cpp @@ -856,7 +856,7 @@ parse_overlay_config(struct overlay_params *params, params->font_scale_media_player = 0.55f; // Convert from 0xRRGGBB to ImGui's format - std::array colors = { + std::array colors = { ¶ms->cpu_color, ¶ms->gpu_color, ¶ms->vram_color, @@ -878,6 +878,7 @@ parse_overlay_config(struct overlay_params *params, ¶ms->fps_color[0], ¶ms->fps_color[1], ¶ms->fps_color[2], + ¶ms->text_outline_color, }; for (auto color : colors){