NetHack 3.4.3, NAO version, for OSX
This repository contains a fork of the nethack.alt.org repository altered for OSX installation.
The purpose of this repository is to allow a more playable (i.e. heavily patched, but not in a play-altering way) version of Nethack to be easily installed via the Homebrew package manager. Tap my repository of formulae with
% brew tap ffleming/formulae
and then install nethack with
% brew install nethack-nao
Clone the repo
% git clone email@example.com:ffleming/nethack-3.4.3-nao-osx.git
Enter the repo
% cd nethack-3.4.3-nao-osx
Setup (no autoconf here!)
% sh sys/unux/setup.sh l
% sudo make install
Don't forget the manpages!
% sudo make manpages
% sudo ln -s /opt/nethack/nethack /usr/bin/nethack
- Necessary alterations for compiling on OSX
- Install to
- Define SHELL to allow use of
!to drop to a shell
- A patch against vanilla nethack 3.4.3 for use by Homebrew via
brew install nethack
- Manpages install to
- Use the data librarian (define DLB) for a cleaner install
- You can now pass
--versionto the nethack binary to print out version information.
% diff --exclude=.git* --exclude=*.diff --exclude=*.patch --exclude=Makefile -rupN "$VANILLA_DIR/" "$PATCHED_DIR/" > "$PATCH_FILENAME"
Changes implemented by NAO
- Fixed several bugs:
- C343-19 Dipping acid in a fountain may not destroy the acid. (Patric Mueller)
- C343-52 Worn or wielded objects destroyed by dipping into lit potions of oil are not handled properly (Patric Mueller)
- C343-74 Entering a long running, uninterruptible command after stoning starts will kill you. (Patric Mueller)
- C343-98 Reset stored ID of quest leader when undead-turned, allowing #chat to work properly. (Steve Melenchuk)
- C343-100 Game may crash if thrown potion hits bars before a monster. (Patric Mueller)
- C343-171 Silver weapon damage message is sometimes missing when hero is polymorphed (Patric Mueller)
- C343-172 Crash could occur when monster uses potion or food to cure stoning or confusion. (Ray Chason)
- C343-179 If a monster is killed or tamed while over water (or by a drawbridge) while carrying a potion of acid, the game may panic. (Patric Mueller)
- C343-189 Temple donations and protection lost to gremlin attack interact incorrectly. (Patric Mueller)
- C343-198 Playing in a 20 or 21 line window can cause the game to crash.
- C343-218 Applying a wielded cream pie can crash the game.
- C343-231 Time is distorted while sinking into lava. (Patric Mueller)
- C343-235 Casting spell of protection gives incorrect message if hero is swallowed or in rock. (Patric Mueller)
- C343-268 Used up potion of acid may end up in bones file. (Patric Mueller)
- C343-275 If a lit, wielded, candle or potion of oil burns out, the game may crash.
- C343-276 If a figurine auto-transforms while wielded or worn, the game may crash.
- C343-317 Bones data can contain odd characters from player's dogname, catname, or fruit options; this can cause odd terminal-dependent behavior.
- C343-320 Reading a scroll of mail breaks illiterate conduct.
- C343-324 Cutting a long worm in two will crash the game if the cut takes the worm to 1 HP or if long worms had become extinct. (Patric Mueller)
- C343-349 An identify scroll is wasted if space is typed and steps off the end of the inventory list. (Steve Melenchuk)
- C343-439 Running NetHack in a terminal window with more than 255 rows or columns produces display errors. (Patric Mueller)
- SC343-11 It's possible to easily find the identity of a high priest on the Astral plane.
- SC343-12 Hero using telepathy can abuse Call on the Astral Plane.
- SC343-20 Hangup save while picking up gold in a shop may duplicate the gold. (Patric Mueller)
- Added the Curses windowport, with a fix for monster detection not waiting for --more--.
- Added boolean option quiver_fired (Patch by Jukka Lahtinen)
- Sortloot (by Jukka Lahtinen), with more sorting types from UnNetHack (by Patric Mueller)
- Pressing cmd key at direction prompt selects previously selected direction. (Patric Mueller, unnethack r844)
- The impossible-warning tells to save, not quit.
- Livelog reporting (for IRC, etc)
- Whereis-file user tracking, from SporkHack, with minor changes.
- Random player statues takes names from top1000, not top10
- Several new T-shirt messages, random epitaphs and engravings, hallucinatory monsters
- Changed 'C' to present a menu, and added old_C_behaviour boolean option to restore vanilla 3.4.3 monster christening behaviour
- Dungeon colors -patch (Pasi Kallinen)
- Changed 'X' to toggle twoweapon instead of trying to enter explore mode
- Extinct and Showborn -patch (Jukka Lahtinen)
- Paranoid Quit -patch
- Window edge -patch (Pasi Kallinen)
- Dumplog -patch (Jukka Lahtinen), with some minor changes
- Menucolors -patch (Pasi Kallinen)
HitPoint Monitor -patch (Ralph Churchill)(removed)
- Simple Mail -patch, from dgamelaunch
- Extended Logfile -patch (Aardvark Joe), with some small changes
- A boolean option 'bones' to disable bone-file loading.
- Messagetype-option -patch (Pasi Kallinen)
- A patch to allow server admin to notify players.
- A patch to allow NetHack output special escape codes (vt_tiledata -boolean option)
- fcntl locking -patch
- use_darkgray -patch (Michael Deutschmann)
- Show BUC -patch (Pasi Kallinen)
- Show Sym -patch (Pasi Kallinen)
- While Helpless -patch (Pasi Kallinen)
- A patch to make RNG prediction harder
- Make NetHack assume the clearscreen escape code is always available, instead of complaining.
- Fix 100% CPU usage when terminal closed at a --more--- prompt. (tty windowport)
- Make cursor keys not escape out of a text entry prompt (tty windowport)
- Added Pickup thrown -patch (Roderick Schertler)
- Added a modified version of key rebinding -patch (Jason Dorje Short)
- Added a generic item use menu (from AceHack, via UnNetHack)
- Added monster targeting -patch (Pasi Kallinen)
- Force a screen redraw every 2k turns after the previous screen redraw.
- Fixed farlooking at food items in curses windowport.
- Prevent the Book of the Dead from being destroyed when falling into (or walking over) lava without fire resistance. (Steve Melenchuk)
botl_updatesoption to prevent status line updates, and extended command
#updatestatusto force an update.
hp_notifyoption to turn on HP change notifications in the message lines, and
hp_notify_fmtto configure the notification format.
- Changed TTY msghistory maximum to 400.
- Added Statuscolors -patch. (From UnNetHack)
- Added hitpointbar (from UnNetHack)
- Added boolean option msgtype_regex, if true, MSGTYPE-lines use regular expressions instead of globbing.
- Added boolean option apexception_regex, if true, AUTOPICKUP_EXCEPTION-lines use regular expressions insteaed of globbing.
- Show shop prices when walking over the items in the shop. Turn off with show_shop_prices option. (from UnNetHack)
- Added item_use_menu boolean option, to turn off the generic item use menu used via inventory.
- Added msg_wall_hits boolean option. If true, mentions in the message area whenever you walk against a wall. Useful for blind players.
- Added item glyphs (colored symbols) to tty menus. (from UnNetHack) Boolean option menu_glyphs to turn them on and off.
- Fixed option parsing causing buffer overflow. (Found by Matthew Daley)
- Write extra info file for dgamelaunch use.
- Prevent artifact naming.
- Fix several crashes in case makemon() returns null. (From UnNetHack r1067)
- Record HUP exploits into a file.
- Fix some crashes related to displaying ball/chain and beam glyphs.
- Fix a crash with hitpointbar. (From UnNetHack)
- New boolean option "hilite_hidden_stairs", will try to show item with red background, if stairs are underneath it.
- New boolean option "hilite_obj_piles", will try to show item piles with blue background.
- Bugfix: prevent dangling pointer when applying a container that might have been destroyed (Patric Mueller)
- Added "View discoveries" -option to the #call menu
- Added MONSTERCOLOR config option (From UnNetHack)
- Made STATUSCOLOR support exact numbers, eg.
- Fix TTY crashing when a location has more than 32k item stacks
- Fix impossible() giving out faulty values (Pat Rankin)
- Curses: Fix 100% CPU usage when terminal was lost at DYWYPI prompt
- Curses: Fix selecting parts of multiple stacks (Alexander Gabriel)
- Prevent perm -file lock from staying around when terminal is closed at "Destroy old game" -prompt.
- Fix a crash when restoring a game when riding and detecting monsters. (Patric Mueller)
- Fix segfault when teleporting onto a sink while equipping levitation boots. (found by Alex Smith)
- Fix a crash when picking up an unpaid object from a location shared between two shops. (Patric Mueller)
- Fix scroll of charging not working when used via item_use_menu.
- Experimental support for UTF8 graphics. (Patric Mueller)
- Implement menu_search for windowtype:tty
- Curses: Actually show the "Destroy old game" -prompt
- Fix stat abuse of gauntlets of dexterity and helm of brilliance (by Alex Smith)
- Multiple possible bones files per level (via UnNetHack)