Nethack is my favorite game. I've been playing versions of it off and on since 1985.

Unix Hearse

Hearse is a protocol which allows Nethack users to exchanges bones files with each other. I've written a Unix Hearse client.

My Patches

All of these are built on top of the patchable Nethack patch, so apply that one first.

patchable Nethack
nethack-3.4.1-patchable.2.diff
If you apply multiple patches to your copy of Nethack, odds are some will conflict and you'll have to apply them by hand. The patchable Nethack patch tries to improve this situation. Simply put, the idea is to make it so that patches don't conflict by forcing their context lines not to contain conflicting data. For the full story, see README.patchable.

Bones/save compatibility: Fully compatible.

pickup_thrown option
nethack-3.4.1-pickup_thrown.1.diff
This patch adds a new "pickup_thrown" option to the game. If pickup_thrown and autopickup are both on, you'll automatically pick up things you threw, even if you wouldn't normally have picked up that sort of thing. It makes using missile weapons less hassle and more fun.

Bones/save compatibility: This patch uses 1 object bit in a bones-safe manner. See the bones/save object bits info

"Held" status flag
nethack-3.4.1-botl-held.1.diff
This patch adds a new "Held" status flag for the bottom line, which kicks in when you get grabbed by a kraken, owlbear, large mimic, or whatever. I vote it "Most Likely To Prevent A Late Game YASD" from among my patches.

Bones/save compatibility: Fully compatible.

repeat travel command
nethack-3.4.1-retravel.1.diff
This adds a new command which repeats the last travel you were doing, bound to meta-underscore. I was inspired to create it when I had a pet master lich who kept teleporting into my way. It also contains an implementation of the travel destination cache, and fixes a bug with the standard travel command (a travel to the current location was taking a turn).

Bones/save compatibility: Fully compatible.

Linux RTLD_NEXT fix
nethack-3.4.1-rtld-next.1.diff
This fixes the RTLD_NEXT problem compiling unixres.c under Linux.

Bones/save compatibility: Fully compatible.

Other People's Patches

Here are some patches written by other people which I've modified slightly for use with patchable Nethack. I made these because I use them myself, I'm putting them here both as examples and for the convenience of others who might want to use them along with mine. Because they're built on top of patchable Nethack, they'll generally all be able to apply without conflicts.

auto-open doors, by Stefano Busti
nethack-3.4.1-sbusti-autoopen-patchable.diff
Changes: Updated for 3.4.1, added option to help and Guidebook, auto-open doesn't happen if you're confused, stunned, or fumbling.

Bones/save compatibility: Fully compatible.

opt-paranoid, by Scott Bigham
nethack-3.4.1-sb.opt-paranoid.v3-patchable.diff
Changes: I moved the flag to instance flags to retain bones compatibility with the standard version.

Bones/save compatibility: Fully compatible.

preadjust inventory letters, by Scott Bigham
nethack-3.4.1-sb.preadjust.v5-patchable.diff

Bones/save compatibility: Fully compatible.

sticky inventory slots, by Scott Bigham
nethack-3.4.1-sb.sticky.v5-patchable.diff
Changes: The I command displays the sticky status.

Bones/save compatibility: This patch uses 1 object bit in a bones-safe manner. See the bones/save object bits info

log moves, by Jukka Lahtinen
nethack-3.4.1-jukka.logmoves-patchable.diff

Bones/save compatibility: Fully compatible.

configurable statuslines, by Pasi Kallinen
nethack-3.4.1-pkalli.cnfbotl-v2.1-patchable.diff
Changes: I added the "Held" status flag to the patch. It will mostly work as-is, but you should add the "Held" status flag patch for complete support.

Bones/save compatibility: Fully compatible.

menu colors, by Pasi Kallinen
nethack-3.4.1-pkalli.menucolor-v1.1-patchable.diff

Bones/save compatibility: Fully compatible.

Older Patches

Patches for older versions, and older versions of these patches, are in this directory.

Object Bits Bones/Save Compatibility

Some patches above add object bits. You have to take a little care with these if you want to retain bones and save file compatibility. The short version is you can patch Nethack 3.4.1 with up to 6 additional object bits which are used in a bones-safe manner and still retain bones and save compatibility.

The long version is:


Roderick Schertler <roderick@argon.org>

Up to Roderick's home page