diff --git a/src/overlay.cpp b/src/overlay.cpp index 985ab6aa..20b9bf08 100644 --- a/src/overlay.cpp +++ b/src/overlay.cpp @@ -65,12 +65,6 @@ string engineName, engineVersion; struct amdGpu amdgpu; int64_t frameStart, frameEnd, targetFrameTime = 0, frameOverhead = 0, sleepTime = 0; -#define RGBGetBValue(rgb) (rgb & 0x000000FF) -#define RGBGetGValue(rgb) ((rgb >> 8) & 0x000000FF) -#define RGBGetRValue(rgb) ((rgb >> 16) & 0x000000FF) - -#define ToRGBColor(r, g, b, a) ((r << 16) | (g << 8) | (b)); - /* Mapped from VkInstace/VkPhysicalDevice */ struct instance_data { struct vk_instance_dispatch_table vtable; @@ -1346,12 +1340,12 @@ static void compute_swapchain_display(struct swapchain_data *data) ImGui::Begin("Logging", &open, ImGuiWindowFlags_NoDecoration); ImVec2 horiz = ImVec2(data->width / 2 - (instance_data->params.crosshair_size / 2), data->height / 2); ImVec2 vert = ImVec2(data->width / 2, data->height / 2 - (instance_data->params.crosshair_size / 2)); - ImGui::GetWindowDrawList()->AddLine(horiz, ImVec2(horiz.x + instance_data->params.crosshair_size, horiz.y + 0), - IM_COL32(RGBGetRValue(instance_data->params.crosshair_color), RGBGetGValue(instance_data->params.crosshair_color), - RGBGetBValue(instance_data->params.crosshair_color), 255), 2.0f); - ImGui::GetWindowDrawList()->AddLine(vert, ImVec2(vert.x + 0, vert.y + instance_data->params.crosshair_size), - IM_COL32(RGBGetRValue(instance_data->params.crosshair_color), RGBGetGValue(instance_data->params.crosshair_color), - RGBGetBValue(instance_data->params.crosshair_color), 255), 2.0f); + ImGui::GetWindowDrawList()->AddLine(horiz, + ImVec2(horiz.x + instance_data->params.crosshair_size, horiz.y + 0), + instance_data->params.crosshair_color, 2.0f); + ImGui::GetWindowDrawList()->AddLine(vert, + ImVec2(vert.x + 0, vert.y + instance_data->params.crosshair_size), + instance_data->params.crosshair_color, 2.0f); ImGui::End(); } ImGui::PopStyleVar(2); diff --git a/src/overlay_params.cpp b/src/overlay_params.cpp index ae87e095..184c0444 100644 --- a/src/overlay_params.cpp +++ b/src/overlay_params.cpp @@ -28,6 +28,7 @@ #include #include #include "X11/keysym.h" +#include "imgui.h" #include "overlay_params.h" #include "config.h" @@ -343,7 +344,13 @@ parse_overlay_config(struct overlay_params *params, // Command buffer gets reused and timestamps cause hangs for some reason, force off for now params->enabled[OVERLAY_PARAM_ENABLED_gpu_timing] = false; - + // Convert from 0xRRGGBB to ImGui's format + params->crosshair_color = + IM_COL32(RGBGetRValue(params->crosshair_color), + RGBGetGValue(params->crosshair_color), + RGBGetBValue(params->crosshair_color), + 255); + params->tableCols = 3; if (!params->font_size) diff --git a/src/overlay_params.h b/src/overlay_params.h index 3b46601d..73c1bffa 100644 --- a/src/overlay_params.h +++ b/src/overlay_params.h @@ -35,6 +35,12 @@ extern "C" { #include #include +#define RGBGetBValue(rgb) (rgb & 0x000000FF) +#define RGBGetGValue(rgb) ((rgb >> 8) & 0x000000FF) +#define RGBGetRValue(rgb) ((rgb >> 16) & 0x000000FF) + +#define ToRGBColor(r, g, b, a) ((r << 16) | (g << 8) | (b)); + #define OVERLAY_PARAMS \ OVERLAY_PARAM_BOOL(fps) \ OVERLAY_PARAM_BOOL(frame) \