From 9ef2530e543fde7e5e4124ae65c6bca2b2c8a5fb Mon Sep 17 00:00:00 2001 From: toaster Date: Mon, 14 Feb 2022 14:42:31 +0000 Subject: [PATCH] Fix HUD tracking being broken in non-green aspect ratios. --- src/k_hud.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/k_hud.c b/src/k_hud.c index 62253ba68..a15f24409 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -865,8 +865,8 @@ void K_ObjectTracking(trackingResult_t *result, vector3_t *point, UINT8 cameraNu // Calculate screen size adjustments. // TODO: Anyone want to make this support non-green resolutions somehow? :V - screenWidth = BASEVIDWIDTH; - screenHeight = BASEVIDHEIGHT; + screenWidth = vid.width/vid.dupx; + screenHeight = vid.height/vid.dupy; if (r_splitscreen >= 2) { @@ -925,6 +925,10 @@ void K_ObjectTracking(trackingResult_t *result, vector3_t *point, UINT8 cameraNu result->onScreen = false; } + // adjust to non-green-resolution screen coordinates + result->x -= ((vid.width/vid.dupx) - BASEVIDWIDTH)<<(FRACBITS-((r_splitscreen >= 2) ? 2 : 1)); + result->y -= ((vid.height/vid.dupy) - BASEVIDHEIGHT)<<(FRACBITS-((r_splitscreen >= 1) ? 2 : 1)); + return; #undef NEWTAN