fix #H4039 - symset:default
Options parsing didn't support "default" (shown by the 'O' command) or "Default symbols" (menu entry for choosing a symbol set via the 'O' command. Symbol handling is somewhat confusing, but this seems to do the trick. They can't be truncated, but they're case-insensitive, and "Default" and "symbols" can be separated by dash or underscore as well as space, or run-together with no separator.
This commit is contained in:
@@ -9,6 +9,9 @@ update MAXPLAYERS documentation in sysconf file and allow 0 for it
|
|||||||
wizard mode: don't include feedback about named fruit for ^X and enlightenment
|
wizard mode: don't include feedback about named fruit for ^X and enlightenment
|
||||||
looking at distant objects while wearing the Eyes of the Overworld made their
|
looking at distant objects while wearing the Eyes of the Overworld made their
|
||||||
up-close descriptions known when not intended
|
up-close descriptions known when not intended
|
||||||
|
message when cursed wand zapped by a monster happens to explode was suppressed
|
||||||
|
if hero was deaf, even though that message has no audible component
|
||||||
|
support explicit 'symset:default' and 'symset:Default symbols' in options
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
13
src/files.c
13
src/files.c
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 files.c $NHDT-Date: 1449296293 2015/12/05 06:18:13 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.192 $ */
|
/* NetHack 3.6 files.c $NHDT-Date: 1449830204 2015/12/11 10:36:44 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.194 $ */
|
||||||
/* 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. */
|
||||||
|
|
||||||
@@ -2783,8 +2783,17 @@ int which_set;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
(void) fclose(fp);
|
(void) fclose(fp);
|
||||||
if (!chosen_symset_end && !chosen_symset_start)
|
if (!chosen_symset_start && !chosen_symset_end) {
|
||||||
|
/* name caller put in symset[which_set].name was not found;
|
||||||
|
if it looks like "Default symbols", null it out and return
|
||||||
|
success to use the default; otherwise, return failure */
|
||||||
|
if (symset[which_set].name
|
||||||
|
&& (fuzzymatch(symset[which_set].name, "Default symbols",
|
||||||
|
" -_", TRUE)
|
||||||
|
|| !strcmpi(symset[which_set].name, "default")))
|
||||||
|
clear_symsetentry(which_set, TRUE);
|
||||||
return (symset[which_set].name == 0) ? 1 : 0;
|
return (symset[which_set].name == 0) ? 1 : 0;
|
||||||
|
}
|
||||||
if (!chosen_symset_end) {
|
if (!chosen_symset_end) {
|
||||||
raw_printf("Missing finish for symset \"%s\"",
|
raw_printf("Missing finish for symset \"%s\"",
|
||||||
symset[which_set].name ? symset[which_set].name
|
symset[which_set].name ? symset[which_set].name
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 options.c $NHDT-Date: 1448241657 2015/11/23 01:20:57 $ $NHDT-Branch: master $:$NHDT-Revision: 1.243 $ */
|
/* NetHack 3.6 options.c $NHDT-Date: 1449830206 2015/12/11 10:36:46 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.244 $ */
|
||||||
/* 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. */
|
||||||
|
|
||||||
@@ -2010,7 +2010,7 @@ boolean tinitial, tfrom_file;
|
|||||||
op, SYMBOLS);
|
op, SYMBOLS);
|
||||||
wait_synch();
|
wait_synch();
|
||||||
} else {
|
} else {
|
||||||
switch_symbols(TRUE);
|
switch_symbols(symset[PRIMARY].name != (char *) 0);
|
||||||
need_redraw = TRUE;
|
need_redraw = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user