From c5fa63c0fa17708941a130ee740a0406b1797d76 Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Sat, 13 Feb 2021 10:56:40 -0500 Subject: [PATCH] Invert the value of cv_fov After a little more testing, it was reversed for specifically the cvar. --- src/k_hud.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/k_hud.c b/src/k_hud.c index 05002c089..87cda81cc 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -772,7 +772,7 @@ void K_AdjustXYWithSnap(INT32 *x, INT32 *y, UINT32 options, INT32 dupx, INT32 du } // This version of the function was prototyped in Lua by Nev3r ... a HUGE thank you goes out to them! -// (Remember to free the result after usage.) +// TODO: This should probably support view rolling if we're adding that soon... void K_ObjectTracking(trackingResult_t *result, vector3_t *point, UINT8 cameraNum, angle_t angleOffset) { #define NEWTAN(x) FINETANGENT(((x + ANGLE_90) >> ANGLETOFINESHIFT) & 4095) // tan function used by Lua @@ -787,7 +787,8 @@ void K_ObjectTracking(trackingResult_t *result, vector3_t *point, UINT8 cameraNu INT32 screenWidth, screenHeight; fixed_t screenHalfW, screenHalfH; - fixed_t fov, fovTangent, fg; + const fixed_t baseFov = 90*FRACUNIT; + fixed_t fovDiff, fov, fovTangent, fg; fixed_t h; INT32 da; @@ -844,6 +845,7 @@ void K_ObjectTracking(trackingResult_t *result, vector3_t *point, UINT8 cameraNu viewpointAngle += (INT32)angleOffset; // Calculate screen size adjustments. + // TODO: Anyone want to make this support non-green resolutions somehow? :V screenWidth = BASEVIDWIDTH; screenHeight = BASEVIDHEIGHT; @@ -863,7 +865,8 @@ void K_ObjectTracking(trackingResult_t *result, vector3_t *point, UINT8 cameraNu screenHalfH = (screenHeight >> 1) << FRACBITS; // Calculate FOV adjustments. - fov = (cv_fov[cameraNum].value / 2) - (player->fovadd / 2); + fovDiff = cv_fov[cameraNum].value - baseFov; + fov = ((baseFov - fovDiff) / 2) - (player->fovadd / 2); fovTangent = NEWTAN(FixedAngle(fov)); if (r_splitscreen == 1)