diff --git a/src/r_main.c b/src/r_main.c index 39231981c566d31ea282362687efbafe3302840e..dea402eec87b2bef5282c93624b80e0e68474188 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -941,6 +941,11 @@ void R_ExecuteSetViewSize(void) if (splitscreen == 1) // Splitscreen FOV should be adjusted to maintain expected vertical view fovtan = 17*fovtan/10; + // Adjust field of view to the aspect ratio + fixed_t resmul = FixedDiv(vid.width * FRACUNIT, vid.height * FRACUNIT); + if (resmul > FRACUNIT) + fovtan = FixedMul(fovtan, resmul); + projection = projectiony = FixedDiv(centerxfrac, fovtan); R_InitViewBuffer(scaledviewwidth, viewheight);