Fix the situation where disabling PANICTRACE, which happened implicitly when BETA got disabled, caused SYSCF option processing to complain and quit if the 'sysconf' file contained any PANICTRACE settings. Now accept all the PANICTRACE options (assuming SYSCF is defined) even if PANICTRACE is not defined. Their values are recorded in the 'sysopt' struct, but only validated when the appropriate macros (PANICTRACE, PANICTRACE_LIB) are defined.
45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
/* NetHack 3.6 sys.h $NHDT-Date: 1449296291 2015/12/05 06:18:11 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.27 $ */
|
|
/* Copyright (c) Kenneth Lorber, Kensington, Maryland, 2008. */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
#ifndef SYS_H
|
|
#define SYS_H
|
|
|
|
struct sysopt {
|
|
char *support; /* local support contact */
|
|
char *recover; /* how to run recover - may be overridden by win port */
|
|
char *wizards; /* space-separated list of usernames */
|
|
char *fmtd_wizard_list; /* formatted version of wizards; null or "one"
|
|
or "one or two" or "one, two, or three", &c */
|
|
char *explorers; /* like wizards, but for access to explore mode */
|
|
char *shellers; /* like wizards, for ! command (-DSHELL); also ^Z */
|
|
char *debugfiles; /* files to show debugplines in. '*' is all. */
|
|
int env_dbgfl; /* 1: debugfiles comes from getenv("DEBUGFILES")
|
|
* so sysconf's DEBUGFILES shouldn't override it;
|
|
* 0: getenv() hasn't been attempted yet;
|
|
* -1: getenv() didn't find a value for DEBUGFILES.
|
|
*/
|
|
int maxplayers;
|
|
int seduce;
|
|
int check_save_uid; /* restoring savefile checks UID? */
|
|
|
|
/* record file */
|
|
int persmax;
|
|
int pers_is_uid;
|
|
int entrymax;
|
|
int pointsmin;
|
|
int tt_oname_maxrank;
|
|
|
|
/* panic options */
|
|
char *gdbpath;
|
|
char *greppath;
|
|
int panictrace_gdb;
|
|
int panictrace_libc;
|
|
};
|
|
|
|
extern struct sysopt sysopt;
|
|
|
|
#define SYSOPT_SEDUCE sysopt.seduce
|
|
|
|
#endif /* SYS_H */
|