diff --git a/src/common/2d/v_draw.cpp b/src/common/2d/v_draw.cpp index 4a5853a34cc..d988603e476 100644 --- a/src/common/2d/v_draw.cpp +++ b/src/common/2d/v_draw.cpp @@ -399,7 +399,7 @@ bool SetTextureParms(F2DDrawer * drawer, DrawParms *parms, FGameTexture *img, do auto screenratio = ActiveRatio(GetWidth(), GetHeight()); if (autoaspect == 3) { - if (screenratio >= aspect || aspect < 1.4) autoaspect = 1; // screen is wider than the image -> pillarbox it. 4:3 images must also be pillarboxes if the screen is taller than the image + if (screenratio >= aspect || aspect < 1.4) autoaspect = 1; // screen is wider than the image -> pillarbox it. 4:3 images must also be pillarboxed if the screen is taller than the image else if (screenratio > 1.32) autoaspect = 2; // on anything 4:3 and wider crop the sides of the image. else { diff --git a/src/wi_stuff.cpp b/src/wi_stuff.cpp index 1796b309c36..293eab9c1e0 100644 --- a/src/wi_stuff.cpp +++ b/src/wi_stuff.cpp @@ -601,6 +601,7 @@ void DInterBackground::drawBackground(int state, bool drawsplat, bool snl_pointe // placing the animations precisely where they belong on the base pic animwidth = background->GetDisplayWidth(); animheight = background->GetDisplayHeight(); + if (gameinfo.fullscreenautoaspect == 3 && animheight == 200 && animwidth > 320) animwidth = 320; // deal with widescreen replacements that keep the original coordinates. DrawTexture(twod, background, 0, 0, DTA_Fullscreen, true, TAG_DONE); } else @@ -726,6 +727,7 @@ void WI_Drawer() IFVIRTUALPTRNAME(WI_Screen, "StatusScreen", Drawer) { FillBorder(twod, nullptr); + twod->ClearClipRect(); VMValue self = WI_Screen; VMCall(func, &self, 1, nullptr, 0); twod->ClearClipRect(); // make sure the scripts don't leave a valid clipping rect behind.