diff --git a/include/rm.h b/include/rm.h index de1c8cfda..87d7566a2 100644 --- a/include/rm.h +++ b/include/rm.h @@ -1,4 +1,4 @@ -/* NetHack 3.6 rm.h $NHDT-Date: 1571313651 2019/10/17 12:00:51 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.63 $ */ +/* NetHack 3.6 rm.h $NHDT-Date: 1571347960 2019/10/17 21:32:40 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.64 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Pasi Kallinen, 2017. */ /* NetHack may be freely redistributed. See license for details. */ @@ -278,7 +278,7 @@ struct symsetentry { Bitfield(nocolor, 1); /* don't use color if set */ Bitfield(primary, 1); /* restricted for use as primary set */ Bitfield(rogue, 1); /* restricted for use as rogue lev set */ - Bitfield(fallback, 1); /* no explicit symset set */ + Bitfield(explicitly, 1); /* explicit symset set */ /* 4 free bits */ }; diff --git a/src/drawing.c b/src/drawing.c index 2ac8ad28e..072485fb6 100644 --- a/src/drawing.c +++ b/src/drawing.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 drawing.c $NHDT-Date: 1571313651 2019/10/17 12:00:51 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.61 $ */ +/* NetHack 3.6 drawing.c $NHDT-Date: 1571347973 2019/10/17 21:32:53 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.62 $ */ /* Copyright (c) NetHack Development Team 1992. */ /* NetHack may be freely redistributed. See license for details. */ @@ -548,7 +548,6 @@ boolean name_too; /* initialize restriction bits */ symset[which_set].primary = 0; symset[which_set].rogue = 0; - symset[which_set].fallback = TRUE; if (name_too) { if (symset[which_set].name) diff --git a/src/files.c b/src/files.c index f9d2dee8e..77b279077 100644 --- a/src/files.c +++ b/src/files.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 files.c $NHDT-Date: 1571313652 2019/10/17 12:00:52 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.253 $ */ +/* NetHack 3.6 files.c $NHDT-Date: 1571347976 2019/10/17 21:32:56 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.254 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Derek S. Ray, 2015. */ /* NetHack may be freely redistributed. See license for details. */ @@ -3168,9 +3168,11 @@ int which_set; { FILE *fp; + symset[which_set].explicitly = FALSE; if (!(fp = fopen_sym_file())) return 0; + symset[which_set].explicitly = TRUE; symset_count = 0; chosen_symset_start = chosen_symset_end = FALSE; symset_which_set = which_set; @@ -3190,7 +3192,14 @@ int which_set; || !strcmpi(symset[which_set].name, "default"))) clear_symsetentry(which_set, TRUE); config_error_done(); - return (symset[which_set].name == 0) ? 1 : 0; + + /* If name was defined, it was invalid... Then we're loading fallback */ + if (symset[which_set].name) { + symset[which_set].explicitly = FALSE; + return 0; + } + + return 1; } if (!chosen_symset_end) config_error_add("Missing finish for symset \"%s\"", diff --git a/src/options.c b/src/options.c index 019a4544f..ddbe794f8 100644 --- a/src/options.c +++ b/src/options.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 options.c $NHDT-Date: 1571313653 2019/10/17 12:00:53 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.378 $ */ +/* NetHack 3.6 options.c $NHDT-Date: 1571347977 2019/10/17 21:32:57 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.379 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Michael Allison, 2008. */ /* NetHack may be freely redistributed. See license for details. */ @@ -2315,7 +2315,6 @@ boolean tinitial, tfrom_file; } else { if (!initial && Is_rogue_level(&u.uz)) assign_graphics(ROGUESET); - symset[ROGUESET].fallback = FALSE; need_redraw = TRUE; } } else @@ -2340,7 +2339,6 @@ boolean tinitial, tfrom_file; return FALSE; } else { switch_symbols(symset[PRIMARY].name != (char *) 0); - symset[PRIMARY].fallback = FALSE; need_redraw = TRUE; } } else @@ -6061,10 +6059,8 @@ int which_set; if (read_sym_file(which_set)) { switch_symbols(TRUE); - symset[which_set].fallback = FALSE; } else { clear_symsetentry(which_set, TRUE); - symset[which_set].fallback = TRUE; return 0; } return 1; diff --git a/win/curses/cursinit.c b/win/curses/cursinit.c index e5a74128b..3d4f977d6 100644 --- a/win/curses/cursinit.c +++ b/win/curses/cursinit.c @@ -785,9 +785,9 @@ curses_init_options() set_option_mod_status("eight_bit_tty", SET_IN_FILE); /* If we don't have a symset defined, load the curses symset by default */ - if (symset[PRIMARY].fallback) + if (!symset[PRIMARY].explicitly) load_symset("curses", PRIMARY); - if (symset[ROGUESET].fallback) + if (!symset[ROGUESET].explicitly) load_symset("default", ROGUESET); #ifdef PDCURSES