]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
PAL/NTSC vertical size adjustment in Default filtering mode.
authorToni Wilen <twilen@winuae.net>
Wed, 29 Jul 2020 14:38:58 +0000 (17:38 +0300)
committerToni Wilen <twilen@winuae.net>
Wed, 29 Jul 2020 14:38:58 +0000 (17:38 +0300)
od-win32/win32_scaler.cpp

index e7916353fd30ef4d8d6b18dca387c5bba46826f0..63b9dc68015fb788793a12ab63e5a91388a6ce6d 100644 (file)
@@ -241,6 +241,7 @@ void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int
        float autoaspectratio;
        int keep_aspect = currprefs.gf[ad->picasso_on].gfx_filter_keep_aspect;
        int filter_aspect = currprefs.gf[ad->picasso_on].gfx_filter_aspect;
+       int palntscadjust = 1;
 
        float filter_horiz_zoom = currprefs.gf[ad->picasso_on].gfx_filter_horiz_zoom / 1000.0f;
        float filter_vert_zoom = currprefs.gf[ad->picasso_on].gfx_filter_vert_zoom / 1000.0f;
@@ -310,6 +311,7 @@ void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int
                int h = (dst_height / 2) << currprefs.gfx_vresolution;
                filter_aspect = 0;
                keep_aspect = 0;
+               palntscadjust = 1;
                if (w >= 640 && w <= 800 && h >= 480 && h <= 600) {
                        scalemode = AUTOSCALE_NONE;
                } else {
@@ -667,11 +669,17 @@ cont:
        }
 
        if (currprefs.ntscmode) {
+               if (palntscadjust && ispal()) {
+                       dstratio = dstratio * (625 / 525.0);
+               }
                if (keep_aspect == 2 && ispal ())
                        dstratio = dstratio * 0.93f;
                else if (keep_aspect == 1 && !ispal ())
                        dstratio = dstratio * 0.98f;
        } else {
+               if (palntscadjust && !ispal()) {
+                       dstratio = dstratio * (625 / 525.0);
+               }
                if (keep_aspect == 2 && ispal ())
                        dstratio = dstratio * 0.95f;
                else if (keep_aspect == 1 && !ispal ())