more !STATUS_HILITES - option parsing
When built without STATUS_HILITES, don't treat highlighting options as if they were unknown. This may need some tweaking; the feedback feels a bit intrusive so perhaps 'statushilites' and 'hilite_status' should just be ignored when not available. 'hitpointbar' now relies on wc2 handling instead of being conditionally present.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 options.c $NHDT-Date: 1505214875 2017/09/12 11:14:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.302 $ */
|
/* NetHack 3.6 options.c $NHDT-Date: 1506908974 2017/10/02 01:49:34 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.309 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -131,9 +131,7 @@ static struct Bool_Opt {
|
|||||||
{ "help", &flags.help, TRUE, SET_IN_GAME },
|
{ "help", &flags.help, TRUE, SET_IN_GAME },
|
||||||
{ "hilite_pet", &iflags.wc_hilite_pet, FALSE, SET_IN_GAME }, /*WC*/
|
{ "hilite_pet", &iflags.wc_hilite_pet, FALSE, SET_IN_GAME }, /*WC*/
|
||||||
{ "hilite_pile", &iflags.hilite_pile, FALSE, SET_IN_GAME },
|
{ "hilite_pile", &iflags.hilite_pile, FALSE, SET_IN_GAME },
|
||||||
#ifdef STATUS_HILITES
|
|
||||||
{ "hitpointbar", &iflags.wc2_hitpointbar, FALSE, SET_IN_GAME }, /*WC2*/
|
{ "hitpointbar", &iflags.wc2_hitpointbar, FALSE, SET_IN_GAME }, /*WC2*/
|
||||||
#endif
|
|
||||||
#ifndef MAC
|
#ifndef MAC
|
||||||
{ "ignintr", &flags.ignintr, FALSE, SET_IN_GAME },
|
{ "ignintr", &flags.ignintr, FALSE, SET_IN_GAME },
|
||||||
#else
|
#else
|
||||||
@@ -2172,8 +2170,9 @@ boolean tinitial, tfrom_file;
|
|||||||
symset[PRIMARY].name = dupstr(op);
|
symset[PRIMARY].name = dupstr(op);
|
||||||
if (!read_sym_file(PRIMARY)) {
|
if (!read_sym_file(PRIMARY)) {
|
||||||
clear_symsetentry(PRIMARY, TRUE);
|
clear_symsetentry(PRIMARY, TRUE);
|
||||||
config_error_add("Unable to load symbol set \"%s\" from \"%s\"",
|
config_error_add(
|
||||||
op, SYMBOLS);
|
"Unable to load symbol set \"%s\" from \"%s\"",
|
||||||
|
op, SYMBOLS);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} else {
|
} else {
|
||||||
switch_symbols(symset[PRIMARY].name != (char *) 0);
|
switch_symbols(symset[PRIMARY].name != (char *) 0);
|
||||||
@@ -2866,7 +2865,8 @@ boolean tinitial, tfrom_file;
|
|||||||
op++;
|
op++;
|
||||||
}
|
}
|
||||||
if (badopt) {
|
if (badopt) {
|
||||||
config_error_add("Unknown %s parameter '%s'", "pickup_types", op);
|
config_error_add("Unknown %s parameter '%s'",
|
||||||
|
"pickup_types", op);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3351,6 +3351,7 @@ boolean tinitial, tfrom_file;
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WINCHAIN
|
#ifdef WINCHAIN
|
||||||
fullname = "windowchain";
|
fullname = "windowchain";
|
||||||
if (match_optname(opts, fullname, 3, TRUE)) {
|
if (match_optname(opts, fullname, 3, TRUE)) {
|
||||||
@@ -3465,9 +3466,9 @@ boolean tinitial, tfrom_file;
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef STATUS_HILITES
|
|
||||||
/* hilite fields in status prompt */
|
/* hilite fields in status prompt */
|
||||||
if (match_optname(opts, "hilite_status", 13, TRUE)) {
|
if (match_optname(opts, "hilite_status", 13, TRUE)) {
|
||||||
|
#ifdef STATUS_HILITES
|
||||||
if (duplicate)
|
if (duplicate)
|
||||||
complain_about_duplicate(opts, 1);
|
complain_about_duplicate(opts, 1);
|
||||||
op = string_for_opt(opts, TRUE);
|
op = string_for_opt(opts, TRUE);
|
||||||
@@ -3481,11 +3482,16 @@ boolean tinitial, tfrom_file;
|
|||||||
if (!parse_status_hl1(op, tfrom_file))
|
if (!parse_status_hl1(op, tfrom_file))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return retval;
|
return retval;
|
||||||
|
#else
|
||||||
|
config_error_add("'hilite_status' is not supported");
|
||||||
|
return FALSE;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* control over whether highlights should be displayed, and for how long */
|
/* control over whether highlights should be displayed, and for how long */
|
||||||
fullname = "statushilites";
|
fullname = "statushilites";
|
||||||
if (match_optname(opts, fullname, 9, TRUE)) {
|
if (match_optname(opts, fullname, 9, TRUE)) {
|
||||||
|
#ifdef STATUS_HILITES
|
||||||
if (negated) {
|
if (negated) {
|
||||||
iflags.hilite_delta = 0L;
|
iflags.hilite_delta = 0L;
|
||||||
} else {
|
} else {
|
||||||
@@ -3497,8 +3503,11 @@ boolean tinitial, tfrom_file;
|
|||||||
if (!tfrom_file)
|
if (!tfrom_file)
|
||||||
reset_status_hilites();
|
reset_status_hilites();
|
||||||
return retval;
|
return retval;
|
||||||
}
|
#else
|
||||||
|
config_error_add("'statushilites' is not supported");
|
||||||
|
return FALSE;
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(BACKWARD_COMPAT)
|
#if defined(BACKWARD_COMPAT)
|
||||||
fullname = "DECgraphics";
|
fullname = "DECgraphics";
|
||||||
@@ -3673,9 +3682,11 @@ boolean tinitial, tfrom_file;
|
|||||||
|| boolopt[i].addr == &iflags.hilite_pile
|
|| boolopt[i].addr == &iflags.hilite_pile
|
||||||
|| boolopt[i].addr == &iflags.hilite_pet) {
|
|| boolopt[i].addr == &iflags.hilite_pet) {
|
||||||
need_redraw = TRUE;
|
need_redraw = TRUE;
|
||||||
} else if ((boolopt[i].addr) == &iflags.wc2_hitpointbar) {
|
#ifdef STATUS_HILITES
|
||||||
|
} else if (boolopt[i].addr == &iflags.wc2_hitpointbar) {
|
||||||
status_initialize(REASSESS_ONLY);
|
status_initialize(REASSESS_ONLY);
|
||||||
need_redraw = TRUE;
|
need_redraw = TRUE;
|
||||||
|
#endif
|
||||||
#ifdef TEXTCOLOR
|
#ifdef TEXTCOLOR
|
||||||
} else if (boolopt[i].addr == &iflags.use_color) {
|
} else if (boolopt[i].addr == &iflags.use_color) {
|
||||||
need_redraw = TRUE;
|
need_redraw = TRUE;
|
||||||
@@ -6037,10 +6048,10 @@ struct wc_Opt wc2_options[] = { { "fullscreen", WC2_FULLSCREEN },
|
|||||||
{ "softkeyboard", WC2_SOFTKEYBOARD },
|
{ "softkeyboard", WC2_SOFTKEYBOARD },
|
||||||
{ "wraptext", WC2_WRAPTEXT },
|
{ "wraptext", WC2_WRAPTEXT },
|
||||||
{ "use_darkgray", WC2_DARKGRAY },
|
{ "use_darkgray", WC2_DARKGRAY },
|
||||||
#ifdef STATUS_HILITES
|
|
||||||
{ "hitpointbar", WC2_HITPOINTBAR },
|
{ "hitpointbar", WC2_HITPOINTBAR },
|
||||||
{ "hilite_status", WC2_HILITE_STATUS },
|
{ "hilite_status", WC2_HILITE_STATUS },
|
||||||
#endif
|
/* statushilites doesn't have its own bit */
|
||||||
|
{ "statushilites", WC2_HILITE_STATUS },
|
||||||
{ (char *) 0, 0L } };
|
{ (char *) 0, 0L } };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 wintty.c $NHDT-Date: 1506903624 2017/10/02 00:20:24 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.139 $ */
|
/* NetHack 3.6 wintty.c $NHDT-Date: 1506908980 2017/10/02 01:49:40 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.140 $ */
|
||||||
/* Copyright (c) David Cohrs, 1991 */
|
/* Copyright (c) David Cohrs, 1991 */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -53,20 +53,22 @@ extern NEARDATA winid WIN_STATUS;
|
|||||||
/* Interface definition, for windows.c */
|
/* Interface definition, for windows.c */
|
||||||
struct window_procs tty_procs = {
|
struct window_procs tty_procs = {
|
||||||
"tty",
|
"tty",
|
||||||
|
(0
|
||||||
#ifdef MSDOS
|
#ifdef MSDOS
|
||||||
WC_TILED_MAP | WC_ASCII_MAP |
|
| WC_TILED_MAP | WC_ASCII_MAP
|
||||||
#endif
|
#endif
|
||||||
#if defined(WIN32CON)
|
#if defined(WIN32CON)
|
||||||
WC_MOUSE_SUPPORT |
|
| WC_MOUSE_SUPPORT
|
||||||
#endif
|
#endif
|
||||||
WC_COLOR | WC_HILITE_PET | WC_INVERSE | WC_EIGHT_BIT_IN,
|
| WC_COLOR | WC_HILITE_PET | WC_INVERSE | WC_EIGHT_BIT_IN),
|
||||||
|
(0
|
||||||
#if defined(SELECTSAVED)
|
#if defined(SELECTSAVED)
|
||||||
WC2_SELECTSAVED |
|
| WC2_SELECTSAVED
|
||||||
#endif
|
#endif
|
||||||
#if defined(STATUS_HILITES)
|
#if defined(STATUS_HILITES)
|
||||||
WC2_HITPOINTBAR | WC2_FLUSH_STATUS |
|
| WC2_HILITE_STATUS | WC2_HITPOINTBAR | WC2_FLUSH_STATUS
|
||||||
#endif
|
#endif
|
||||||
WC2_DARKGRAY,
|
| WC2_DARKGRAY),
|
||||||
tty_init_nhwindows, tty_player_selection, tty_askname, tty_get_nh_event,
|
tty_init_nhwindows, tty_player_selection, tty_askname, tty_get_nh_event,
|
||||||
tty_exit_nhwindows, tty_suspend_nhwindows, tty_resume_nhwindows,
|
tty_exit_nhwindows, tty_suspend_nhwindows, tty_resume_nhwindows,
|
||||||
tty_create_nhwindow, tty_clear_nhwindow, tty_display_nhwindow,
|
tty_create_nhwindow, tty_clear_nhwindow, tty_display_nhwindow,
|
||||||
|
|||||||
Reference in New Issue
Block a user