diff --git a/doc/fixes34.2 b/doc/fixes34.2 index 1af41fb61..1b9b3ecbb 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -176,4 +176,5 @@ win32tty: keystroke handlers can be dynamically loaded to assist in resolving internationalization issues win32tty: add Ray Chason's code for international keyboard handling Solaris (and other SystemV variants): TIMED_DELAY support +X11: NetHack.ad is now installed and used w/o user intervention diff --git a/sys/unix/Makefile.dat b/sys/unix/Makefile.dat index 9c79b320d..75a5aa82d 100644 --- a/sys/unix/Makefile.dat +++ b/sys/unix/Makefile.dat @@ -41,6 +41,9 @@ nhtiles.bmp: ../util/tile2bmp ../win/share/monsters.txt ../win/share/objects.txt ../win/share/other.txt ../util/tile2bmp $@ +NetHack.ad: ../win/X11/NetHack.ad + cp ../win/X11/NetHack.ad NetHack.ad + pet_mark.xbm: ../win/X11/pet_mark.xbm cp ../win/X11/pet_mark.xbm pet_mark.xbm @@ -138,4 +141,4 @@ dungeon: dungeon.def ../util/makedefs ../util/dgn_comp spotless: -rm -f spec_levs quest_levs *.lev $(VARDAT) dungeon dungeon.pdf -rm -f nhdat x11tiles beostiles pet_mark.xbm rip.xpm mapbg.xpm - -rm -f rip.img GEM_RSC.RSC title.img nh16.img + -rm -f rip.img GEM_RSC.RSC title.img nh16.img NetHack.ad diff --git a/sys/unix/Makefile.top b/sys/unix/Makefile.top index a9889a8d1..2f11c35ea 100644 --- a/sys/unix/Makefile.top +++ b/sys/unix/Makefile.top @@ -41,8 +41,8 @@ SHELLDIR = $(PREFIX)/games # per discussion in Install.X11 and Install.Qt VARDATND = -# VARDATND = x11tiles pet_mark.xbm -# VARDATND = x11tiles pet_mark.xbm rip.xpm +# VARDATND = x11tiles NetHack.ad pet_mark.xbm +# VARDATND = x11tiles NetHack.ad pet_mark.xbm rip.xpm # for Atari/Gem # VARDATND = nh16.img title.img GEM_RSC.RSC rip.img # for BeOS @@ -135,6 +135,9 @@ beostiles: $(GAME) ( cd util ; $(MAKE) tile2beos ) ( cd dat ; $(MAKE) beostiles ) +NetHack.ad: $(GAME) + ( cd dat ; $(MAKE) NetHack.ad ) + pet_mark.xbm: ( cd dat ; $(MAKE) pet_mark.xbm ) diff --git a/sys/unix/README.linux b/sys/unix/README.linux index 935a5bbc0..ccdfaf07d 100644 --- a/sys/unix/README.linux +++ b/sys/unix/README.linux @@ -38,10 +38,11 @@ it to your home directory as .nethackrc and modifying it to your liking. If you are running X11 copy the nh10.pcf and ibm.pcf font files from /usr/games/lib/nethackdir to a X11 fonts directory (such as /usr/X11/lib/X11/fonts/misc) and run "mkfontdir", then restart X -windows to load them. Also consider copying NetHack.ad to -/usr/X11/lib/X11/app-defaults/NetHack or adding its contents to your -.Xdefaults or .Xresources. - +windows to load them. If you prefer to use the graphical tiles, +add the following to your .Xdefaults or .Xresources file: + NetHack.tile_file: x11tiles +You may need to run "xrdb -merge $HOME/.Xdefaults" (or .Xresources) after +doing this. The official Linux binary is set up to run setgid games, which allows multiple users on your system to play the game and prevents cheating by diff --git a/sys/unix/nethack.sh b/sys/unix/nethack.sh index 3491e8d29..600e1dacd 100644 --- a/sys/unix/nethack.sh +++ b/sys/unix/nethack.sh @@ -6,6 +6,15 @@ export HACKDIR HACK=$HACKDIR/nethack MAXNROFPLAYERS=4 +# Since Nethack.ad is installed in HACKDIR, add it to XUSERFILESEARCHPATH +case "x$XUSERFILESEARCHPATH" in +x) XUSERFILESEARCHPATH="$HACKDIR/%N.ad" + ;; +*) XUSERFILESEARCHPATH="$XUSERFILESEARCHPATH:$HACKDIR/%N.ad" + ;; +esac +export XUSERFILESEARCHPATH + # 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 diff --git a/win/X11/Install.X11 b/win/X11/Install.X11 index 243ee3a98..b4b7a43b5 100644 --- a/win/X11/Install.X11 +++ b/win/X11/Install.X11 @@ -109,14 +109,10 @@ prepend an appropriate -I parameter to CFLAGS and a find the include and library files for X11. -Finally, you should also install the NetHack.ad file as NetHack in the -normal X11 applications defaults directory. Alternatively, each person may -append the contents of this file to their .Xdefaults or .Xresources file, -depending on how your system is configured and the version of X11 you are -using. A second alternative is copy NetHack.ad to NetHack in GAMEDIR -(from the top Makefile) and add a line to nethack.sh specifying this -additional applications defaults directory: - XAPPLRESDIR=$HACKDIR; export XAPPLRESDIR +Finally, to ensure NetHack's windows look the way they were intended to +look, make sure the top Makefile VARDATND also contains NetHack.ad. If it +does, running nethack will automatically take the appropriate steps to +cause this file to be used to initialize NetHack's X11 resources. Three icon suggestions to the window manager are supported: nh72, nh56,