diff --git a/src/d_main.c b/src/d_main.c index a3c74864..67828e4b 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -251,7 +251,7 @@ void D_Display (void) // save the current screen if about to wipe if ((wipe = gamestate != wipegamestate) && NOTSTRICTMODE(screen_melt)) wipe_StartScreen(0, 0, video.unscaledw, SCREENHEIGHT); - else + else if (gamestate == GS_LEVEL) I_DynamicResolution(); if (setsizeneeded) // change the view size if needed diff --git a/src/i_video.c b/src/i_video.c index 444cab5a..20f3f8e9 100644 --- a/src/i_video.c +++ b/src/i_video.c @@ -1028,7 +1028,7 @@ static void ResetResolution(int height) video.unscaledw = (int)(unscaled_actualheight * aspect_ratio); - video.unscaledw = (video.unscaledw + 3) & ~3; + video.unscaledw = (video.unscaledw + 1) & ~1; // Unscaled widescreen 16:9 resolution truncates to 428x240, which is not // quite 16:9. To avoid visual instability, we calculate the scaled width @@ -1038,7 +1038,7 @@ static void ResetResolution(int height) double vertscale = (double)actualheight / (double)unscaled_actualheight; video.width = (int)(video.unscaledw * vertscale); - video.width = (video.width + 3) & ~3; + video.width = (video.width + 1) & ~1; video.deltaw = (video.unscaledw - NONWIDEWIDTH) / 2;