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 diff --git a/src/v_video.c b/src/v_video.c index 147e3892f..60764ccbd 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -997,7 +997,8 @@ void V_DrawFillConsoleMap(INT32 x, INT32 y, INT32 w, INT32 h, INT32 c) w *= dupx; h *= dupy; - // adjustxy + // Center it if necessary + K_AdjustXYWithSnap(&x, &y, c, dupx, dupy); } if (x >= vid.width || y >= vid.height)