Merge branch 'NetHack-3.6'

This commit is contained in:
nhmall
2019-12-18 07:38:59 -05:00
15 changed files with 299 additions and 212 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 mondata.h $NHDT-Date: 1550524558 2019/02/18 21:15:58 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.37 $ */
/* NetHack 3.6 mondata.h $NHDT-Date: 1576626512 2019/12/17 23:48:32 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.39 $ */
/* Copyright (c) 1989 Mike Threepoint */
/* NetHack may be freely redistributed. See license for details. */
@@ -31,6 +31,7 @@
(is_minion((mon)->data) && mon_aligntyp(mon) == A_LAWFUL)
#define is_flyer(ptr) (((ptr)->mflags1 & M1_FLY) != 0L)
#define is_floater(ptr) ((ptr)->mlet == S_EYE || (ptr)->mlet == S_LIGHT)
/* clinger: piercers, mimics, wumpus -- generally don't fall down holes */
#define is_clinger(ptr) (((ptr)->mflags1 & M1_CLING) != 0L)
#define is_swimmer(ptr) (((ptr)->mflags1 & M1_SWIM) != 0L)
#define breathless(ptr) (((ptr)->mflags1 & M1_BREATHLESS) != 0L)
@@ -41,14 +42,24 @@
#define noncorporeal(ptr) ((ptr)->mlet == S_GHOST)
#define tunnels(ptr) (((ptr)->mflags1 & M1_TUNNEL) != 0L)
#define needspick(ptr) (((ptr)->mflags1 & M1_NEEDPICK) != 0L)
/* hides_under() requires an object at the location in order to hide */
#define hides_under(ptr) (((ptr)->mflags1 & M1_CONCEAL) != 0L)
/* is_hider() is True for mimics but when hiding they appear as something
else rather than become mon->mundetected, so use is_hider() with care */
#define is_hider(ptr) (((ptr)->mflags1 & M1_HIDE) != 0L)
/* piercers cling to the ceiling; lurkers above are hiders but they fly
so aren't classified as clingers; unfortunately mimics are classified
as both hiders and clingers but have nothing to do with ceilings;
wumpuses (not wumpi :-) cling but aren't hiders */
#define ceiling_hider(ptr) \
(is_hider(ptr) && ((is_clinger(ptr) && (ptr)->mlet != S_MIMIC) \
|| is_flyer(ptr))) /* lurker above */
#define haseyes(ptr) (((ptr)->mflags1 & M1_NOEYES) == 0L)
#define eyecount(ptr) \
(!haseyes(ptr) ? 0 : ((ptr) == &mons[PM_CYCLOPS] \
|| (ptr) == &mons[PM_FLOATING_EYE]) \
? 1 \
: 2)
/* used to decide whether plural applies so no need for 'more than 2' */
#define eyecount(ptr) \
(!haseyes(ptr) ? 0 \
: ((ptr) == &mons[PM_CYCLOPS] || (ptr) == &mons[PM_FLOATING_EYE]) ? 1 \
: 2)
#define nohands(ptr) (((ptr)->mflags1 & M1_NOHANDS) != 0L)
#define nolimbs(ptr) (((ptr)->mflags1 & M1_NOLIMBS) == M1_NOLIMBS)
#define notake(ptr) (((ptr)->mflags1 & M1_NOTAKE) != 0L)

View File

@@ -44,13 +44,30 @@
/****************************************************************************/
/* Version 3.6.x */
/* Patch 4, December 17, 2019
/* Patch 4, December 18, 2019
*
* fix potential buffer overflow when parsing run-time configuration file
* GDBPATH and GREPPATH from sysconf or -D... on compilation command line were
* being processed even if PANICTRACE was disabled but only being freed
* at end of game when that was enabled
* fix the article used in the message when your steed encounters a polymorph trap
* fix the article used in the message when your steed encounters a polymorph
* trap
* allow teleporting onto the vibrating square
* message "your knapsack can't accomodate any more items" when picking stuff
* up or removing such from container was inaccurate if there was some
* gold pending; vary the message rather than add more convoluted pickup
* code
* dozen-ish assorted spelling/typo fixes in messages and source comments
* fix potential buffer overflow when parsing run-time configuration file
* wizard mode wishing for terrain would leave it unmapped if done while blind
* wizard mode terrain wish could leave hero in water (severe vision limits)
* or in lava (trapped, sinking) which wasn't there any more
* flying hero can go down (via '>') holes or trap doors instead of escaping
* trap
* polymorphed hero hiding on the ceiling can now use '>' to unhide instead of
* being told "you can't go down here"
* fix compilation on platforms that split the ncurses and tinfo libraries
* Windows: allow all game files to be on a portable device via the sysconf
* option 'portable_device_paths'
*/
/* Patch 3, December 5, 2019
@@ -69,7 +86,7 @@
* Added several grammar corrections
* Improved recognition of deafness for several situations including the
* playing of musical instruments and bribing negotiations with demon lords
* Fixed ignoring of god's wrath when hero injured himself during altar kick
* Fixed ignoring of god's wrath when hero injured himself during altar kick
* Fixed several cases where persistent inventory window was not updated
* Fixed temple priests or shopkeepers moving over other monsters
* Fixed a crash-causing bug when putting on levitation boots over a sink
@@ -82,14 +99,14 @@
* the Windows platform
* Improved the layout and display of the player selection dialog used on the
* Windows graphical implementation
* Improved performance of some tty versions by reducing the number of
* Improved performance of some tty versions by reducing the number of
* function calls made from mapglyph
* Allowed the msdos implementation to build with curses and PDCurses
* Included over 100 other fixes and improvements as outlined in doc/fixes36.3
*/
/* Patch 2, May 7, 2019
*
*
* Over 320 bug fixes including a couple of crash bug fixes as outlined in
* doc/fixes36.2
* More than 15 enhancements or improvements

View File

@@ -17,9 +17,6 @@ struct sysopt {
char *debugfiles; /* files to show debugplines in. '*' is all. */
#ifdef DUMPLOG
char *dumplogfile; /* where the dump file is saved */
#endif
#ifdef WIN32
char *portable_device_top; /* nethack configuration for a portable drive */
#endif
int env_dbgfl; /* 1: debugfiles comes from getenv("DEBUGFILES")
* so sysconf's DEBUGFILES shouldn't override it;
@@ -51,7 +48,9 @@ struct sysopt {
/* enable accessibility options */
int accessibility;
#ifdef WIN32
int portable_device_paths; /* nethack configuration for a portable device */
#endif
};
extern struct sysopt sysopt;