Merge remote-tracking branch 'origin/NetHack-3.6.0'

This commit is contained in:
keni
2017-09-24 13:58:17 -04:00
160 changed files with 6441 additions and 1061 deletions

View File

@@ -449,6 +449,14 @@ typedef unsigned char uchar;
#define DOAGAIN '\001' /* ^A, the "redo" key used in cmd.c and getline.c */
/* CONFIG_ERROR_SECURE: If user makes NETHACKOPTIONS point to a file ...
* TRUE: Show the first error, nothing else.
* FALSE: Show all errors as normal, with line numbers and context.
*/
#ifndef CONFIG_ERROR_SECURE
# define CONFIG_ERROR_SECURE TRUE
#endif
/*
* Section 4: EXPERIMENTAL STUFF
*

View File

@@ -421,7 +421,7 @@ struct plinemsg_type {
E struct plinemsg_type *plinemsg_types;
#ifdef PANICTRACE
E char *ARGV0;
E const char *ARGV0;
#endif
#ifdef DROPLEVEL

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 extern.h $NHDT-Date: 1502753404 2017/08/14 23:30:04 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.600 $ */
/* NetHack 3.6 extern.h $NHDT-Date: 1505170345 2017/09/11 22:52:25 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.604 $ */
/* Copyright (c) Steve Creps, 1988. */
/* NetHack may be freely redistributed. See license for details. */
@@ -142,6 +142,7 @@ E int NDECL(getbones);
/* ### botl.c ### */
E char *NDECL(do_statusline1);
E void NDECL(check_gold_symbol);
E char *NDECL(do_statusline2);
E int FDECL(xlev_to_rank, (int));
E int FDECL(title_to_mon, (const char *, int *, int *));
@@ -198,7 +199,7 @@ E int NDECL(enter_explore_mode);
E void FDECL(enlightenment, (int, int));
E void FDECL(youhiding, (BOOLEAN_P, int));
E void FDECL(show_conduct, (int));
E void FDECL(bind_key, (UCHAR_P, const char *));
E boolean FDECL(bind_key, (UCHAR_P, const char *));
E void NDECL(dokeylist);
E int FDECL(xytod, (SCHAR_P, SCHAR_P));
E void FDECL(dtoxy, (coord *, int));
@@ -607,6 +608,7 @@ E int NDECL(donamelevel);
E int NDECL(dooverview);
E void FDECL(show_overview, (int, int));
E void FDECL(forget_mapseen, (int));
E void FDECL(rm_mapseen, (int));
E void FDECL(init_mapseen, (d_level *));
E void NDECL(recalc_mapseen);
E void FDECL(mapseen_temple, (struct monst *));
@@ -666,7 +668,7 @@ E void VDECL(panic, (const char *, ...)) PRINTF_F(1, 2) NORETURN;
E void FDECL(done, (int));
E void FDECL(container_contents, (struct obj *, BOOLEAN_P,
BOOLEAN_P, BOOLEAN_P));
E void FDECL(terminate, (int)) NORETURN;
E void FDECL(nh_terminate, (int)) NORETURN;
E int NDECL(dovanquished);
E int NDECL(num_genocides);
E void FDECL(delayed_killer, (int, int, const char *));
@@ -767,6 +769,9 @@ E void FDECL(unlock_file, (const char *));
#ifdef USER_SOUNDS
E boolean FDECL(can_read_file, (const char *));
#endif
E void FDECL(config_error_init, (BOOLEAN_P, const char *, BOOLEAN_P));
E void FDECL(config_error_add, (const char *, ...)) PRINTF_F(1, 2);
E int NDECL(config_error_done);
E boolean FDECL(read_config_file, (const char *, int));
E void FDECL(check_recordfile, (const char *));
E void NDECL(read_wizkit);
@@ -1682,7 +1687,7 @@ E boolean FDECL(match_optname, (const char *, const char *, int, BOOLEAN_P));
E void NDECL(initoptions);
E void NDECL(initoptions_init);
E void NDECL(initoptions_finish);
E void FDECL(parseoptions, (char *, BOOLEAN_P, BOOLEAN_P));
E boolean FDECL(parseoptions, (char *, BOOLEAN_P, BOOLEAN_P));
E int NDECL(doset);
E int NDECL(dotogglepickup);
E void NDECL(option_help);
@@ -1690,7 +1695,7 @@ E void FDECL(next_opt, (winid, const char *));
E int FDECL(fruitadd, (char *, struct fruit *));
E int FDECL(choose_classes_menu, (const char *, int, BOOLEAN_P,
char *, char *));
E void FDECL(parsebindings, (char *));
E boolean FDECL(parsebindings, (char *));
E void FDECL(add_menu_cmd_alias, (CHAR_P, CHAR_P));
E char FDECL(get_menu_cmd_key, (CHAR_P));
E char FDECL(map_menu_cmd, (CHAR_P));
@@ -1957,6 +1962,7 @@ E void NDECL(unload_qtlist);
E short FDECL(quest_info, (int));
E const char *NDECL(ldrname);
E boolean FDECL(is_quest_artifact, (struct obj *));
E struct obj *FDECL(find_quest_artifact, (unsigned));
E void FDECL(com_pager, (int));
E void FDECL(qt_pager, (int));
E struct permonst *NDECL(qt_montype);
@@ -2413,6 +2419,7 @@ E void NDECL(climb_pit);
E boolean FDECL(fire_damage, (struct obj *, BOOLEAN_P, XCHAR_P, XCHAR_P));
E int FDECL(fire_damage_chain,
(struct obj *, BOOLEAN_P, BOOLEAN_P, XCHAR_P, XCHAR_P));
E boolean FDECL(lava_damage, (struct obj *, XCHAR_P, XCHAR_P));
E void acid_damage(struct obj *);
E int FDECL(water_damage, (struct obj *, const char *, BOOLEAN_P));
E void FDECL(water_damage_chain, (struct obj *, BOOLEAN_P));

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 flag.h $NHDT-Date: 1498078871 2017/06/21 21:01:11 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.119 $ */
/* NetHack 3.6 flag.h $NHDT-Date: 1505214875 2017/09/12 11:14:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.123 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -60,15 +60,16 @@ struct flag {
unsigned long suppress_alert;
#define NEW_MOON 0
#define FULL_MOON 4
int paranoia_bits; /* alternate confirmation prompting */
#define PARANOID_CONFIRM 0x01
#define PARANOID_QUIT 0x02
#define PARANOID_DIE 0x04
#define PARANOID_BONES 0x08
#define PARANOID_HIT 0x10
#define PARANOID_PRAY 0x20
#define PARANOID_REMOVE 0x40
#define PARANOID_BREAKWAND 0x80
unsigned paranoia_bits; /* alternate confirmation prompting */
#define PARANOID_CONFIRM 0x0001
#define PARANOID_QUIT 0x0002
#define PARANOID_DIE 0x0004
#define PARANOID_BONES 0x0008
#define PARANOID_HIT 0x0010
#define PARANOID_PRAY 0x0020
#define PARANOID_REMOVE 0x0040
#define PARANOID_BREAKWAND 0x0080
#define PARANOID_WERECHANGE 0x0100
int pickup_burden; /* maximum burden before prompt */
int pile_limit; /* controls feedback when walking over objects */
char inv_order[MAXOCLASSES];
@@ -190,6 +191,8 @@ struct instance_flags {
* behaviour of various NetHack functions and probably warrant
* a structure of their own elsewhere some day.
*/
boolean invis_goldsym; /* gold symbol is ' '? */
int parse_config_file_src; /* hack for parse_config_line() */
int in_lava_effects; /* hack for Boots_off() */
int last_msg; /* indicator of last message player saw */
int purge_monsters; /* # of dead monsters still on fmon list */
@@ -226,6 +229,7 @@ struct instance_flags {
boolean cbreak; /* in cbreak mode, rogue format */
boolean deferred_X; /* deferred entry into explore mode */
boolean echo; /* 1 to echo characters */
boolean force_invmenu; /* always menu when handling inventory */
/* FIXME: goldX belongs in flags, but putting it in iflags avoids
breaking 3.6.[01] save files */
boolean goldX; /* for BUCX filtering, whether gold is X or U */
@@ -441,6 +445,9 @@ enum runmode_types {
#define ParanoidRemove ((flags.paranoia_bits & PARANOID_REMOVE) != 0)
/* breakwand: Applying a wand */
#define ParanoidBreakwand ((flags.paranoia_bits & PARANOID_BREAKWAND) != 0)
/* werechange: accepting randomly timed werecreature change to transform
from human to creature or vice versa while having polymorph control */
#define ParanoidWerechange ((flags.paranoia_bits & PARANOID_WERECHANGE) != 0)
/* command parsing, mainly dealing with number_pad handling;
not saved and restored */

View File

@@ -37,6 +37,12 @@ enum encumbrance_types {
/* number of turns it takes for vault guard to show up */
#define VAULT_GUARD_TIME 30
#define SHOP_DOOR_COST 400L /* cost of a destroyed shop door */
#define SHOP_BARS_COST 300L /* cost of iron bars */
#define SHOP_HOLE_COST 200L /* cost of making hole/trapdoor */
#define SHOP_WALL_COST 200L /* cost of destroying a wall */
#define SHOP_WALL_DMG (10L * ACURRSTR) /* damaging a wall */
/* hunger states - see hu_stat in eat.c */
enum hunger_state_types {
SATIATED = 0,

View File

@@ -28,6 +28,10 @@
#define SYSCF_FILE "sysconf" /* Use a file to hold the SYSCF configuration \
*/
#define DUMPLOG /* Enable dumplog files */
/*#define DUMPLOG_FILE "nethack-%n-%d.log"*/
#define DUMPLOG_MSG_COUNT 50
#define USER_SOUNDS
/*#define CHANGE_COLOR*/ /* allow palette changes */

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 qtext.h $NHDT-Date: 1432594167 2015/05/25 22:49:27 $ $NHDT-Branch: master $:$NHDT-Revision: 1.17 $ */
/* NetHack 3.6 qtext.h $NHDT-Date: 1505170347 2017/09/11 22:52:27 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.18 $ */
/* Copyright (c) Mike Stephenson 1991. */
/* NetHack may be freely redistributed. See license for details. */
@@ -83,6 +83,7 @@ struct qtlists {
#define QT_FIRSTGOAL 40
#define QT_NEXTGOAL 41
#define QT_ALTGOAL 42 /* alternate to QT_NEXTGOAL if artifact is absent */
#define QT_FIRSTNEMESIS 50
#define QT_NEXTNEMESIS 51

View File

@@ -27,6 +27,7 @@ struct sysopt {
int seduce;
int check_save_uid; /* restoring savefile checks UID? */
int check_plname; /* use plname for checking wizards/explorers/shellers */
int bones_pools;
/* record file */
int persmax;