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:
- Adding more than 6 object bits to Nethack 3.4.1 will always
screw up both bones and save compatibility, because that would cause
the object structure to grow. The following assumes you don't go
over this limit.
- For bones compatibility, the added bits have to be used in a
bones-safe manner. Generally this means that the patch should clear
the bits at the resetobjs patch point.
- For save compatibility, adding bits (at the end, which is what
happens with patchable Nethack) works. Removing bits at the end is
okay, but removing bits from the middle or replacing bits at the end
with a patch which uses them for a different purpose will cause
problems for your saved games.
Roderick Schertler <roderick@argon.org>
Up to Roderick's home page