Files
nethack/src/sys.c
keni bd1a922dae Guidebook update and SEDUCE runtime switch
add SYSCF docs to the Guidebook because it's info needed in a binary distro
Guidebook.tex - also add some missing italics to some "NetHack" occurances
call nethack.org "official"
Guidebook.txt - didn't regenerate cleanly so no diff
add SEDUCE to SYSCF (only partly inspired by the recent email)
2010-05-13 00:54:13 +00:00

72 lines
1.6 KiB
C

/* NetHack 3.5 sys.c $Date$ $Revision$ */
/* SCCS Id: @(#)sys.c 3.5 2008/01/30 */
/* Copyright (c) Kenneth Lorber, Kensington, Maryland, 2008. */
/* NetHack may be freely redistributed. See license for details. */
#include "hack.h"
struct sysopt sysopt;
void
sys_early_init(){
sysopt.support = NULL;
sysopt.recover = NULL;
#ifdef notyet
/* replace use of WIZARD vs WIZARD_NAME vs KR1ED, by filling this in */
#endif
sysopt.wizards = NULL;
sysopt.shellers = NULL;
sysopt.maxplayers = 0; /* XXX eventually replace MAX_NR_OF_PLAYERS */
/* record file */
sysopt.persmax = PERSMAX;
sysopt.entrymax = ENTRYMAX;
sysopt.pointsmin = POINTSMIN;
sysopt.pers_is_uid = PERS_IS_UID;
/* sanity checks */
if(PERSMAX<1) sysopt.persmax = 1;
if(ENTRYMAX<10) sysopt.entrymax = 10;
if(POINTSMIN<1) sysopt.pointsmin = 1;
if(PERS_IS_UID != 0 && PERS_IS_UID != 1)
panic("config error: PERS_IS_UID must be either 0 or 1");
#ifdef PANICTRACE
/* panic options */
sysopt.gdbpath = NULL;
sysopt.greppath = NULL;
# ifdef BETA
sysopt.panictrace_gdb = 1;
# ifdef PANICTRACE_GLIBC
sysopt.panictrace_glibc = 2;
# endif
# else
sysopt.panictrace_gdb = 0;
# ifdef PANICTRACE_GLIBC
sysopt.panictrace_glibc = 0;
# endif
# endif
#endif
#ifdef SEDUCE
sysopt.seduce = 1; /* if it's compiled in, default to on */
sysopt_seduce_set(sysopt.seduce);
#endif
}
extern struct attack sa_yes[NATTK];
extern struct attack sa_no[NATTK];
void
sysopt_seduce_set(val)
int val;
{
struct attack *setval = val ? sa_yes : sa_no;
int x;
for(x=0; x<NATTK; x++){
mons[PM_INCUBUS].mattk[x] = setval[x];
mons[PM_SUCCUBUS].mattk[x] = setval[x];
}
}