github pull request #235 - curses symbol set init
Fixes #235 For initial options under curses, specifying 'DECgraphics' as a boolean rather than as 'symset:DECgraphics' wasn't overriding the new default 'symset:curses'. Since previously DECgraphics was rejected for curses, it's possible that no one noticed.
This commit is contained in:
@@ -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 */
|
||||
};
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
13
src/files.c
13
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\"",
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user