From: nhmall Date: Wed, 18 Dec 2019 15:06:08 +0000 (-0500) Subject: Merge branch 'NetHack-3.6' X-Git-Tag: NetHack-3.7.0_WIP~118^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f71cecb8ed4447382020d652f3c98bf7ff6c2bd3;p=nethack Merge branch 'NetHack-3.6' --- f71cecb8ed4447382020d652f3c98bf7ff6c2bd3 diff --cc README index 0ffb56e8a,92214e246..bb23f3ab6 --- a/README +++ b/README @@@ -1,64 -1,44 +1,65 @@@ - NetHack 3.6.4 -- General information December 18, 2019 + NetHack 3.7.0 work-in-progress -- General information -NetHack 3.6 is an enhancement to the dungeon exploration game NetHack, +NetHack 3.7 is an enhancement to the dungeon exploration game NetHack, which is a distant descendent of Rogue and Hack, and a direct descendent of -NetHack 3.4 as there was no NetHack 3.5 release. - -NetHack 3.6.4 is the official release of NetHack that follows NetHack 3.6.3 -and contains all bug fixes since 3.6.3, including one security-related fix for -a vulnerability that affects NetHack versions 3.6.0, 3.6.1, 3.6.2, and 3.6.3. +NetHack 3.6. +NetHack 3.7.0 work-in-progress is not a release of NetHack. As a .0 version, +and still very early in its development cycle, there has already been changes +made, and there will continue to be many more prior to an eventual release. + The file doc/fixes36.4 in the source distribution has a full list of fixes. The -text in there was written for the development team's own use and is provided -"as is", so please do not ask us to further explain the entries in that file. -Some entries might be considered "spoilers", particularly in the "new features" section. -Below you will find some other general notes that were not considered -spoilers: - - * 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 - * 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 - * 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' +In short -- there are likely to be bugs. Don't treat NetHack-3.7 branch as +released code, and if stability is paramount, then the most recent +NetHack 3.6.3 release is safest for you. + +We're making the .0 work-in-progress available so that you can observe, test +out, and contribute to its development. Constructive suggestions, GitHub pull +requests, and bug reports are all welcome and encouraged. + +The file doc/fixes37.0 in the source distribution has a full list of bug-fixes +included so far, as well as brief mentions of some of the other code changes. +The text in there was written for the development team's own use and is +provided "as is", so please do not ask us to further explain the entries in +that file. Some entries might be considered "spoilers", particularly in the +"new features" section. + +Along with the game improvements and bug fixes, NetHack 3.7 strives to make +some general architectural improvements to the game or to its building +process. Among them: + + * Remove barriers to building NetHack on one platform and operating system, + for later execution on another (possibly quite different) platform and/or + operating system. That capability is generally known as "cross-compiling." + See the file "Cross-compiling" in the top-level folder for more information + on that. + + * Replace the build-time "yacc and lex"-based level compiler, the "yacc and + lex"-based dungeon compiler, and the quest text file processing done + by NetHack's "makedefs" utility, with Lua text alternatives that are + loaded and processed by the game during play. + + * Write game savefiles and bonesfiles in a more portable and consistent way + to open up the possibility of utilizing them between different platforms, + such as between your desktop computer and your hand-held device. + + * Add support to make the game restartable without exit (a.k.a. "play again" + support). Toward that end, many previously scattered and separate variables + have been gathered into a central 'g' structure in decl.h/decl.c. That + will benefit the porting effort to some platforms that are under + consideration. + +Here are some other general notes on the changes in NetHack 3.7 that were not +considered spoilers: + - automatic annotation "gateway to Moloch's Sanctum" for vibrating square + level once that square's location becomes known (found or magic + mapped); goes away once sanctum temple is found (entered or high altar + mapped) + - savefile: add support to deconstruct internal data structures down into + their individual fields and save those fields instead of the entire + struct + - savefile: use little-endian format for fields where that makes a difference - - - - - - - - - - -