gitignore: ignoring all output junk files

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
strip worthless SCCS Id strings

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
GNU Makefile: use more sane defaults

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
winnt/Makefile: use appropriate compile flags

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
FreeBSD 7.2 base patches

Hopefully there's nothing in here that breaks other platforms
like Linux, Windows, etc.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
curses interface

Source: http://nethack-curses.wikia.com

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
termcap.c: drop declaration of tparm(), conflicts with system headers

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
ncurses: fix build for TTY_GRAPHICS

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
ncurses: fix printout with % character

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
ncurses: pass Ctrl-Z and Ctrl-C to nethack

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
implement Ivy Bridge RDRAND support

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
dice roller: add a dice roller for testing the RNG

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
disable gzip compression

It's not necessary, and determining the path of gzip is annoying. If we get it
wrong, the NetHack thread starts spinning at 100% CPU constantly.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Assorted YAFMs 1.0

Adds new hallucinatory monsters, new funny messages when hitting
some special monsters with Vorpal Blade, couple special messages
when eating certain monsters, and few other things.

Signed-off-by: Adam Borowski <kilobyte@mimuw.edu.pl>
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Menucolors v1.5

Allows the user to define in what color menus are shown.
This patch allows the user to define in what color menus are shown.

For example, putting

OPTIONS=menucolors
MENUCOLOR=" blessed "=green
MENUCOLOR=" holy "=green
MENUCOLOR=" cursed "=red
MENUCOLOR=" unholy "=red
MENUCOLOR=" cursed .* (being worn)"=orange&underline

in the configuration file makes all known blessed items show up in green,
all cursed items show up in red and all cursed worn items show up in
orange and underlined when viewing inventory.

If you have regex.h but it is not GNU (e.g. DJGPP, *BSD), uncomment
in include/config.h

If you do not have regex.h, comment
out from include/config.h and replace the MENUCOLOR lines in your config
file with these:

MENUCOLOR="* blessed *"=green
MENUCOLOR="* holy *"=green
MENUCOLOR="* cursed *"=red
MENUCOLOR="* unholy *"=red
MENUCOLOR="* cursed * (being worn)"=orange&underline

Colors: black, red, green, brown, blue, magenta, cyan, gray, orange,
lightgreen, yellow, lightblue, lightmagenta, lightcyan, white.

Attributes: none, bold, dim, underline, blink, inverse.

Note that the terminal is free to interpret the attributes however it wants.

TTY or Windows GUI only, thought the Windows GUI part doesn't obey attributes.

Signed-off-by: Pasi Kallinen <paxed@alt.org>
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Statuscolors 1.0

Customizable coloring for the status (bottom) lines
Statuscolors is a patch for Nethack (version 3.4.3) that attempts to generalize
the hpmon patch to be more like the menucolors patch. Unlike menucolors, it
does not use regexps. Instead, it provides the following options:

To enable statuscolors:
OPTIONS=statuscolors

To specify statuscolor options, write:
STATUSCOLOR=<option>,<option>

Numeric options have the format <field>%<max-percent>:<color-option>. For
example:
STATUSCOLOR=hp%15:red&bold,pw%100=green

Text options have the format <text>:<color-option>. Text is case-insensitive.
For example:
STATUSCOLOR=hallu:orange,foodpois:red&inverse&blink

A color option is a <color> followed by an optional sequence of &<attr>. Color
and attribute names are case insensitive. Valid colors are:
black blue brown cyan gray green lightblue lightcyan lightgreen
lightmagenta magenta none orange red white yellow

Valid attributes are:
blink bold dim inverse none underline

A reasonable set of defaults might be:
STATUSCOLOR=hp%100=green,hp%66=yellow,hp%50=orange
STATUSCOLOR=hp%33=red&bold,hp%15:red&inverse,hp%0:red&inverse&blink
STATUSCOLOR=pw%100=green,pw%66=yellow,pw%50:orange,pw%33=red&bold
STATUSCOLOR=burdened:yellow,stressed:orange,strained:red&bold
STATUSCOLOR=overtaxed:red&inverse,overloaded:red&inverse&blink
STATUSCOLOR=satiated:yellow,hungry:orange,weak:red&bold
STATUSCOLOR=fainting:red&inverse,fainted:red&inverse&blink
STATUSCOLOR=hallu:yellow,conf:orange,stun:red&bold
STATUSCOLOR=ill:red&inverse,foodpois:red&inverse,slime:red&inverse
STATUSCOLOR=held:red&inverse,blind:red&inverse

Signed-off-by: Shachaf <shachaf+nethack@gmail.com>
Signed-off-by: Oren Ben-Kiki <nethack-oren@ben-kiki.org>
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Paranoid

This patch makes the commands #q (quit) and X (change to explore mode) (if the
option paranoid_quit is on), and the prompts for hitting peaceful monsters (if
options confirm and paranoid_hit are on) and leaving wizard mode bones
(regardless of runtime options), expect a typed "yes" instead of just 'y'.
Every other response will be treated as "no".

Now it also forces the menu to be shown with the 'T' and 'R' commands even when
there is only one item to be taken off or removed, if the additional
paranoid_remove option is set.

Signed-off-by: Jukka Lahtinen
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Extinct & showborn

This is a combination of "extinct" and "showborn" patches which were
separate for earlier versions.

The extinct patch makes extincted species listed among the genocide
list (marked with the "(extinct)" tag) when the game ends.

Notice that the counters used to check extinction keep track of the
number of each monster CREATED, not ones killed. So, if a monster is
marked extinct, it just means that none of them would have been
created any more in the game, not necessarily that you killed them
all. Some may still be alive somewhere in the dungeons.

The "showborn" patch will optionally add the number of each monster
species created after the number of them killed, if the number is
different. No born counter is shown for species with no killed
individuals, or for those species with all born individuals killed.

It also adds the wizard mode extended command #showkills that lets
you see the kill counters of each monster race as you see them when
the game ends.

Download and apply the patch and add the definition
somewhere in your include/config.h to compile the features in.
You also need to turn the "showborn" option on to actually show the
born counters. Use the 'O' option in the game or edit your
configuration file.

Signed-off-by: Wingnut
Signed-off-by: Jukka Lahtinen
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Show BUC v1.0

Adds an option to always show uncursed-status.

For some items, when you have identified it, NetHack doesn't
show the item's BUC-state, if it is uncursed. This patch adds
a configuration option "showbuc", which you can set so NetHack
never omits the BUC-status.

Signed-off-by: Pasi Kallinen <paxed@alt.org>
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
use_darkgray v1.0

Adds an option use_darkgray to toggle use of dark gray color
This patch allows black objects (orcish daggers, ravens, pits, etc.) to
be represented using a dark shade of gray on some terminals. Normally,
nethack shows them as blue to avoid printing unreadable black-on-black
text, but this confuses them with with objects that are actually blue
(cornuthaums, sapphires, soldier ants, etc.).

The patch works by specifying "black foreground" and "boldface" at the
same time. On terminals that simulate bold with brighter colors, this
produces a distinct color. Terminal emulators based on PC CGA/EGA/VGA
textmode generally have this property.

However, on terminals that implement actual bolding -- thickening the
font without changing the color, it will result in invisible text. So,
the feature is not enabled by default. It must be activated with the new
option "use_darkgray".

Notes:
* This patch is only effective in when TERMINFO is defined in unixconf.h

* Highlights added by the existing "use_inverse" and/or "hilite_pet"
options will probably not be visible when applied to black objects.

* nethack doesn't properly follow the rules for using the tputs()
function of termcap/curses. The first argument is supposed to be a
string obtained from the termcap/terminfo functions. Nethack assumes it
can provide a null pointer to do nothing, and can string-concatenate
two codes (boldface and a color select) and use them as one. My code
does not fix this -- although it uses "" instead of a null pointer,
which is less likely to crash on a less permissive termcap/terminfo
implementation.

* I'm aware of a seperate patch to add darkgray support -- but it was
unconditional at runtime, and had to change the color numbers in
includes/color.h to work. My patch makes the TTY code independent of
the actual value of the CLR_* defines.

* I personally believe the correct spelling of the color involved is
"grey", however I have adopted the popular misspelling "gray"
throughout to be consistent with the rest of nethack. :)

Signed-off-by: Michael Deutschmann <michael@talamasca.ocis.net>
Signed-off-by: Steven Noonan <steven@uplinklabs.net>