From 7bdbaaff22fecb244f2de8fedba45d198650d5e8 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Mon, 12 Sep 2016 20:29:26 +0200 Subject: [PATCH] GL aspect ratio adjustments --- src/gl/scene/gl_scene.cpp | 10 +++------- src/gl/scene/gl_weapon.cpp | 4 +--- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/gl/scene/gl_scene.cpp b/src/gl/scene/gl_scene.cpp index 26e226554..9a5ba5756 100644 --- a/src/gl/scene/gl_scene.cpp +++ b/src/gl/scene/gl_scene.cpp @@ -120,7 +120,7 @@ angle_t FGLRenderer::FrustumAngle() // ok, this is a gross hack that barely works... // but at least it doesn't overestimate too much... - double floatangle=2.0+(45.0+((tilt/1.9)))*mCurrentFoV*48.0/BaseRatioSizes[WidescreenRatio][3]/90.0; + double floatangle=2.0+(45.0+((tilt/1.9)))*mCurrentFoV*48.0/AspectMultiplier(WidescreenRatio)/90.0; angle_t a1 = DAngle(floatangle).BAMs(); if (a1>=ANGLE_180) return 0xffffffff; return a1; @@ -917,14 +917,10 @@ void FGLRenderer::RenderView (player_t* player) NoInterpolateView = saved_niv; - // I stopped using BaseRatioSizes here because the information there wasn't well presented. - // 4:3 16:9 16:10 17:10 5:4 - static float ratios[]={1.333333f, 1.777777f, 1.6f, 1.7f, 1.25f, 1.7f, 2.333333f}; - // now render the main view float fovratio; - float ratio = ratios[WidescreenRatio]; - if (! Is54Aspect(WidescreenRatio)) + float ratio = WidescreenRatio; + if (WidescreenRatio >= 1.3f) { fovratio = 1.333333f; } diff --git a/src/gl/scene/gl_weapon.cpp b/src/gl/scene/gl_weapon.cpp index 598254c10..db778679e 100644 --- a/src/gl/scene/gl_weapon.cpp +++ b/src/gl/scene/gl_weapon.cpp @@ -81,8 +81,6 @@ void FGLRenderer::DrawPSprite (player_t * player,DPSprite *psp, float sx, float float scale; float scalex; float ftexturemid; - // 4:3 16:9 16:10 17:10 5:4 17:10 21:9 - static float xratio[] = {1.f, 3.f/4, 5.f/6, 40.f/51, 1.f, 40.f/51, 4.f/7}; // [BB] In the HUD model step we just render the model and break out. if ( hudModelStep ) @@ -108,7 +106,7 @@ void FGLRenderer::DrawPSprite (player_t * player,DPSprite *psp, float sx, float tex->GetSpriteRect(&r); // calculate edges of the shape - scalex = xratio[WidescreenRatio] * vw / 320; + scalex = (320.0f / (240.0f * WidescreenRatio)) * vw / 320; tx = sx - (160 - r.left); x1 = tx * scalex + vw/2;