cfgfile_dwrite (f, _T("gfx_gamma_g"), _T("%d"), p->gfx_gamma_ch[1]);
cfgfile_dwrite (f, _T("gfx_gamma_b"), _T("%d"), p->gfx_gamma_ch[2]);
- cfgfile_dwrite (f, _T("gfx_center_horizontal_position"), _T("%d"), p->gfx_xcenter_pos);
- cfgfile_dwrite (f, _T("gfx_center_vertical_position"), _T("%d"), p->gfx_ycenter_pos);
+ cfgfile_dwrite (f, _T("gfx_center_horizontal_position"), _T("%d"), p->gfx_xcenter_pos < MANUAL_SCALE_MIN_RANGE ? -1 : (p->gfx_xcenter_pos < 0 ? p->gfx_xcenter_pos - 1 : p->gfx_xcenter_pos));
+ cfgfile_dwrite (f, _T("gfx_center_vertical_position"), _T("%d"), p->gfx_ycenter_pos < MANUAL_SCALE_MIN_RANGE ? -1 : (p->gfx_ycenter_pos < 0 ? p->gfx_ycenter_pos - 1 : p->gfx_ycenter_pos));
cfgfile_dwrite (f, _T("gfx_center_horizontal_size"), _T("%d"), p->gfx_xcenter_size);
cfgfile_dwrite (f, _T("gfx_center_vertical_size"), _T("%d"), p->gfx_ycenter_size);
|| cfgfile_yesno(option, value, _T("gfx_resize_windowed"), &p->gfx_windowed_resize)
|| cfgfile_intval(option, value, _T("gfx_black_frame_insertion_ratio"), &p->lightboost_strobo_ratio, 1)
- || cfgfile_intval (option, value, _T("gfx_center_horizontal_position"), &p->gfx_xcenter_pos, 1)
- || cfgfile_intval (option, value, _T("gfx_center_vertical_position"), &p->gfx_ycenter_pos, 1)
|| cfgfile_intval (option, value, _T("gfx_center_horizontal_size"), &p->gfx_xcenter_size, 1)
|| cfgfile_intval (option, value, _T("gfx_center_vertical_size"), &p->gfx_ycenter_size, 1)
|| cfgfile_strval (option, value, _T("absolute_mouse"), &p->input_tablet, abspointers, 0))
return 1;
+ if (cfgfile_intval(option, value, _T("gfx_center_horizontal_position"), &p->gfx_xcenter_pos, 1)) {
+ // -1 = old "null" position.
+ if (p->gfx_xcenter_pos == -1) {
+ p->gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ } else if (p->gfx_xcenter_pos < 0 && p->gfx_xcenter_pos >= MANUAL_SCALE_MIN_RANGE) {
+ p->gfx_xcenter_pos++;
+ }
+ return 1;
+ }
+ if (cfgfile_intval(option, value, _T("gfx_center_vertical_position"), &p->gfx_ycenter_pos, 1)) {
+ if (p->gfx_ycenter_pos == -1) {
+ p->gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ } else if (p->gfx_ycenter_pos < 0 && p->gfx_ycenter_pos >= MANUAL_SCALE_MIN_RANGE) {
+ p->gfx_ycenter_pos++;
+ }
+ return 1;
+ }
+
+
if (cfgfile_string(option, value, _T("gfx_colour_mode"), tmpbuf, sizeof tmpbuf / sizeof(TCHAR))) {
return 1;
}
p->gfx_apmode[0].gfx_fullscreen = GFX_WINDOW;
p->gfx_apmode[1].gfx_fullscreen = GFX_WINDOW;
p->gfx_xcenter = 0; p->gfx_ycenter = 0;
- p->gfx_xcenter_pos = -1;
- p->gfx_ycenter_pos = -1;
+ p->gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ p->gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
p->gfx_xcenter_size = -1;
p->gfx_ycenter_size = -1;
p->gfx_max_horizontal = RES_HIRES;
#define AUTOSCALE_SEPARATOR 10
#define AUTOSCALE_OVERSCAN_BLANK 11
+#define MANUAL_SCALE_MIN_RANGE -1999
+#define MANUAL_SCALE_MAX_RANGE 1999
+
#define MONITOREMU_NONE 0
#define MONITOREMU_AUTO 1
#define MONITOREMU_A2024 2
COMBOBOX IDC_SCREENMODE_RTG,54,122,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_SCREENMODE_RTG2,131,122,107,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "Blacker than black [] Borderblanked black is blacker than display area black.",IDC_BLACKER_THAN_BLACK,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,144,139,10
+ "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,142,139,10
CONTROL "Remove interlace artifacts [] Emulates interlace mode internally as progressive, removing all interlace artifacts. Not compatible with all software.",IDC_FLICKERFIXER,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,158,139,10
- CONTROL "Monochrome video out",IDC_GRAYSCALE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,171,139,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,155,139,10
+ CONTROL "Monochrome video out",IDC_GRAYSCALE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,167,139,10
CONTROL "Filtered low resolution [] When scaling hires to lores or superhires to hires, show average color of pixel instead of dropping every other pixel.",IDC_LORES_SMOOTHED,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,144,123,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,142,123,10
CONTROL "VGA mode resolution autoswitch [] Automatically selects between hires and superhires in programmed display modes, keeping correct aspect ratio.",IDC_AUTORESOLUTIONVGA,
- "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,158,124,10
- CONTROL "Display resync blanking",IDC_RESYNCBLANK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,172,122,10
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,155,124,10
+ CONTROL "Display resync blanking",IDC_RESYNCBLANK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,168,122,10
RTEXT "Resolution:",IDC_STATIC,6,196,44,8,SS_CENTERIMAGE
COMBOBOX IDC_LORES,57,195,77,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
RTEXT "Overscan:",IDC_STATIC,145,196,43,8,SS_CENTERIMAGE
CONTROL "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,143,151,19
EDITTEXT IDC_FILTERVOV,316,145,42,12,ES_CENTER
GROUPBOX "Aspect Ratio Correction",-1,1,173,144,89
- COMBOBOX IDC_FILTERASPECT,14,190,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
+ COMBOBOX IDC_FILTERASPECT,14,187,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
CONTROL "Keep autoscale aspect",IDC_FILTERKEEPAUTOSCALEASPECT,
- "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,210,126,11
- CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,225,126,11
- COMBOBOX IDC_FILTERASPECT2,14,241,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
+ "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,205,126,11
+ CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,218,126,11
+ COMBOBOX IDC_FILTERASPECT2,14,244,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
GROUPBOX "Extra Settings",-1,154,173,240,89
COMBOBOX IDC_FILTERXTRA,177,193,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_FILTERSLR,327,193,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP
return val;
}
+static int gfx_height_original;
+static bool ntsc_extended;
+
static void get_screenmode (struct RPScreenMode *sm, struct uae_prefs *p, bool getclip)
{
struct AmigaMonitor *mon = &AMonitors[0];
sm->lClipWidth = rw;
sm->lClipHeight = rh;
} else {
- sm->lClipLeft = p->gfx_xcenter_pos < 0 ? -1 : p->gfx_xcenter_pos;
- sm->lClipTop = p->gfx_ycenter_pos < 0 ? -1 : p->gfx_ycenter_pos;
+ sm->lClipLeft = p->gfx_xcenter_pos < MANUAL_SCALE_MIN_RANGE ? -32768 : p->gfx_xcenter_pos;
+ sm->lClipTop = p->gfx_ycenter_pos < MANUAL_SCALE_MIN_RANGE ? -32768 : p->gfx_ycenter_pos;
sm->lClipWidth = p->gfx_xcenter_size <= 0 ? -1 : p->gfx_xcenter_size;
sm->lClipHeight = p->gfx_ycenter_size <= 0 ? -1 : p->gfx_ycenter_size;
}
sm->dwScreenMode &= ~RP_SCREENMODE_SCALEMASK;
sm->dwScreenMode = RP_SCREENMODE_SCALE_TARGET;
sm->lTargetWidth = gm->gfx_size_win.width;
- sm->lTargetHeight = gm->gfx_size_win.height;
+ sm->lTargetHeight = ntsc_extended && p->gfx_ntscpixels ? gfx_height_original : gm->gfx_size_win.height;
}
sm->dwClipFlags = cf;
int width, height;
bool half;
+ gfx_height_original = gm->gfx_size_win.height;
storeflags = sm->dwScreenMode;
minimized = 0;
if (display) {
p->gf[0].gfx_filter_integerscalelimit = 0;
if (sm->dwClipFlags & RP_CLIPFLAGS_AUTOCLIP) {
p->gf[0].gfx_filter_autoscale = AUTOSCALE_INTEGER_AUTOSCALE;
- p->gfx_xcenter_pos = -1;
- p->gfx_ycenter_pos = -1;
+ p->gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ p->gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
p->gfx_xcenter_size = -1;
p->gfx_ycenter_size = -1;
} else {
}
- if (keepaspect) {
- p->gf[0].gfx_filter_aspect = -1;
- p->gf[0].gfx_filter_keep_autoscale_aspect = integerscale ? 0 : 1;
- p->gf[0].gfx_filter_keep_aspect = 1;
- } else {
- p->gf[0].gfx_filter_aspect = 0;
- p->gf[0].gfx_filter_keep_autoscale_aspect = 0;
- p->gf[0].gfx_filter_keep_aspect = 0;
- }
-
if (!integerscale) {
if (sm->dwClipFlags & RP_CLIPFLAGS_AUTOCLIP) {
- if (!forcesize)
+ if (!forcesize) {
p->gf[0].gfx_filter_autoscale = AUTOSCALE_RESIZE;
- else
+ if (sm->dwScreenMode & RP_SCREENMODE_PIXEL_ORIGINAL_RATIO) {
+ p->gfx_ntscpixels = true;
+ }
+ } else {
p->gf[0].gfx_filter_autoscale = AUTOSCALE_NORMAL;
- p->gfx_xcenter_pos = -1;
- p->gfx_ycenter_pos = -1;
+ }
+ p->gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ p->gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
p->gfx_xcenter_size = -1;
p->gfx_ycenter_size = -1;
} else if (sm->dwClipFlags & RP_CLIPFLAGS_NOCLIP) {
p->gf[0].gfx_filter_autoscale = AUTOSCALE_STATIC_MAX;
- p->gfx_xcenter_pos = -1;
- p->gfx_ycenter_pos = -1;
+ p->gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ p->gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
p->gfx_xcenter_size = -1;
p->gfx_ycenter_size = -1;
if (!forcesize) {
gm->gfx_size_win.width = AMIGA_WIDTH_MAX << currprefs.gfx_resolution;
- gm->gfx_size_win.height = AMIGA_HEIGHT_MAX << currprefs.gfx_vresolution;;
+ gm->gfx_size_win.height = AMIGA_HEIGHT_MAX << currprefs.gfx_vresolution;
}
}
- if (sm->lClipWidth > 0)
+ if (sm->lClipWidth > 0) {
p->gfx_xcenter_size = sm->lClipWidth;
- if (sm->lClipHeight > 0)
+ }
+ if (sm->lClipHeight > 0) {
p->gfx_ycenter_size = sm->lClipHeight;
+ }
+
+ gfx_height_original = gm->gfx_size_win.height;
- if ((p->gfx_xcenter_pos >= 0 && p->gfx_ycenter_pos >= 0) || (p->gfx_xcenter_size > 0 && p->gfx_ycenter_size > 0)) {
+ if ((p->gfx_xcenter_pos >= MANUAL_SCALE_MIN_RANGE && p->gfx_ycenter_pos >= MANUAL_SCALE_MIN_RANGE) || (p->gfx_xcenter_size > 0 && p->gfx_ycenter_size > 0)) {
p->gf[0].gfx_filter_autoscale = AUTOSCALE_MANUAL;
+ if ((sm->dwScreenMode & RP_SCREENMODE_PIXEL_ORIGINAL_RATIO) && currprefs.ntscmode) {
+ int lh;
+ bool isp = ispal(&lh);
+ if (!isp) {
+ float palh = (313 - 25) * 2 + 1.0f;
+ float ntsch = (263 - 20) * 2 + 1.0f;
+ float ll = lh * 2 + 1.0f;
+ if (abs(lh - (263 - 20)) <= 22) {
+ ll = ntsch;
+ }
+ if (abs(lh - (313 - 25)) <= 22) {
+ ll = palh;
+ }
+ gm->gfx_size_win.height = (int)(gm->gfx_size_win.height * palh / ll + 0.5f);
+ p->gfx_ntscpixels = true;
+ ntsc_extended = true;
+ }
+ }
}
}
+ if (keepaspect) {
+ bool type = p->gf[0].gfx_filter_autoscale == AUTOSCALE_MANUAL && !ntsc_extended;
+ p->gf[0].gfx_filter_aspect = type ? -1 : 0;
+ p->gf[0].gfx_filter_keep_autoscale_aspect = ntsc_extended ? 0 : 1;
+ p->gf[0].gfx_filter_keep_aspect = 1;
+ } else {
+ p->gf[0].gfx_filter_aspect = 0;
+ p->gf[0].gfx_filter_keep_autoscale_aspect = 0;
+ p->gf[0].gfx_filter_keep_aspect = 0;
+ }
+
p->gf[0].gfx_filter_horiz_zoom_mult = hmult;
p->gf[0].gfx_filter_vert_zoom_mult = vmult;
p->gf[0].gfx_filter_bilinear = interpolation_old(sm->dwScreenMode);
}
- if (sm->dwScreenMode & RP_SCREENMODE_PIXEL_ORIGINAL_RATIO) {
- p->gfx_ntscpixels = true;
- }
}
if (log_rp & 2) {
write_log(_T("%dx%d %dx%d %dx%d %08x HM=%.1f VM=%.1f\n"),
sm->lClipLeft, sm->lClipTop, sm->lClipWidth, sm->lClipHeight, sm->lTargetWidth, sm->lTargetHeight, sm->dwClipFlags, hmult, vmult);
if (WIN32GFX_IsPicassoScreen(mon)) {
- write_log (_T("RTG WW=%d WH=%d FW=%d FH=%d HM=%.1f VM=%.1f\n"),
+ write_log(_T("RTG WW=%d WH=%d FW=%d FH=%d HM=%.1f VM=%.1f\n"),
gm->gfx_size_win.width, gm->gfx_size_win.height,
gm->gfx_size_fs.width, gm->gfx_size_fs.height,
p->rtg_horiz_zoom_mult, p->rtg_vert_zoom_mult);
} else {
- write_log (_T("WW=%d (%d) WH=%d (%d) FW=%d (%d) FH=%d (%d) HM=%.1f VM=%.1f XP=%d YP=%d XS=%d YS=%d AS=%d AR=%d,%d\n"),
+ write_log(_T("WW=%d (%d) WH=%d (%d) FW=%d (%d) FH=%d (%d) HM=%.1f VM=%.1f XP=%d YP=%d XS=%d YS=%d AS=%d AR=%d,%d, N=%d (%d)\n"),
gm->gfx_size_win.width, gmc->gfx_size_win.width, gm->gfx_size_win.height, gmc->gfx_size.height,
gm->gfx_size_fs.width, gmc->gfx_size_fs.width, gm->gfx_size_fs.height, gmc->gfx_size_fs.height,
p->gf[0].gfx_filter_horiz_zoom_mult, p->gf[0].gfx_filter_vert_zoom_mult,
p->gfx_xcenter_pos, p->gfx_ycenter_pos,
p->gfx_xcenter_size, p->gfx_ycenter_size,
- p->gf[0].gfx_filter_autoscale, p->gf[0].gfx_filter_aspect, p->gf[0].gfx_filter_keep_aspect);
+ p->gf[0].gfx_filter_autoscale, p->gf[0].gfx_filter_aspect, p->gf[0].gfx_filter_keep_aspect,
+ gfx_height_original, p->gfx_ntscpixels);
}
}
updatewinfsmode(0, p);
hwndset = 0;
- set_config_changed ();
+ set_config_changed();
#if 0
write_log (_T("AFTER WW=%d (%d) WH=%d (%d) FW=%d (%d) FH=%d (%d) HM=%.1f VM=%.1f XP=%d YP=%d XS=%d YS=%d AS=%d AR=%d,%d\n"),
gm->gfx_size_win.width, currprefs.gfx_size_win.width, gm->gfx_size_win.height, currprefs.gfx_size.height,
cx = *cxp;
cy = *cyp;
v = currprefs.gfx_xcenter_pos;
- if (v >= 0) {
+ if (v >= MANUAL_SCALE_MIN_RANGE) {
cx = (v >> (RES_MAX - currprefs.gfx_resolution)) - cx;
}
v = currprefs.gfx_ycenter_pos;
- if (v >= 0) {
+ if (v >= MANUAL_SCALE_MIN_RANGE) {
cy = (v >> (VRES_MAX - currprefs.gfx_vresolution)) - cy;
}
*cwp = cw;
*chp = ch;
- return currprefs.gfx_xcenter_pos >= 0 || currprefs.gfx_ycenter_pos >= 0 || currprefs.gfx_xcenter_size > 0 || currprefs.gfx_ycenter_size > 0;
+ return currprefs.gfx_xcenter_pos >= MANUAL_SCALE_MIN_RANGE || currprefs.gfx_ycenter_pos >= MANUAL_SCALE_MIN_RANGE || currprefs.gfx_xcenter_size > 0 || currprefs.gfx_ycenter_size > 0;
}
static bool get_auto_aspect_ratio(int monid, int cw, int ch, int crealh, int scalemode, float *autoaspectratio, int idx)
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) {
+ if (scalemode == AUTOSCALE_STATIC_NOMINAL || scalemode == AUTOSCALE_STATIC_MAX) {
// do not default/TV scale programmed modes
if (programmedmode) {
goto skipcont;
cw = avidinfo->drawbuffer.inwidth;
ch = avidinfo->drawbuffer.inheight;
cv = 1;
- if (scalemode == AUTOSCALE_STATIC_NOMINAL) { // || scalemode == AUTOSCALE_INTEGER)) {
+ if (scalemode == AUTOSCALE_STATIC_NOMINAL) {
if (currprefs.gfx_overscanmode < OVERSCANMODE_ULTRA) {
cx = 28 << currprefs.gfx_resolution;
cy = 10 << currprefs.gfx_vresolution;
bool ok = true;
bool manual = false;
- if (currprefs.gfx_xcenter_pos >= 0 || currprefs.gfx_ycenter_pos >= 0) {
+ if (currprefs.gfx_xcenter_pos >= MANUAL_SCALE_MIN_RANGE || currprefs.gfx_ycenter_pos >= MANUAL_SCALE_MIN_RANGE) {
changed_prefs.gf[idx].gfx_filter_horiz_offset = currprefs.gf[idx].gfx_filter_horiz_offset = 0.0;
changed_prefs.gf[idx].gfx_filter_vert_offset = currprefs.gf[idx].gfx_filter_vert_offset = 0.0;
filter_horiz_offset = 0.0;
filter_horiz_offset = 0.0;
filter_vert_offset = 0.0;
- get_custom_topedge (&cx, &cy, currprefs.gfx_xcenter_pos < 0 && currprefs.gfx_ycenter_pos < 0);
+ get_custom_topedge (&cx, &cy, currprefs.gfx_xcenter_pos < MANUAL_SCALE_MIN_RANGE && currprefs.gfx_ycenter_pos < MANUAL_SCALE_MIN_RANGE);
//write_log (_T("%dx%d %dx%d\n"), cx, cy, currprefs.gfx_resolution, currprefs.gfx_vresolution);
getmanualpos(monid, &cx, &cy, &cw, &ch);
int ww = (int)(ds->outwidth * scalex);
int hh = (int)(ds->outheight * scaley);
- if (currprefs.gfx_xcenter_size >= 0)
+ if (currprefs.gfx_xcenter_size >= 0) {
ww = currprefs.gfx_xcenter_size;
- if (currprefs.gfx_ycenter_size >= 0)
+ }
+ if (currprefs.gfx_ycenter_size >= 0) {
hh = currprefs.gfx_ycenter_size;
+ }
if (scalemode == oscalemode && !useold) {
int oldwinw = gmc->gfx_size_win.width;
int oldwinh = gmc->gfx_size_win.height;
(workprefs.gf[filter_nativertg].gfx_filter_aspect < 0) ? 1 :
getaspectratioindex (workprefs.gf[filter_nativertg].gfx_filter_aspect) + 2, 0);
- CheckDlgButton (hDlg, IDC_FILTERKEEPASPECT, workprefs.gf[filter_nativertg].gfx_filter_keep_aspect);
- CheckDlgButton (hDlg, IDC_FILTERKEEPAUTOSCALEASPECT, workprefs.gf[filter_nativertg].gfx_filter_keep_autoscale_aspect != 0);
+ CheckDlgButton(hDlg, IDC_FILTERKEEPASPECT, workprefs.gf[filter_nativertg].gfx_filter_keep_aspect);
+ CheckDlgButton(hDlg, IDC_FILTERKEEPAUTOSCALEASPECT, workprefs.gf[filter_nativertg].gfx_filter_keep_autoscale_aspect != 0);
CheckDlgButton(hDlg, IDC_SCALENTSC, workprefs.gfx_ntscpixels);
xSendDlgItemMessage (hDlg, IDC_FILTERASPECT2, CB_SETCURSEL,
int yrange1, yrange2;
if (workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_MANUAL) {
- xrange1 = -1;
- xrange2 = 1900;
+ xrange1 = MANUAL_SCALE_MIN_RANGE - 1;
+ xrange2 = MANUAL_SCALE_MAX_RANGE;
yrange1 = xrange1;
yrange2 = xrange2;
} else if (workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_OVERSCAN_BLANK) {
xrange1 = 0;
- xrange2 = 1900;
+ xrange2 = MANUAL_SCALE_MAX_RANGE - 1;
yrange1 = 0;
yrange2 = 700;
} else if (workprefs.gf[filter_nativertg].gfx_filter_autoscale == AUTOSCALE_INTEGER ||
fd->gfx_filter_top_border = fdw->gfx_filter_top_border = -1;
fd->gfx_filter_right_border = fdw->gfx_filter_right_border = 0;
fd->gfx_filter_bottom_border = fdw->gfx_filter_bottom_border = 0;
- currprefs.gfx_xcenter_pos = -1;
- workprefs.gfx_xcenter_pos = -1;
- currprefs.gfx_ycenter_pos = -1;
- workprefs.gfx_ycenter_pos = -1;
+ currprefs.gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ workprefs.gfx_xcenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ currprefs.gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
+ workprefs.gfx_ycenter_pos = MANUAL_SCALE_MIN_RANGE - 1;
currprefs.gfx_xcenter_size = -1;
workprefs.gfx_xcenter_size = -1;
currprefs.gfx_ycenter_size = -1;