return aspect;
}
+static int res_match(int w)
+{
+ if (currprefs.gfx_vresolution == VRES_NONDOUBLE) {
+ if (currprefs.gfx_resolution == RES_HIRES) {
+ w *= 2;
+ } else if (currprefs.gfx_resolution == RES_SUPERHIRES) {
+ w *= 4;
+ }
+ } else {
+ if (currprefs.gfx_resolution == RES_LORES) {
+ w /= 2;
+ } else if (currprefs.gfx_resolution == RES_SUPERHIRES) {
+ w *= 2;
+ }
+ }
+ return w;
+}
+
void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int dst_height, int aw, int ah, int scale, int temp_width, int temp_height)
{
struct AmigaMonitor *mon = &AMonitors[monid];
filter_aspect = -1;
}
}
+ w = res_match(w);
}
if (filter_aspect > 0) {
filter_horiz_zoom_mult = 1.0;
filter_vert_zoom_mult = 1.0;
- if (currprefs.gfx_vresolution == VRES_NONDOUBLE) {
- if (currprefs.gfx_resolution == RES_HIRES) {
- maxw *= 2;
- } else if (currprefs.gfx_resolution == RES_SUPERHIRES) {
- maxw *= 4;
- }
- } else {
- if (currprefs.gfx_resolution == RES_LORES) {
- maxw /= 2;
- } else if (currprefs.gfx_resolution == RES_SUPERHIRES) {
- maxw *= 2;
- }
- }
+ maxw = res_match(maxw);
double multadd = 1.0 / (1 << currprefs.gf[ad->picasso_on].gfx_filter_integerscalelimit);
if (cw2 > maxw || ch2 > maxh) {