Source code

The source code of NetHack is the form in which the DevTeam programs NetHack. It tells the computer what to do when you play NetHack. The source code describes how the computer generates the dungeon. It describes each monster and item in the game.

Wikihack provides annotated versions of some of the source code. The original source code uses the NetHack General Public License; our annotations use the GNU Free Documentation License; see Project:Copyrights for the detailed copyright information.

Here at Wikihack (http://nethack.wikicities.c]]om/), anyone, including you, can annotate the source code. To copy in a source file that Wikihack is missing, you need copy and paste that file from NetHack 3.4.3.

{|style="width: 100%;"
 * style="width: 50%; vertical-align: top;"|

nethack-3.4.3/include

 * align.h
 * amiconf.h
 * artifact.h
 * artilist.h
 * attrib.h
 * beconf.h
 * bitmfile.h
 * config.h
 * config1.h
 * coord.h
 * decl.h
 * def_os2.h
 * dgn_comp.h
 * dgn_file.h
 * display.h
 * dlb.h
 * dungeon.h
 * edog.h
 * emin.h
 * engrave.h
 * epri.h
 * eshk.h
 * extern.h
 * flag.h
 * func_tab.h
 * global.h
 * hack.h
 * lev.h
 * lev_comp.h
 * macconf.h
 * macpopup.h
 * mactty.h
 * macwin.h
 * mail.h
 * mfndpos.h
 * micro.h
 * mkroom.h
 * mondata.h
 * monflag.h
 * monst.h
 * monsym.h
 * mttypriv.h
 * nhlan.h
 * ntconf.h
 * obj.h
 * objclass.h
 * onames.h
 * os2conf.h
 * pcconf.h
 * permonst.h
 * pm.h
 * prop.h
 * qt_clust.h
 * qtext.h
 * quest.h
 * rect.h
 * region.h
 * skills.h
 * spell.h
 * system.h
 * tcap.h
 * tile.h
 * tile2x11.h
 * timeout.h
 * tosconf.h
 * tradstdc.h
 * trampoli.h
 * trap.h
 * unixconf.h
 * vault.h
 * vis_tab.h
 * vision.h
 * vmsconf.h
 * wceconf.h
 * winami.h
 * wingem.h
 * winGnome.h
 * winprocs.h
 * wintty.h
 * wintype.h
 * winX.h
 * xwindow.h
 * xwindowp.h
 * you.h
 * youprop.h
 * style="width: 50%; vertical-align: top;"|

nethack-3.4.3/src

 * allmain.c
 * alloc.c
 * apply.c
 * artifact.c
 * attrib.c
 * ball.c
 * bones.c
 * botl.c
 * cmd.c
 * dbridge.c
 * decl.c
 * detect.c
 * dig.c
 * display.c
 * dlb.c
 * do.c
 * do_name.c
 * do_wear.c
 * dog.c
 * dogmove.c
 * dokick.c
 * dothrow.c
 * drawing.c
 * dungeon.c
 * eat.c
 * end.c
 * engrave.c
 * exper.c
 * explode.c
 * extralev.c
 * files.c
 * fountain.c
 * hack.c
 * hacklib.c
 * invent.c
 * light.c
 * lock.c
 * mail.c
 * makemon.c
 * mapglyph.c
 * mcastu.c
 * mhitm.c
 * mhitu.c
 * minion.c
 * mklev.c
 * mkmap.c
 * mkmaze.c
 * mkobj.c
 * mkroom.c
 * mon.c
 * mondata.c
 * monmove.c
 * monst.c
 * monstr.c
 * mplayer.c
 * mthrowu.c
 * muse.c
 * music.c
 * o_init.c
 * objects.c
 * objnam.c
 * options.c
 * pager.c
 * pickup.c
 * pline.c
 * polyself.c
 * potion.c
 * pray.c
 * priest.c
 * quest.c
 * questpgr.c
 * read.c
 * rect.c
 * region.c
 * restore.c
 * rip.c
 * role.c
 * rumors.c
 * save.c
 * shk.c
 * shknam.c
 * sit.c
 * sounds.c
 * sp_lev.c
 * spell.c
 * steal.c
 * steed.c
 * teleport.c
 * tile.c
 * timeout.c
 * topten.c
 * track.c
 * trap.c
 * u_init.c
 * uhitm.c
 * vault.c
 * version.c
 * vis_tab.c
 * vision.c
 * weapon.c
 * were.c
 * wield.c
 * windows.c
 * wizard.c
 * worm.c
 * worn.c
 * write.c
 * zap.c
 * }