{ m, OptS_##sec, 0, b, opt_##a, s, OthrOpt, n, v, d, No, c, \
(boolean *) 0, &optfn_##a, al, z, (const char *) 0, On, On, 0 },
+/* this is not reliable because USE_TILES might be defined in a
+ multi-interface binary but not apply to the current interface */
#ifdef USE_TILES
#define tiled_map_Def On
#define ascii_map_Def Off
#undef NHOPT_PARSE
-#if defined(USE_TILES) && defined(DEFAULT_WC_TILED_MAP)
-#define PREFER_TILED TRUE
-#else
-#define PREFER_TILED FALSE
-#endif
-
#define PILE_LIMIT_DFLT 5
#define rolestring(val, array, field) \
((val >= 0) ? array[val].field : (val == ROLE_RANDOM) ? randomrole : none)
}
#endif
update_rest_on_space();
+
+ /* these can't rely on compile-time initialization for their defaults
+ because a multi-interface binary might need different values for
+ different interfaces; if neither tiled_map nor ascii_map pass the
+ wc_supported() test, assume ascii_map */
+ if (iflags.wc_tiled_map && !wc_supported("tiled_map"))
+ iflags.wc_tiled_map = FALSE, iflags.wc_ascii_map = TRUE;
+ else if (iflags.wc_ascii_map && !wc_supported("ascii_map")
+ && wc_supported("tiled_map"))
+ iflags.wc_ascii_map = FALSE, iflags.wc_tiled_map = TRUE;
+
#ifdef ENHANCED_SYMBOLS
if (glyphid_cache_status())
free_glyphid_cache();