static struct zfile *default_file, *configstore;
static int uaeconfig;
static int unicode_config = 0;
+static bool gfx_keep_aspect_seen;
/* @@@ need to get rid of this... just cut part of the manual and print that
* as a help text. */
#define UNEXPANDED _T("$(FILE_PATH)")
+static void fixup_prefs2(struct uae_prefs* p)
+{
+ // enable integer keep aspect if config has same horizontal and vertical zoom and standard resolution/doubling
+ if (!gfx_keep_aspect_seen) {
+ if (p->gf[GF_NORMAL].gfx_filter_horiz_zoom_mult == p->gf[GF_NORMAL].gfx_filter_vert_zoom_mult &&
+ p->gf[GF_NORMAL].gfx_filter_horiz_zoom == p->gf[GF_NORMAL].gfx_filter_vert_zoom &&
+ p->gf[GF_INTERLACE].gfx_filter_horiz_zoom_mult == p->gf[GF_INTERLACE].gfx_filter_vert_zoom_mult &&
+ p->gf[GF_INTERLACE].gfx_filter_horiz_zoom == p->gf[GF_INTERLACE].gfx_filter_vert_zoom &&
+ p->gfx_resolution == RES_HIRES && p->gfx_vresolution == VRES_DOUBLE) {
+ p->gfx_keep_aspect = true;
+ }
+ }
+}
+
static TCHAR *cfgfile_unescape(const TCHAR *s, const TCHAR **endpos, TCHAR separator, bool min)
{
bool quoted = false;
|| 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_yesno(option, value, _T("gfx_keep_aspect"), &p->gfx_keep_aspect, 1)
|| cfgfile_intval (option, value, _T("filesys_max_size"), &p->filesys_limit, 1)
|| cfgfile_intval (option, value, _T("filesys_max_name_length"), &p->filesys_max_name, 1)
return 1;
}
+ if (cfgfile_yesno(option, value, _T("gfx_keep_aspect"), &p->gfx_keep_aspect, 1)) {
+ gfx_keep_aspect_seen = true;
+ return 1;
+ }
if (cfgfile_string(option, value, _T("gfx_colour_mode"), tmpbuf, sizeof tmpbuf / sizeof(TCHAR))) {
return 1;
memcpy(&p->gfx_monitor[i], &p->gfx_monitor[0], sizeof(struct monconfig));
}
fixup_prefs (p, userconfig != 0);
+ fixup_prefs2(p);
for (int i = 0; i < MAX_JPORTS_CUSTOM; i++) {
inputdevice_jportcustom_fixup(p, p->jports_custom[i].custom, i);
}
p->lightboost_strobo_ratio = 50;
savestate_state = 0;
+ gfx_keep_aspect_seen = false;
target_default_options (p, type);