[nethack] 01/01: Imported Debian patch 3.4.0-3.0woody3

James Cowgill jcowgill-guest at moszumanska.debian.org
Mon Mar 7 17:53:09 UTC 2016


This is an automated email from the git hooks/post-receive script.

jcowgill-guest pushed a commit to annotated tag debian/3.4.0-3.0woody3
in repository nethack.

commit be04126e740d8dc4a5cb436d32b0d2209d5917a4
Merge: 19f54f4 1e310be
Author: Matt Zimmerman <mdz at debian.org>
Date:   Wed May 14 00:41:39 2003 -0400

    Imported Debian patch 3.4.0-3.0woody3

 Files                                        |  145 +-
 Porting                                      |    2 +-
 README                                       |  156 +-
 dat/Arch.des                                 |   22 +-
 dat/Barb.des                                 |    4 +-
 dat/Caveman.des                              |    4 +-
 dat/Healer.des                               |    7 +-
 dat/Knight.des                               |    2 +-
 dat/Monk.des                                 |    8 +-
 dat/Priest.des                               |    2 +-
 dat/Ranger.des                               |  268 +-
 dat/Rogue.des                                |   63 +-
 dat/Samurai.des                              |    2 +-
 dat/Tourist.des                              |   16 +-
 dat/Valkyrie.des                             |    6 +-
 dat/Wizard.des                               |   20 +-
 dat/bigroom.des                              |    2 +-
 dat/castle.des                               |   18 +-
 dat/cmdhelp                                  |    7 +-
 dat/data.base                                |  966 +++-
 dat/dungeon.def                              |    8 +-
 dat/endgame.des                              |   28 +-
 dat/gehennom.des                             |   10 +-
 dat/help                                     |   25 +-
 dat/hh                                       |   15 +-
 dat/history                                  |  129 +-
 dat/knox.des                                 |    2 +-
 dat/medusa.des                               |   12 +-
 dat/mines.des                                |  861 +++-
 dat/opthelp                                  |   71 +-
 dat/oracle.des                               |   18 +-
 dat/oracles.txt                              |   18 +-
 dat/quest.txt                                |  868 ++--
 dat/rumors.fal                               |   11 +-
 dat/rumors.tru                               |   19 +-
 dat/sokoban.des                              |   28 +-
 dat/tower.des                                |    2 +-
 dat/wizhelp                                  |   13 +-
 dat/yendor.des                               |    4 +-
 debian/README.Debian                         |   87 +-
 debian/changelog                             |  218 +-
 debian/conffiles                             |    1 -
 debian/control                               |   92 +-
 debian/copyright                             |    4 +-
 debian/dirs                                  |    7 -
 {sys/unix => debian/gnome}/Makefile.src      |  215 +-
 {include => debian/gnome}/config.h           |   86 +-
 debian/gnome/nethack-tty.sh                  |   63 +
 debian/gnome/nethack.sh                      |   22 +
 debian/gnome/nethackrc                       |   13 +
 debian/menu                                  |    6 -
 debian/nethack-common.conffiles              |    2 +
 debian/nethack-common.dirs                   |    6 +
 debian/nethack-common.docs                   |    1 +
 debian/nethack-common.manpages               |    5 +
 debian/nethack-common.menu                   |    6 +
 debian/nethack-common.postinst               |   29 +
 debian/{postrm => nethack-common.postrm}     |    5 +-
 debian/nethack-common.preinst                |   72 +
 debian/nethack-gnome.conffiles               |    1 +
 debian/nethack-gnome.dirs                    |    4 +
 debian/nethack-gnome.menu                    |    6 +
 debian/nethack-gnome.postinst                |   11 +
 debian/nethack-gnome.prerm                   |    8 +
 debian/nethack-qt.conffiles                  |    1 +
 debian/nethack-qt.dirs                       |    4 +
 debian/nethack-qt.menu                       |    7 +
 debian/nethack-qt.postinst                   |   11 +
 debian/nethack-qt.prerm                      |    8 +
 debian/nethack-x11.conffiles                 |    2 +
 debian/nethack-x11.dirs                      |    6 +
 debian/nethack-x11.menu                      |    6 +
 debian/nethack-x11.postinst                  |   11 +
 debian/nethack-x11.prerm                     |    9 +
 debian/nethack.init                          |   64 +-
 debian/nethack.xpm                           |   56 +
 debian/nethackrc.tty                         |   11 +
 debian/postinst                              |   43 -
 debian/preinst                               |   69 -
 {sys/unix => debian/qt}/Makefile.src         |  218 +-
 {include => debian/qt}/config.h              |   88 +-
 debian/qt/nethack-tty.sh                     |   63 +
 debian/qt/nethack.sh                         |   22 +
 debian/qt/nethackrc                          |   13 +
 debian/recover-helper                        |   16 +
 debian/rules                                 |  224 +-
 {sys/unix => debian/x11}/Makefile.src        |  209 +-
 debian/{ => x11}/NetHack.ad                  |   65 +-
 {include => debian/x11}/config.h             |   86 +-
 debian/x11/nethack-tty.sh                    |   63 +
 debian/x11/nethack.sh                        |   22 +
 debian/{nethackrc.x11 => x11/nethackrc}      |   25 +-
 debian/xnethack.6                            |    1 -
 debian/xnethack.sh                           |    5 -
 doc/Guidebook.mn                             |  698 ++-
 doc/Guidebook.tex                            |  750 ++-
 doc/Guidebook.txt                            | 2530 +++++----
 doc/fixes22.0                                |  353 ++
 doc/fixes31.1                                |  110 +
 doc/fixes31.2                                |   92 +
 doc/fixes31.3                                |   22 +
 doc/fixes32.0                                |  344 ++
 doc/fixes32.1                                |  133 +
 doc/fixes32.2                                |  128 +
 doc/fixes32.3                                |   30 +
 doc/fixes33.0                                |  372 ++
 doc/fixes33.1                                |  444 ++
 doc/fixes34.0                                |  592 +++
 doc/lists                                    |  130 -
 doc/nethack.6                                |   35 +-
 doc/nethack.txt                              |  417 +-
 doc/tmac.n                                   |    5 +-
 doc/window.doc                               |  262 +-
 include/align.h                              |    5 +-
 include/amiconf.h                            |   43 +-
 include/artifact.h                           |    4 +-
 include/artilist.h                           |   98 +-
 include/attrib.h                             |    4 +-
 include/beconf.h                             |    2 +-
 include/bitmfile.h                           |   37 +
 include/color.h                              |    2 +-
 include/config.h                             |   88 +-
 include/config1.h                            |   12 +-
 include/coord.h                              |    4 +-
 include/decl.h                               |   84 +-
 include/def_os2.h                            |    2 +-
 include/dgn_file.h                           |    2 +-
 include/display.h                            |   57 +-
 include/dlb.h                                |    4 +-
 include/dungeon.h                            |    2 +-
 include/edog.h                               |    3 +-
 include/emin.h                               |    2 +-
 include/engrave.h                            |   15 +-
 include/epri.h                               |    2 +-
 include/eshk.h                               |    2 +-
 include/extern.h                             |  243 +-
 include/flag.h                               |  130 +-
 include/func_tab.h                           |    2 +-
 include/gem_rsc.h                            |   65 +
 include/global.h                             |   29 +-
 include/hack.h                               |   84 +-
 include/lev.h                                |   33 +-
 include/load_img.h                           |   46 +
 include/macconf.h                            |  117 +-
 include/macpopup.h                           |    9 +-
 include/mactty.h                             |   29 +-
 include/macwin.h                             |  155 +-
 include/mail.h                               |    2 +-
 include/mfndpos.h                            |    2 +-
 include/micro.h                              |    2 +-
 include/mkroom.h                             |    2 +-
 include/monattk.h                            |    3 +-
 include/mondata.h                            |   40 +-
 include/monflag.h                            |    2 +-
 include/monst.h                              |   12 +-
 include/monsym.h                             |    2 +-
 include/mttypriv.h                           |   10 +-
 include/nhlan.h                              |    2 +-
 include/ntconf.h                             |   54 +-
 include/obj.h                                |   39 +-
 include/objclass.h                           |   13 +-
 include/os2conf.h                            |    6 +-
 include/patchlevel.h                         |   65 +-
 include/pcconf.h                             |   21 +-
 include/permonst.h                           |    2 +-
 include/prop.h                               |    6 +-
 include/qt_clust.h                           |    2 +-
 include/qt_kde0.h                            |    4 +-
 include/qt_win.h                             |   57 +-
 include/qt_xpms.h                            |   13 +
 include/qtext.h                              |   25 +-
 include/qttableview.h                        |  251 +
 include/quest.h                              |    7 +-
 include/rect.h                               |    4 +-
 include/region.h                             |    2 +-
 include/rm.h                                 |   27 +-
 include/skills.h                             |    2 +-
 include/sp_lev.h                             |    2 +-
 include/spell.h                              |    2 +-
 include/system.h                             |   34 +-
 include/tcap.h                               |   17 +-
 include/tile2x11.h                           |    6 +-
 include/timeout.h                            |   13 +-
 include/tosconf.h                            |   10 +
 include/tradstdc.h                           |    6 +-
 include/trampoli.h                           |    2 +-
 include/trap.h                               |   16 +-
 include/unixconf.h                           |   68 +-
 include/vault.h                              |    2 +-
 include/vision.h                             |    8 +-
 include/vmsconf.h                            |    6 +-
 include/winGnome.h                           |   15 +
 include/winX.h                               |    7 +-
 include/winami.h                             |    3 +-
 include/wingem.h                             |  112 +
 include/winprocs.h                           |   82 +-
 include/wintty.h                             |    4 +-
 include/wintype.h                            |    2 +-
 include/xwindow.h                            |    2 +-
 include/xwindowp.h                           |    2 +-
 include/you.h                                |   44 +-
 include/youprop.h                            |    9 +-
 src/allmain.c                                |  413 +-
 src/alloc.c                                  |    2 +-
 src/apply.c                                  | 1066 ++--
 src/artifact.c                               |  326 +-
 src/attrib.c                                 |   31 +-
 src/ball.c                                   |  138 +-
 src/bones.c                                  |  107 +-
 src/botl.c                                   |   50 +-
 src/cmd.c                                    |  393 +-
 src/dbridge.c                                |   92 +-
 src/decl.c                                   |   64 +-
 src/detect.c                                 |  322 +-
 src/dig.c                                    |  222 +-
 src/display.c                                |  243 +-
 src/dlb.c                                    |   15 +-
 src/do.c                                     |  277 +-
 src/do_name.c                                |  360 +-
 src/do_wear.c                                |  444 +-
 src/dog.c                                    |  108 +-
 src/dogmove.c                                |  128 +-
 src/dokick.c                                 |  273 +-
 src/dothrow.c                                |  720 ++-
 src/drawing.c                                |   47 +-
 src/dungeon.c                                |   37 +-
 src/eat.c                                    |  626 ++-
 src/end.c                                    |  331 +-
 src/engrave.c                                |  232 +-
 src/exper.c                                  |   50 +-
 src/explode.c                                |  125 +-
 src/extralev.c                               |   18 +-
 src/files.c                                  |  735 ++-
 src/fountain.c                               |   78 +-
 src/hack.c                                   |  740 ++-
 src/hacklib.c                                |   17 +-
 src/invent.c                                 |  592 ++-
 src/light.c                                  |   43 +-
 src/lock.c                                   |   38 +-
 src/mail.c                                   |   45 +-
 src/makemon.c                                |  146 +-
 src/mapglyph.c                               |  232 +
 src/mcastu.c                                 |  916 +++-
 src/mhitm.c                                  |  231 +-
 src/mhitu.c                                  |  651 ++-
 src/minion.c                                 |   52 +-
 src/mklev.c                                  |   29 +-
 src/mkmap.c                                  |    9 +-
 src/mkmaze.c                                 |   72 +-
 src/mkobj.c                                  |  261 +-
 src/mkroom.c                                 |   33 +-
 src/mon.c                                    |  514 +-
 src/mondata.c                                |  206 +-
 src/monmove.c                                |  228 +-
 src/monst.c                                  |  369 +-
 src/mplayer.c                                |   73 +-
 src/mthrowu.c                                |  351 +-
 src/muse.c                                   |  354 +-
 src/music.c                                  |   72 +-
 src/o_init.c                                 |    7 +-
 src/objects.c                                |   62 +-
 src/objnam.c                                 |  478 +-
 src/options.c                                | 1722 +++++--
 src/pager.c                                  |   65 +-
 src/pickup.c                                 |  807 ++-
 src/pline.c                                  |   47 +-
 src/polyself.c                               |  259 +-
 src/potion.c                                 |  457 +-
 src/pray.c                                   |  471 +-
 src/priest.c                                 |   82 +-
 src/quest.c                                  |   33 +-
 src/questpgr.c                               |   17 +-
 src/read.c                                   |  428 +-
 src/rect.c                                   |    2 +-
 src/region.c                                 |   57 +-
 src/restore.c                                |   88 +-
 src/rip.c                                    |   19 +-
 src/rnd.c                                    |    2 +-
 src/role.c                                   |  674 ++-
 src/rumors.c                                 |   72 +-
 src/save.c                                   |  163 +-
 src/shk.c                                    |  843 ++-
 src/shknam.c                                 |   46 +-
 src/sit.c                                    |   51 +-
 src/sounds.c                                 |  246 +-
 src/sp_lev.c                                 |   76 +-
 src/spell.c                                  |  213 +-
 src/steal.c                                  |  374 +-
 src/steed.c                                  |  293 +-
 src/teleport.c                               |  100 +-
 src/timeout.c                                |  285 +-
 src/topten.c                                 |   97 +-
 src/track.c                                  |    2 +-
 src/trap.c                                   |  940 +++-
 src/u_init.c                                 |  269 +-
 src/uhitm.c                                  |  592 ++-
 src/vault.c                                  |  102 +-
 src/version.c                                |    4 +-
 src/vision.c                                 |   45 +-
 src/weapon.c                                 |  330 +-
 src/were.c                                   |    4 +-
 src/wield.c                                  |  174 +-
 src/windows.c                                |   40 +-
 src/wizard.c                                 |   93 +-
 src/worm.c                                   |    2 +-
 src/worn.c                                   |  182 +-
 src/write.c                                  |   24 +-
 src/zap.c                                    |  909 ++--
 sys/amiga/Build.ami                          |   73 +-
 sys/amiga/HackWB.uu                          |   22 -
 sys/amiga/Install.ami                        |  240 +-
 sys/amiga/{Makefile.ami => Makefile.agc}     |  588 +--
 sys/amiga/Makefile.ami                       |  140 +-
 sys/amiga/NHinfo.uu                          |   38 -
 sys/amiga/NetHack.cnf                        |   75 +-
 sys/amiga/NewGame.uu                         |   38 -
 sys/amiga/amibug                             |  225 -
 sys/amiga/amidos.c                           |   18 +-
 sys/amiga/amii.hlp                           |   42 +-
 sys/amiga/amilib.c                           |  369 --
 sys/amiga/amimenu.c                          |  302 +-
 sys/amiga/amirip.c                           |   29 +-
 sys/amiga/amisnd.c                           |   12 +-
 sys/amiga/amistack.c                         |   21 +
 sys/amiga/amitty.c                           |    7 +-
 sys/amiga/amiwbench.c                        |  639 ---
 sys/amiga/amiwind.c                          |   62 +-
 sys/amiga/ask.uu                             |   13 -
 sys/amiga/char.c                             |  527 --
 sys/amiga/charwin.uu                         |   63 -
 sys/amiga/clipwin.uu                         |   39 -
 sys/amiga/colors.uu                          |   38 -
 sys/amiga/dflticon.uu                        |   28 -
 sys/amiga/dispmap.s                          |  652 ---
 sys/amiga/hackwb.hlp                         |   42 -
 sys/amiga/randwin.c                          |  101 -
 sys/amiga/randwin.uu                         |   19 -
 sys/amiga/scroll.uu                          |   12 -
 sys/amiga/splitter/amiout.h                  |   92 -
 sys/amiga/splitter/arg.c                     |  242 -
 sys/amiga/splitter/arg.h                     |   17 -
 sys/amiga/splitter/loader.c                  |  465 --
 sys/amiga/splitter/multi.c                   |  115 -
 sys/amiga/splitter/multi.h                   |   35 -
 sys/amiga/splitter/split.doc                 |   63 -
 sys/amiga/splitter/split.h                   |  201 -
 sys/amiga/splitter/splitter.c                |  778 ---
 sys/amiga/string.uu                          |   18 -
 sys/amiga/txt2iff.c                          |   14 +-
 sys/amiga/wb.c                               | 3956 ---------------
 sys/amiga/wbcli.c                            | 2118 --------
 sys/amiga/wbdata.c                           |  437 --
 sys/amiga/wbdefs.h                           |  228 -
 sys/amiga/wbgads.c                           |  654 ---
 sys/amiga/wbprotos.h                         |  120 -
 sys/amiga/wbstruct.h                         |   52 -
 sys/amiga/wbwin.c                            | 2460 ---------
 sys/amiga/wbwin.uu                           |  305 --
 sys/amiga/winami.c                           |  466 +-
 sys/amiga/winchar.c                          |   16 +-
 sys/amiga/windefs.h                          |   29 +-
 sys/amiga/winext.h                           |   42 +-
 sys/amiga/winfuncs.c                         |  537 +-
 sys/amiga/winkey.c                           |    4 +-
 sys/amiga/winmenu.c                          |  402 +-
 sys/amiga/winreq.c                           |   53 +-
 sys/amiga/winstr.c                           |   73 +-
 sys/amiga/xpm2iff.c                          |   18 +-
 sys/atari/Install.tos                        |   66 +-
 sys/atari/Makefile.utl                       |  319 --
 sys/atari/atari.cnf                          |   81 -
 sys/atari/setup.g                            |   16 +-
 sys/atari/tos.c                              |   29 +-
 sys/atari/unx2atar.sed                       |   23 +
 sys/be/bemain.c                              |   17 +-
 sys/mac/Files.r                              |   73 +-
 sys/mac/Install.mw                           |   88 +-
 sys/mac/MacHelp                              |   86 +-
 sys/mac/NHDeflts                             |  106 +-
 sys/mac/NHrsrc.hqx                           | 2002 ++++----
 sys/mac/News                                 |    6 +-
 sys/mac/README                               |   11 +
 sys/mac/dprintf.c                            |   12 +-
 sys/mac/maccurs.c                            |   81 +-
 sys/mac/macerrs.c                            |   95 +-
 sys/mac/macfile.c                            |  328 +-
 sys/mac/macmain.c                            |   27 +-
 sys/mac/macmenu.c                            |  191 +-
 sys/mac/macsnd.c                             |   11 +-
 sys/mac/mactopl.c                            |    9 +-
 sys/mac/mactty.c                             |  120 +-
 sys/mac/macunix.c                            |   51 +-
 sys/mac/macwin.c                             | 1164 ++---
 sys/mac/mgetline.c                           |   20 +-
 sys/mac/mmodal.c                             |  643 +--
 sys/mac/mrecover.c                           |    6 +-
 sys/mac/mstring.c                            |   43 -
 sys/mac/mttymain.c                           |  103 +-
 sys/mac/old/DCproj.hqx                       |  347 --
 sys/mac/old/Install.mpw                      |  102 -
 sys/mac/old/Install.thk                      |  278 -
 sys/mac/old/LCproj.hqx                       |  519 --
 sys/mac/old/MDproj.hqx                       |  250 -
 sys/mac/old/NHmake.hqx                       |  549 --
 sys/mac/old/NHproj.hqx                       |  953 ----
 sys/mac/old/NetHack.r                        |   89 -
 sys/mac/old/macsegs                          |  333 --
 sys/mac/old/mhdump.c                         |   10 -
 sys/mac/old/mpwhack.h                        |    2 -
 sys/msdos/Install.dos                        |  113 +-
 sys/msdos/Makefile.BC                        |   13 +-
 sys/msdos/Makefile.GCC                       |   36 +-
 sys/msdos/Makefile.MSC                       |  661 +--
 sys/msdos/Makefile.SC                        |    4 +-
 sys/msdos/NHAccess.nh                        |    6 +-
 sys/msdos/compwarn.lst                       |   16 +
 sys/msdos/def2mak.c                          |  383 ++
 sys/msdos/genschem.l                         |  326 ++
 sys/msdos/msdos.c                            |   22 +-
 sys/msdos/msdoshlp.txt                       |    6 +-
 sys/msdos/old/MakeMSC.src                    |  740 ---
 sys/msdos/old/MakeMSC.utl                    |  322 --
 sys/msdos/old/Makefile.dat                   |  108 -
 sys/msdos/old/README.old                     |   29 -
 sys/msdos/old/exesmurf.c                     |  384 --
 sys/msdos/old/exesmurf.doc                   |   97 -
 sys/msdos/old/maintovl.doc                   |  340 --
 sys/msdos/old/ovlmgr.asm                     | 2124 --------
 sys/msdos/old/ovlmgr.doc                     |  393 --
 sys/msdos/old/ovlmgr.uu                      |  152 -
 sys/msdos/old/schema.old                     |  216 -
 sys/msdos/old/trampoli.c                     |  638 ---
 sys/msdos/ovlinit.c                          |    2 +-
 sys/msdos/pckeys.c                           |    2 +-
 sys/msdos/pctiles.c                          |    3 +-
 sys/msdos/pctiles.h                          |    2 +-
 sys/msdos/pcvideo.h                          |    4 +-
 sys/msdos/portio.h                           |    2 +-
 sys/msdos/prebuild.mak                       |   67 +
 sys/msdos/schema1                            |  606 +++
 sys/msdos/schema1.BC                         |    2 +-
 sys/msdos/schema2                            |  669 +++
 sys/msdos/schema2.BC                         |    2 +-
 sys/msdos/schema3                            |  600 +++
 sys/msdos/schema3.MSC                        |  293 +-
 sys/msdos/setup.bat                          |    9 +-
 sys/msdos/sound.c                            |    2 +-
 sys/msdos/{Makefile.BC => template.mak}      | 1002 ++--
 sys/msdos/tile2bin.c                         |    4 +-
 sys/msdos/video.c                            |   30 +-
 sys/msdos/vidtxt.c                           |    5 +-
 sys/msdos/vidvga.c                           |   73 +-
 sys/os2/Install.os2                          |   12 +-
 sys/os2/Makefile.os2                         |  753 ++-
 sys/os2/os2.c                                |    2 +-
 sys/share/Makefile.lib                       |    2 +-
 sys/share/NetHack.cnf                        |   81 +-
 sys/share/dgn_lex.c                          |   39 +-
 sys/share/dgn_yacc.c                         |    2 +-
 sys/share/ioctl.c                            |    2 +-
 sys/share/lev_lex.c                          |  885 ++--
 sys/share/lev_yacc.c                         |   10 +-
 sys/share/nhlan.c                            |    2 +-
 sys/share/pcmain.c                           |   89 +-
 sys/share/pcsys.c                            |   55 +-
 sys/share/pctty.c                            |    2 +-
 sys/share/pcunix.c                           |   86 +-
 sys/share/sounds/README                      |    2 +-
 sys/share/tclib.c                            |    2 +-
 sys/share/unixtty.c                          |   32 +-
 sys/share/uudecode.c                         |  250 +
 sys/unix/Install.unx                         |    8 +-
 sys/unix/Makefile.dat                        |   42 +-
 sys/unix/Makefile.doc                        |   11 +-
 sys/unix/Makefile.src                        |  215 +-
 sys/unix/Makefile.top                        |  101 +-
 sys/unix/Makefile.utl                        |   69 +-
 sys/unix/README.linux                        |   89 +
 sys/unix/depend.awk                          |   16 +-
 sys/unix/nethack.sh                          |    2 +-
 sys/unix/unixmain.c                          |  147 +-
 sys/unix/unixres.c                           |  213 +
 sys/unix/unixunix.c                          |  167 +-
 sys/vms/Install.vms                          |   28 +-
 sys/vms/Makefile.dat                         |   13 +-
 sys/vms/Makefile.doc                         |    2 +-
 sys/vms/Makefile.src                         |   56 +-
 sys/vms/Makefile.top                         |    2 +-
 sys/vms/Makefile.utl                         |   62 +-
 sys/vms/lev_lex.h                            |    2 +-
 sys/vms/oldcrtl.c                            |    2 +-
 sys/vms/vmsbuild.com                         |   11 +-
 sys/vms/vmsfiles.c                           |    2 +-
 sys/vms/vmsmail.c                            |    2 +-
 sys/vms/vmsmain.c                            |   22 +-
 sys/vms/vmsmisc.c                            |    2 +-
 sys/vms/vmstty.c                             |    2 +-
 sys/vms/vmsunix.c                            |   53 +-
 sys/winnt/Install.nt                         |  477 +-
 sys/winnt/Makefile.bcc                       | 1311 +++++
 sys/winnt/Makefile.gcc                       | 1309 +++++
 sys/winnt/Makefile.msc                       | 1345 +++++
 sys/winnt/Makefile.nt                        | 1199 -----
 sys/winnt/console.rc                         |   11 +
 sys/{share/NetHack.cnf => winnt/defaults.nh} |  131 +-
 sys/winnt/mapimail.c                         |    5 +-
 sys/winnt/nethack.def                        |    2 +-
 sys/winnt/nhico.uu                           |   50 +-
 sys/winnt/nhsetup.bat                        |  144 +-
 sys/winnt/ntsound.c                          |    2 +-
 sys/winnt/nttty.c                            |  368 +-
 sys/winnt/porthelp                           |  300 ++
 sys/winnt/win32api.h                         |    2 +-
 sys/winnt/winnt.c                            |   22 +-
 sys/winnt/winnt.cnf                          |   84 -
 util/dgn_comp.l                              |   39 +-
 util/dgn_comp.y                              |    2 +-
 util/dgn_main.c                              |    6 +-
 util/dlb_main.c                              |   11 +-
 util/lev_comp.l                              |   45 +-
 util/lev_comp.y                              |   10 +-
 util/lev_main.c                              |  149 +-
 util/makedefs.c                              |   71 +-
 util/panic.c                                 |    2 +-
 util/recover.c                               |   89 +-
 win/Qt/Install.Qt                            |   33 +-
 win/Qt/nhsplash.xpm                          |  374 ++
 win/Qt/qt_clust.cpp                          |    2 +-
 win/Qt/qt_win.cpp                            | 1692 +++++--
 win/Qt/qttableview.cpp                       | 2275 +++++++++
 win/Qt/tileedit.cpp                          |   11 +-
 win/Qt/tileedit.h                            |    2 +-
 win/X11/Install.X11                          |    6 +
 win/X11/NetHack.ad                           |   32 +-
 win/X11/Window.c                             |    2 +-
 win/X11/dialogs.c                            |    2 +-
 win/X11/nh32icon                             |    8 +-
 win/X11/nh56icon                             |   14 +-
 win/X11/nh72icon                             |    2 +-
 win/X11/rip.xpm                              |    2 +-
 win/X11/tile2x11.c                           |   70 +-
 win/X11/winX.c                               |   61 +-
 win/X11/winmap.c                             |  272 +-
 win/X11/winmenu.c                            |    4 +-
 win/X11/winmesg.c                            |    2 +-
 win/X11/winmisc.c                            |  434 +-
 win/X11/winstat.c                            |   14 +-
 win/X11/wintext.c                            |   22 +-
 win/X11/winval.c                             |    2 +-
 win/gem/Install.gem                          |   38 +
 win/gem/bitmfile.c                           |  340 ++
 win/gem/gem_rsc.uu                           |  230 +
 win/gem/gem_rso.uu                           |   22 +
 win/gem/gr_rect.c                            |  181 +
 win/gem/gr_rect.h                            |   14 +
 win/gem/load_img.c                           |  289 ++
 win/gem/tile2img.c                           |  156 +
 win/gem/title.uu                             |  426 ++
 win/gem/wingem.c                             | 1241 +++++
 win/gem/wingem1.c                            | 2970 +++++++++++
 win/gem/xpm2img.c                            |  164 +
 win/gnome/README                             |   53 +
 include/qt_xpms.h => win/gnome/gn_xpms.h     |  133 +-
 win/gnome/gnaskstr.c                         |   61 +
 win/gnome/gnaskstr.h                         |   14 +
 win/gnome/gnbind.c                           | 1183 +++++
 win/gnome/gnbind.h                           |   93 +
 win/gnome/gnglyph.c                          |  229 +
 win/gnome/gnglyph.h                          |   42 +
 win/gnome/gnmain.c                           |  825 +++
 win/gnome/gnmain.h                           |   25 +
 win/gnome/gnmap.c                            |  612 +++
 win/gnome/gnmap.h                            |   16 +
 win/gnome/gnmenu.c                           |  656 +++
 win/gnome/gnmenu.h                           |   32 +
 win/gnome/gnmesg.c                           |  102 +
 win/gnome/gnmesg.h                           |   23 +
 win/gnome/gnomeprv.h                         |   16 +
 win/gnome/gnopts.c                           |  117 +
 win/gnome/gnopts.h                           |   13 +
 win/gnome/gnplayer.c                         |  101 +
 win/gnome/gnplayer.h                         |   10 +
 win/gnome/gnsignal.c                         |  441 ++
 win/gnome/gnsignal.h                         |   56 +
 win/gnome/gnstatus.c                         |  941 ++++
 win/gnome/gnstatus.h                         |   14 +
 win/gnome/gntext.c                           |  158 +
 win/gnome/gntext.h                           |   22 +
 win/gnome/gnyesno.c                          |   76 +
 win/gnome/gnyesno.h                          |   12 +
 win/gnome/mapbg.xpm                          |  353 ++
 win/share/monsters.txt                       |   56 +-
 win/share/objects.txt                        |  676 +--
 win/share/other.txt                          | 1678 +++++-
 win/share/ppmwrite.c                         |    4 +-
 win/share/thintile.c                         |   16 +-
 win/share/tile.h                             |    2 +
 win/{win32 => share}/tile2bmp.c              |   86 +-
 win/share/tilemap.c                          |   68 +-
 win/share/tiletext.c                         |    6 +-
 win/tty/getline.c                            |   32 +-
 win/tty/termcap.c                            |  198 +-
 win/tty/topl.c                               |   73 +-
 win/tty/wintty.c                             |  767 +--
 win/win32/dgncomp.dsp                        |  297 ++
 win/win32/dgnstuff.dsp                       |   97 +
 win/win32/dgnstuff.mak                       |   59 +
 win/win32/dlb_main.dsp                       |  179 +
 win/win32/levcomp.dsp                        |  198 +
 win/win32/levstuff.dsp                       |   97 +
 win/win32/levstuff.mak                       |   59 +
 win/win32/makedefs.dsp                       |  198 +
 win/win32/mhaskyn.c                          |   11 +
 win/win32/mhaskyn.h                          |   11 +
 win/win32/mhdlg.c                            |  729 +++
 win/win32/mhdlg.h                            |   15 +
 win/win32/mhfont.c                           |  194 +
 win/win32/mhfont.h                           |   15 +
 win/win32/mhinput.c                          |   85 +
 win/win32/mhinput.h                          |   35 +
 win/win32/mhmain.c                           |  915 ++++
 win/win32/mhmain.h                           |   16 +
 win/win32/mhmap.c                            |  954 ++++
 win/win32/mhmap.h                            |   20 +
 win/win32/mhmenu.c                           | 1367 +++++
 win/win32/mhmenu.h                           |   18 +
 win/win32/mhmsg.h                            |   61 +
 win/win32/mhmsgwnd.c                         |  540 ++
 win/win32/mhmsgwnd.h                         |   15 +
 win/win32/mhrip.c                            |  265 +
 win/win32/mhrip.h                            |   15 +
 win/win32/mhsplash.c                         |  169 +
 win/win32/mhsplash.h                         |   13 +
 win/win32/mhstatus.c                         |  176 +
 win/win32/mhstatus.h                         |   14 +
 win/win32/mhtext.c                           |  254 +
 win/win32/mhtext.h                           |   14 +
 win/win32/mnsel.uu                           |    9 +
 win/win32/mnselcnt.uu                        |    9 +
 win/win32/mnunsel.uu                         |    9 +
 win/win32/mswproc.c                          | 2017 ++++++++
 win/win32/nethack.dsw                        |  215 +
 win/win32/nethackw.dsp                       | 1108 ++++
 win/win32/petmark.uu                         |    9 +
 win/win32/recover.dsp                        |  146 +
 win/win32/resource.h                         |  149 +
 win/win32/rip.uu                             | 1805 +++++++
 win/win32/splash.uu                          | 7045 ++++++++++++++++++++++++++
 win/win32/tile2bmp.dsp                       |  146 +
 win/win32/tilemap.dsp                        |  281 +
 win/win32/tiles.dsp                          |   97 +
 win/win32/tiles.mak                          |   21 +
 win/win32/uudecode.dsp                       |  146 +
 win/win32/winMS.h                            |  187 +
 win/win32/winhack.c                          |  287 ++
 win/win32/winhack.h                          |   18 +
 win/win32/winhack.rc                         |  332 ++
 657 files changed, 88218 insertions(+), 46480 deletions(-)

diff --cc debian/README.Debian
index 24aa09e,0000000..c725eea
mode 100644,000000..100644
--- a/debian/README.Debian
+++ b/debian/README.Debian
@@@ -1,21 -1,0 +1,104 @@@
- README for Debian GNU/Linux Nethack 3.3.0:
++README for Debian GNU/Linux Nethack 3.4.0
++-----------------------------------------
++
++[ Apologies for Save File Format Change ]
++
++The save-game format has changed again for Nethack 3.4.0.  You
++should have been prompted by the installer to back up your old
++save game files and high score list into /tmp.  Unfortunately,
++your old save-games are no longer useful with Nethack 3.4.0,
++although it may be possible to merge the old high score lists.
++
++[ New in Nethack for Debian 3.4.0-1 and Later ]
++
++The Debian Nethack packages have been restructured.  Now,
++separate packages are provided for each graphical interface:
++
++ * nethack-x11
++ * nethack-gnome
++ * nethack-qt
++
++Each of these packages also contains the classic text-based
++interface.  You can get the classic interface by running
++/usr/games/nethack, or a graphical interface by running:
++
++(for x11): /usr/games/xnethack
++(for gnome): /usr/games/nethack-gnome
++(for qt): /usr/games/nethack-qt
++
++   -->  ** NOTE **  <--
++
++If you set the NETHACKOPTIONS or HACKOPTIONS environment variable,
++this will override any settings in the above GUI wrapper scripts.
++You *MUST* include the proper windowtype flag if you wish to have
++the graphical interface, like:
++
++(for x11)   windowtype:x11
++(for gnome) windowtype:gnome
++(for qt)    windowtype:qt
++
++The text-based interface (windowtype:tty) will be used as a default if
++NETHACKOPTIONS is set but you do not set the windowtype option.  This
++is so users without X available do not get a strange error if they
++set NETHACKOPTIONS just to change the cat/dog name, etc.
++
++[ Changing the default graphical interface ]
++
++The /usr/games/nethack symlink is maintained with update-alternatives,
++so if you wish to make one of the graphical interfaces the default,
++simply run (as root):
++
++# update-alternatives --config nethack
++
++The common dungeon files and utilities have been moved out
++into a separate package, nethack-common.
++
++The old nethack package is now a dummy package that just depends
++on nethack-common and nethack-x11 to behave how the old version
++did.
++
++Please note that the Gnome interface is not yet fully stable,
++and is known to have some bugs.  If you value your character, please
++use the x11, qt, or text interfaces.
++
++[ Configuration Files for 3.4.0-1 and Later ]
++
++The previous Debian releases of Nethack did not provide for
++separate configuration files for each windowing system. (If
++you ran xnethack, ~/.nethackrc was ignored.)  Now, each windowing
++system has its own set of system defaults and per-user defaults:
++
++x11: ~/.nethackrc.x11 or /etc/nethack/nethackrc.x11
++gnome: ~/.nethackrc.gnome or /etc/nethack/nethackrc.gnome 
++qt: ~/.nethackrc.qt or /etc/nethack/nethackrc.qt
++
++text: ~/.nethackrc or /etc/nethack/nethackrc.tty
++
++If the HACKOPTIONS environment variable is set to a filename,
++that configuration file is always used.  Otherwise, the per-user
++config file is tried for the appropriate windowing system
++(~/.nethackrc.gnome for gnome, etc).  If that is not found,
++the system-wide default in /etc/nethack is used.
++
++[ Description of Nethack ]
 +
 +Nethack is a wonderfully silly yet quite addicting Dungeons and
 +Dragons-style adventure game. You play the part of a fierce fighter,
 +wizard, or any of many other classes, fighting your way down to
 +retrieve the Amulet of Yendor (try saying THAT one backwards!) for
 +your god. On the way, you might encounter a quantum mechanic or two,
 +or perhaps a microscopic space fleet, or -- if you're REALLY lucky --
 +the Ravenous Bugblatter Beast of Traal.
 +
 +There is a nethack-spoilers package available separately if you are
 +really stuck, to be used only as a last resort.
 +
 +A few utilities -- recover, for retrieving your auto-save files in case
 +of a power failure, and dgn_comp and lev_comp, two utilities for making
 +your own Nethack levels and dungeons, have been included in
- /usr/lib/games/nethack.
++/usr/lib/games/nethack.  As of Nethack 3.4.0, the dlb utility is
++included for master hackers.
 +
 +The recover utility will be run upon bootup by /etc/init.d/nethack.
 +Any auto-save files still on the system from a possible crash will be
 +retrieved and converted into proper save files.
diff --cc debian/changelog
index 3bf5ae2,0000000..3906d4d
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,266 -1,0 +1,464 @@@
- nethack (3.3.0-7potato1) oldstable-security; urgency=high
++nethack (3.4.0-3.0woody3) stable-security; urgency=high
++
++  * Security update based on Peter Makholm's NMU from proposed-updates
++    - Don't install setgid-games binaries group writable (#180535)
++    - Fix buffer overflow (#181854)
++
++ -- Matt Zimmerman <mdz at debian.org>  Wed, 14 May 2003 00:41:39 -0400
++
++nethack (3.4.0-3.0woody2) stable; urgency=high
++
++  * NMU for stable made with acceptance of real maintainer  
++  * Don't install recover utilities writable by group games
++    (Bug: #180535)
++  * Fix buffer overflow mentioned on BugTraq
++    <http://online.securityfocus.com/archive/1/311172>
++    Local priviledge escalation where users could gain access as
++    group games. (Bug: #181854)
++    (In combination these two bugs and a well timed chrash could get
++     any nethack playing user compromised)
++
++ -- Peter Makholm <peter at makholm.net>  Mon, 10 Mar 2003 21:15:23 +0100
++
++nethack (3.4.0-3.0woody1) testing-security; urgency=high
++
++  * NMU by the security team.
++  * Import security fixes from the slashem package (Closes: #147166).
++
++ -- Daniel Jacobowitz <dan at debian.org>  Sat,  6 Jul 2002 17:01:05 -0400
++
++nethack (3.4.0-3) unstable; urgency=low
++
++  * Change DEFAULT_WINDOW_SYS to "tty" unconditionally for all
++    GUI frontends.  This fixes the case where a user sets
++    NETHACKOPTIONS to customize just the dog/cat name or what have you,
++    but doesn't set a windowtype:tty flag.  Then, the /usr/bin/nethack
++    script will not touch NETHACKOPTIONS, and it will give a strange
++    error when it starts up the Qt/Gnome version if X is unavailable.
++    (Closes: #142055)
++  * Patch unixconf.h to use /usr/bin/mail instead of /bin/mail.
++    (Closes: #142000)
++  * Fix nethackrc.qt -> .nethackrc.qt typo in README.Debian.
++    (Closes: #141244)
++  * Not defining SCORE_ON_BOTL for the time being -- it introduces
++    a save-game file incompatibility, so I will do that for the next
++    upstream release.
++
++ -- Ben Gertzfield <che at debian.org>  Wed, 10 Apr 2002 12:31:21 +0900
++
++nethack (3.4.0-2) unstable; urgency=MEDIUM
++
++  * Fix recover to use VAR_PLAYGROUND, not HACKDIR. (Closes: #140701)
++  * Fix menu entries.  Now nethack-common has the /usr/games/nethack
++    entry (assumed to be text; if the user overrides it, they can
++    override the menu entry too), nethack-x11 has /usr/games/xnethack,
++    etc. etc. (Closes: #140704)
++  * Fix a security bug in recover; other users could "recover"
++    save games belonging to users besides themselves.  However,
++    they could not load the generated save file unless they could
++    also change their UID, as the save file name is always ###playername,
++    where ### is the UID allowed to open saved game.
++  * Now, recover will only "recover" crash files belonging to the
++    same user (or any user, if run by root).  Also, it chowns the
++    resultant save file to the original owner of the crash files.
++    (Closes: #104247)
++  * Add hints "Roguelike,Maze,Dungeon" to menu entries Just For Fun.
++
++ -- Ben Gertzfield <che at debian.org>  Tue,  2 Apr 2002 23:10:06 +0900
++
++nethack (3.4.0-1) unstable; urgency=low
++
++  * New upstream version.
++  * Split into nethack-common, nethack-x11, nethack-gnome, nethack-qt
++    packages. (See README.Debian for details.) 
++    (Closes: #88129, #43764, #78046, #53356, #58528)
++  * nethack package is now a dummy package that depends on nethack-common
++    and nethack-x11 for backwards compatibility.
++  * /usr/games/nethack now managed by update-alternatives; can be
++    set to either tty or graphical version.
++  * Save files changed format again; prompt to back up and wipe
++    /var/games/nethack and/or /var/lib/games/nethack on upgrade.
++  * Use dh_installman instead of dh_installmanpages.
++  * Use dh_installxfonts to register X fonts, etc.
++  * Install dlb utility in /usr/lib/games/nethack. (Closes: #129741)
++  * Make sure NetHack.tile_file is not commented out in app-defaults
++    file. (Closes: #119673)
++  * config files moved to /etc/nethack/nethackrc.* for various
++    windowing types.  Config files in ~/.nethackrc.* now supported
++    per-windowing type.  (HACKOPTIONS still overrides them, though.)
++  * Fixed numpad issue many moons ago in xterm: (Closes: #52744)
++  * Unable to reproduce old ?a ?b bug in xnethack. (Closes: #86959)
++  * (Oops, typo when fixed manpage in last version.) (Closes: #111097)
++  * desparate -> desperate in package description (Closes: #125180)
++  * Using --prefix for tempfile now. (Closes: #54586)
++  * Shipping with NetHack*autofocus: False in X11 application-defaults
++    file to work around odd Xaw bugs that pop up now and again; the
++    patch supplied in #94298 no longer applies to 3.4.0, but the
++    crashes still show up with NetHack*autofocus: True once in
++    a while.
++
++ -- Ben Gertzfield <che at debian.org>  Sat, 23 Mar 2002 21:57:18 +0900
++
++nethack (3.3.1-7) unstable; urgency=low
++
++  * Sorry for being out of touch for a while. I'm back in business
++    now that I'm settled down in Tokyo, and have my own desktop computer
++    again.
++  * Work-around for Xt-related segfaults. May be fixed upstream in
++    next release. (Closes: #94298)
++  * Use upstream NetHack application-defaults file, and merge in changes
++    from upstream nethack.rc for X11 with our customized Debian one.
++    (Closes: #95533)
++  * Check for existence of old /var/lib/games/nethack dir before
++    warning about its possible existence (covers when a user installs
++    a pre 3.3.1-5 nethack, purges it, then installs a newer one).
++    (Closes: #95536)
++  * Fix manpage to refer to /usr/bin/mail and
++    /usr/lib/games/nethack. (Closes: #111096)
++
++ -- Ben Gertzfield <che at debian.org>  Sat, 22 Sep 2001 20:13:10 +0900
++
++nethack (3.3.1-6) unstable; urgency=MEDIUM
++
++  * Whoops.  Forgot to copy over the old save/high score files
++    from /var/lib/games/nethack -> /var/games/nethack.
++    Do so carefully, then remove the old directory. (Closes: #92501)
++  * postrm/preinst still had old dir in there. Oops. 
++    So did /etc/init.d/nethack..  I'm very embarassed. Fixed.
++  * The preinst does still look in /var/lib/games/nethack for
++    pre-3.3.1 versions to archive them.
++
++ -- Ben Gertzfield <che at debian.org>  Thu, 12 Apr 2001 20:01:04 -0700
++
++nethack (3.3.1-5) unstable; urgency=low
++
++  * Fix FHS bug (/var/lib/games -> /var/games). (Closes: #92501)
++  * Just a note, I'm not working on building gnomehack as of yet,
++    because with GTK+ 1.2.9 and later, it's quite useless, since
++    nethack has to run set-GID and GTK+ >= 1.2.9 forbids this 
++    (with good reason.)
++  * A lot of bugs were reassigned from gnomehack to nethack that
++    are not nethack bugs.
++    - Nethack is in .orig.tar.gz+.diff.gz format. (Closes: #62976)
++    - No alsa deps for nethack. (Closes: #56738)
++    - The stairs bug mentioned is unreproducable in stock Nethack.
++      (Closes: #72202)
++    - Menu entry for creating new game bug?  Seems gnome-specific.
++      (Closes: #79771)
++    - Options dialog bug is gnomehack-specific. (Closes: #64944)
++    - Gnomehack used a different recovery script that was broken.
++      Not applicable to nethack. (Closes: #69080, #71193)
++
++ -- Ben Gertzfield <che at debian.org>  Wed, 11 Apr 2001 18:45:00 -0700
++
++nethack (3.3.1-4) unstable; urgency=medium
++
++  * Add Build-Deps on libxaw-dev and bsdmainutils. (Closes: #89565)
++    Thanks to neuro and BenC for pointing these out.
++
++ -- Ben Gertzfield <che at debian.org>  Tue, 13 Mar 2001 20:05:13 -0800
++
++nethack (3.3.1-3) unstable; urgency=low
++
++  * Buh.  Stupid typo in /etc/init.d/nethack; doesn't actually run.
++    Fixed.  Also implemented stop|reload|restart|force-reload (which
++    do nothing, as this is a rcS.d-only script) for policy reasons.
++  * Lintian fix: make symlink for license file relative.
++  * Lintian fix: don't use menu icon "none".
++
++ -- Ben Gertzfield <che at debian.org>  Mon, 12 Mar 2001 23:53:45 -0800
++
++nethack (3.3.1-2) unstable; urgency=low
++
++  * Bug hunting release: add Build-Depends (Closes: #84643)
++  * Change init.d/nethack to not exit on failure, and be ash-compliant
++    (Closes: #75972)
++  * Move app-defaults to new /etc/X11 location and make it a
++    conffile. (Closes: #86281)
++  * Patch from Ian Jackson to make recover look in the right place.
++    (Closes: #72584)
++  * Fixed LOGDIR typo long ago. (Closes: #65486)
++  * Remove call to dh_suidregister and add Conflicts: suidmanager (<< 0.50)
++  * Change calls to /usr/X11R6/bin/ utilities to /usr/bin/X11/.
++  * Add Depends: on xutils, as we call mkfontdir in postinst/postrm.
++
++ -- Ben Gertzfield <che at debian.org>  Mon, 12 Mar 2001 21:14:57 -0800
++
++nethack (3.3.1-1) unstable; urgency=low
++
++  * New upstream version. (Huzzah!)
++  * Wow. I don't have to build with special patches any more; just
++    about *everything* was accepted upstream. Go DevTeam! You guys
++    rule. :) (One thing I noticed wasn't patched upstream was
++    disabling IBMgraphics on the Rogue level. If people still notice
++    problems, let me know; the historic problems with IBMgraphics
++    on the rogue level may have been fixed.
 +
-   * Non-maintainer upload by the Security Team
-   * Fix buffer overflow in src/topten.c (#181854)
-   * Build-Depends: debhelper, libncurses5-dev, flex, bison, groff,
-     bsdmainutils, xlib6g-dev, xpm4g-dev, xbase-clients
++ -- Ben Gertzfield <che at debian.org>  Fri, 11 Aug 2000 16:52:27 -0700
 +
-  -- Matt Zimmerman <mdz at debian.org>  Sun, 25 May 2003 17:07:57 -0400
++nethack (3.3.0-9) unstable; urgency=low
++
++  * Fix LOGDIR typo that could cause segfaults. (Eek!) Closes: #65486
++
++ -- Ben Gertzfield <che at debian.org>  Sun, 11 Jun 2000 23:03:35 -0700
++
++nethack (3.3.0-8) frozen unstable; urgency=low
++
++  * Fix preinst to not print all messages on one line. (Ick. :)
++
++ -- Ben Gertzfield <che at debian.org>  Mon, 31 Jan 2000 13:27:37 -0800
 +
 +nethack (3.3.0-7) unstable; urgency=low
 +
 +  * Patch to fix bones-file handling in /var/lib/games/nethack.
 +    (The bones-file functions were changed from 3.2.2 and so
 +    broke my older patch.) Closes: #54961
 +
 + -- Ben Gertzfield <che at debian.org>  Wed, 12 Jan 2000 21:50:01 -0800
 +
 +nethack (3.3.0-6) unstable; urgency=low
 +
 +  * Change /usr/games/nethack script to remove stupid 'max number of
 +    Nethack players at once' hack.
 +  * Change /etc/init.d/nethack to work on *any* lock files in
 +    /var/lib/games/nethack (use *.0 instead of *lock.0)
 +  * Patch to fix nasty bugs introduced by separating lock/savefiles
 +    into /var/lib/games/nethack. (Forgot some /s to a few sprintfs,
 +    ouch!)
 +  * Patch to fix recover to work with separate /var/lib/games/nethack
 +    once again. Closes: #52995
 +  * Change default cat/dog/fruit names when using xnethack to be
 +    more.. Debian-y. :)
 +
 + -- Ben Gertzfield <che at debian.org>  Wed,  5 Jan 2000 16:32:53 -0800
 +
 +nethack (3.3.0-5) unstable; urgency=low
 +
 +  * Make root the user able to enter wizard (debug) mode with 'nethack -D'
 +    instead of user 'wizard', the old default. Closes: #53901
 +  * Add link from /usr/lib/games/nethack/license -> 
 +    /usr/share/doc/nethack/copyright so ?i works in game. Closes: #53979
 +  * Make sure we pass arguments to nethack when run from xnethack
 +    script. Fixes: #54104
 +
 + -- Ben Gertzfield <che at debian.org>  Wed,  5 Jan 2000 10:23:32 -0800
 +
 +nethack (3.3.0-4) unstable; urgency=low
 +
 +  * Add color patch to fix swap of red and blue colors.
 +  * Port Linux console IBMgraphics patch from 3.2.2.
 +  * Remove all use of --suffix argument to tempfile, to make
 +    building slink packages easier. Closes: #52968
 +
 + -- Ben Gertzfield <che at debian.org>  Fri, 17 Dec 1999 15:26:05 -0800
 +
 +nethack (3.3.0-3) unstable; urgency=low
 +
 +  * Fix missing 'esac' at end of /etc/init.d/nethack. Closes: #52738
 +
 + -- Ben Gertzfield <che at debian.org>  Tue, 14 Dec 1999 15:35:32 -0800
 +
 +nethack (3.3.0-2) unstable; urgency=low
 +
 +  * Note split of spoilers in README.Debian. Closes: #52628
 +  * Improve logic in preinst for various combinations of 'install' and
 +    'upgrade' arguments.
 +  * Test for existence of /var/lib/games/nethack before trying to archive
 +    it in preinst. Closes: #52666
 +  * (Yes, 3.3.0 fixes the Y2K bugs in Nethack! Sorry for not mentioning
 +     this below.)
 +
 + -- Ben Gertzfield <che at debian.org>  Mon, 13 Dec 1999 22:15:10 -0800
 +
 +nethack (3.3.0-1) unstable; urgency=low
 +
 +  * Finally! A new upstream version! Fixes: #52565
 +  * No more bashisms in postinst. Fixes: #36006
 +  * Use /etc/init.d/nethack and a link /etc/rcS.d/nethack instead
 +    of /etc/rc.boot/nethack. Fixes: #32441
 +  * Spoilers split off into separate nethack-spoilers package. (Note:
 +    spoilers may be out of date now for 3.3.0!)
 +  * NOTE NOTE NOTE: Save files from 3.2.2 are *NOT COMPATIBLE* with
 +    3.3.0 so the preinst will prompt the user and archive the old
 +    save directory, or abort.
 +  * Now depends on debianutils (>= 1.13) because we use 'tempfile'
 +    program in the preinst to get a safe filename for archiving
 +    into for the above NOTE NOTE NOTE. This sucks, though, because
 +    slink's debianutils is 1.10, but it doesn't support the
 +    --suffix we need to make a tempfile with .tar.gz as the extension.
 +
 + -- Ben Gertzfield <che at debian.org>  Sun, 12 Dec 1999 14:22:23 -0800
 +
 +nethack (3.2.2-16) unstable; urgency=low
 +
 +  * Use Richard Braakman's wonderful patch to fix color support in
 +    Nethack with ncurses 4.2. (Fixes: #27817)
 +  * Use Hartmut Koptein's patch for glibc 2.1 prototypes checking.
 +    (Fixes: #32012)
 +
 + -- Ben Gertzfield <che at debian.org>  Thu, 21 Jan 1999 07:00:41 -0800
 +
 +nethack (3.2.2-15) frozen unstable; urgency=low
 +
 +  * Recompile with ncurses 4.2.
 +
 + -- Ben Gertzfield <che at debian.org>  Fri, 30 Oct 1998 12:38:12 -0800
 +
 +nethack (3.2.2-14) unstable; urgency=low
 +
 +  * Add test in preinst to make sure we don't check $2 on anything
 +    but an upgrade, as dpkg can call the preinst with no $2 if
 +    we're doing a fresh install, and that'll make my test to see
 +    what version we're upgrading from crash. (Fixes: #27101)
 +
 + -- Ben Gertzfield <che at debian.org>  Sat, 26 Sep 1998 10:57:36 -0700
 +
 +nethack (3.2.2-13) unstable; urgency=low
 +
 +  * Applied David Damerell's paranoid_quit and big top 10 patches.
 +    (Fixes: #26609)
 +
 + -- Ben Gertzfield <che at debian.org>  Mon, 21 Sep 1998 19:30:22 -0700
 +
 +nethack (3.2.2-12) unstable; urgency=low
 +
 +  * Made postinst really anal on checks for upgrades from old versions,
 +    to make all permissions correct. (Fixes: #25881, #19588)
 +  * Converted debian/rules to debhelper. (Fixes: #14492)
 +  * /var/lib/games/nethack/{record,logfile,perm} are no longer conffiles,
 +    and the management of them has moved to the postinst/postrm scripts.
 +  * Enabled tiles by default when running with X enhancements.
 +  * Created xnethack script to run the X-based nethack.
 +  * Disabled the mail daemon mail-check in X-based nethack, as it
 +    could cause nethack to freeze if run from the menu entry (as
 +    opposed to from within an xterm).
 +
 + -- Ben Gertzfield <che at debian.org>  Tue, 18 Aug 1998 17:10:16 -0700
 +
 +nethack (3.2.2-11) unstable; urgency=low
 +
 +  * Hamm release of 3.2.2-10.
 +
 + -- Ben Gertzfield <che at debian.org>  Tue, 28 Oct 1997 17:38:11 -0800
 +
 +nethack (3.2.2-10) stable; urgency=low
 +
 +  * Re-built with libc5 libraries, as 3.2.2-7 was broken.
 +  * Fixed text menu entry pausing bug.
 +  * Took out dpkg-shlibdeps call for the lib5 build.
 +  * Changed chmod /var/lib/games/nethack 04775 in postinst to 02775.
 +  
 + -- Ben Gertzfield <che at debian.org>  Tue, 28 Oct 1997 12:53:37 -0800
 +
 +nethack (3.2.2-9) unstable; urgency=low
 +
 +  * Re-added fix for permissions on /var/lib/games/nethack to postinst;
 +    fixes bug #13596.
 +  * Added X NetHack entry to menu file, fixes wishlist #13036.
 +  * Menu entry for text NetHack now pauses after the game ends, fixes
 +    bug #13035.
 +  * Built with all-glibc libraries, fixes bug #12793.
 +  * Copied 'license' text-file to /usr/lib/games/nethack, fixes bug #13033.
 +  * Upgraded to Standards-Version 2.3.0.0.
 +
 + -- Ben Gertzfield <che at debian.org>  Fri, 10 Oct 1997 16:17:46 -0700
 +
 +nethack (3.2.2-8) unstable; urgency=low
 +
 +  * New maintainer.
 +  * Compiled under libc6.
 +  * Added patch for proper IBM graphics support.
 +  * Added patch for sound (speaker) support at the console.
 +  * No longer writes to /usr/lib/games/nethack; fixes bug #10454.
 +  * No longer uses i386-specific commands in makefile; fixes bug #10795.
 +  * Re-added dgn_comp and lev_comp to package; fixes bug #11013.
 +  * Created /etc/rc.boot/nethack to recover save-files on boot; 
 +    fixes bug #11012.
 +  * Changed rules file to no longer use debstd.
 +  * Made the recover utility setgid and removed the -d option to 
 +    prevent cheating.
 +  * Really fixed bug #10149 -- both logfile and record are now
 +    conffiles.
 +  * If upgrading from a version with incompatible logfile/record files,
 +    warns before clearing out /var/lib/games/nethack.
 +
 + -- Ben Gertzfield <che at debian.org>  Wed, 23 Jul 1997 20:33:26 -0500
 +
 +nethack (3.2.2-7) frozen unstable; urgency=low
 +
 +  * changes to makefile to force compiling under libc5
 +  * fixed bug #10149: upgrading no longer kills the high score file
 +  * fixed bug #9839: now provides nh10 font
 +
 + -- Paul Haggart <phaggart at debian.org>  Mon, 26 May 1997 22:34:36 -0400
 +
 +nethack (3.2.2-6) frozen unstable; urgency=low
 +
 +  * routine cleanup of makefiles
 +  * fixed debian/rules to actually clean up on 'debian/rules clean'
 +  * fixed bug #9288: debian/rules doesn't delete manpages until after build
 +  * fixed bug #9287: X11 support added
 +
 + -- Paul Haggart <phaggart at debian.org>  Thu, 1 May 1997 19:32:57 -0400
 +
 +nethack (3.2.2-5) frozen unstable; urgency=low
 +
 +  * postinst tweak to allow saved games to actually save
 +
 + -- Paul Haggart <phaggart at debian.org>  Wed, 23 Apr 1997 22:55:20 -0400
 +
 +nethack (3.2.2-4) frozen unstable; urgency=low
 +
 +  * added postinst to fix bad permissions/owners on upgrades
 +  * fixed termcap/terminfo bug
 +
 + -- Paul Haggart <phaggart at debian.org>  Tue, 8 Apr 1997 22:35:44 -0400
 +
 +nethack (3.2.2-3) unstable; urgency=high
 +
 +  * fixed -massive- error with lockfiles
 +  * fixed gzip error with saved games
 +  * now includes 'recovery' so you can try to restore a crashed game
 +
 + -- Paul Haggart <phaggart at debian.org>  Sat, 15 Feb 1997 18:43:48 -0500
 +
 +nethack (3.2.2-2) unstable; urgency=low
 +
 +  * changed email address from 'debian.com' to 'debian.org'
 +
 + -- Paul Haggart <phaggart at debian.org>  Wed, 12 Feb 1997 15:55:33 -0500
 +
 +nethack (3.2.2-1) unstable; urgency=low
 +
 +  * new upstream source (sorry this took so long to get done!)
 +  * wizard patch removed .. it wouldn't patch into 3.2.2
 +
 + -- Paul Haggart <phaggart at debian.com>  Mon, 10 Feb 1997 22:08:09 -0500
 +
 +nethack (3.2.1-4) unstable; urgency=low
 +
 +  * removed qt interface because of policy complaints
 +
 + -- Paul Haggart <phaggart at cybertap.com>  Mon, 2 Dec 1996 15:08:15 -0500
 +
 +nethack (3.2.1-3) unstable; urgency=low
 +
 +  * added wizard patch
 +
 + -- Paul Haggart <phaggart at cybertap.com>  Mon, 18 Nov 1996 19:12:24 -0500
 +
 +nethack (3.2.1-2) unstable; urgency=low
 +
 +  * added qt interface
 +  * added spoiler files
 +
 + -- Paul Haggart <phaggart at cybertap.com>  Sat, 16 Nov 1996 02:22:05 -0500
 +
 +nethack (3.2.1-1) unstable; urgency=low
 +
 +  * New maintainer
 +  * Initial release
 +
 + -- Paul Haggart <phaggart at cybertap.com>  Sun, 27 Oct 1996 05:56:48 -0500
 +
- Local variables:
- add-log-mailing-address: "che at debian.org"
- mode: debian-changelog
- End:
++
diff --cc debian/control
index 24f3279,0000000..32f081f
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,28 -1,0 +1,98 @@@
 +Source: nethack
 +Section: games
 +Priority: optional
 +Maintainer: Ben Gertzfield <che at debian.org>
- Standards-Version: 3.1.1.1
- Build-Depends: debhelper, libncurses5-dev, flex, bison, groff, bsdmainutils, xlib6g-dev, xpm4g-dev, xbase-clients
++Standards-Version: 3.5.2.0
++Build-Depends: flex, bison, groff, debhelper, xlibs-dev, xutils, bsdmainutils, libxaw-dev, libncurses5-dev | libncurses-dev, libqt-dev, libgnome-dev
 +
- Package: nethack
++Package: nethack-common
++Architecture: any
++Depends: ${shlibs:Depends}, debianutils (>= 1.12), xbase-clients (>= 3.3.3.1-5)
++Recommends: nethack-x11 | nethack-qt | nethack-gnome
++Provides: nethack
++Conflicts: suidmanager (<< 0.50), nethack (<< 3.4.0), gnomehack
++Replaces: nethack (<< 3.4.0), gnomehack
++Description: Common files for Nethack dungeon crawl game
++ The various graphical front-ends for Nethack all share a large
++ number of files in common.  This package contains the graphics,
++ dungeon levels, and utilities common to all Nethack front-ends.
++ . 
++ Please install one of the following Nethack front-ends if you
++ actually wish to play the game.  Each of them includes the
++ original non-graphical version, and they can all be installed
++ at the same time.
++ .
++  * nethack-x11 (original X11/Athena-based graphical version)
++  * nethack-qt (newer Qt-based graphical version)
++  * nethack-gnome (experimental Gnome-based graphical version)
++ .
++ There is a nethack-spoilers package available, if you're really
++ desperate for help.
++ .
++ A few utilities -- recover, for retrieving your auto-save files in case
++ of a power failure, and dgn_comp and lev_comp, two utilities for making
++ your own Nethack levels and dungeons, have been included in
++ /usr/lib/games/nethack. 'recover' will be run every time your system
++ boots, if there are any auto-save files available.
++
++Package: nethack-x11
++Depends: ${shlibs:Depends}, nethack-common
 +Architecture: any
- Depends: ${shlibs:Depends}, debianutils (>= 1.10)
 +Description: Text-based/X11 overhead view D&D-style adventure game
 + Nethack is a wonderfully silly, yet quite addicting, Dungeons and
 + Dragons-style adventure game. You play the part of a fierce fighter,
 + wizard, or any of many other classes, fighting your way down to
 + retrieve the Amulet of Yendor (try saying THAT one backwards!) for
 + your god. On the way, you might encounter a quantum mechanic or two,
 + or perhaps a microscopic space fleet, or -- if you're REALLY lucky --
 + the Ravenous Bugblatter Beast of Traal.
 + .
-  There is a nethack-spoilers package available, if you're really
-  desparate.
++ This package contains the text and X11/Athena-based graphical versions
++ of Nethack.
++
++Package: nethack-qt
++Depends: ${shlibs:Depends}, nethack-common
++Architecture: any
++Description: Text-based/Qt overhead view D&D-style adventure game
++ Nethack is a wonderfully silly, yet quite addicting, Dungeons and
++ Dragons-style adventure game. You play the part of a fierce fighter,
++ wizard, or any of many other classes, fighting your way down to
++ retrieve the Amulet of Yendor (try saying THAT one backwards!) for
++ your god. On the way, you might encounter a quantum mechanic or two,
++ or perhaps a microscopic space fleet, or -- if you're REALLY lucky --
++ the Ravenous Bugblatter Beast of Traal.
 + .
-  A few utilities -- recover, for retrieving your auto-save files in case
-  of a power failure, and dgn_comp and lev_comp, two utilities for making
-  your own Nethack levels and dungeons, have been included in
-  /usr/lib/games/nethack. 'recover' will be run every time your system
-  boots, if there are any auto-save files available.
++ This package contains the text and Qt-based graphical versions
++ of Nethack.
++
++Package: nethack-gnome
++Depends: ${shlibs:Depends}, nethack-common
++Architecture: any
++Description: Text-based/Gnome overhead view D&D-style adventure game
++ Nethack is a wonderfully silly, yet quite addicting, Dungeons and
++ Dragons-style adventure game. You play the part of a fierce fighter,
++ wizard, or any of many other classes, fighting your way down to
++ retrieve the Amulet of Yendor (try saying THAT one backwards!) for
++ your god. On the way, you might encounter a quantum mechanic or two,
++ or perhaps a microscopic space fleet, or -- if you're REALLY lucky --
++ the Ravenous Bugblatter Beast of Traal.
++ .
++ This package contains the text and Gnome-based graphical versions
++ of Nethack.
++
++Package: nethack
++Architecture: all
++Depends: nethack-common, nethack-x11
++Description: Overhead dungeon-crawler game (dummy package)
++ Nethack is a wonderfully silly, yet quite addicting, Dungeons and
++ Dragons-style adventure game. You play the part of a fierce fighter,
++ wizard, or any of many other classes, fighting your way down to
++ retrieve the Amulet of Yendor (try saying THAT one backwards!) for
++ your god. On the way, you might encounter a quantum mechanic or two,
++ or perhaps a microscopic space fleet, or -- if you're REALLY lucky --
++ the Ravenous Bugblatter Beast of Traal.
++ .
++ This package is merely a dummy package that depends on nethack-common
++ and nethack-x11 to facilitate upgrades.  You may safely remove it
++ from your system.
 +
diff --cc debian/copyright
index 357ab28,0000000..624de29
mode 100644,000000..100644
--- a/debian/copyright
+++ b/debian/copyright
@@@ -1,107 -1,0 +1,107 @@@
 +This package was created by Ben Gertzfield <che at debian.org> on
 +Sun, 12 Dec 1999 14:23:01 -0800. It was originally Debianized by
 +Paul Haggart <phaggart at debian.org>.
 +
 +Nethack's home site is: http://www.nethack.org/
 +
 +This archive was downloaded from:
- ftp://ftp.nethack.org/pub/nethack/src/nethack-3.3.0.tar.gz
++ftp://ftp.nethack.org/pub/nethack/src/nethack-3.3.1.tar.gz
 +
 +Copyright:
 +
 +                    NETHACK GENERAL PUBLIC LICENSE
 +                    (Copyright 1989 M. Stephenson)
- 
++.
 +               (Based on the BISON general public license,
 +                   copyright 1988 Richard M. Stallman)
 +
 + Everyone is permitted to copy and distribute verbatim copies of this
 + license, but changing it is not allowed.  You can also use this wording to
 + make the terms for other programs.
 +
 +  The license agreements of most software companies keep you at the mercy of
 +those companies.  By contrast, our general public license is intended to give
 +everyone the right to share NetHack.  To make sure that you get the rights we
 +want you to have, we need to make restrictions that forbid anyone to deny you
 +these rights or to ask you to surrender the rights.  Hence this license
 +agreement.
 +
 +  Specifically, we want to make sure that you have the right to give away
 +copies of NetHack, that you receive source code or else can get it if you
 +want it, that you can change NetHack or use pieces of it in new free
 +programs, and that you know you can do these things.
 +
 +  To make sure that everyone has such rights, we have to forbid you to
 +deprive anyone else of these rights.  For example, if you distribute copies
 +of NetHack, you must give the recipients all the rights that you have.  You
 +must make sure that they, too, receive or can get the source code.  And you
 +must tell them their rights.
 +
 +  Also, for our own protection, we must make certain that everyone finds out
 +that there is no warranty for NetHack.  If NetHack is modified by someone
 +else and passed on, we want its recipients to know that what they have is
 +not what we distributed.
 +
 +  Therefore we (Mike Stephenson and other holders of NetHack copyrights) make
 +the following terms which say what you must do to be allowed to distribute or
 +change NetHack.
 +
 +
 +                        COPYING POLICIES
 +
 +  1. You may copy and distribute verbatim copies of NetHack source code as
 +you receive it, in any medium, provided that you keep intact the notices on
 +all files that refer to copyrights, to this License Agreement, and to the
 +absence of any warranty; and give any other recipients of the NetHack
 +program a copy of this License Agreement along with the program.
 +
 +  2. You may modify your copy or copies of NetHack or any portion of it, and
 +copy and distribute such modifications under the terms of Paragraph 1 above
 +(including distributing this License Agreement), provided that you also do the
 +following:
 +
 +    a) cause the modified files to carry prominent notices stating that you
 +    changed the files and the date of any change; and
 +
 +    b) cause the whole of any work that you distribute or publish, that in
 +    whole or in part contains or is a derivative of NetHack or any part
 +    thereof, to be licensed at no charge to all third parties on terms
 +    identical to those contained in this License Agreement (except that you
 +    may choose to grant more extensive warranty protection to some or all
 +    third parties, at your option)
 +
 +    c) You may charge a distribution fee for the physical act of
 +    transferring a copy, and you may at your option offer warranty protection
 +    in exchange for a fee.
 +
 +  3. You may copy and distribute NetHack (or a portion or derivative of it,
 +under Paragraph 2) in object code or executable form under the terms of
 +Paragraphs 1 and 2 above provided that you also do one of the following:
 +
 +    a) accompany it with the complete machine-readable source code, which
 +    must be distributed under the terms of Paragraphs 1 and 2 above; or,
 +
 +    b) accompany it with full information as to how to obtain the complete
 +    machine-readable source code from an appropriate archive site.  (This
 +    alternative is allowed only for noncommercial distribution.)
 +
 +For these purposes, complete source code means either the full source
 +distribution as originally released over Usenet or updated copies of the
 +files in this distribution used to create the object code or executable.
 +
 +  4. You may not copy, sublicense, distribute or transfer NetHack except as
 +expressly provided under this License Agreement.  Any attempt otherwise to
 +copy, sublicense, distribute or transfer NetHack is void and your rights to
 +use the program under this License agreement shall be automatically
 +terminated.  However, parties who have received computer software programs
 +from you with this License Agreement will not have their licenses terminated
 +so long as such parties remain in full compliance.
 +
 +
 +Stated plainly:  You are permitted to modify NetHack, or otherwise use parts
 +of NetHack, provided that you comply with the conditions specified above;
 +in particular, your modified NetHack or program containing parts of NetHack
 +must remain freely available as provided in this License Agreement.  In
 +other words, go ahead and share NetHack, but don't try to stop anyone else
 +from sharing it farther.
 +
diff --cc debian/gnome/Makefile.src
index 1909d23,cdd0ff3..2ebb242
--- a/debian/gnome/Makefile.src
+++ b/debian/gnome/Makefile.src
@@@ -112,11 -117,11 +117,11 @@@ SYSOBJ = ioctl.o unixmain.o unixtty.o u
  
  # flags for Linux
  #   compile normally
- CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11R6/include
 -# CFLAGS = -O2 -fomit-frame-pointer -I../include
 -# LFLAGS = -L/usr/X11R6/lib
++CFLAGS = -O2 -fomit-frame-pointer -I../include
 +LFLAGS = -L/usr/X11R6/lib
  #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include -I/usr/X11/include
- # LFLAGS = -b i486-linuxaout -L/usr/X11/lib
+ # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
+ # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
  
  # flags for BeOS
  #   on a Mac/BeBox:
@@@ -129,16 -134,24 +134,24 @@@
  #LD = gcc
  #LFLAGS = -Xlinker -soname=_APP_
  
+ # Only used for the Gnome interface.
+ # When including the Gnome interface, you need to include gnome specific
+ # directories.  The ones given below is the usual spot for linux systems.
+ # The paths are for glibconfig.h and gnomesupport.h respectively.
+ #
 -GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
++GNOMEINC=`gnome-config --cflags gnomeui`
+ 
  # flags for debugging:
  # CFLAGS = -g -I../include
  
- #CFLAGS = -O -I../include
- #LFLAGS = 
 -CFLAGS = -O -I../include
 -LFLAGS =
++# CFLAGS = -O -I../include
++# LFLAGS =
  
- # Only used for Qt interface (other interfaces are standard C)
- CXXFLAGS = -g $(CFLAGS) -I. -I$(QTDIR)/include
- # Qt is C++, so define the compiler and linker thus required:
- #CXX=g++
+ # The Qt and Be window systems are written in C++, while the rest of
+ # NetHack is standard C.  If using Qt, uncomment the LD line here to get
+ # the C++ libraries linked in.
+ CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
+ CXX=g++
  #LD=g++
  
  # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
@@@ -160,13 -175,36 +175,36 @@@ WINX11OBJ = Window.o dialogs.o winX.o w
  #
  # Files for a Qt port
  #
- WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp
- WINQTOBJ = qt_win.o qt_clust.o tile.o
+ WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp ../win/Qt/qttableview.cpp
+ WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
+ #
+ # Files for a Gnome port
+ #
+ WINGNOMESRC = ../win/gnome/gnaskstr.c ../win/gnome/gnbind.c \
+ 	../win/gnome/gnglyph.c ../win/gnome/gnmain.c ../win/gnome/gnmap.c \
+ 	../win/gnome/gnmenu.c ../win/gnome/gnmesg.c ../win/gnome/gnopts.c \
+ 	../win/gnome/gnplayer.c ../win/gnome/gnsignal.c \
+ 	../win/gnome/gnstatus.c ../win/gnome/gntext.c ../win/gnome/gnyesno.c
+ WINGNOMEOBJ = gnaskstr.o gnbind.o gnglyph.o gnmain.o gnmap.o gnmenu.o \
+ 	gnmesg.o gnopts.o gnplayer.o gnsignal.o gnstatus.o gntext.o \
+ 	gnyesno.o tile.o
+ #
+ # Files for a Gem port
+ WINGEMSRC = ../win/gem/wingem.c ../win/gem/wingem1.c ../win/gem/load_img.c \
+ 	../win/gem/gr_rect.c tile.c
+ WINGEMOBJ = wingem.o wingem1.o load_img.o gr_rect.o tile.o
+ #
+ # Files for a BeOS InterfaceKit port -- not ready for prime time
+ WINBESRC =
+ WINBEOBJ =
+ #WINBESRC = ../win/BeOS/winbe.cpp ../win/BeOS/NHWindow.cpp \
+ #	../win/BeOS/NHMenuWindow.cpp ../win/BeOS/NHMapWindow.cpp tile.c
+ #WINBEOBJ = winbe.o NHWindow.o NHMenuWindow.o NHMapWindow.o tile.o
  
  #
- # 
- WINSRC = $(WINTTYSRC) $(WINX11SRC)
- WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
+ #
 -WINSRC = $(WINTTYSRC)
 -WINOBJ = $(WINTTYOBJ)
++WINSRC = $(WINTTYSRC) $(WINGNOMESRC)
++WINOBJ = $(WINTTYOBJ) $(WINGNOMEOBJ)
  
  # on some systems the termcap library is in -ltermcap or -lcurses
  # on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
@@@ -197,9 -235,16 +235,16 @@@ WINQTLIB = -L$(QTDIR)/lib -lq
  # libraries for KDE (with Qt)
  WINKDELIB = -lkdecore -lkdeui -lXext
  #
+ # libraries for Gnome
 -WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
++WINGNOMELIB = `gnome-config --libs gnomeui`
  #
+ # libraries for Gem port
+ WINGEMLIB = -le_gem -lgem
+ #
+ # libraries for BeOS 
+ WINBELIB = -lbe
  
- WINLIB = $(WINTTYLIB) $(WINX11LIB)
 -WINLIB = $(WINTTYLIB)
++WINLIB = $(WINTTYLIB) $(WINGNOMELIB)
  
  # any other strange libraries your system needs (for Sysunix only -- the more
  # specialized targets should already be right)
diff --cc debian/gnome/config.h
index 5075e27,fddb257..5f8bc8a
--- a/debian/gnome/config.h
+++ b/debian/gnome/config.h
@@@ -43,9 -43,11 +43,16 @@@
   * Some combinations make no sense.  See the installation document.
   */
  #define TTY_GRAPHICS	/* good old tty based graphics */
- #define X11_GRAPHICS    /* X11 interface */
 -/* #define X11_GRAPHICS */	/* X11 interface */
++/* #define X11_GRAPHICS	*/ /* X11 interface */
  /* #define QT_GRAPHICS */	/* Qt interface */
 -/* #define GNOME_GRAPHICS */	/* Gnome interface */
++#define GNOME_GRAPHICS	/* Gnome interface */
+ /* #define MSWIN_GRAPHICS */	/* Windows NT, CE, Graphics */
+ 
++/* Debian default window system is always tty; they have to set their
++ * own if they want another one (or just use the scripts)
++ */
++#define DEFAULT_WINDOW_SYS "tty"
 +
  /*
   * Define the default window system.  This should be one that is compiled
   * into your system (see defines above).  Known window systems are:
@@@ -92,7 -122,7 +127,7 @@@
   * would allow:
   *  xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
   */
- # define USE_XPM 		/* Disable if you do not have the XPM library */
 -/* # define USE_XPM */		/* Disable if you do not have the XPM library */
++# define USE_XPM		/* Disable if you do not have the XPM library */
  # ifdef USE_XPM
  #  define GRAPHIC_TOMBSTONE	/* Use graphical tombstone (rip.xpm) */
  # endif
@@@ -144,11 -163,11 +168,11 @@@
  
  #ifdef UNIX
  /* path and file name extension for compression program */
- /* #define COMPRESS "/usr/bin/compress" */    /* Lempel-Ziv compression */
- /* #define COMPRESS_EXTENSION ".Z" */         /* compress's extension */
 -#define COMPRESS "/usr/bin/compress"	/* Lempel-Ziv compression */
 -#define COMPRESS_EXTENSION ".Z"		/* compress's extension */
++/* #define COMPRESS "/usr/bin/compress"	*/ /* Lempel-Ziv compression */
++/* #define COMPRESS_EXTENSION ".Z" */		/* compress's extension */
  /* An example of one alternative you might want to use: */
- #define COMPRESS "/bin/gzip" 			/* FSF gzip compression */
 -/* #define COMPRESS "/usr/local/bin/gzip" */	/* FSF gzip compression */
 -/* #define COMPRESS_EXTENSION ".gz" */		/* normal gzip extension */
++#define COMPRESS "/bin/gzip"	/* FSF gzip compression */
 +#define COMPRESS_EXTENSION ".gz"		/* normal gzip extension */
  #endif
  
  #ifndef COMPRESS
@@@ -179,7 -198,11 +203,11 @@@
   * otherwise it will be the current directory.
   */
  # ifndef HACKDIR
- #  define HACKDIR "/usr/lib/games/nethack"	/* nethack directory */
+ #  ifdef __APPLE__
+ #    define HACKDIR "nethackdir"	/* nethack directory */
+ #  else
 -#    define HACKDIR "/usr/games/lib/nethackdir"
++#    define HACKDIR "/usr/lib/games/nethack"
+ #  endif
  # endif
  
  /*
diff --cc debian/gnome/nethack-tty.sh
index 0000000,0000000..608cf73
new file mode 100644
--- /dev/null
+++ b/debian/gnome/nethack-tty.sh
@@@ -1,0 -1,0 +1,63 @@@
++#!/bin/sh
++
++set -e
++
++HACKSTYLE=gnome
++
++if [ -z "$NETHACKOPTIONS" ]; then
++  if [ -e $HOME/.nethackrc ]; then
++    NETHACKOPTIONS=$HOME/.nethackrc
++    export NETHACKOPTIONS
++  else
++    NETHACKOPTIONS=/etc/nethack/nethackrc.tty
++    export NETHACKOPTIONS
++  fi
++fi
++
++HACKDIR=/usr/lib/games/nethack
++export HACKDIR
++HACK=$HACKDIR/nethack-$HACKSTYLE
++
++# see if we can find the full path name of PAGER, so help files work properly
++# assume that if someone sets up a special variable (HACKPAGER) for NetHack,
++# it will already be in a form acceptable to NetHack
++# ideas from brian at radio.astro.utoronto.ca
++if test \( "xxx$PAGER" != xxx \) -a \( "xxx$HACKPAGER" = xxx \)
++then
++
++        HACKPAGER=$PAGER
++
++#       use only the first word of the pager variable
++#       this prevents problems when looking for file names with trailing
++#       options, but also makes the options unavailable for later use from
++#       NetHack
++        for i in $HACKPAGER
++        do
++                HACKPAGER=$i
++                break
++        done
++
++        if test ! -f $HACKPAGER
++        then
++                IFS=:
++                for i in $PATH
++                do
++                        if test -f $i/$HACKPAGER
++                        then
++                                HACKPAGER=$i/$HACKPAGER
++                                export HACKPAGER
++                                break
++                        fi
++                done
++                IFS='   '
++        fi
++        if test ! -f $HACKPAGER
++        then
++                echo Cannot find $PAGER -- unsetting PAGER.
++                unset HACKPAGER
++                unset PAGER
++        fi
++fi
++
++cd $HACKDIR
++exec $HACK "$@"
diff --cc debian/gnome/nethack.sh
index 0000000,0000000..0a87d6d
new file mode 100644
--- /dev/null
+++ b/debian/gnome/nethack.sh
@@@ -1,0 -1,0 +1,22 @@@
++#!/bin/sh
++
++set -e
++
++HACKSTYLE=gnome
++
++if [ -z "$NETHACKOPTIONS" ]; then
++  if [ -e $HOME/.nethackrc.$HACKSTYLE ]; then
++    NETHACKOPTIONS=$HOME/.nethackrc.$HACKSTYLE
++    export NETHACKOPTIONS
++  else
++    NETHACKOPTIONS=/etc/nethack/nethackrc.$HACKSTYLE
++    export NETHACKOPTIONS
++  fi
++fi
++
++HACKDIR=/usr/lib/games/nethack
++export HACKDIR
++HACK=$HACKDIR/nethack-$HACKSTYLE
++
++cd $HACKDIR
++exec $HACK "$@"
diff --cc debian/gnome/nethackrc
index 0000000,0000000..801b109
new file mode 100644
--- /dev/null
+++ b/debian/gnome/nethackrc
@@@ -1,0 -1,0 +1,13 @@@
++#
++# System-wide NetHack configuration file for Gnome-based NetHack.
++#
++
++OPTIONS=windowtype:gnome,toptenwin,hilite_pet
++OPTIONS=fixinv,safe_pet,sortpack,tombstone,color
++OPTIONS=verbose,news,fruit:potato
++OPTIONS=dogname:Slinky
++OPTIONS=catname:Rex
++OPTIONS=pickup_types:$
++OPTIONS=nomail
++OPTIONS=number_pad,menustyle:partial,!time,showexp
++OPTIONS=msghistory:200
diff --cc debian/nethack-common.conffiles
index 0000000,0000000..7874d3f
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.conffiles
@@@ -1,0 -1,0 +1,2 @@@
++/etc/init.d/nethack
++/etc/nethack/nethackrc.tty
diff --cc debian/nethack-common.dirs
index 0000000,0000000..3153cf9
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.dirs
@@@ -1,0 -1,0 +1,6 @@@
++usr/X11R6/include/X11/pixmaps
++usr/lib/games/nethack
++var/games/nethack/save
++etc/init.d
++usr/share/doc/nethack-common
++etc/nethack
diff --cc debian/nethack-common.docs
index 0000000,0000000..de8a25a
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.docs
@@@ -1,0 -1,0 +1,1 @@@
++doc/Guidebook
diff --cc debian/nethack-common.manpages
index 0000000,0000000..26b3314
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.manpages
@@@ -1,0 -1,0 +1,5 @@@
++doc/nethack.6
++doc/recover.6
++doc/lev_comp.6
++doc/dgn_comp.6
++doc/dlb.6
diff --cc debian/nethack-common.menu
index 0000000,0000000..50d3a39
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.menu
@@@ -1,0 -1,0 +1,6 @@@
++?package(nethack-common):command="sh -c '/usr/games/nethack; echo Press ENTER to quit. ; read;'" \
++	needs="text" \
++	hints="Roguelike,Maze,Dungeon" \
++	section="Games/Adventure" \
++	title="NetHack" \
++	icon=/usr/X11R6/include/X11/pixmaps/nethack.xpm
diff --cc debian/nethack-common.postinst
index 0000000,0000000..bd82416
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.postinst
@@@ -1,0 -1,0 +1,29 @@@
++#!/bin/sh
++
++# Nethack post-installation script for Debian
++#
++# Ben Gertzfield (che at debian.org) 29 July 1997
++# Copyright 1997 Ben Gertzfield. This script is released under the
++# GNU General Public License, version 2 or later.
++
++# Modified 10 October 1997 to fix permissions on /var/games/nethack.
++# Modified 18 August 1998 to fix more upgrade problems from ancient
++# nethacks
++# Modified 11 April 2001 to change path to /var/games/nethack.
++# Modified 23 March 2002, removed code to change path from
++#  /var/lib/games/nethack -> /var/games/nethack since the save files
++#  changed format anyway.
++
++set -e
++
++if [ "$1" = "configure" ]; then
++    # Set up link /etc/rcS.d/S85nethack -> /etc/init.d/nethack
++    update-rc.d nethack start 85 S . >/dev/null
++
++    for file in perm record logfile; do
++      test -e /var/games/nethack/$file || install -m 0664 -o root -g games \
++        /dev/null /var/games/nethack/$file
++    done
++fi
++
++#DEBHELPER#
diff --cc debian/nethack-common.postrm
index e8654d0,0000000..2b45a9a
mode 100644,000000..100644
--- a/debian/nethack-common.postrm
+++ b/debian/nethack-common.postrm
@@@ -1,24 -1,0 +1,21 @@@
 +#!/bin/sh
 +
 +# Nethack post-remove script for Debian
 +#
 +# Ben Gertzfield (che at debian.org) 29 July 1997
 +# Copyright 1997 Ben Gertzfield. This script is released under the
 +# GNU General Public License, version 2 or later.
 +
 +# Updated 18 August 1998 to rm -rf the score/save directory on a purge,
 +# added debhelper comments
 +
 +set -e
 +
- if [ -x /usr/X11R6/bin/mkfontdir ] ; then /usr/X11R6/bin/mkfontdir \
-   /usr/X11R6/lib/X11/fonts/misc ; fi
- 
 +if [ "$1" = "purge" ]; then
 +    update-rc.d nethack remove >/dev/null
 +    echo -n "Purging high-scores and save-files for Nethack... "
-     rm -rf /var/lib/games/nethack/
++    rm -rf /var/games/nethack/
 +    echo "done."
 +fi
 +
 +#DEBHELPER#
diff --cc debian/nethack-common.preinst
index 0000000,0000000..e9d0b64
new file mode 100644
--- /dev/null
+++ b/debian/nethack-common.preinst
@@@ -1,0 -1,0 +1,72 @@@
++#!/bin/sh
++
++# Nethack pre-installation script for Debian
++#
++# Ben Gertzfield (che at debian.org) 29 July 1997
++# Copyright 1997 Ben Gertzfield. This script is released under the
++# GNU General Public License, version 2 or later.
++
++# Modified 2002 March 23 to back up and wipe old save directories
++# if the user has an old Nethack installed.
++
++set -e
++
++if [ "$1" != "upgrade" ] && [ "$1" != "install" ]; then
++    exit 0
++fi
++
++SAFEVER=3.4.0
++LOGDIR=/var/games/nethack
++OLDLOGDIR=/var/lib/games/nethack
++
++# If the last installed version is after $SAFEVER, exit.
++# If no package was installed yet (upgrade from nethack to nethack-common)
++# we will have to look and see if there are any save files to back up.
++
++dpkg --compare-versions "$2" lt "$SAFEVER" || exit 0
++
++backupsave() {
++    GAMEDIR=$1
++
++    cat <<EOF
++
++Your previous version of Nethack has save-game files in
++$GAMEDIR that are incompatible
++with the current version.  To fix this, your $GAMEDIR 
++will be backed up into a .tar.gz file in /tmp and then wiped clean.
++
++If this is not acceptible, please answer "n" below and upgrade
++Nethack at a later time.
++
++EOF
++
++    printf "Do you want to continue? [Y/n] "
++    read answer
++
++    if [ "$answer" = "n" -o "$answer" = "N" ] ; then
++        printf "Aborting installation of Nethack.\n\n"
++        exit 1
++    else
++
++        BACKUP=`tempfile --directory=/tmp --prefix=nethk --suffix .tar.gz`
++        cat <<EOF 
++Backing up $1 to $BACKUP...
++
++EOF
++        tar zcf $BACKUP $GAMEDIR >/dev/null 2>&1
++        printf "done.\nRemoving old save files and high scores from $GAMEDIR... "
++        rm -rf $GAMEDIR
++        printf "done.\nYou can find your old save games and score files in $BACKUP.\n"
++    fi
++}
++
++# We may be upgrading from a rilly old version; check if there are
++# save files in both styles of log directories.
++if [ -d $OLDLOGDIR/save ]; then
++    $(ls $OLDLOGDIR/save/* >/dev/null 2>&1) && backupsave $OLDLOGDIR
++fi
++if [ -d $LOGDIR/save ]; then
++    $(ls $LOGDIR/save/* >/dev/null 2>&1) && backupsave $LOGDIR
++fi
++
++exit 0
diff --cc debian/nethack-gnome.conffiles
index 0000000,0000000..b9b7e58
new file mode 100644
--- /dev/null
+++ b/debian/nethack-gnome.conffiles
@@@ -1,0 -1,0 +1,1 @@@
++/etc/nethack/nethackrc.gnome
diff --cc debian/nethack-gnome.dirs
index 0000000,0000000..87c41fe
new file mode 100644
--- /dev/null
+++ b/debian/nethack-gnome.dirs
@@@ -1,0 -1,0 +1,4 @@@
++etc/nethack
++usr/games
++usr/lib/games/nethack
++usr/share/man/man6
diff --cc debian/nethack-gnome.menu
index 0000000,0000000..b169712
new file mode 100644
--- /dev/null
+++ b/debian/nethack-gnome.menu
@@@ -1,0 -1,0 +1,6 @@@
++?package(nethack-gnome):needs=x11 \
++        command="/usr/games/nethack-gnome" \
++	hints="Roguelike,Maze,Dungeon" \
++        section="Games/Adventure" \
++	title="GNOME NetHack" \
++	icon=/usr/X11R6/include/X11/pixmaps/nethack.xpm
diff --cc debian/nethack-gnome.postinst
index 0000000,0000000..a75b04b
new file mode 100644
--- /dev/null
+++ b/debian/nethack-gnome.postinst
@@@ -1,0 -1,0 +1,11 @@@
++#!/bin/sh
++
++set -e
++
++update-alternatives --install /usr/games/nethack nethack \
++  /usr/lib/games/nethack/nethack-gnome-tty.sh 60
++
++update-alternatives --install /usr/games/nethack nethack \
++  /usr/lib/games/nethack/nethack-gnome.sh 50
++
++#DEBHELPER#
diff --cc debian/nethack-gnome.prerm
index 0000000,0000000..9258378
new file mode 100644
--- /dev/null
+++ b/debian/nethack-gnome.prerm
@@@ -1,0 -1,0 +1,8 @@@
++#!/bin/sh
++
++set -e
++
++update-alternatives --remove nethack /usr/lib/games/nethack/nethack-gnome.sh
++update-alternatives --remove nethack /usr/lib/games/nethack/nethack-gnome-tty.sh
++
++#DEBHELPER#
diff --cc debian/nethack-qt.conffiles
index 0000000,0000000..09a978d
new file mode 100644
--- /dev/null
+++ b/debian/nethack-qt.conffiles
@@@ -1,0 -1,0 +1,1 @@@
++/etc/nethack/nethackrc.qt
diff --cc debian/nethack-qt.dirs
index 0000000,0000000..87c41fe
new file mode 100644
--- /dev/null
+++ b/debian/nethack-qt.dirs
@@@ -1,0 -1,0 +1,4 @@@
++etc/nethack
++usr/games
++usr/lib/games/nethack
++usr/share/man/man6
diff --cc debian/nethack-qt.menu
index 0000000,0000000..b9cbd46
new file mode 100644
--- /dev/null
+++ b/debian/nethack-qt.menu
@@@ -1,0 -1,0 +1,7 @@@
++?package(nethack-qt):needs=x11 \
++        command="/usr/games/nethack-qt" \
++	hints="Roguelike,Maze,Dungeon" \
++        section="Games/Adventure" \
++	title="Qt NetHack" \
++	icon=/usr/X11R6/include/X11/pixmaps/nethack.xpm
++
diff --cc debian/nethack-qt.postinst
index 0000000,0000000..f762c58
new file mode 100644
--- /dev/null
+++ b/debian/nethack-qt.postinst
@@@ -1,0 -1,0 +1,11 @@@
++#!/bin/sh
++
++set -e
++
++update-alternatives --install /usr/games/nethack nethack \
++  /usr/lib/games/nethack/nethack-qt-tty.sh 60
++
++update-alternatives --install /usr/games/nethack nethack \
++  /usr/lib/games/nethack/nethack-qt.sh 50
++
++#DEBHELPER#
diff --cc debian/nethack-qt.prerm
index 0000000,0000000..8fff3ee
new file mode 100644
--- /dev/null
+++ b/debian/nethack-qt.prerm
@@@ -1,0 -1,0 +1,8 @@@
++#!/bin/sh
++
++set -e
++
++update-alternatives --remove nethack /usr/lib/games/nethack/nethack-qt.sh
++update-alternatives --remove nethack /usr/lib/games/nethack/nethack-qt-tty.sh
++
++#DEBHELPER#
diff --cc debian/nethack-x11.conffiles
index 0000000,0000000..5e22004
new file mode 100644
--- /dev/null
+++ b/debian/nethack-x11.conffiles
@@@ -1,0 -1,0 +1,2 @@@
++/etc/nethack/nethackrc.x11
++/etc/X11/app-defaults/NetHack
diff --cc debian/nethack-x11.dirs
index 0000000,0000000..c24e09e
new file mode 100644
--- /dev/null
+++ b/debian/nethack-x11.dirs
@@@ -1,0 -1,0 +1,6 @@@
++etc/X11/app-defaults
++usr/X11R6/lib/X11/fonts/misc
++etc/nethack
++usr/games
++usr/lib/games/nethack
++usr/share/man/man6
diff --cc debian/nethack-x11.menu
index 0000000,0000000..a6393f3
new file mode 100644
--- /dev/null
+++ b/debian/nethack-x11.menu
@@@ -1,0 -1,0 +1,6 @@@
++?package(nethack-x11):needs=x11 \
++        command="/usr/games/xnethack" \
++	hints="Roguelike,Maze,Dungeon" \
++        section="Games/Adventure" \
++	title="X NetHack" \
++	icon=/usr/X11R6/include/X11/pixmaps/nethack.xpm
diff --cc debian/nethack-x11.postinst
index 0000000,0000000..c2598b1
new file mode 100644
--- /dev/null
+++ b/debian/nethack-x11.postinst
@@@ -1,0 -1,0 +1,11 @@@
++#!/bin/sh
++
++set -e
++
++update-alternatives --install /usr/games/nethack nethack \
++  /usr/lib/games/nethack/nethack-x11-tty.sh 60
++
++update-alternatives --install /usr/games/nethack nethack \
++  /usr/lib/games/nethack/nethack-x11.sh 50
++
++#DEBHELPER#
diff --cc debian/nethack-x11.prerm
index 0000000,0000000..1074675
new file mode 100644
--- /dev/null
+++ b/debian/nethack-x11.prerm
@@@ -1,0 -1,0 +1,9 @@@
++#!/bin/sh
++
++set -e
++
++update-alternatives --remove nethack /usr/lib/games/nethack/nethack-x11.sh
++
++update-alternatives --remove nethack /usr/lib/games/nethack/nethack-x11-tty.sh
++
++#DEBHELPER#
diff --cc debian/nethack.init
index 103eddd,0000000..30349a7
mode 100644,000000..100644
--- a/debian/nethack.init
+++ b/debian/nethack.init
@@@ -1,32 -1,0 +1,66 @@@
 +#!/bin/sh
 +
 +# Nethack save-file recovery script for Debian
 +#
 +# Ben Gertzfield (che at debian.org) 29 July 1997
 +# Copyright 1997 Ben Gertzfield. This script is released under the
 +# GNU General Public License, version 2 or later.
 +
 +PATH=/bin:/usr/bin:/sbin:/usr/sbin
 +
++GAMEDIR=/var/games/nethack
++
 +set -e
 +
++cd $GAMEDIR
++
 +case "$1" in
 +  start)
 +    # Has the nethack package been removed?
-     test -x /usr/lib/games/nethack/recover || exit 0
- 
-     # Are there any lock-files to recover?
-     ls /var/lib/games/nethack/*.0 >/dev/null 2>&1 || exit 0
- 
-     # Yes; recover them.
-     for file in /var/lib/games/nethack/*.0; do
- 	owner=$(ls -l $file | awk '{print $3}')
- 	echo "Recovering Nethack save file owned by $owner..."
- 	su --shell=/bin/sh --command="/usr/lib/games/nethack/recover $file" $owner 
- 	if (($?)); then
- 	    echo "error $?\!"
- 	else
- 	    echo "recovered."
- 	fi
++    test -x /usr/lib/games/nethack/recover-helper || exit 0
++
++    for file in *.0; do
++
++    # Note "$file" is always explicitly quoted to avoid attack.
++    # If there are no files, then "$file" = "*.0", which doesn't
++    # exist, so we skip once through this loop and exit.
++    # Also, the way this is written, some of the files may
++    # disappear before we look at them.
++
++    # Also check -L--there shouldn't be any symlinks, but if there
++    # are, we aren't going to process them.
++
++    if [ -f "$file" ] && [ ! -L "$file" ]; then
++      # Use 'find' to reliably determine the file's owner user name.
++      owner="$(find "$file" -maxdepth 0 -printf '%u')"
++
++      # Refuse to recover root's nethack files.
++      if [ "xroot" = "x$owner" ]; then
++	echo "Ignoring root's Nethack unrecovered save file."
++      else 
++	echo "Recovering Nethack save files owned by $owner: "
++
++	# "$owner" is explicitly quoted to avoid attack.
++	# In particular, if the "find" command above fails,
++	# so will the 'su' command below.
++
++	# There really isn't a good safe way to pass a filename to
++	# a child shell through 'su -c', so instead we use a helper
++	# script running as the user which recovers everything
++	# owned by that user.  This avoids the issue of quoting
++	# filenames passed through the shell entirely.
++
++	su "$owner" -c /usr/lib/games/nethack/recover-helper 
++      fi
++    fi
++
 +    done
++    ;;
++  stop|reload|restart|force-reload)
++    ;;
++  *)
++    N=/etc/init.d/nethack 
++    echo "Usage: $N {start|stop|restart|force-reload}" >&2
++    exit 1
++    ;;
 +esac
diff --cc debian/nethack.xpm
index 0000000,0000000..38a87ad
new file mode 100644
--- /dev/null
+++ b/debian/nethack.xpm
@@@ -1,0 -1,0 +1,56 @@@
++/* XPM */
++static char *nethack[] = {
++/* columns rows colors chars-per-pixel */
++"32 32 18 1",
++"  c black",
++". c #191919",
++"X c gray20",
++"o c #007f00",
++"O c #007f7f",
++"+ c #7f7f00",
++"@ c #4c4c4c",
++"# c #666667",
++"$ c gray50",
++"% c blue",
++"& c cyan",
++"* c yellow",
++"= c gray60",
++"- c #b2b2b2",
++"; c gray80",
++": c gray90",
++"> c white",
++", c None",
++/* pixels */
++",,,, ,  , ,     .   , , ., ,,,,,",
++",,,,, ,  , . , ,, ,  ,,  , ,,,,,",
++" ,   ,#X, , =$=$$=$., ,.#,   , ,",
++", , .,-: ,$:>>>>:::;=,,=-,. , ,,",
++" ,.X ,=>-#>>::::;;*::$+:-, .X, ,",
++" ,=>#.=>>>>>>:>:;;;;;;;;=.@;-, ,",
++".,=>>$=::>>:>>::;::;;;;;=+::-, ,",
++" ,O-$@->=-=-=$-=+=$#+=$;- .## .,",
++" ,#-#O;>--===-OOO$####@;- .##  ,",
++" ,=>>-->=====O-$$O#OOO#;=@::-  ,",
++" ,=>-$;>==-=-===#######;-.@;; .,",
++" ,.X  =>-====$==$Oo#O#o--. ..  ,",
++", , . =>====$$-O#$O###O;-     , ",
++" , ,  =>-==-=OO$O$O##O@;-   ,  ,",
++", , .,=>======O$O#####@;-.. , , ",
++",, , ,=>--====-O$##OO#@;-   , ,,",
++",,,, ,$>-====$$=#$O#O##-=.. , ,,",
++",,,,, ,::====$=OO$O##@-:   , ,,,",
++",,, , ,@:--==$=$#####$;#   ,  ,,",
++",, ,    :;--O=O=O#O#o=:.   , , ,",
++", , .,->->-OO==O$$#@$:X--.  ,  ,",
++"     =>>O::==--=$OO$:@ -:-. ,   ",
++", ,,->;-;$;:$O$$##$:XX$=-:-. , ,",
++"  ,->:O$>= ::O=#O=:@ #:=$$:-.,  ",
++" ,=>=-$O;+..;>>;;:@  @:$#$o:- , ",
++".,=>$OO$:=. .;>:;@ . @:+O=#-;. ,",
++" ,=>;;-:;.   X#@+    .-----;@  ,",
++" ,.;>>:;X   , , , , .,$:;:;;  , ",
++", ,.;;--.  ,          ,=---X , ,",
++" ,  , ,,, ,  , ,,,,,,,,,,, ,  , ",
++", ,        ,  ,,,,,,  ,   .  , ,",
++",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
++};
diff --cc debian/nethackrc.tty
index 0000000,0000000..4e7b9be
new file mode 100644
--- /dev/null
+++ b/debian/nethackrc.tty
@@@ -1,0 -1,0 +1,11 @@@
++#
++# System-wide NetHack configuration file for tty-based NetHack.
++#
++
++OPTIONS=windowtype:tty,toptenwin,hilite_pet,number_pad
++OPTIONS=fixinv,safe_pet,sortpack,tombstone,color
++OPTIONS=verbose,news,fruit:potato
++OPTIONS=dogname:Slinky
++OPTIONS=catname:Rex
++OPTIONS=pickup_types:$
++OPTIONS=nomail
diff --cc debian/qt/Makefile.src
index 1909d23,cdd0ff3..27909d5
--- a/debian/qt/Makefile.src
+++ b/debian/qt/Makefile.src
@@@ -112,11 -117,11 +117,11 @@@ SYSOBJ = ioctl.o unixmain.o unixtty.o u
  
  # flags for Linux
  #   compile normally
- CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11R6/include
 -# CFLAGS = -O2 -fomit-frame-pointer -I../include
 -# LFLAGS = -L/usr/X11R6/lib
++CFLAGS = -O2 -fomit-frame-pointer -I../include
 +LFLAGS = -L/usr/X11R6/lib
  #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include -I/usr/X11/include
- # LFLAGS = -b i486-linuxaout -L/usr/X11/lib
+ # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
+ # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
  
  # flags for BeOS
  #   on a Mac/BeBox:
@@@ -132,13 -144,14 +144,15 @@@ GNOMEINC=-I/usr/lib/glib/include -I/usr
  # flags for debugging:
  # CFLAGS = -g -I../include
  
- #CFLAGS = -O -I../include
- #LFLAGS = 
- 
- # Only used for Qt interface (other interfaces are standard C)
- CXXFLAGS = -g $(CFLAGS) -I. -I$(QTDIR)/include
- # Qt is C++, so define the compiler and linker thus required:
- #CXX=g++
 -CFLAGS = -O -I../include
 -LFLAGS =
++# CFLAGS = -O -I../include
++# LFLAGS =
+ 
+ # The Qt and Be window systems are written in C++, while the rest of
+ # NetHack is standard C.  If using Qt, uncomment the LD line here to get
+ # the C++ libraries linked in.
 -CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
++QTDIR=/usr
++CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include/qt
+ CXX=g++
  #LD=g++
  
  # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
@@@ -160,13 -175,36 +176,36 @@@ WINX11OBJ = Window.o dialogs.o winX.o w
  #
  # Files for a Qt port
  #
- WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp
- WINQTOBJ = qt_win.o qt_clust.o tile.o
+ WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp ../win/Qt/qttableview.cpp
+ WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
+ #
+ # Files for a Gnome port
+ #
+ WINGNOMESRC = ../win/gnome/gnaskstr.c ../win/gnome/gnbind.c \
+ 	../win/gnome/gnglyph.c ../win/gnome/gnmain.c ../win/gnome/gnmap.c \
+ 	../win/gnome/gnmenu.c ../win/gnome/gnmesg.c ../win/gnome/gnopts.c \
+ 	../win/gnome/gnplayer.c ../win/gnome/gnsignal.c \
+ 	../win/gnome/gnstatus.c ../win/gnome/gntext.c ../win/gnome/gnyesno.c
+ WINGNOMEOBJ = gnaskstr.o gnbind.o gnglyph.o gnmain.o gnmap.o gnmenu.o \
+ 	gnmesg.o gnopts.o gnplayer.o gnsignal.o gnstatus.o gntext.o \
+ 	gnyesno.o tile.o
+ #
+ # Files for a Gem port
+ WINGEMSRC = ../win/gem/wingem.c ../win/gem/wingem1.c ../win/gem/load_img.c \
+ 	../win/gem/gr_rect.c tile.c
+ WINGEMOBJ = wingem.o wingem1.o load_img.o gr_rect.o tile.o
+ #
+ # Files for a BeOS InterfaceKit port -- not ready for prime time
+ WINBESRC =
+ WINBEOBJ =
+ #WINBESRC = ../win/BeOS/winbe.cpp ../win/BeOS/NHWindow.cpp \
+ #	../win/BeOS/NHMenuWindow.cpp ../win/BeOS/NHMapWindow.cpp tile.c
+ #WINBEOBJ = winbe.o NHWindow.o NHMenuWindow.o NHMapWindow.o tile.o
  
  #
- # 
- WINSRC = $(WINTTYSRC) $(WINX11SRC)
- WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
+ #
 -WINSRC = $(WINTTYSRC)
 -WINOBJ = $(WINTTYOBJ)
++WINSRC = $(WINTTYSRC) $(WINQTSRC)
++WINOBJ = $(WINTTYOBJ) $(WINQTOBJ)
  
  # on some systems the termcap library is in -ltermcap or -lcurses
  # on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
@@@ -197,9 -235,16 +236,16 @@@ WINQTLIB = -L$(QTDIR)/lib -lq
  # libraries for KDE (with Qt)
  WINKDELIB = -lkdecore -lkdeui -lXext
  #
+ # libraries for Gnome
+ WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
  #
+ # libraries for Gem port
+ WINGEMLIB = -le_gem -lgem
+ #
+ # libraries for BeOS 
+ WINBELIB = -lbe
  
- WINLIB = $(WINTTYLIB) $(WINX11LIB)
 -WINLIB = $(WINTTYLIB)
++WINLIB = $(WINTTYLIB) $(WINQTLIB)
  
  # any other strange libraries your system needs (for Sysunix only -- the more
  # specialized targets should already be right)
diff --cc debian/qt/config.h
index 5075e27,fddb257..e12bc49
--- a/debian/qt/config.h
+++ b/debian/qt/config.h
@@@ -43,9 -43,11 +43,16 @@@
   * Some combinations make no sense.  See the installation document.
   */
  #define TTY_GRAPHICS	/* good old tty based graphics */
- #define X11_GRAPHICS    /* X11 interface */
 -/* #define X11_GRAPHICS */	/* X11 interface */
--/* #define QT_GRAPHICS */	/* Qt interface */
++/* #define X11_GRAPHICS	*/ /* X11 interface */
++#define QT_GRAPHICS	/* Qt interface */
+ /* #define GNOME_GRAPHICS */	/* Gnome interface */
+ /* #define MSWIN_GRAPHICS */	/* Windows NT, CE, Graphics */
+ 
++/* Debian default window system is always tty; they have to set their
++ * own if they want another one (or just use the scripts)
++ */
++#define DEFAULT_WINDOW_SYS "tty"
 +
  /*
   * Define the default window system.  This should be one that is compiled
   * into your system (see defines above).  Known window systems are:
@@@ -92,7 -122,7 +127,7 @@@
   * would allow:
   *  xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
   */
- # define USE_XPM 		/* Disable if you do not have the XPM library */
 -/* # define USE_XPM */		/* Disable if you do not have the XPM library */
++# define USE_XPM		/* Disable if you do not have the XPM library */
  # ifdef USE_XPM
  #  define GRAPHIC_TOMBSTONE	/* Use graphical tombstone (rip.xpm) */
  # endif
@@@ -144,11 -163,11 +168,11 @@@
  
  #ifdef UNIX
  /* path and file name extension for compression program */
- /* #define COMPRESS "/usr/bin/compress" */    /* Lempel-Ziv compression */
- /* #define COMPRESS_EXTENSION ".Z" */         /* compress's extension */
 -#define COMPRESS "/usr/bin/compress"	/* Lempel-Ziv compression */
 -#define COMPRESS_EXTENSION ".Z"		/* compress's extension */
++/* #define COMPRESS "/usr/bin/compress"	*/ /* Lempel-Ziv compression */
++/* #define COMPRESS_EXTENSION ".Z" */		/* compress's extension */
  /* An example of one alternative you might want to use: */
- #define COMPRESS "/bin/gzip" 			/* FSF gzip compression */
 -/* #define COMPRESS "/usr/local/bin/gzip" */	/* FSF gzip compression */
 -/* #define COMPRESS_EXTENSION ".gz" */		/* normal gzip extension */
++#define COMPRESS "/bin/gzip"	/* FSF gzip compression */
 +#define COMPRESS_EXTENSION ".gz"		/* normal gzip extension */
  #endif
  
  #ifndef COMPRESS
@@@ -179,7 -198,11 +203,11 @@@
   * otherwise it will be the current directory.
   */
  # ifndef HACKDIR
- #  define HACKDIR "/usr/lib/games/nethack"	/* nethack directory */
+ #  ifdef __APPLE__
+ #    define HACKDIR "nethackdir"	/* nethack directory */
+ #  else
 -#    define HACKDIR "/usr/games/lib/nethackdir"
++#    define HACKDIR "/usr/lib/games/nethack"
+ #  endif
  # endif
  
  /*
diff --cc debian/qt/nethack-tty.sh
index 0000000,0000000..b85ffec
new file mode 100644
--- /dev/null
+++ b/debian/qt/nethack-tty.sh
@@@ -1,0 -1,0 +1,63 @@@
++#!/bin/sh
++
++set -e
++
++HACKSTYLE=qt
++
++if [ -z "$NETHACKOPTIONS" ]; then
++  if [ -e $HOME/.nethackrc ]; then
++    NETHACKOPTIONS=$HOME/.nethackrc
++    export NETHACKOPTIONS
++  else
++    NETHACKOPTIONS=/etc/nethack/nethackrc.tty
++    export NETHACKOPTIONS
++  fi
++fi
++
++HACKDIR=/usr/lib/games/nethack
++export HACKDIR
++HACK=$HACKDIR/nethack-$HACKSTYLE
++
++# see if we can find the full path name of PAGER, so help files work properly
++# assume that if someone sets up a special variable (HACKPAGER) for NetHack,
++# it will already be in a form acceptable to NetHack
++# ideas from brian at radio.astro.utoronto.ca
++if test \( "xxx$PAGER" != xxx \) -a \( "xxx$HACKPAGER" = xxx \)
++then
++
++        HACKPAGER=$PAGER
++
++#       use only the first word of the pager variable
++#       this prevents problems when looking for file names with trailing
++#       options, but also makes the options unavailable for later use from
++#       NetHack
++        for i in $HACKPAGER
++        do
++                HACKPAGER=$i
++                break
++        done
++
++        if test ! -f $HACKPAGER
++        then
++                IFS=:
++                for i in $PATH
++                do
++                        if test -f $i/$HACKPAGER
++                        then
++                                HACKPAGER=$i/$HACKPAGER
++                                export HACKPAGER
++                                break
++                        fi
++                done
++                IFS='   '
++        fi
++        if test ! -f $HACKPAGER
++        then
++                echo Cannot find $PAGER -- unsetting PAGER.
++                unset HACKPAGER
++                unset PAGER
++        fi
++fi
++
++cd $HACKDIR
++exec $HACK "$@"
diff --cc debian/qt/nethack.sh
index 0000000,0000000..85561c1
new file mode 100644
--- /dev/null
+++ b/debian/qt/nethack.sh
@@@ -1,0 -1,0 +1,22 @@@
++#!/bin/sh
++
++set -e
++
++HACKSTYLE=qt
++
++if [ -z "$NETHACKOPTIONS" ]; then
++  if [ -e $HOME/.nethackrc.$HACKSTYLE ]; then
++    NETHACKOPTIONS=$HOME/.nethackrc.$HACKSTYLE
++    export NETHACKOPTIONS
++  else
++    NETHACKOPTIONS=/etc/nethack/nethackrc.$HACKSTYLE
++    export NETHACKOPTIONS
++  fi
++fi
++
++HACKDIR=/usr/lib/games/nethack
++export HACKDIR
++HACK=$HACKDIR/nethack-$HACKSTYLE
++
++cd $HACKDIR
++exec $HACK "$@"
diff --cc debian/qt/nethackrc
index 0000000,0000000..af845c5
new file mode 100644
--- /dev/null
+++ b/debian/qt/nethackrc
@@@ -1,0 -1,0 +1,13 @@@
++#
++# System-wide NetHack configuration file for Qt-based NetHack.
++#
++
++OPTIONS=windowtype:Qt,toptenwin,hilite_pet
++OPTIONS=fixinv,safe_pet,sortpack,tombstone,color
++OPTIONS=verbose,news,fruit:potato
++OPTIONS=dogname:Slinky
++OPTIONS=catname:Rex
++OPTIONS=pickup_types:$
++OPTIONS=nomail
++OPTIONS=number_pad,menustyle:partial,!time,showexp
++OPTIONS=msghistory:200
diff --cc debian/recover-helper
index 0000000,0000000..1df1e51
new file mode 100644
--- /dev/null
+++ b/debian/recover-helper
@@@ -1,0 -1,0 +1,16 @@@
++#!/bin/sh
++
++set -e
++
++cd /var/games/nethack || exit 1
++
++for file in *.0; do
++  # We only try to recover our own files, and ignore the others.
++  if [ -f "$file" ] && [ ! -L "$file" ] && [ -O "$file" ]; then
++    /usr/lib/games/nethack/recover "/var/games/nethack/$file"
++  fi
++done
++
++exit 0
++
++
diff --cc debian/rules
index 3b5fd77,0000000..319ad50
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,113 -1,0 +1,233 @@@
 +#!/usr/bin/make -f
 +
 +# Nethack build script for Debian
 +#
 +# Ben Gertzfield (che at debian.org) 29 July 1997
 +# Copyright 1997 Ben Gertzfield. This script is released under the
 +# GNU General Public License, version 2 or later.
 +
++export DH_COMPAT=3
++
 +build: build-stamp
- build-stamp:
- 	dh_testdir
++build-stamp: Makefile build-x11 build-gnome build-qt build-common
++	touch build-stamp
 +
- 	# setup.sh makes the symlinks for the Makefiles. Giving it any
- 	# argument (in this case, 1) tells it to make symlinks.
++Makefile:
++# setup.sh makes the symlinks for the Makefiles. Giving it any
++# argument (in this case, 1) tells it to make symlinks.
 +	sh sys/unix/setup.sh 1
 +
- 	make all CFLAGS='-O2 -I../include \
- 	  -I/usr/X11R6/include -fomit-frame-pointer' LFLAGS='-L/usr/X11R6/lib'
++build-x11: build-x11-stamp
++build-x11-stamp:
++	dh_testdir
++	dh_installdirs
 +
- 	cd util && make recover CFLAGS='-O2 -I../include \
- 	  -I/usr/X11R6/include -fomit-frame-pointer' LFLAGS='-L/usr/X11R6/lib'
++	cp debian/x11/config.h include/config.h
++	rm -f src/Makefile
++	cp debian/x11/Makefile.src src/Makefile
 +
- 	touch build-stamp
++	make nethack CFLAGS='-O2 -I../include \
++	  -I/usr/X11R6/include -fomit-frame-pointer' LFLAGS='-L/usr/X11R6/lib' 
++
++	cp src/nethack debian/x11
++
++	touch build-x11-stamp
++
++build-gnome: build-gnome-stamp
++build-gnome-stamp:
++
++	-make clean
++
++# build GNOME interface
++	cp debian/gnome/config.h include/config.h
++	cp debian/gnome/Makefile.src src/Makefile
++
++	make nethack CFLAGS='-O2 -I../include \
++	  -I/usr/X11R6/include -fomit-frame-pointer' LFLAGS='-L/usr/X11R6/lib' 
++
++	cp src/nethack debian/gnome
++	touch build-gnome-stamp
++
++build-qt: build-qt-stamp
++build-qt-stamp:
++	-make clean
++
++# build QT interface
++	cp debian/qt/config.h include/config.h
++	cp debian/qt/Makefile.src src/Makefile
++
++	make nethack CFLAGS='-O2 -I../include \
++	  -I/usr/X11R6/include -fomit-frame-pointer' LFLAGS='-L/usr/X11R6/lib' 
++
++	cp src/nethack debian/qt
++	touch build-qt-stamp
++
++build-common: build-common-stamp
++build-common-stamp:
++	make Guidebook data oracles options quest.dat rumors dungeon spec_levs \
++	  check-dlb x11tiles pet_mark.xbm rip.xpm mapbg.xpm
++	cd util && make recover
++	touch build-common-stamp
 +
 +clean:
 +	dh_testdir
 +	dh_testroot
- 	-rm -f build-stamp nh10.pcf
++	-rm -f build-stamp build-x11-stamp build-gnome-stamp build-qt-stamp \
++	  build-common-stamp
++	-rm -f nh10.pcf
 +	-rm -f `find . -name "*.orig"`
 +	-rm -f `find . -name "*~"`
- 	-rm -rf debian/tmp debian/files* core debian/substvars
++	-rm -rf debian/files* core debian/substvars
++	-rm -rf debian/nethack-common debian/nethack-x11 debian/nethack-gnome \
++	  debian/nethack-qt
++	-rm -f debian/gnome/nethack debian/qt/nethack debian/x11/nethack
 +	-make spotless
 +	find . -name Makefile -print0 | xargs -r -0 rm
 +	dh_clean
 +
- binary-indep: build
- # Nothing to do by default
- 
- binary-arch: build
- 	dh_testdir	
++install: build
++	dh_testdir
 +	dh_testroot
- 	dh_clean -k
 +	dh_installdirs
- 	chgrp games debian/tmp/usr/lib/games/nethack
- 	chgrp -R games debian/tmp/var/lib/games/nethack
- 	chmod -R 02775 debian/tmp/var/lib/games/nethack
 +
- 	for file in nhdat x11tiles pet_mark.xbm rip.xpm; \
++	chgrp games debian/nethack-common/usr/lib/games/nethack
++	chgrp -R games debian/nethack-common/var/games/nethack
++	chmod -R 0775 debian/nethack-common/var/games/nethack
++
++	install -m 02755 -o root -g games util/recover \
++	  debian/nethack-common/usr/lib/games/nethack/recover
++
++	install -m 0755 -o root -g root debian/recover-helper \
++	  debian/nethack-common/usr/lib/games/nethack/recover-helper
++
++# install the dgn_comp and lev_comp programs
++	install -m 755 -o root -g games util/dgn_comp \
++	  debian/nethack-common/usr/lib/games/nethack/dgn_comp
++
++	install -m 755 -o root -g games util/lev_comp \
++	  debian/nethack-common/usr/lib/games/nethack/lev_comp
++
++	install -m 755 -o root -g games util/dlb \
++	  debian/nethack-common/usr/lib/games/nethack/dlb
++
++	for file in nhdat x11tiles pet_mark.xbm rip.xpm mapbg.xpm; \
 +	do \
 +	  install -m 0644 -o root -g root dat/$$file \
- 	  debian/tmp/usr/lib/games/nethack; \
++	  debian/nethack-common/usr/lib/games/nethack; \
 +	done
 +
++# spoilers have been split out into nethack-spoilers
++
++# init.d script
++	install -m 755 -o root -g root debian/nethack.init \
++	  debian/nethack-common/etc/init.d/nethack
++
++# link for /usr/lib/games/nethack/license -> /usr/share/doc/nethack-common/copyright
++	ln -s ../../../share/doc/nethack-common/copyright \
++	  debian/nethack-common/usr/lib/games/nethack/license
++
++	install -m 0644 -o root -g root debian/nethackrc.tty \
++	  debian/nethack-common/etc/nethack/nethackrc.tty
++
++	install -m 0644 -o root -g root debian/nethack.xpm \
++	  debian/nethack-common/usr/X11R6/include/X11/pixmaps
++
++###
++# install nethack-x11 stuff
++###
 +	install -m 0755 -o root -g games \
- 	  debian/nethack.sh debian/tmp/usr/games/nethack
++	  debian/x11/nethack.sh \
++	  debian/nethack-x11/usr/lib/games/nethack/nethack-x11.sh
++
++	ln -s ../lib/games/nethack/nethack-x11.sh \
++	  debian/nethack-x11/usr/games/xnethack
 +
 +	install -m 0755 -o root -g games \
- 	  debian/xnethack.sh debian/tmp/usr/games/xnethack
++	  debian/x11/nethack-tty.sh \
++	  debian/nethack-x11/usr/lib/games/nethack/nethack-x11-tty.sh
 +
- 	install -m 2755 -o root -g games src/nethack \
- 	  debian/tmp/usr/lib/games/nethack/
++# system-wide X nethack.rc file, thanks again joey :)
++	install -m 644 -o root -g root debian/x11/nethackrc \
++	  debian/nethack-x11/etc/nethack/nethackrc.x11
++	install -m 644 debian/x11/NetHack.ad \
++	  debian/nethack-x11/etc/X11/app-defaults/NetHack
++	/usr/bin/X11/bdftopcf -o nh10.pcf win/X11/nh10.bdf 
++	install -m 644 nh10.pcf debian/nethack-x11/usr/X11R6/lib/X11/fonts/misc/
++	gzip debian/nethack-x11/usr/X11R6/lib/X11/fonts/misc/nh10.pcf
 +
- 	# build the recover prog, and move it where it's supposed to be
- 	install -o root -g games -m 2755 util/recover \
- 	  debian/tmp/usr/lib/games/nethack/recover
++	install -m 2755 -o root -g games debian/x11/nethack \
++	  debian/nethack-x11/usr/lib/games/nethack/nethack-x11
 +
- 	# install the dgn_comp and lev_comp programs
- 	install -o root -g games -m 755 util/dgn_comp \
- 	  debian/tmp/usr/lib/games/nethack/dgn_comp
++	ln -s nethack.6.gz debian/nethack-x11/usr/share/man/man6/xnethack.6.gz
 +
- 	install -o root -g games -m 755 util/lev_comp \
- 	  debian/tmp/usr/lib/games/nethack/lev_comp
++###
++# install nethack-qt stuff
++###
++	install -m 644 -o root -g root debian/qt/nethackrc \
++	  debian/nethack-qt/etc/nethack/nethackrc.qt
 +
- 	# install X11 stuff
- 	install -m 644 debian/NetHack.ad debian/tmp/usr/X11R6/lib/X11/app-defaults/NetHack
- 	/usr/X11R6/bin/bdftopcf -o nh10.pcf win/X11/nh10.bdf 
- 	install -m 644 nh10.pcf debian/tmp/usr/X11R6/lib/X11/fonts/misc/
- 	gzip debian/tmp/usr/X11R6/lib/X11/fonts/misc/nh10.pcf
++	install -m 0755 -o root -g games \
++	  debian/qt/nethack.sh \
++	  debian/nethack-qt/usr/lib/games/nethack/nethack-qt.sh
 +
- 	# spoilers have been split out into nethack-spoilers
++	ln -s ../lib/games/nethack/nethack-qt.sh \
++	  debian/nethack-qt/usr/games/nethack-qt
 +
- 	# init.d script
- 	install -m 755 -o root -g root debian/nethack.init \
- 	  debian/tmp/etc/init.d/nethack
++	install -m 0755 -o root -g games \
++	  debian/qt/nethack-tty.sh \
++	  debian/nethack-qt/usr/lib/games/nethack/nethack-qt-tty.sh
 +
- 	# system-wide X nethack.rc file, thanks again joey :)
- 	install -m 644 -o root -g root debian/nethackrc.x11 \
- 	  debian/tmp/etc/nethackrc.x11
++	install -m 2755 -o root -g games debian/qt/nethack \
++	  debian/nethack-qt/usr/lib/games/nethack/nethack-qt
 +
- 	# link for /usr/lib/games/nethack/license -> /usr/share/doc/nethack/copyright
- 	ln -s /usr/share/doc/nethack/copyright \
- 	  debian/tmp/usr/lib/games/nethack/license
++	ln -s nethack.6.gz debian/nethack-qt/usr/share/man/man6/nethack-qt.6.gz
 +
- 	dh_installdocs doc/Guidebook
++###
++# install nethack-gnome stuff
++###
++	install -m 644 -o root -g root debian/gnome/nethackrc \
++	  debian/nethack-gnome/etc/nethack/nethackrc.gnome
++
++	install -m 0755 -o root -g games \
++	  debian/gnome/nethack.sh \
++	  debian/nethack-gnome/usr/lib/games/nethack/nethack-gnome.sh
++
++	ln -s ../lib/games/nethack/nethack-gnome.sh \
++	  debian/nethack-gnome/usr/games/nethack-gnome
++
++	install -m 0755 -o root -g games \
++	  debian/gnome/nethack-tty.sh \
++	  debian/nethack-gnome/usr/lib/games/nethack/nethack-gnome-tty.sh
++
++	install -m 2755 -o root -g games debian/gnome/nethack \
++	  debian/nethack-gnome/usr/lib/games/nethack/nethack-gnome
++
++	ln -s nethack.6.gz \
++	  debian/nethack-gnome/usr/share/man/man6/nethack-gnome.6.gz
++
++binary-indep: build
++# Nothing to do by default
++
++binary-arch: build install
++	dh_testdir	
++	dh_testroot
++	dh_installdocs -A debian/README.Debian
 +	dh_installmenu
- 	dh_installmanpages
++	dh_installman
 +	dh_installchangelogs
++	dh_installxfonts
 +	dh_strip
 +	dh_compress
 +	dh_fixperms -Xnethack
- 	dh_suidregister
 +	dh_installdeb
 +	dh_shlibdeps
 +	dh_gencontrol
 +	dh_md5sums
 +	dh_builddeb
 +
 +source diff:
 +	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
 +
 +binary: binary-indep binary-arch
 +.PHONY: build clean binary-indep binary-arch binary
 +
diff --cc debian/x11/Makefile.src
index 1909d23,cdd0ff3..60a8b41
--- a/debian/x11/Makefile.src
+++ b/debian/x11/Makefile.src
@@@ -112,11 -117,11 +117,11 @@@ SYSOBJ = ioctl.o unixmain.o unixtty.o u
  
  # flags for Linux
  #   compile normally
- CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11R6/include
 -# CFLAGS = -O2 -fomit-frame-pointer -I../include
 -# LFLAGS = -L/usr/X11R6/lib
++CFLAGS = -O2 -fomit-frame-pointer -I../include
 +LFLAGS = -L/usr/X11R6/lib
  #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include -I/usr/X11/include
- # LFLAGS = -b i486-linuxaout -L/usr/X11/lib
+ # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
+ # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
  
  # flags for BeOS
  #   on a Mac/BeBox:
@@@ -132,13 -144,14 +144,14 @@@ GNOMEINC=-I/usr/lib/glib/include -I/usr
  # flags for debugging:
  # CFLAGS = -g -I../include
  
- #CFLAGS = -O -I../include
- #LFLAGS = 
 -CFLAGS = -O -I../include
 -LFLAGS =
++# CFLAGS = -O -I../include
++# LFLAGS =
  
- # Only used for Qt interface (other interfaces are standard C)
- CXXFLAGS = -g $(CFLAGS) -I. -I$(QTDIR)/include
- # Qt is C++, so define the compiler and linker thus required:
- #CXX=g++
+ # The Qt and Be window systems are written in C++, while the rest of
+ # NetHack is standard C.  If using Qt, uncomment the LD line here to get
+ # the C++ libraries linked in.
+ CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
+ CXX=g++
  #LD=g++
  
  # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
@@@ -160,13 -175,36 +175,36 @@@ WINX11OBJ = Window.o dialogs.o winX.o w
  #
  # Files for a Qt port
  #
- WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp
- WINQTOBJ = qt_win.o qt_clust.o tile.o
+ WINQTSRC = ../win/Qt/qt_win.cpp ../win/Qt/qt_clust.cpp ../win/Qt/qttableview.cpp
+ WINQTOBJ = qt_win.o qt_clust.o qttableview.o tile.o
+ #
+ # Files for a Gnome port
+ #
+ WINGNOMESRC = ../win/gnome/gnaskstr.c ../win/gnome/gnbind.c \
+ 	../win/gnome/gnglyph.c ../win/gnome/gnmain.c ../win/gnome/gnmap.c \
+ 	../win/gnome/gnmenu.c ../win/gnome/gnmesg.c ../win/gnome/gnopts.c \
+ 	../win/gnome/gnplayer.c ../win/gnome/gnsignal.c \
+ 	../win/gnome/gnstatus.c ../win/gnome/gntext.c ../win/gnome/gnyesno.c
+ WINGNOMEOBJ = gnaskstr.o gnbind.o gnglyph.o gnmain.o gnmap.o gnmenu.o \
+ 	gnmesg.o gnopts.o gnplayer.o gnsignal.o gnstatus.o gntext.o \
+ 	gnyesno.o tile.o
+ #
+ # Files for a Gem port
+ WINGEMSRC = ../win/gem/wingem.c ../win/gem/wingem1.c ../win/gem/load_img.c \
+ 	../win/gem/gr_rect.c tile.c
+ WINGEMOBJ = wingem.o wingem1.o load_img.o gr_rect.o tile.o
+ #
+ # Files for a BeOS InterfaceKit port -- not ready for prime time
+ WINBESRC =
+ WINBEOBJ =
+ #WINBESRC = ../win/BeOS/winbe.cpp ../win/BeOS/NHWindow.cpp \
+ #	../win/BeOS/NHMenuWindow.cpp ../win/BeOS/NHMapWindow.cpp tile.c
+ #WINBEOBJ = winbe.o NHWindow.o NHMenuWindow.o NHMapWindow.o tile.o
  
  #
- # 
+ #
 -WINSRC = $(WINTTYSRC)
 -WINOBJ = $(WINTTYOBJ)
 +WINSRC = $(WINTTYSRC) $(WINX11SRC)
 +WINOBJ = $(WINTTYOBJ) $(WINX11OBJ)
  
  # on some systems the termcap library is in -ltermcap or -lcurses
  # on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
@@@ -197,9 -235,16 +235,16 @@@ WINQTLIB = -L$(QTDIR)/lib -lq
  # libraries for KDE (with Qt)
  WINKDELIB = -lkdecore -lkdeui -lXext
  #
+ # libraries for Gnome
+ WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
  #
+ # libraries for Gem port
+ WINGEMLIB = -le_gem -lgem
+ #
+ # libraries for BeOS 
+ WINBELIB = -lbe
  
 -WINLIB = $(WINTTYLIB)
 +WINLIB = $(WINTTYLIB) $(WINX11LIB)
  
  # any other strange libraries your system needs (for Sysunix only -- the more
  # specialized targets should already be right)
diff --cc debian/x11/NetHack.ad
index 6732999,0000000..11a5da6
mode 100644,000000..100644
--- a/debian/x11/NetHack.ad
+++ b/debian/x11/NetHack.ad
@@@ -1,153 -1,0 +1,190 @@@
 +! The display_file, tombstone, and menu windows are all formatted assuming
 +! a fixed width font.  Text windows may or may not be formatted as above.
 +! The rip window applies if the GRAPHIC_TOMBSTONE option is turned on, and
 +! requires a 12 pixel font for correct appearance.
 +!
 +NetHack*font:				variable
 +NetHack*display_file*font:		fixed
 +NetHack*tombstone*font:			fixed
 +NetHack*rip*font:			-*-times-medium-r-*-*-12-*-*-*-*-*-*-*
 +NetHack*menu*font:			fixed
 +!NetHack*text*font:			fixed
 +NetHack*map*font:			nh10
 +
 +! To use full-color tiles for the map, uncomment the tile file name.
 +! If you use a 100dpi (or greater) monitor you may wish to double the
 +! tile size so you can see the figures.  If NetHack was compiled to
 +! use XPM (USE_XPM in config.h), the tile_file is a standard XPM file.
 +! Otherwise, it is a custom format.  double_tile_size only applies to
 +! the custom format - to enlarge an XPM file, use processing tools
 +! such as XV or preferably PBMplus.
 +!
 +NetHack.tile_file: x11tiles
- NetHack.double_tile_size: True
++!NetHack.double_tile_size: True
 +!
 +! The annotation of pets.
 +NetHack.pet_mark_bitmap: pet_mark.xbm
 +NetHack.pet_mark_color: Red
 +
 +! Tombstone
 +! The image file
 +NetHack.tombstone: rip.xpm
 +! Text starts at (tombtext_x, tombtext_y) and subsequent lines
 +! are displaced by (tombtext_dx, tombtext_dy) pixels.  If you
 +NetHack.tombtext_x: 155
 +NetHack.tombtext_y: 78
 +NetHack.tombtext_dx: 0
 +NetHack.tombtext_dy: 13
 +! The color to use for the text on the hero's tombstone
 +NetHack*rip*foreground: black
 +
 +! Translation tables.  There are currently several actions in nethack, but
 +! the only one you should be using is "input()", which, with no parameters,
 +! uses XLookupString to translate your keypress into a command.  You
 +! can optionally give it parameters to change the behavior, see the example
 +! below.  Note that you have to specify the translations in every appropriate
 +! window.
 +NetHack*message*translations:	<KeyPress>: input()
 +!
 +! Example extra translations for the map window.
 +!
- !NetHack*map*translations:	#override \
- !				!<Key>Left: input(h) \n\
- !				!<Key>Right: input(l) \n\
- !				!<Key>Up: input(k) \n\
- !				!<Key>Down: input(j)
++NetHack*map*translations:	#override \
++				!<Key>Left: input(h) \n\
++				!<Key>Right: input(l) \n\
++				!<Key>Up: input(k) \n\
++				!<Key>Down: input(j)
 +!
 +! The icon to use; supported values are nh72, nh56, and nh32; nh72 is the
 +! default.  Some window managers may not support the larger icon sizes.
 +! It is not guaranteed that the window manager will honor the icon selection.
- !NetHack*icon: nh56
++NetHack*icon: nh56
 +!
- ! If True, a popup for y/n questions is _not_ used.
++! If True, the default, a popup for single character prompts such as y/n
++! questions is _not_ used.
 +NetHack*slow: True
- !
++
 +! The number of lines the message window will show without scrolling.
- NetHack*message_lines: 12
++!NetHack*message_lines: 12
 +!
 +! If True, the message window has a line that seperates old and new messages.
- NetHack*message_line: True
++!NetHack*message_line: True
 +!
 +! If True, force keyboard to attach to popup windows.  Some window managers
 +! enforce a click-to-focus-keyboard policy (e.g. the DECwindows wm).  NetHack
 +! has a lot of popups and is almost unplayable without some kind of autofocus.
- NetHack*autofocus: True
++NetHack*autofocus: False
 +!
 +! Specify the number of rows and columns of the map window.  The default
 +! is the standard 80x21 window.  Note: this _does_not_ change nethack's
 +! level size, only what you see of it.
- NetHack*map*rows:	21
- NetHack*map*columns:	80
++!NetHack*map*rows:	21
++!NetHack*map*columns:	80
 +
 +! Parts of the fancy status display.
 +!
 +NetHack*status_condition.borderWidth:	0
 +NetHack*status_info*borderWidth:	0
 +
 +! Sample color screen entries.
 +!
 +NetHack*nethack.background: 	wheat
 +NetHack*map*yellow:		gold
 +NetHack*map*brown:		tan
 +NetHack*map*gray:		grey85
 +NetHack*map*foreground:		wheat
 +NetHack*map*background:		grey40
 +
 +NetHack*fancy_status.skipAdjust:        True
 +NetHack*fancy_status.background:	wheat
 +NetHack*status_info*foreground:		Sienna
 +NetHack*status_info*background:		wheat
 +NetHack*status_info.background:		wheat
 +NetHack*status_attributes*foreground:	black
 +NetHack*status_attributes*background:	white
 +NetHack*status_condition*foreground:	red
 +NetHack*status_condition*background:	wheat
 +NetHack*Scrollbar*foreground:		Sienna
 +NetHack*Scrollbar*background:		wheat
 +NetHack*status_info*showGrip:		False
 +NetHack*status_attributes*showGrip:	False
 +
 +NetHack*player_selection*random.borderColor:	blue
 +NetHack*player_selection*random.borderWidth:    2
 +NetHack*player_selection*random.foreground:	blue
 +NetHack*player_selection*random.accelerators: #override\n\
 +				<Key>Return:	set() notify() unset()
 +NetHack*player_selection*quit.borderColor:	blue
 +NetHack*player_selection*quit.foreground:	blue
 +NetHack*player_selection*Command.borderColor:	red
 +NetHack*player_selection*Command.foreground:	red
 +NetHack*player_selection*quit.accelerators: #override\n\
 +				<Key>Escape:	set() notify() unset()
 +
++NetHack*race_selection*random.borderColor:	blue
++NetHack*race_selection*random.borderWidth:	2
++NetHack*race_selection*random.foreground:	blue
++NetHack*race_selection*random.accelerators: #override\n\
++				<Key>Return:	set() notify() unset()
++NetHack*race_selection*quit.borderColor:	blue
++NetHack*race_selection*quit.foreground:		blue
++NetHack*race_selection*Command.borderColor:	red
++NetHack*race_selection*Command.foreground:	red
++NetHack*race_selection*quit.accelerators: #override\n\
++				<Key>Escape:	set() notify() unset()
++
++NetHack*gender_selection*random.borderColor:	blue
++NetHack*gender_selection*random.borderWidth:	2
++NetHack*gender_selection*random.foreground:	blue
++NetHack*gender_selection*random.accelerators: #override\n\
++				<Key>Return:	set() notify() unset()
++NetHack*gender_selection*quit.borderColor:	blue
++NetHack*gender_selection*quit.foreground:	blue
++NetHack*gender_selection*Command.borderColor:	red
++NetHack*gender_selection*Command.foreground:	red
++NetHack*gender_selection*quit.accelerators: #override\n\
++				<Key>Escape:	set() notify() unset()
++
++NetHack*alignment_selection*random.borderColor:	blue
++NetHack*alignment_selection*random.borderWidth:	2
++NetHack*alignment_selection*random.foreground:	blue
++NetHack*alignment_selection*random.accelerators: #override\n\
++				<Key>Return:	set() notify() unset()
++NetHack*alignment_selection*quit.borderColor:	blue
++NetHack*alignment_selection*quit.foreground:	blue
++NetHack*alignment_selection*Command.borderColor: red
++NetHack*alignment_selection*Command.foreground:	red
++NetHack*alignment_selection*quit.accelerators: #override\n\
++				<Key>Escape:	set() notify() unset()
++
 +NetHack*extended_commands*dismiss.borderColor:	blue
 +NetHack*extended_commands*dismiss.foreground:	blue
 +NetHack*extended_commands*help.borderColor:	blue
 +NetHack*extended_commands*help.foreground:	blue
 +NetHack*extended_commands*Command.borderColor:	red
 +NetHack*extended_commands*Command.foreground:	red
 +NetHack*extended_commands*help.accelerators: #override\n\
 +				:<Key>?:	set() notify() unset()
 +NetHack*extended_commands*dismiss.accelerators: #override\n\
 +				<Key>Escape:	set() notify() unset()
 +!
 +!
 +! The following are the default 15 colors that the nethack map uses.
 +! If they don't look good on your screen, change them.
 +!
 +! The foreground color is used as "no color".
 +!
 +!NetHack*map*black:		black
 +!NetHack*map*red:		red
 +!NetHack*map*green:		pale green
 +!NetHack*map*brown:		brown
 +!NetHack*map*blue:		blue
 +!NetHack*map*magenta:		magenta
 +!NetHack*map*cyan:		light cyan
 +!NetHack*map*gray:		gray
 +!NetHack*map*orange:		orange
 +!NetHack*map*bright_green:	green
 +!NetHack*map*yellow:		yellow
 +!NetHack*map*bright_blue:	royal blue
 +!NetHack*map*bright_magenta:	violet
 +!NetHack*map*bright_cyan:	cyan
 +!NetHack*map*white:		white
diff --cc debian/x11/config.h
index 5075e27,fddb257..09d643f
--- a/debian/x11/config.h
+++ b/debian/x11/config.h
@@@ -43,9 -43,11 +43,16 @@@
   * Some combinations make no sense.  See the installation document.
   */
  #define TTY_GRAPHICS	/* good old tty based graphics */
- #define X11_GRAPHICS    /* X11 interface */
 -/* #define X11_GRAPHICS */	/* X11 interface */
++#define X11_GRAPHICS	/* X11 interface */
  /* #define QT_GRAPHICS */	/* Qt interface */
+ /* #define GNOME_GRAPHICS */	/* Gnome interface */
+ /* #define MSWIN_GRAPHICS */	/* Windows NT, CE, Graphics */
+ 
++/* Debian default window system is always tty; they have to set their
++ * own if they want another one (or just use the scripts)
++ */
++#define DEFAULT_WINDOW_SYS "tty"
 +
  /*
   * Define the default window system.  This should be one that is compiled
   * into your system (see defines above).  Known window systems are:
@@@ -92,7 -122,7 +127,7 @@@
   * would allow:
   *  xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
   */
- # define USE_XPM 		/* Disable if you do not have the XPM library */
 -/* # define USE_XPM */		/* Disable if you do not have the XPM library */
++# define USE_XPM		/* Disable if you do not have the XPM library */
  # ifdef USE_XPM
  #  define GRAPHIC_TOMBSTONE	/* Use graphical tombstone (rip.xpm) */
  # endif
@@@ -144,11 -163,11 +168,11 @@@
  
  #ifdef UNIX
  /* path and file name extension for compression program */
- /* #define COMPRESS "/usr/bin/compress" */    /* Lempel-Ziv compression */
- /* #define COMPRESS_EXTENSION ".Z" */         /* compress's extension */
 -#define COMPRESS "/usr/bin/compress"	/* Lempel-Ziv compression */
 -#define COMPRESS_EXTENSION ".Z"		/* compress's extension */
++/* #define COMPRESS "/usr/bin/compress"	*/ /* Lempel-Ziv compression */
++/* #define COMPRESS_EXTENSION ".Z" */		/* compress's extension */
  /* An example of one alternative you might want to use: */
- #define COMPRESS "/bin/gzip" 			/* FSF gzip compression */
 -/* #define COMPRESS "/usr/local/bin/gzip" */	/* FSF gzip compression */
 -/* #define COMPRESS_EXTENSION ".gz" */		/* normal gzip extension */
++#define COMPRESS "/bin/gzip"	/* FSF gzip compression */
 +#define COMPRESS_EXTENSION ".gz"		/* normal gzip extension */
  #endif
  
  #ifndef COMPRESS
@@@ -179,7 -198,11 +203,11 @@@
   * otherwise it will be the current directory.
   */
  # ifndef HACKDIR
- #  define HACKDIR "/usr/lib/games/nethack"	/* nethack directory */
+ #  ifdef __APPLE__
+ #    define HACKDIR "nethackdir"	/* nethack directory */
+ #  else
 -#    define HACKDIR "/usr/games/lib/nethackdir"
++#    define HACKDIR "/usr/lib/games/nethack"
+ #  endif
  # endif
  
  /*
diff --cc debian/x11/nethack-tty.sh
index 0000000,0000000..1da6edf
new file mode 100644
--- /dev/null
+++ b/debian/x11/nethack-tty.sh
@@@ -1,0 -1,0 +1,63 @@@
++#!/bin/sh
++
++set -e
++
++HACKSTYLE=x11
++
++if [ -z "$NETHACKOPTIONS" ]; then
++  if [ -e $HOME/.nethackrc ]; then
++    NETHACKOPTIONS=$HOME/.nethackrc
++    export NETHACKOPTIONS
++  else
++    NETHACKOPTIONS=/etc/nethack/nethackrc.tty
++    export NETHACKOPTIONS
++  fi
++fi
++
++HACKDIR=/usr/lib/games/nethack
++export HACKDIR
++HACK=$HACKDIR/nethack-$HACKSTYLE
++
++# see if we can find the full path name of PAGER, so help files work properly
++# assume that if someone sets up a special variable (HACKPAGER) for NetHack,
++# it will already be in a form acceptable to NetHack
++# ideas from brian at radio.astro.utoronto.ca
++if test \( "xxx$PAGER" != xxx \) -a \( "xxx$HACKPAGER" = xxx \)
++then
++
++        HACKPAGER=$PAGER
++
++#       use only the first word of the pager variable
++#       this prevents problems when looking for file names with trailing
++#       options, but also makes the options unavailable for later use from
++#       NetHack
++        for i in $HACKPAGER
++        do
++                HACKPAGER=$i
++                break
++        done
++
++        if test ! -f $HACKPAGER
++        then
++                IFS=:
++                for i in $PATH
++                do
++                        if test -f $i/$HACKPAGER
++                        then
++                                HACKPAGER=$i/$HACKPAGER
++                                export HACKPAGER
++                                break
++                        fi
++                done
++                IFS='   '
++        fi
++        if test ! -f $HACKPAGER
++        then
++                echo Cannot find $PAGER -- unsetting PAGER.
++                unset HACKPAGER
++                unset PAGER
++        fi
++fi
++
++cd $HACKDIR
++exec $HACK "$@"
diff --cc debian/x11/nethack.sh
index 0000000,0000000..54e9bb0
new file mode 100644
--- /dev/null
+++ b/debian/x11/nethack.sh
@@@ -1,0 -1,0 +1,22 @@@
++#!/bin/sh
++
++set -e
++
++HACKSTYLE=x11
++
++if [ -z "$NETHACKOPTIONS" ]; then
++  if [ -e $HOME/.nethackrc.$HACKSTYLE ]; then
++    NETHACKOPTIONS=$HOME/.nethackrc.$HACKSTYLE
++    export NETHACKOPTIONS
++  else
++    NETHACKOPTIONS=/etc/nethack/nethackrc.$HACKSTYLE
++    export NETHACKOPTIONS
++  fi
++fi
++
++HACKDIR=/usr/lib/games/nethack
++export HACKDIR
++HACK=$HACKDIR/nethack-$HACKSTYLE
++
++cd $HACKDIR
++exec $HACK "$@"
diff --cc debian/x11/nethackrc
index cc53c4c,0000000..7421133
mode 100644,000000..100644
--- a/debian/x11/nethackrc
+++ b/debian/x11/nethackrc
@@@ -1,72 -1,0 +1,77 @@@
 +#
 +# System-wide NetHack configuration file for X-based NetHack.
 +#
 +
- OPTIONS=windowtype:x11,toptenwin,hilite_pet
++OPTIONS=windowtype:x11,toptenwin,hilite_pet,number_pad
 +OPTIONS=fixinv,safe_pet,sortpack,tombstone,color
 +OPTIONS=verbose,news,fruit:potato
 +OPTIONS=dogname:Slinky
 +OPTIONS=catname:Rex
 +OPTIONS=pickup_types:$
 +OPTIONS=nomail
 +
 +#
 +# There are 17 object symbols and various graphics symbols.
 +# The descriptions of these symbols can be found in dat/opthelp.
 +#
 +#
 +# Font: nh10 (10x20)
 +#
 +OBJECTS= 180 183 188 192 181 184 182 189 190 196 \
 +	 191 194 193 187 185 186 195
 +#
 +DUNGEON= 032 025 018 013 012 014 011 015 023 024 \
- 	 022 021 128 129 130 131 132 133 134 135 \
- 	 136 137 145 146 144 143 142 141 140 149 \
- 	 150 031 031 147 148 031 161 140
++	 022 021 128 129 130 131 132 035 035 133 \
++	 134 135 136 137 145 146 144 124 143 142 \
++	 141 140 149 150 031 031 147 148 031 161 \
++	 140
 +#
 +TRAPS=	 138 138 138 138 138 138 138 138 138 138 \
 +	 138 138 138 138 138 139 138 138 138 138 \
 +	 138 138
 +#
 +EFFECTS= 151 152 153 154 155 156 157 158	 \
 +	 159 160 161 162			 \
 +	 163 164 165 166 167 168 169 170	 \
 +	 171 172 173 174 175 176 177 178 179
 +#
 +#
 +# Font: ibm (8x14)
 +#
 +#OBJECTS= 207 210 215 219 208 211 209 216 217 223 \
 +#	 218 221 220 214 212 213 222
 +#
 +#DUNGEON= 032 128 129 130 131 132 133 134 135 136 \
- #	  137 138 139 045 124 142 143 144 145 146 \
- #	  147 148 155 156 227 154 153 152 151 159 \
- #	  160 200 200 157 158 250 170 151
++#	  137 138 139 045 124 142 143 035 035 144 \
++#	  145 146 147 148 155 156 227 124 154 153 \
++#	  152 151 159 160 200 200 157 158 250 170 \
++#	  151
 +#
 +#TRAPS=   149 149 149 149 149 149 149 149 149 149 \
 +#	  149 149 149 149 149 150 149 149 149 149 \
 +#	  149 149
 +#
 +#EFFECTS= 161 162 163 164 165 166 167 168	  \
 +#	  169 170 171 172			  \
 +#	  173 174 175 176 177 178 179 180	  \
 +#	  181 182 183 184 185 186 187 188 189
 +#
 +#
 +# Font: a "standard" font like 6x13
++# Note that this version is unlikely to work on a tty on a Unix system because
++# many of these characters are also control characters.
 +#
 +#DUNGEON = 032 025 018 013 012 014 011 015 023 024 \
- #	   022 021 031 045 124 043 043 031 035 001 \
- #	   060 062 060 062 019 092 035 123 125 031 \
- #	   125 046 046 035 035 046 127 125
++#	   022 021 031 045 124 043 043 035 035 031 \
++#	   035 001 060 062 060 062 019 124 092 035 \
++#	   123 125 031 125 046 046 035 035 046 127 \
++#	   125
 +#
 +#TRAPS=    094 094 094 094 094 094 094 094 094 094 \
 +#	   094 094 094 094 094 002 094 094 094 094 \
 +#	   094 094
 +#
 +#EFFECTS=  124 045 092 047 042 033 041 040	   \
 +#	   048 035 064 042			   \
 +#	   047 045 092 124 124 092 045 047         \
 +#	   047 064 092 064 064 064 092 064 047
diff --cc doc/nethack.6
index 923be69,5d248ee..ce4a6d4
--- a/doc/nethack.6
+++ b/doc/nethack.6
@@@ -180,7 -197,7 +197,7 @@@ option, which must be the first argumen
  supplies a directory which is to serve as the playground.
  It overrides the value from NETHACKDIR, HACKDIR,
  or the directory specified by the game administrator during compilation
--(usually /usr/games/lib/nethackdir).
++(usually /usr/lib/games/nethackdir).
  This option is usually only useful to the game administrator.
  The playground must contain several auxiliary files such as help files,
  the list of top scorers, and a subdirectory
@@@ -266,7 -283,7 +283,7 @@@ MAIL	Mailbox file
  .br
  MAILREADER	Replacement for default reader
  .br
--	(probably /bin/mail or /usr/ucb/mail).
++	(probably /usr/bin/mail).
  .br
  NETHACKDIR	Playground.
  .br
diff --cc include/config.h
index 5075e27,fddb257..e12bc49
--- a/include/config.h
+++ b/include/config.h
@@@ -43,9 -43,11 +43,16 @@@
   * Some combinations make no sense.  See the installation document.
   */
  #define TTY_GRAPHICS	/* good old tty based graphics */
- #define X11_GRAPHICS    /* X11 interface */
 -/* #define X11_GRAPHICS */	/* X11 interface */
--/* #define QT_GRAPHICS */	/* Qt interface */
++/* #define X11_GRAPHICS	*/ /* X11 interface */
++#define QT_GRAPHICS	/* Qt interface */
+ /* #define GNOME_GRAPHICS */	/* Gnome interface */
+ /* #define MSWIN_GRAPHICS */	/* Windows NT, CE, Graphics */
+ 
++/* Debian default window system is always tty; they have to set their
++ * own if they want another one (or just use the scripts)
++ */
++#define DEFAULT_WINDOW_SYS "tty"
 +
  /*
   * Define the default window system.  This should be one that is compiled
   * into your system (see defines above).  Known window systems are:
@@@ -92,7 -122,7 +127,7 @@@
   * would allow:
   *  xpmtoppm <x11tiles.xpm | pnmscale 1.25 | ppmquant 90 >x11tiles_big.xpm
   */
- # define USE_XPM 		/* Disable if you do not have the XPM library */
 -/* # define USE_XPM */		/* Disable if you do not have the XPM library */
++# define USE_XPM		/* Disable if you do not have the XPM library */
  # ifdef USE_XPM
  #  define GRAPHIC_TOMBSTONE	/* Use graphical tombstone (rip.xpm) */
  # endif
@@@ -144,11 -163,11 +168,11 @@@
  
  #ifdef UNIX
  /* path and file name extension for compression program */
- /* #define COMPRESS "/usr/bin/compress" */    /* Lempel-Ziv compression */
- /* #define COMPRESS_EXTENSION ".Z" */         /* compress's extension */
 -#define COMPRESS "/usr/bin/compress"	/* Lempel-Ziv compression */
 -#define COMPRESS_EXTENSION ".Z"		/* compress's extension */
++/* #define COMPRESS "/usr/bin/compress"	*/ /* Lempel-Ziv compression */
++/* #define COMPRESS_EXTENSION ".Z" */		/* compress's extension */
  /* An example of one alternative you might want to use: */
- #define COMPRESS "/bin/gzip" 			/* FSF gzip compression */
 -/* #define COMPRESS "/usr/local/bin/gzip" */	/* FSF gzip compression */
 -/* #define COMPRESS_EXTENSION ".gz" */		/* normal gzip extension */
++#define COMPRESS "/bin/gzip"	/* FSF gzip compression */
 +#define COMPRESS_EXTENSION ".gz"		/* normal gzip extension */
  #endif
  
  #ifndef COMPRESS
@@@ -179,7 -198,11 +203,11 @@@
   * otherwise it will be the current directory.
   */
  # ifndef HACKDIR
- #  define HACKDIR "/usr/lib/games/nethack"	/* nethack directory */
+ #  ifdef __APPLE__
+ #    define HACKDIR "nethackdir"	/* nethack directory */
+ #  else
 -#    define HACKDIR "/usr/games/lib/nethackdir"
++#    define HACKDIR "/usr/lib/games/nethack"
+ #  endif
  # endif
  
  /*
diff --cc include/unixconf.h
index f0b33cf,442f02b..f65a633
--- a/include/unixconf.h
+++ b/include/unixconf.h
@@@ -34,12 -32,13 +32,13 @@@
  
  
  /* define any of the following that are appropriate */
- /* #define SVR4 */	/* use in addition to SYSV for System V Release 4 */
 -#define SVR4		/* use in addition to SYSV for System V Release 4 */
++/* #define SVR4	*/	/* use in addition to SYSV for System V Release 4 */
  			/* including Solaris 2+ */
  #define NETWORK		/* if running on a networked system */
  			/* e.g. Suns sharing a playground through NFS */
  /* #define SUNOS4 */	/* SunOS 4.x */
- #define LINUX		/* Another Unix clone */
 -/* #define LINUX */	/* Another Unix clone */
++#define LINUX	/* Another Unix clone */
+ /* #define CYGWIN32 */	/* Unix on Win32 -- use with case sensitive defines */
  /* #define GENIX */	/* Yet Another Unix Clone */
  /* #define HISX */	/* Bull Unix for XPS Machines */
  /* #define BOS */	/* Bull Open Software - Unix for DPX/2 Machines */
@@@ -97,11 -97,13 +97,13 @@@
  
  /* #define NO_FILE_LINKS */	/* if no hard links */
  /* #define LOCKDIR "/usr/games/lib/nethackdir" */	/* where to put locks */
- #ifdef LOGDIR
- # define LOCKDIR LOGDIR
- #else
- /* # define LOCKDIR "/usr/games/lib/nethackdir" */
- #endif
+ 
+ /*
+  * If you want the static parts of your playground on a read-only file
+  * system, define VAR_PLAYGROUND to be where the variable parts are kept.
+  */
 -/* #define VAR_PLAYGROUND "/var/lib/games/nethack" */
++#define VAR_PLAYGROUND "/var/games/nethack"
+ 
  
  /*
   * Define DEF_PAGER as your default pager, e.g. "/bin/cat" or "/usr/ucb/more"
@@@ -130,7 -132,7 +132,7 @@@
   * "extra output" method is used, but not all systems provide access to
   * a fine-grained timer.
   */
- #define TIMED_DELAY		/* usleep() */
 -/* #define TIMED_DELAY */	/* usleep() */
++#define TIMED_DELAY	/* usleep() */
  #endif
  
  /*
@@@ -164,7 -166,7 +166,7 @@@
  
  /* #define NO_MAILREADER */	/* have mail daemon just tell player of mail */
  
--#ifdef	MAIL
++#ifdef MAIL
  # if defined(BSD) || defined(ULTRIX)
  #  ifdef AMS
  #define AMS_MAILBOX	"/Mailbox"
@@@ -183,7 -185,7 +185,8 @@@
  #   endif
  #  endif
  # else
--#define DEF_MAILREADER	"/bin/mail"
++/* Debian mail reader is /usr/bin/mail, not /bin/mail */
++#define DEF_MAILREADER	"/usr/bin/mail"
  # endif
  #endif
  
diff --cc src/topten.c
index d3f0ff3,a2f6e52..8e40db4
--- a/src/topten.c
+++ b/src/topten.c
@@@ -836,15 -855,14 +855,21 @@@ char **argv
  	    if (playerct < 1) Strcat(pbuf, "you.");
  	    else {
  		if (playerct > 1) Strcat(pbuf, "any of ");
- 		for (i = 0; i < playerct && strlen(pbuf) < sizeof(pbuf) - 2; i++) {
 -		for (i = 0; i < playerct; i++) {
 -		    Strcat(pbuf, players[i]);
++		for (i = 0; i < playerct && strlen(pbuf) < sizeof(pbuf) - 2;
++		    i++) {
 +		    size_t len = strlen(pbuf), rest;
 +		    if (strlen(players[i]) > sizeof(pbuf) - len - 2) {
- 		        rest = sizeof(pbuf) - strlen(pbuf) - 2;
++			rest = sizeof(pbuf) - strlen(pbuf) - 2;
 +			memcpy(pbuf + len, players[i], rest);
 +			pbuf[len + rest] = '\0';
 +		    } else
- 		        Strcat(pbuf, players[i]);
- 		    if (i < playerct-1) Strcat(pbuf, ":");
++			Strcat(pbuf, players[i]);
+ 		    if (i < playerct-1) {
+ 			if (players[i][0] == '-' &&
+ 			    index("pr", players[i][1]) && players[i][2] == 0)
+ 			    Strcat(pbuf, " ");
+ 			else Strcat(pbuf, ":");
+ 		    }
  		}
  	    }
  	    raw_print(pbuf);
diff --cc sys/unix/Makefile.src
index 1909d23,cdd0ff3..034a9f4
--- a/sys/unix/Makefile.src
+++ b/sys/unix/Makefile.src
@@@ -112,11 -117,11 +117,11 @@@ SYSOBJ = ioctl.o unixmain.o unixtty.o u
  
  # flags for Linux
  #   compile normally
- CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11R6/include
 -# CFLAGS = -O2 -fomit-frame-pointer -I../include
 -# LFLAGS = -L/usr/X11R6/lib
++CFLAGS = -O2 -fomit-frame-pointer -I../include
 +LFLAGS = -L/usr/X11R6/lib
  #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include -I/usr/X11/include
- # LFLAGS = -b i486-linuxaout -L/usr/X11/lib
+ # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
+ # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
  
  # flags for BeOS
  #   on a Mac/BeBox:
@@@ -132,13 -144,14 +144,14 @@@ GNOMEINC=-I/usr/lib/glib/include -I/usr
  # flags for debugging:
  # CFLAGS = -g -I../include
  
- #CFLAGS = -O -I../include
- #LFLAGS = 
 -CFLAGS = -O -I../include
 -LFLAGS =
++# CFLAGS = -O -I../include
++# LFLAGS =
  
- # Only used for Qt interface (other interfaces are standard C)
- CXXFLAGS = -g $(CFLAGS) -I. -I$(QTDIR)/include
- # Qt is C++, so define the compiler and linker thus required:
- #CXX=g++
+ # The Qt and Be window systems are written in C++, while the rest of
+ # NetHack is standard C.  If using Qt, uncomment the LD line here to get
+ # the C++ libraries linked in.
+ CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
+ CXX=g++
  #LD=g++
  
  # Set the WINSRC, WINOBJ, and WINLIB lines to correspond to your desired
diff --cc sys/unix/Makefile.top
index 93e036c,fafd71a..137cc8c
--- a/sys/unix/Makefile.top
+++ b/sys/unix/Makefile.top
@@@ -37,9 -40,15 +40,15 @@@ VARDIR  = $(GAMEDIR
  SHELLDIR = $(PREFIX)/games
  
  # per discussion in Install.X11 and Install.Qt
 -VARDATND = 
 +# VARDATND = 
  # VARDATND = x11tiles pet_mark.xbm
- VARDATND = x11tiles pet_mark.xbm rip.xpm
+ # VARDATND = x11tiles pet_mark.xbm rip.xpm
+ # for Atari/Gem
+ # VARDATND = nh16.img title.img GEM_RSC.RSC rip.img
+ # for BeOS
+ # VARDATND = beostiles
+ # for Gnome
 -# VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm
++VARDATND = x11tiles pet_mark.xbm rip.xpm mapbg.xpm
  
  VARDATD = data oracles options quest.dat rumors
  VARDAT = $(VARDATD) $(VARDATND)
diff --cc sys/unix/Makefile.utl
index fe79f5e,ec560b6..be84fe9
--- a/sys/unix/Makefile.utl
+++ b/sys/unix/Makefile.utl
@@@ -67,11 -72,11 +72,11 @@@
  
  # flags for Linux
  #   compile normally
- CFLAGS = -O2 -fomit-frame-pointer -I../include -I/usr/X11R6/include
 -# CFLAGS = -O2 -fomit-frame-pointer -I../include
 -# LFLAGS = -L/usr/X11R6/lib
++CFLAGS = -O2 -fomit-frame-pointer -I../include
 +LFLAGS = -L/usr/X11R6/lib
  #   OR compile backwards compatible a.out format
- # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include -I/usr/X11/include
- # LFLAGS = -b i486-linuxaout -L/usr/X11/lib
+ # CFLAGS = -O2 -b i486-linuxaout -fomit-frame-pointer -I../include
+ # LFLAGS = -b i486-linuxaout -L/usr/X11R6/lib
  
  # flags for BeOS using the command line
  # remember to uncomment flex and bison below
@@@ -84,8 -89,10 +89,10 @@@
  # flags for debugging:
  # CFLAGS = -g -I../include
  
- #CFLAGS = -O -I../include
- #LFLAGS =
 -CFLAGS = -O -I../include
 -LFLAGS =
++# CFLAGS = -O -I../include
++# LFLAGS =
+ 
+ LIBS =
   
  
  # yacc/lex programs to use to generate *_comp.h, *_lex.c, and *_yacc.c.
diff --cc util/recover.c
index dbb1995,1c47fc5..5c7582b
--- a/util/recover.c
+++ b/util/recover.c
@@@ -15,6 -15,6 +15,12 @@@
  #include "win32api.h"
  #endif
  
++#ifdef SECURE
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++#endif
++
  #ifdef VMS
  extern int FDECL(vms_creat, (const char *,unsigned));
  extern int FDECL(vms_open, (const char *,int,unsigned));
@@@ -104,23 -106,15 +112,23 @@@ char *argv[]
  	}
  #if defined(SECURE) && !defined(VMS)
  	if (dir
- # ifdef LOGDIR
- 	        && strcmp(dir, LOGDIR)
 -# ifdef HACKDIR
++# ifdef VAR_PLAYGROUND
++	        && strcmp(dir, VAR_PLAYGROUND)
 +# else
 +#  ifdef HACKDIR
  		&& strcmp(dir, HACKDIR)
- #  endif /* HACKDIR */
- # endif /* LOGDIR */
 -# endif
++#  endif 
++# endif /* VAR_PLAYGROUND */
  		) {
  		(void) setgid(getgid());
  		(void) setuid(getuid());
  	}
  #endif	/* SECURE && !VMS */
  
- #ifdef LOGDIR
- 	if (!dir) dir = LOGDIR;
++#ifdef VAR_PLAYGROUND
++	if (!dir) dir = VAR_PLAYGROUND;
 +#endif
 +
  #ifdef HACKDIR
  	if (!dir) dir = HACKDIR;
  #endif
@@@ -163,11 -157,11 +171,19 @@@ int lev
  #endif
  }
  
++#ifdef SECURE
++static uid_t save_uid = -1;
++#endif
++
  int
  open_levelfile(lev)
  int lev;
  {
  	int fd;
++#ifdef SECURE
++	struct stat level_stat;
++	uid_t uid;
++#endif
  
  	set_levelfile_name(lev);
  #if defined(MICRO) || defined(WIN32) || defined(MSDOS)
@@@ -175,6 -169,6 +191,21 @@@
  #else
  	fd = open(lock, O_RDONLY, 0);
  #endif
++	/* Security check: does the user calling recover own the file? */
++#ifdef SECURE
++	if (fd != -1) {
++		uid = getuid();
++		if (fstat(fd, &level_stat) == -1) {
++			Fprintf(stderr, "No permission to stat level file %s.\n", lock);
++			return -1;
++		}
++		if (uid != 0 && level_stat.st_uid != uid) {
++			Fprintf(stderr, "You are not the owner of level file %s.\n", lock);
++			return -1;
++		}
++		save_uid = level_stat.st_uid;
++	}
++#endif
  	return fd;
  }
  
@@@ -188,6 -182,6 +219,13 @@@ create_savefile(
  #else
  	fd = creat(savename, FCMASK);
  #endif
++
++#ifdef SECURE
++	if (fchown(fd, save_uid, -1) == -1) {
++		Fprintf(stderr, "could not chown %s to %i!\n", savename, 
++			save_uid);
++	}
++#endif
  	return fd;
  }
  

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/nethack.git



More information about the Pkg-games-commits mailing list