This adds a "reroll" option that lets players reroll their character's attributes and starting inventory. Although I generally think doing this makes the game worse, a) some players are going to do it regardless and b) if a player is going for a challenge game, rather than to win, it may be required. So in the absence of an option like this, players repeatedly start and quit games instead, creating a large number of junk logfile entries and generally causing problems for other players on the same shared machine (because repeatedly reloading the game is very CPU-intensive). This should in theory be windowport-agnostic (although in practice it may not be). Tested on tty, X11 and curses; on tty and X11 it works fine (although X11 treats the change in attributes as something that needs a status highlight), on curses it is slightly jankier in terms of what other windows are drawn in the background (but still plays correctly and I suspect this is a pre-existing bug). To form a complete implementation, we will need to consider the following: - Should there be a delay on a) starting the game and/or b) rerolling? If so, what should it be (maybe configurable via sysconf?) - Should we take more steps to discourage players from rerolling? It would be bad if players see the option exists and turn it on just because it exists, or (worse) treat it as condoning the particular style of play. - Should we take steps to detect that players are rerolling manually and a) tell them to use the option instead, b) tell them that this is not an intended way to play (and may make the game less enjoyable and/or prevent them getting the practice they need to eventually win)? Breaks save and bones files.
910 lines
44 KiB
C
910 lines
44 KiB
C
/* NetHack 3.7 optlist.h */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
#ifndef OPTLIST_H
|
|
#define OPTLIST_H
|
|
|
|
#ifdef OPTIONS_C
|
|
static int optfn_boolean(int, int, boolean, char *, char *);
|
|
#endif
|
|
|
|
/*
|
|
* NOTE: If you add (or delete) an option, please review:
|
|
* doc/options.txt
|
|
*
|
|
* It contains how-to info and outlines some required/suggested
|
|
* updates that should accompany your change.
|
|
*/
|
|
|
|
enum OptType { BoolOpt, CompOpt, OthrOpt };
|
|
enum Y_N { No, Yes };
|
|
enum Off_On { Off, On };
|
|
/* Advanced options are only shown in the full, traditional options menu */
|
|
enum OptSection {
|
|
OptS_General, OptS_Behavior, OptS_Map, OptS_Status, OptS_Advanced
|
|
};
|
|
enum menu_terminology_preference {
|
|
Term_False, Term_Off, Term_Disabled, Term_Excluded, num_terms
|
|
};
|
|
|
|
struct allopt_t {
|
|
const char *name;
|
|
enum OptSection section;
|
|
int minmatch;
|
|
int expectedbuf;
|
|
int idx;
|
|
enum optset_restrictions setwhere;
|
|
enum OptType opttyp;
|
|
enum Y_N negateok;
|
|
enum Y_N valok;
|
|
enum Y_N dupeok;
|
|
enum Y_N pfx;
|
|
enum menu_terminology_preference termpref;
|
|
boolean opt_in_out, *addr;
|
|
int (*optfn)(int, int, boolean, char *, char *);
|
|
const char *alias;
|
|
const char *descr;
|
|
const char *prefixgw;
|
|
boolean initval, has_handler, dupdetected;
|
|
};
|
|
|
|
#endif /* OPTLIST_H */
|
|
|
|
#if defined(NHOPT_PROTO) || defined(NHOPT_ENUM) || defined(NHOPT_PARSE)
|
|
/* clang-format off */
|
|
/* *INDENT-OFF* */
|
|
|
|
#define NoAlias ((const char *) 0)
|
|
|
|
#if defined(NHOPT_PROTO)
|
|
#define NHOPTB(a, sec, b, c, s, i, n, v, d, al, bp, termp, desc) /*empty*/
|
|
#define NHOPTC(a, sec, b, c, s, n, v, d, h, al, z) \
|
|
static int optfn_##a(int, int, boolean, char *, char *);
|
|
#define NHOPTP(a, sec, b, c, s, n, v, d, h, al, z) \
|
|
static int pfxfn_##a(int, int, boolean, char *, char *);
|
|
#define NHOPTO(m, sec, a, b, c, s, n, v, d, al, z) \
|
|
static int optfn_##a(int, int, boolean, char *, char *);
|
|
|
|
#elif defined(NHOPT_ENUM)
|
|
#define NHOPTB(a, sec, b, c, s, i, n, v, d, al, bp, termp, desc) opt_##a,
|
|
#define NHOPTC(a, sec, b, c, s, n, v, d, h, al, z) opt_##a,
|
|
#define NHOPTP(a, sec, b, c, s, n, v, d, h, al, z) pfx_##a,
|
|
#define NHOPTO(m, sec, a, b, c, s, n, v, d, al, z) opt_##a,
|
|
|
|
#elif defined(NHOPT_PARSE)
|
|
#define NHOPTB(a, sec, b, c, s, i, n, v, d, al, bp, termp, desc) \
|
|
{ #a, OptS_##sec, 0, b, opt_##a, s, BoolOpt, n, v, d, No, termp, c, \
|
|
bp, &optfn_boolean, al, desc, (const char *) 0, i, 0, 0 },
|
|
#define NHOPTC(a, sec, b, c, s, n, v, d, h, al, z) \
|
|
{ #a, OptS_##sec, 0, b, opt_##a, s, CompOpt, n, v, d, No, 0, c, \
|
|
(boolean *) 0, &optfn_##a, al, z, (const char *) 0, Off, h, 0 },
|
|
#define NHOPTP(a, sec, b, c, s, n, v, d, h, al, z) \
|
|
{ #a, OptS_##sec, 0, b, pfx_##a, s, CompOpt, n, v, d, Yes, 0, c, \
|
|
(boolean *) 0, &pfxfn_##a, al, z, #a, Off, h, 0 },
|
|
#define NHOPTO(m, sec, a, b, c, s, n, v, d, al, z) \
|
|
{ m, OptS_##sec, 0, b, opt_##a, s, OthrOpt, n, v, d, No, 0, c, \
|
|
(boolean *) 0, &optfn_##a, al, z, (const char *) 0, On, On, 0 },
|
|
|
|
/* this is not reliable because TILES_IN_GLYPHMAP might be defined
|
|
* in a multi-interface binary but not apply to the current interface */
|
|
#ifdef TILES_IN_GLYPHMAP
|
|
#define tiled_map_Def On
|
|
#define ascii_map_Def Off
|
|
#else
|
|
#define ascii_map_Def On
|
|
#define tiled_map_Def Off
|
|
#endif
|
|
#endif
|
|
|
|
/* B:nm, sec, ln, opt_*, setwhere?, on?, negat?, val?, dup?, hndlr? Alias,
|
|
bool_p, term */
|
|
/* C:nm, sec, ln, opt_*, setwhere?, negateok?, valok?, dupok?, hndlr? Alias,
|
|
desc */
|
|
/* P:pfx, sec, ln, opt_*, setwhere?, negateok?, valok?, dupok?, hndlr? Alias,
|
|
desc*/
|
|
/*
|
|
* Most of the options are in alphabetical order; a few are forced
|
|
* to the top of list so that doset() will list them first and
|
|
* all_options_str() will gather them first to write to the top of
|
|
* a new RC file by #saveoptions.
|
|
*
|
|
* windowtype comes first because its value can affect how wc_ and
|
|
* wc2_ options are processed; playmode (for players who can't or
|
|
* don't know how to specify a command line) and name (ditto, more
|
|
* or less) come next; then role, race, gender, align. Those will
|
|
* be at the top of the file for #saveoptions constructed RC file.
|
|
*/
|
|
NHOPTC(windowtype, Advanced, WINTYPELEN, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"windowing system to use (should be specified first)")
|
|
NHOPTC(playmode, Advanced, 8, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"normal play, non-scoring explore mode, or debug mode")
|
|
NHOPTC(name, Advanced, PL_NSIZ, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"your character's name (e.g., name:Merlin-W)")
|
|
NHOPTC(role, Advanced, PL_CSIZ, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, "character",
|
|
"your starting role (e.g., Barbarian, Valkyrie)")
|
|
NHOPTC(race, Advanced, PL_CSIZ, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias,
|
|
"your starting race (e.g., Human, Elf)")
|
|
NHOPTC(gender, Advanced, 8, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias,
|
|
"your starting gender (male or female)")
|
|
NHOPTC(alignment, Advanced, 8, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, "align",
|
|
"your starting alignment (lawful, neutral, or chaotic)")
|
|
/* end of special ordering; remainder of entries are in alphabetical order
|
|
*/
|
|
NHOPTB(accessiblemsg, Advanced, 0, opt_out, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &a11y.accessiblemsg, Term_False,
|
|
"add location information to messages")
|
|
NHOPTB(acoustics, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.acoustics, Term_False,
|
|
"can your character hear anything")
|
|
/* NHOPTC(align) -- moved to top */
|
|
NHOPTC(align_message, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, No, Yes, NoAlias, "message window alignment")
|
|
NHOPTC(align_status, Advanced, 20, opt_in, set_gameview,
|
|
No, Yes, No, Yes, NoAlias, "status window alignment")
|
|
#ifdef WIN32
|
|
NHOPTC(altkeyhandling, Advanced, 20, opt_in, set_in_game,
|
|
No, Yes, No, Yes, "altkeyhandler", "alternative key handling")
|
|
#else
|
|
NHOPTC(altkeyhandling, Advanced, 20, opt_in, set_in_config,
|
|
No, Yes, No, Yes, "altkeyhandler", "(not applicable)")
|
|
#endif
|
|
#ifdef ALTMETA
|
|
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.altmeta, Term_False,
|
|
"treat \"ESC c\" as M-c (Meta+c, 8th bit set)")
|
|
#else
|
|
NHOPTB(altmeta, Advanced, 0, opt_out, set_in_config,
|
|
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(ascii_map, Advanced, 0, opt_in, set_in_game,
|
|
ascii_map_Def, Yes, No, No, NoAlias, &iflags.wc_ascii_map,
|
|
Term_False, "show map as text")
|
|
NHOPTO("autocompletions", Advanced, o_autocomplete, BUFSZ, opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "edit autocompletions")
|
|
NHOPTB(autodescribe, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.autodescribe, Term_False,
|
|
"describe terrain under cursor")
|
|
NHOPTB(autodig, Behavior, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.autodig, Term_False,
|
|
"dig if moving and wielding a digging tool")
|
|
NHOPTB(autoopen, Behavior, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.autoopen, Term_False,
|
|
"walking into a door attempts to open it")
|
|
NHOPTB(autopickup, Behavior, 0, opt_out, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.pickup, Term_False,
|
|
"automatically pick up objects")
|
|
NHOPTO("autopickup exceptions", Behavior, o_autopickup_exceptions, BUFSZ,
|
|
opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "edit autopickup exceptions")
|
|
NHOPTB(autoquiver, Behavior, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.autoquiver, Term_False,
|
|
"fill empty quiver automatically when firing")
|
|
NHOPTC(autounlock, Behavior, 80, opt_out, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"action to take when encountering locked door or chest")
|
|
NHOPTB(bgcolors, Map, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.bgcolors, Term_Off,
|
|
"use background color for some map hilighting")
|
|
NHOPTO("bind keys", Advanced, o_bind_keys, BUFSZ, opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "edit key binds")
|
|
#if defined(MICRO) && !defined(AMIGA)
|
|
NHOPTB(BIOS, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.BIOS, Term_False,
|
|
"use IBM ROM BIOS calls")
|
|
#else
|
|
NHOPTB(BIOS, Advanced, 0, opt_in, set_in_config,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(blind, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, "permablind", &u.uroleplay.blind, Term_False,
|
|
"your character is permanently blind")
|
|
NHOPTB(bones, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &flags.bones, Term_False,
|
|
"allow loading bones files")
|
|
#ifdef BACKWARD_COMPAT
|
|
NHOPTC(boulder, Advanced, 1, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"deprecated (use S_boulder in sym file instead)")
|
|
#endif
|
|
NHOPTC(catname, Advanced, PL_PSIZ, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"name of your starting pet if it is a kitten")
|
|
#ifdef INSURANCE
|
|
NHOPTB(checkpoint, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.ins_chkpt, Term_False,
|
|
"save game state after each level change")
|
|
#else
|
|
NHOPTB(checkpoint, Advanced, 0, opt_out, set_in_config,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(cmdassist, Behavior, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.cmdassist, Term_False,
|
|
"give help for errors on direction input")
|
|
NHOPTB(color, Map, 0, opt_in, set_in_game,
|
|
On, Yes, No, No, "colour", &iflags.wc_color, Term_False,
|
|
"use color in map")
|
|
NHOPTB(confirm, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.confirm, Term_False,
|
|
"ask before hitting tame or peaceful monsters")
|
|
#ifdef CRASHREPORT
|
|
NHOPTC(crash_email, Advanced, PL_NSIZ, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"email address for reporting")
|
|
NHOPTC(crash_name, Advanced, PL_NSIZ, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"your name for reporting")
|
|
NHOPTC(crash_urlmax, Advanced, PL_NSIZ, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"length of longest url we can generate")
|
|
#endif
|
|
#ifdef CURSES_GRAPHICS
|
|
NHOPTC(cursesgraphics, Advanced, 70, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"load curses display symbols into symset")
|
|
#endif
|
|
NHOPTB(customcolors, Map, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, "customcolours", &iflags.customcolors,
|
|
Term_False, "use custom colors in map")
|
|
NHOPTB(customsymbols, Map, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, "customsymbols", &iflags.customsymbols,
|
|
Term_False, "use custom utf8 symbols in map")
|
|
NHOPTB(dark_room, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.dark_room, Term_False,
|
|
"show floor outside line of sight differently")
|
|
NHOPTB(deaf, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, "permadeaf", &u.uroleplay.deaf, Term_False,
|
|
"your character is permanently deaf")
|
|
#ifdef BACKWARD_COMPAT
|
|
NHOPTC(DECgraphics, Advanced, 70, opt_in, set_in_config,
|
|
Yes, Yes, No, No, NoAlias,
|
|
"load DECGraphics display symbols into symset")
|
|
#endif
|
|
NHOPTB(debug_hunger, Advanced, 0, opt_in, set_wiznofuz,
|
|
Off, Yes, No, No, NoAlias, &iflags.debug_hunger, Term_False,
|
|
"no hunger")
|
|
NHOPTB(debug_mongen, Advanced, 0, opt_in, set_wiznofuz,
|
|
Off, Yes, No, No, NoAlias, &iflags.debug_mongen, Term_False,
|
|
"no random monster generation")
|
|
NHOPTB(debug_overwrite_stairs, Advanced, 0, opt_in, set_wiznofuz,
|
|
Off, Yes, No, No, NoAlias, &iflags.debug_overwrite_stairs,
|
|
Term_False, "level generation can overwrite stairs")
|
|
NHOPTC(disclose, Advanced, sizeof flags.end_disclose * 2,
|
|
opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"the kinds of information to disclose at end of game")
|
|
NHOPTC(dogname, Advanced, PL_PSIZ, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"name of your starting pet if it is a little dog")
|
|
NHOPTB(dropped_nopick, Behavior, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.nopick_dropped, Term_False,
|
|
"don't autopickup dropped items")
|
|
NHOPTC(dungeon, Advanced, MAXDCHARS + 1,opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"list of symbols to use in drawing the dungeon map")
|
|
NHOPTC(effects, Advanced, MAXECHARS + 1, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"list of symbols to use in drawing special effects")
|
|
NHOPTB(eight_bit_tty, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc_eight_bit_input,
|
|
Term_False, "send 8-bit characters directly to terminal")
|
|
NHOPTB(extmenu, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.extmenu, Term_False,
|
|
"use menu for getting extended commands")
|
|
NHOPTB(female, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, "male", &flags.female, Term_False,
|
|
"deprecated; use gender:female")
|
|
NHOPTB(fireassist, Behavior, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.fireassist, Term_False,
|
|
"fire-command tries to be helpful")
|
|
NHOPTB(fixinv, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.invlet_constant, Term_False,
|
|
"inventory items keep their letters")
|
|
NHOPTC(font_map, Advanced, 40, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "font to use in the map window")
|
|
NHOPTC(font_menu, Advanced, 40, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "font to use in menus")
|
|
NHOPTC(font_message, Advanced, 40, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias,
|
|
"font to use in the message window")
|
|
NHOPTC(font_size_map, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "size of the map font")
|
|
NHOPTC(font_size_menu, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "size of the menu font")
|
|
NHOPTC(font_size_message, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "size of the message font")
|
|
NHOPTC(font_size_status, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "size of the status font")
|
|
NHOPTC(font_size_text, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "size of the text font")
|
|
NHOPTC(font_status, Advanced, 40, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "font to use in status window")
|
|
NHOPTC(font_text, Advanced, 40, opt_in, set_gameview,
|
|
Yes, Yes, Yes, No, NoAlias, "font to use in text windows")
|
|
NHOPTB(force_invmenu, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.force_invmenu, Term_False,
|
|
"commands asking for inventory item show a menu")
|
|
NHOPTC(fruit, General, PL_FSIZ, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias, "name of a fruit you enjoy eating")
|
|
NHOPTB(fullscreen, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc2_fullscreen, Term_False,
|
|
"toggle fullscreen")
|
|
/* NHOPTC(gender) -- moved to top */
|
|
NHOPTC(glyph, Advanced, 40, opt_in, set_in_game,
|
|
No, Yes, Yes, No, NoAlias,
|
|
"set representation of a glyph to a unicode value and color")
|
|
NHOPTB(goldX, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.goldX, Term_False,
|
|
"classify gold as unknown or uncursed")
|
|
NHOPTB(guicolor, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.wc2_guicolor, Term_False,
|
|
"use color for UI")
|
|
NHOPTB(help, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.help, Term_False,
|
|
"show all available info when using whatis-command")
|
|
NHOPTB(herecmd_menu, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.herecmd_menu, Term_False,
|
|
"show commands available in this location")
|
|
#if defined(MAC)
|
|
NHOPTC(hicolor, Advanced, 15, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"same as palette, only order is reversed")
|
|
#endif
|
|
NHOPTB(hilite_pet, Map, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc_hilite_pet, Term_False,
|
|
"use highlight for pets")
|
|
NHOPTB(hilite_pile, Map, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.hilite_pile, Term_False,
|
|
"highlight piles of items")
|
|
#ifdef STATUS_HILITES
|
|
NHOPTC(hilite_status, Advanced, 13, opt_out, set_in_game,
|
|
Yes, Yes, Yes, No, NoAlias,
|
|
"a status highlighting rule (can occur multiple times)")
|
|
#else
|
|
NHOPTC(hilite_status, Advanced, 13, opt_out, set_in_config,
|
|
Yes, Yes, Yes, No, NoAlias, "(not available)")
|
|
#endif
|
|
NHOPTB(hitpointbar, Status, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc2_hitpointbar, Term_False,
|
|
"show colored bar for hit points")
|
|
NHOPTC(horsename, Advanced, PL_PSIZ, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"name of your starting pet if it is a pony")
|
|
#ifdef BACKWARD_COMPAT
|
|
NHOPTC(IBMgraphics, Advanced, 70, opt_in, set_in_config,
|
|
Yes, Yes, No, No, NoAlias,
|
|
"load IBMGraphics display symbols into symset")
|
|
#endif
|
|
#ifndef MAC
|
|
NHOPTB(ignintr, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.ignintr, Term_False,
|
|
"ignore interrupt signals")
|
|
#else
|
|
NHOPTB(ignintr, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(implicit_uncursed, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.implicit_uncursed, Term_False,
|
|
"omit \"uncursed\" from inventory")
|
|
#if 0 /* obsolete - pre-OSX Mac */
|
|
NHOPTB(large_font, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.obsolete,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(legacy, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &flags.legacy, Term_False,
|
|
"show introductory message")
|
|
NHOPTB(lit_corridor, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.lit_corridor, Term_False,
|
|
"show dark corridors as lit if in sight")
|
|
NHOPTB(lootabc, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.lootabc, Term_False,
|
|
"use a/b/c rather than o/i/c when looting")
|
|
NHOPTB(mail, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.biff, Term_False,
|
|
"enable the mail daemon")
|
|
NHOPTC(map_mode, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, No, No, NoAlias, "map display mode under Windows")
|
|
NHOPTB(mention_decor, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.mention_decor, Term_False,
|
|
"give feedback when walking over interesting features")
|
|
NHOPTB(mention_map, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &a11y.glyph_updates, Term_False,
|
|
"give feedback when interesting map locations change")
|
|
NHOPTB(mention_walls, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.mention_walls, Term_False,
|
|
"give feedback when walking into walls")
|
|
NHOPTC(menu_deselect_all, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "deselect all items in a menu")
|
|
NHOPTC(menu_deselect_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"deselect all items on this page of a menu")
|
|
NHOPTC(menu_first_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "jump to the first page in a menu")
|
|
NHOPTC(menu_headings, Advanced, 4, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias, "display style for menu headings")
|
|
NHOPTC(menu_invert_all, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "invert all items in a menu")
|
|
NHOPTC(menu_invert_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"invert all items on this page of a menu")
|
|
NHOPTC(menu_last_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "jump to the last page in a menu")
|
|
NHOPTC(menu_next_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "go to the next menu page")
|
|
NHOPTC(menu_objsyms, Advanced, 12, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, "use_menu_glyphs",
|
|
"show object symbols in menus")
|
|
#ifdef TTY_GRAPHICS
|
|
NHOPTB(menu_overlay, Advanced, 0, opt_in, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.menu_overlay, Term_False,
|
|
"menus overlay and align to right")
|
|
#else
|
|
NHOPTB(menu_overlay, Advanced, 0, opt_in, set_in_config,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTC(menu_previous_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "go to the previous menu page")
|
|
NHOPTC(menu_search, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "search for a menu item")
|
|
NHOPTC(menu_select_all, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "select all items in a menu")
|
|
NHOPTC(menu_select_page, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"select all items on this page of a menu")
|
|
NHOPTC(menu_shift_left, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "pan current menu page left")
|
|
NHOPTC(menu_shift_right, Advanced, 4, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "pan current menu page right")
|
|
NHOPTB(menu_tab_sep, Advanced, 0, opt_in, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.menu_tab_sep, Term_False,
|
|
"menu formatting")
|
|
NHOPTB(menucolors, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, Yes, No, NoAlias, &iflags.use_menu_color, Term_False,
|
|
"use colors in menus")
|
|
NHOPTO("menu colors", Status, o_menu_colors, BUFSZ, opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "change colors used in menus")
|
|
NHOPTC(menuinvertmode, Advanced, 5, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"experimental behavior of menu inverts")
|
|
NHOPTC(menustyle, Advanced, MENUTYPELEN, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"user interface for object selection")
|
|
NHOPTO("message types", Advanced, o_message_types, BUFSZ,
|
|
opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "edit message types")
|
|
NHOPTB(mon_movement, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &a11y.mon_movement, Term_False,
|
|
"message when hero sees monster movement")
|
|
NHOPTB(monpolycontrol, Advanced, 0, opt_in, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.mon_polycontrol, Term_False,
|
|
"control monster polymorphs")
|
|
NHOPTB(montelecontrol, Advanced, 0, opt_in, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.mon_telecontrol, Term_False,
|
|
"control monster teleport destinations")
|
|
NHOPTC(monsters, Advanced, MAXMCLASSES, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"list of symbols to use for monsters")
|
|
NHOPTC(mouse_support, Advanced, 0, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"game receives click info from mouse")
|
|
#if PREV_MSGS /* tty or curses */
|
|
NHOPTC(msg_window, Advanced, 1, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"control of \"view previous message(s)\" (^P) behavior")
|
|
#else
|
|
NHOPTC(msg_window, Advanced, 1, opt_in, set_in_config,
|
|
Yes, Yes, No, Yes, NoAlias, "(not applicable)")
|
|
#endif
|
|
NHOPTC(msghistory, Advanced, 5, opt_in, set_gameview,
|
|
Yes, Yes, No, No, NoAlias,
|
|
"number of top line messages to save")
|
|
/* NHOPTC(name) -- moved to top */
|
|
#ifdef NEWS
|
|
NHOPTB(news, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.news, Term_False,
|
|
"show any news at game start")
|
|
#else
|
|
NHOPTB(news, Advanced, 0, opt_in, set_in_config,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(nudist, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &u.uroleplay.nudist, Term_False,
|
|
"start your character without armor")
|
|
NHOPTB(null, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.null, Term_False,
|
|
"allow nulls to be sent to terminal")
|
|
NHOPTC(number_pad, General, 1, opt_in, set_in_game,
|
|
No, Yes, No, Yes, NoAlias,
|
|
"use the number pad for movement")
|
|
NHOPTC(objects, Advanced, MAXOCLASSES, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"list of symbols to use for objects")
|
|
NHOPTC(packorder, Advanced, MAXOCLASSES, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"the inventory order of the items in your pack")
|
|
#ifdef CHANGE_COLOR
|
|
#ifndef MAC /* not old Mac OS9 */
|
|
NHOPTC(palette, Advanced, 15, opt_in, set_gameview,
|
|
No, Yes, Yes, No, "hicolor",
|
|
"palette (adjust an RGB color in palette (color/R-G-B)")
|
|
#else
|
|
NHOPTC(palette, Advanced, 15, opt_in, set_in_game,
|
|
No, Yes, Yes, No, "hicolor",
|
|
"palette (00c/880/-fff is blue/yellow/reverse white)")
|
|
#endif
|
|
#endif
|
|
/* prior to paranoid_confirmation, 'prayconfirm' was a distinct option */
|
|
NHOPTC(paranoid_confirmation, Advanced, 28, opt_in, set_in_game,
|
|
Yes, Yes, Yes, Yes, "prayconfirm",
|
|
"extra prompting in certain situations")
|
|
NHOPTB(pauper, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &u.uroleplay.pauper, Term_False,
|
|
"start your character without any items")
|
|
NHOPTB(perm_invent, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.perm_invent, Term_Off,
|
|
"show persistent inventory window")
|
|
NHOPTC(perminv_mode, Advanced, 20, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"what to show in persistent inventory window")
|
|
NHOPTC(petattr, Advanced, 88, opt_in, set_in_game, /* tty/curses only */
|
|
No, Yes, No, Yes, NoAlias, "attributes for highlighting pets")
|
|
/* pettype is ignored for some roles */
|
|
NHOPTC(pettype, Advanced, 4, opt_in, set_gameview,
|
|
Yes, Yes, No, No, "pet", "your preferred initial pet type")
|
|
NHOPTC(pickup_burden, Advanced, 20, opt_in, set_in_game,
|
|
No, Yes, No, Yes, NoAlias,
|
|
"maximum burden picked up before prompt")
|
|
NHOPTB(pickup_stolen, Behavior, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.pickup_stolen, Term_False,
|
|
"autopickup stolen items")
|
|
NHOPTB(pickup_thrown, Behavior, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.pickup_thrown, Term_False,
|
|
"autopickup thrown items")
|
|
NHOPTC(pickup_types, Behavior, MAXOCLASSES, opt_in, set_in_game,
|
|
No, Yes, No, Yes, NoAlias,
|
|
"types of objects to pick up automatically")
|
|
NHOPTC(pile_limit, Advanced, 24, opt_in, set_in_game,
|
|
Yes, Yes, No, No, NoAlias,
|
|
"threshold for \"there are many objects here\"")
|
|
NHOPTC(player_selection, Advanced, 12, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"choose character via dialog or prompts")
|
|
/* NHOPTC(playmode) -- moved to top */
|
|
NHOPTB(popup_dialog, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc_popup_dialog, Term_False,
|
|
(char *)0)
|
|
NHOPTB(preload_tiles, Advanced, 0, opt_out, set_in_config, /* MSDOS only */
|
|
On, Yes, No, No, NoAlias, &iflags.wc_preload_tiles, Term_False,
|
|
(char *)0)
|
|
NHOPTB(pushweapon, Behavior, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.pushweapon, Term_False,
|
|
"previous weapon goes to secondary slot")
|
|
NHOPTB(query_menu, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.query_menu, Term_False,
|
|
"use a menu for yes/no queries")
|
|
NHOPTB(quick_farsight, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.quick_farsight, Term_False,
|
|
"skip map browse when forced to looked at map")
|
|
/* NHOPTC(race) -- moved to top */
|
|
#ifdef MICRO
|
|
NHOPTB(rawio, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.rawio, Term_False,
|
|
"allow use to raw I/O")
|
|
#else
|
|
NHOPTB(rawio, Advanced, 0, opt_in, set_in_config,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(reroll, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &u.uroleplay.reroll, Term_False,
|
|
"allow rerolling of starting inventory and items")
|
|
NHOPTB(rest_on_space, Advanced, 0, opt_in, set_in_game, Off,
|
|
Yes, No, No, NoAlias, &flags.rest_on_space, Term_False,
|
|
"space bar is bound to the rest-command")
|
|
NHOPTC(roguesymset, Advanced, 70, opt_in, set_in_game,
|
|
No, Yes, No, Yes, NoAlias,
|
|
"load a set of rogue display symbols from symbols file")
|
|
/* NHOPTC(role) -- moved to top */
|
|
NHOPTC(runmode, Advanced, sizeof "teleport", opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"display frequency when `running' or `travelling'")
|
|
NHOPTB(safe_pet, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.safe_dog, Term_False,
|
|
"prevent you from hitting pets")
|
|
NHOPTB(safe_wait, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.safe_wait, Term_False,
|
|
"prevent waiting next to hostiles")
|
|
NHOPTB(sanity_check, Advanced, 0, opt_in, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.sanity_check, Term_False,
|
|
"perform data sanity checks")
|
|
NHOPTC(scores, Advanced, 32, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias,
|
|
"the parts of the score list you wish to see")
|
|
NHOPTC(scroll_amount, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, No, No, NoAlias,
|
|
"amount to scroll map when scroll_margin is reached")
|
|
NHOPTC(scroll_margin, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, No, No, NoAlias,
|
|
"scroll map when this far from the edge")
|
|
NHOPTB(selectsaved, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &iflags.wc2_selectsaved, Term_False,
|
|
(char *)0)
|
|
NHOPTB(showdamage, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.showdamage, Term_False,
|
|
"show damage hero takes in message line")
|
|
NHOPTB(showexp, Status, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.showexp, Term_False,
|
|
"show experience points in status line")
|
|
NHOPTB(showrace, Map, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.showrace, Term_False,
|
|
"show your character by race rather than role")
|
|
#ifdef SCORE_ON_BOTL
|
|
NHOPTB(showscore, Status, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.showscore, Term_False,
|
|
"show current score in status line")
|
|
#else
|
|
NHOPTB(showscore, Status, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(showvers, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.showvers, Term_False,
|
|
"show version info on status line")
|
|
NHOPTB(silent, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.silent, Term_False,
|
|
"don't use terminal bell")
|
|
NHOPTB(softkeyboard, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc2_softkeyboard,
|
|
Term_False, (char *)0)
|
|
NHOPTC(sortdiscoveries, Advanced, 0, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"preferred order when displaying discovered objects")
|
|
NHOPTC(sortloot, Advanced, 4, opt_in, set_in_game,
|
|
No, Yes, No, Yes, NoAlias,
|
|
"sort object selection lists by description")
|
|
NHOPTB(sortpack, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.sortpack, Term_False,
|
|
"group inventory items by type")
|
|
NHOPTC(sortvanquished, Advanced, 0, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"preferred order when displaying vanquished monsters")
|
|
NHOPTC(soundlib, Advanced, WINTYPELEN, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"soundlib interface to use (if any)")
|
|
#ifdef SND_LIB_INTEGRATED
|
|
NHOPTB(sounds, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.sounds, Term_Off,
|
|
"use integrated sound effects")
|
|
#else
|
|
NHOPTB(sounds, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.sounds, Term_Off,
|
|
"use sounds")
|
|
#endif
|
|
NHOPTB(sparkle, Map, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.sparkle, Term_False,
|
|
"display sparkly effect when resisting magic")
|
|
NHOPTB(spot_monsters, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &a11y.mon_notices, Term_False,
|
|
"message when hero spots a monster")
|
|
NHOPTB(splash_screen, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &iflags.wc_splash_screen, Term_False,
|
|
(char *)0)
|
|
NHOPTB(standout, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.standout, Term_False,
|
|
"use standout for --more--")
|
|
NHOPTB(status_updates, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &iflags.status_updates, Term_False,
|
|
"allow the status lines to update")
|
|
NHOPTO("status condition fields", Status, o_status_cond, BUFSZ,
|
|
opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "change status condition highlighting")
|
|
#ifdef STATUS_HILITES
|
|
NHOPTC(statushilites, Advanced, 20, opt_in, set_in_game,
|
|
Yes, Yes, Yes, No, NoAlias,
|
|
"0=no status highlighting, N=show highlights for N turns")
|
|
NHOPTO("status highlight rules", Status, o_status_hilites, BUFSZ,
|
|
opt_in, set_in_game,
|
|
No, Yes, No, NoAlias, "change status line highlighting")
|
|
#else
|
|
NHOPTC(statushilites, Advanced, 20, opt_in, set_in_config,
|
|
Yes, Yes, Yes, No, NoAlias, "highlight control")
|
|
#endif
|
|
NHOPTC(statuslines, Status, 20, opt_in, set_in_game,
|
|
No, Yes, No, No, NoAlias, "2 or 3 lines for status display")
|
|
#ifdef WIN32CON
|
|
NHOPTC(subkeyvalue, Advanced, 7, opt_in, set_in_config,
|
|
No, Yes, Yes, No, NoAlias, "override keystroke value")
|
|
#endif
|
|
NHOPTC(suppress_alert, Advanced, 8, opt_in, set_in_game,
|
|
No, Yes, Yes, No, NoAlias,
|
|
"suppress alerts about version-specific features")
|
|
NHOPTC(symset, Map, 70, opt_in, set_in_game,
|
|
No, Yes, No, Yes, NoAlias,
|
|
"load a set of display symbols from symbols file")
|
|
NHOPTC(term_cols, Advanced, 6, opt_in, set_in_config,
|
|
No, Yes, No, No, "termcolumns", "number of columns")
|
|
NHOPTC(term_rows, Advanced, 6, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "number of rows")
|
|
NHOPTC(tile_file, Advanced, 70, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias, "name of tile file")
|
|
NHOPTC(tile_height, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, No, No, NoAlias, "height of tiles")
|
|
NHOPTC(tile_width, Advanced, 20, opt_in, set_gameview,
|
|
Yes, Yes, No, No, NoAlias, "width of tiles")
|
|
NHOPTB(tiled_map, Advanced, 0, opt_in, set_in_game,
|
|
tiled_map_Def, Yes, No, No, NoAlias, &iflags.wc_tiled_map,
|
|
Term_False, (char *)0)
|
|
NHOPTB(time, Status, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.time, Term_False,
|
|
"display game turns in status line")
|
|
#ifdef TIMED_DELAY
|
|
NHOPTB(timed_delay, Map, 0, opt_out, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &flags.nap, Term_False,
|
|
"use delay when pausing for display effects")
|
|
#else
|
|
NHOPTB(timed_delay, Map, 0, opt_in, set_in_config,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(tips, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.tips, Term_False,
|
|
"show some helpful tips during gameplay")
|
|
NHOPTB(tombstone, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.tombstone, Term_False,
|
|
"show tombstone when your character dies")
|
|
NHOPTB(toptenwin, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.toptenwin, Term_False,
|
|
"show top scores in window")
|
|
NHOPTC(traps, Advanced, MAXTCHARS + 1, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias,
|
|
"list of symbols to use in drawing traps")
|
|
NHOPTB(travel, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.travelcmd, Term_False,
|
|
"enable traveling via mouse click")
|
|
#ifdef DEBUG
|
|
NHOPTB(travel_debug, Advanced, 0, opt_out, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.trav_debug, Term_False,
|
|
(char *)0)
|
|
#else
|
|
NHOPTB(travel_debug, Advanced, 0, opt_out, set_wizonly,
|
|
Off, No, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTB(tutorial, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &flags.tutorial, Term_False,
|
|
"ask if you want the tutorial")
|
|
NHOPTB(use_darkgray, Advanced, 0, opt_out, set_in_config,
|
|
On, Yes, No, No, NoAlias, &iflags.wc2_darkgray, Term_False,
|
|
"use bold black color instead of blue")
|
|
NHOPTB(use_inverse, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &iflags.wc_inverse, Term_False,
|
|
"display detected monsters in inverse")
|
|
NHOPTB(use_truecolor, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, "use_truecolour",
|
|
&iflags.use_truecolor, Term_False,
|
|
(char *)0)
|
|
NHOPTC(vary_msgcount, Advanced, 20, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias, "show more old messages at a time")
|
|
NHOPTB(verbose, Advanced, 0, opt_out, set_in_game,
|
|
On, Yes, No, No, NoAlias, &flags.verbose, Term_False,
|
|
(char *)0)
|
|
NHOPTC(versinfo, Advanced, 80, opt_out, set_in_game,
|
|
No, Yes, No, Yes, NoAlias, "extra information for 'showvers'")
|
|
#ifdef MSDOS
|
|
NHOPTC(video, Advanced, 20, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "method of video updating")
|
|
#endif
|
|
#ifdef VIDEOSHADES
|
|
NHOPTC(videocolors, Advanced, 40, opt_in, set_gameview,
|
|
No, Yes, No, No, "videocolours",
|
|
"color mappings for internal screen routines")
|
|
NHOPTC(videoshades, Advanced, 32, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias,
|
|
"gray shades to map to black/gray/white")
|
|
#endif
|
|
#ifdef MSDOS
|
|
NHOPTC(video_width, Advanced, 10, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias, "video width")
|
|
NHOPTC(video_height, Advanced, 10, opt_in, set_gameview,
|
|
No, Yes, No, No, NoAlias, "video height")
|
|
#endif
|
|
#ifdef SND_SPEECH
|
|
NHOPTB(voices, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.voices, Term_Off,
|
|
(char *)0)
|
|
#else
|
|
NHOPTB(voices, Advanced, 0, opt_in, set_gameview,
|
|
Off, Yes, No, No, NoAlias, &iflags.voices, Term_Excluded,
|
|
(char *)0)
|
|
#endif
|
|
#ifdef TTY_TILES_ESCCODES
|
|
NHOPTB(vt_tiledata, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.vt_tiledata, Term_False,
|
|
"output special escape codes")
|
|
#else
|
|
NHOPTB(vt_tiledata, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
#ifdef TTY_SOUND_ESCCODES
|
|
NHOPTB(vt_sounddata, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, &iflags.vt_sounddata, Term_False,
|
|
"output sound data in special escape codes")
|
|
#else
|
|
NHOPTB(vt_sounddata, Advanced, 0, opt_in, set_in_config,
|
|
Off, Yes, No, No, NoAlias, (boolean *) 0, Term_False,
|
|
(char *)0)
|
|
#endif
|
|
NHOPTC(warnings, Advanced, 10, opt_in, set_in_config,
|
|
No, Yes, No, No, NoAlias, "display characters for warnings")
|
|
NHOPTC(whatis_coord, Advanced, 1, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"show coordinates when auto-describing cursor position")
|
|
NHOPTC(whatis_filter, Advanced, 1, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias,
|
|
"filter coordinate locations when targeting next or previous")
|
|
NHOPTB(whatis_menu, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.getloc_usemenu, Term_False,
|
|
"show menu when getting a map location")
|
|
NHOPTB(whatis_moveskip, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.getloc_moveskip, Term_False,
|
|
"skip same glyph when getting map location")
|
|
NHOPTC(windowborders, Advanced, 9, opt_in, set_in_game,
|
|
Yes, Yes, No, Yes, NoAlias, "0 (off), 1 (on), 2 (auto)")
|
|
#ifdef WINCHAIN
|
|
NHOPTC(windowchain, Advanced, WINTYPELEN, opt_in, set_in_sysconf,
|
|
No, Yes, No, No, NoAlias, "window processor to use")
|
|
#endif
|
|
NHOPTC(windowcolors, Advanced, 80, opt_in, set_gameview,
|
|
No, Yes, Yes, No, NoAlias,
|
|
"the foreground/background colors of windows")
|
|
/* NHOPTC(windowtype) -- moved to top */
|
|
NHOPTB(wizmgender, Advanced, 0, opt_in, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.wizmgender, Term_False,
|
|
(char *)0)
|
|
NHOPTB(wizweight, Advanced, 0, opt_in, set_wizonly,
|
|
Off, Yes, No, No, NoAlias, &iflags.wizweight, Term_False,
|
|
(char *)0)
|
|
NHOPTB(wraptext, Advanced, 0, opt_in, set_in_game,
|
|
Off, Yes, No, No, NoAlias, &iflags.wc2_wraptext, Term_False,
|
|
(char *)0)
|
|
|
|
/*
|
|
* Prefix-based Options
|
|
*/
|
|
|
|
NHOPTP(cond_, Advanced, 0, opt_in, set_hidden,
|
|
Yes, No, Yes, Yes, NoAlias, "prefix for cond_ options")
|
|
NHOPTP(font, Advanced, 0, opt_in, set_hidden,
|
|
Yes, Yes, Yes, No, NoAlias, "prefix for font options")
|
|
#if defined(MICRO) && !defined(AMIGA)
|
|
/* included for compatibility with old NetHack.cnf files */
|
|
NHOPTP(IBM_, Advanced, 0, opt_in, set_hidden,
|
|
No, No, Yes, No, NoAlias, "prefix for old micro IBM_ options")
|
|
#endif /* MICRO */
|
|
|
|
#undef NoAlias
|
|
#undef NHOPTB
|
|
#undef NHOPTC
|
|
#undef NHOPTP
|
|
#undef NHOPTO
|
|
|
|
/* *INDENT-ON* */
|
|
/* clang-format on */
|
|
#endif /* NHOPT_PROTO || NHOPT_ENUM || NHOPT_PARSE */
|
|
|
|
/*optlist.h*/
|