]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Do not scale programmed modes if scale mode is default or TV
authorToni Wilen <twilen@winuae.net>
Sat, 2 Dec 2023 17:54:29 +0000 (19:54 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 2 Dec 2023 17:54:29 +0000 (19:54 +0200)
od-win32/win32_scaler.cpp

index e331f3f6acadd9cf7268ee4fee87b66f0230380e..90fb74ee9c2d9983255d478258361ae661afbd35 100644 (file)
@@ -360,6 +360,13 @@ void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int
                if (scalemode == AUTOSCALE_STATIC_MAX || scalemode == AUTOSCALE_STATIC_NOMINAL ||
                        scalemode == AUTOSCALE_INTEGER || scalemode == AUTOSCALE_INTEGER_AUTOSCALE) {
 
+                       if (scalemode == AUTOSCALE_STATIC_NOMINAL || scalemode == AUTOSCALE_STATIC_NOMINAL || scalemode == AUTOSCALE_STATIC_MAX) {
+                               // do not default/TV scale programmed modes
+                               if (beamcon0 & BEAMCON0_VARBEAMEN) {
+                                       goto cont;
+                               }
+                       }
+
                        if (specialmode) {
                                cx = 0;
                                cy = 0;
@@ -371,7 +378,7 @@ void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int
                                cw = avidinfo->drawbuffer.inwidth;
                                ch = avidinfo->drawbuffer.inheight;
                                cv = 1;
-                               if (!(beamcon0 & BEAMCON0_VARBEAMEN) && (scalemode == AUTOSCALE_STATIC_NOMINAL)) { // || scalemode == AUTOSCALE_INTEGER)) {
+                               if (scalemode == AUTOSCALE_STATIC_NOMINAL) { // || scalemode == AUTOSCALE_INTEGER)) {
                                        cx = 28 << currprefs.gfx_resolution;
                                        cy = 10 << currprefs.gfx_vresolution;
                                        cw -= 40 << currprefs.gfx_resolution;