home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v10i042: NetHack3 - display oriented dungeons & dragons (Ver. 3.0), Patch8x
- Message-ID: <5750@tekred.CNA.TEK.COM>
- Date: 5 Jun 90 18:05:32 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 1052
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
- Posting-number: Volume 10, Issue 42
- Archive-name: NetHack3/Patch8x
- Patch-To: NetHack3: Volume 7, Issue 56-93
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 24 (of 24)."
- # Contents: Files amiga/NHScore.uu amiga/NHinfo.uu amiga/NewGame.uu
- # amiga/dflticon.uu auxil/history include/decl.h mac/MD.rsrc.hqx
- # others/ovlmgr.uu vms/vmstty.c
- # Wrapped by billr@saab on Mon Jun 4 15:40:35 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- echo shar: Extracting \"'Files'\" \(4567 characters\)
- sed "s/^X//" >'Files' <<'END_OF_FILE'
- XThis is a listing of all files in a full NetHack 3.0 distribution, organized
- Xin their standard manner on a UNIX system. It indicates which files are
- Xnecessary for which versions, so that you can tell which files may be deleted
- Xfrom or not transferred to your system if you wish.
- X
- X
- X(files in top directory)
- XFiles Install.ami Install.dos Install.mac Install.ovl
- XInstall.unix Install.vms Makefile.top Porting README
- X
- Xamiga:
- X(files for Amiga version)
- XGBinfo.uu Makefile.ami NHScore.uu NHinfo.uu NetHack.cnf
- XNewGame.uu ami.lnk amidos.c amifont.uu amifont8.uu
- Xamimenu.c amitcap.c amitty.c amiunix.c amiwbench.c
- Xamiwind.c compact.lat dflticon.uu
- X
- Xauxil:
- X(files for all versions)
- XGuidebook.mn Guidebook.mss Guidebook.tex castle.des cmdhelp
- Xdata.base endgame.des help hh history
- Xlicense opthelp oracles rumors.fal rumors.tru
- Xtower.des
- X(files for UNIX versions)
- XMakefile.auxil lev_comp.6 nethack.6 nethack.sh
- X(file for Macintosh version)
- XMacHelp
- X
- Xinclude:
- X(files for all versions)
- XMacAlert.h amiconf.h artifact.h attrib.h color.h
- Xconfig.h coord.h decl.h def_os2.h edog.h
- Xepri.h eshk.h extern.h flag.h func_tab.h
- Xglobal.h gold.h hack.h lev.h macconf.h
- Xmfndpos.h mkroom.h monattk.h mondata.h monflag.h
- Xmonst.h monsym.h msdos.h obj.h objclass.h
- Xpatchlevel.h pcconf.h permonst.h prop.h rm.h
- Xsp_lev.h spell.h system.h termcap.h tosconf.h
- Xtradstdc.h trampoli.h trap.h unixconf.h vault.h
- Xvmsconf.h wseg.h you.h youprop.h
- X(file for special level compiler (STRONGHOLD option))
- Xlev_comp.h
- X
- Xmac:
- X(files for Macintosh version)
- XMD.proj.hqx MD.rsrc.hqx MacAlert.c NH.proj.hqx NH.rsrc.hqx
- XSL.proj.hqx Segments.mac mac.c macfile.c macinit.c
- X
- Xothers:
- X(files for MSDOS (and OS/2) version)
- XMakefile.lib Makefile.msc Makefile.os2 Makefile.ovl Makefile.pc
- XMakefile.tcc NetHack.cnf exesmurf.c exesmurf.uu maintain.ovl
- Xovlmgr.asm ovlmgr.doc ovlmgr.uu splitf.c splitf.uu
- Xsuputils.ovl termcap.uu trampoli.c
- X(file for MSDOS and VMS versions)
- Xtermcap
- X(files for MSDOS, Amiga, and Atari versions)
- Xlev_lex.c pcmain.c
- X(files for MSDOS and Atari versions)
- Xmsdos.c pctty.c pcunix.c
- X(files for Atari version)
- XMakefile.st atari.cnf atarifnt.uue
- X(Berkeley random number file, which may be included in any version)
- Xrandom.c
- X
- Xsrc:
- X(files for all versions)
- Xallmain.c alloc.c apply.c artifact.c attrib.c
- Xbones.c cmd.c dbridge.c decl.c demon.c
- Xdo.c do_name.c do_wear.c dog.c dogmove.c
- Xdokick.c dothrow.c eat.c end.c engrave.c
- Xexper.c extralev.c fountain.c getline.c hack.c
- Xinvent.c ioctl.c lock.c mail.c makedefs.c
- Xmakemon.c mcastu.c mhitm.c mhitu.c mklev.c
- Xmkmaze.c mkobj.c mkroom.c mon.c mondata.c
- Xmonmove.c monst.c mthrowu.c music.c o_init.c
- Xobjects.c objnam.c options.c pager.c panic.c
- Xpickup.c polyself.c potion.c pray.c pri.c
- Xpriest.c prisym.c read.c restore.c rip.c
- Xrnd.c rumors.c save.c search.c shk.c
- Xshknam.c sit.c sounds.c sp_lev.c spell.c
- Xsteal.c termcap.c timeout.c topl.c topten.c
- Xtrack.c trap.c u_init.c uhitm.c vault.c
- Xversion.c weapon.c were.c wield.c wizard.c
- Xworm.c worn.c write.c zap.c
- X(files for special level compiler (STRONGHOLD option))
- Xlev_comp.c lev_comp.l lev_comp.y lev_lex.c lev_main.c
- X(files for UNIX versions)
- XMakefile.src unixmain.c unixtty.c unixunix.c
- X
- Xvms:
- X(files for VMS version)
- Xinstall.com lev_lex.h oldcrtl.c spec_lev.com vmsbuild.com
- Xvmsmain.c vmsmisc.c vmstty.c vmsunix.c
- X(GNU termcap files that support VMS version)
- Xvmstermcap.c vmstparam.c
- END_OF_FILE
- if test 4567 -ne `wc -c <'Files'`; then
- echo shar: \"'Files'\" unpacked with wrong size!
- fi
- # end of 'Files'
- echo shar: Extracting \"'amiga/NHScore.uu'\" \(2564 characters\)
- sed "s/^X//" >'amiga/NHScore.uu' <<'END_OF_FILE'
- Xbegin 644 NetHackScore.info
- XMXQ```0``````#`!)`%``*P`&``,``0`IH@``*:(8````````````````````
- XM````!/X`*&%0`"*7J````,H````^`````````````)Q```````!0`"H``@`"
- XM.<@#````````````````````````````````````````````````/______X
- XM!X```/\\__]__?_\``#_'/_^?_W__P``_PSP?!_Y__\``?\DYSY_^_S_@`#_
- XM,.`^?_G^?X``_SCG_F_]_S^``'\\\'\?_/^_@``?______X_OX``````````
- XM`'^`````'_______@````!_______P`````_______\`````(@Q'!^````
- XM`$_.3F,G/@````#@S\YG(#P`````_DY.9^?X`````<#@X,/P>`````/_____
- XM__`````#_______@````!_______X`````_______\`````/______^`````
- XM``````'_@``'_______"_P``#_______GWX``!YS___Q_[Y^```^<___^?]\
- XM_```/G.#\'G/?_@``#X#^><YGT?X```^<\'G^#\/\```/G,YYSF??^```!YS
- XMA/!QSS^````/______^?````!_______S```````````````````````````
- XM``````````````````````````````````````````````````````````!_
- XM______S_P```P``````'^'P``0##``"``@`#``$`XP`!@`(``(`#`/,/@^`&
- XM``#``@#;&,&`!`,`0`,`SQ_!@`8!@$`!`,<8`9`"`,!``8###X#@`P!`0`#@
- XM``````'`0$``/________X!`````(```````0````&```````,````!`````
- XM``"`````WY\?.X^!@````+`QL9S8P0````$?,#&8W\(````#`;&QF!@&````
- XM`C\?'SP/A`````0```````@````,```````8````"```````$````!``````
- XM`"`````P``````!@``?_______X`0``8```````]`,``,```````8(&``"&,
- XM```.`$&!``!!C```!@"#`P``08Q\#X8P@`8``$'\!AC&8,0$``!!C#X8!\"`
- XM"```08S&&,9@@!@``&&,>P^.,,!P```P``````!@P```&```````,X````?_
- XM______X``````````````````````````````````````````````````%``
- XM*@`"``(]$`,````````````````````````````````````````````````_
- XM______@'@```_SS__W_]__P``/\<__Y__`/_``#_#/!\'_@`/P`!_R3G/G_X
- XM``>``/\PX#Y_^`````#_..?^;_P`````?SSP?Q_\X````!_______C@`````
- XM````````8#`````?_____@``````'_____X``````#______```````@8.#$
- XM<`,`````3\Y.8R<#`````.#/SF<@(P````#^3DYGY_L````!P.#@P_!_@```
- XM`________.````/______^`````'_______@````#_______P`````______
- XM_X```````````?^```?______\+_```/______^??@``'G/___'_OAX``#YS
- XM___Y_WS<```^<X/P><]#N```/@/YYSF?3O@``#YSP>?X/P'P```^<SGG.9]_
- XMX```'G.$\''//X````_______Y\````'_______,````````````````````
- XM````````````````````````````````````````````````````````````
- XM`````'_______/_```#```````?X?``!`,,``(`"``,``0#C``&``_P`@`,`
- XM\P^#X`8#P,`"`-L8P8`$`#A``P#/'\&`!@`'P`$`QQ@!D`(``'@!@,,/@.`#
- XM```&`.```````<```@`_________X#(````@`````0`"````8`````$_\@``
- XM`$``````C^0```#?GQ\[C\.(````L#&QG-CC<````1\P,9C?WX````,!L;&8
- XM&`<````"/Q\?/`^'@```!```````'.````P``````!@````(```````0````
- XM$```````(````#```````&``!________@!``!@``````#T`P``P``````!@
- XM@8``(8P```X`08$``$&,```&`(/#``!!C'P/AC"#A@``0?P&&,9@S@0``$&,
- XM/A@'P(`(``!!C,88QF"`&```88Q[#XXPP'```#```````````8```````S
- XM@```!________@``````````````````````````````````````````````
- XD`!!(86-K17AE.DYE=$AA8VL`````"`````I30T]212!A;&P`
- X`
- Xend
- END_OF_FILE
- if test 2564 -ne `wc -c <'amiga/NHScore.uu'`; then
- echo shar: \"'amiga/NHScore.uu'\" unpacked with wrong size!
- fi
- # end of 'amiga/NHScore.uu'
- echo shar: Extracting \"'amiga/NHinfo.uu'\" \(2509 characters\)
- sed "s/^X//" >'amiga/NHinfo.uu' <<'END_OF_FILE'
- Xbegin 644 NetHack.info
- XMXQ```0`````"$@`2`%``*P`&``,``0`C>P``(WN@````````````````````
- XM`````R(``````````````@X````'`````````````)Q```````!0`"H``@`!
- XM@;@#``````#_____________^/____QC___X__@____\8___^/_X#____&/_
- XM__C_^,/___QC___X__CP___\8___^/_X_#___&/___C_^/\/__QC___X__C_
- XMP__\8___^/_X__#__&````#_^/_\/_Q@````__C__P_\8___^/_X___#_&/_
- XM__C_^/__\/QC___X__C___P``!__^/_X___\```'__C_^/__^`!CX'_X__C_
- XM__`08_@?^/_X___P_&/^#_C_____\/___X________/____'____________
- XMX____________^/________\``?#________^``!C_________!_P!______
- XM___P__`_________^```/_________X`#A____________\/____________
- XM#____________P?___________^'____________A________/___X?_____
- XM__@/__^/_______\`__\#________@#_X#_________`'@#__________@`?
- XM______________________________\`````````````!P````.<```'``?`
- XM```#G```!P`'\````YP```<`!SP```.<```'``</```#G```!P`'`\```YP`
- XM``<`!P#P``.<```'``<`/``#G```!P`'``\``Y____\`!P`#P`.?____``<`
- XM`/`#G```!P`'```\`YP```<`!P``#P.<```'``<```,`````!P`'````````
- XM``<`!P```!*<```'``<````/G```!P`'`````YP```<`````````````````
- XM````````````````````````````````````````````````````````````
- XM````````````````````````````````````````````````````````````
- XM````````````````````````````````````````````````````````````
- XM````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````%``
- XM*@`"``&%``,``````/_____________X_____&/___C_^#____QC___X__@/
- XM___\8___^/_XP____&/___C_^/#___QC___X__C\/__\8___^/_X_P___&/_
- XM__C_^/_#__QC___X__C_\/_\8````/_X__P__&````#_^/__#_QC___X__C_
- XM_\/\8___^/_X___P_&/___C_^/___```'__X__C___@```?_^/_X__^``&/@
- XM?_C_^/_``!!C^!_X__C^``#\8_X/^/__^```____C_____,!D____\?____X
- XM`!_____C____^``?____X_____P`/_P`!\/____^&'_X``&/_____QO_\'_`
- XM'_________#_\#_________X```__________@`.'____________P______
- XM______\/____________!____________X?___________^'_______\____
- XMA_______^`___X________P#__P/_______^`/_@/________\`>`/______
- XM___^`!_______________________________P`````````````'`````YP`
- XM``<`!\````.<```'``?P```#G```!P`'/````YP```<`!P\```.<```'``<#
- XMP``#G```!P`'`/```YP```<`!P`\``.<```'``<`#P`#G____P`'``/``Y__
- XM__\`!P``\`.<```'``<``#P#G```!P`'```/`YP```<`!P```P`````'``<`
- XM````````!P`'````$IP```<`!P````^<```'``<````#G```!P``````````
- XM``````,!@````````````````````````?^```````````!_````````````
- XM'````````````!@````````````8````````````&````````````#P`````
- XM``````#G````````````````````````````````````````````````````
- XM````````````````````````````````````````````````````````````
- XK````````````````````````````````````````````````````````````
- X`
- Xend
- END_OF_FILE
- if test 2509 -ne `wc -c <'amiga/NHinfo.uu'`; then
- echo shar: \"'amiga/NHinfo.uu'\" unpacked with wrong size!
- fi
- # end of 'amiga/NHinfo.uu'
- echo shar: Extracting \"'amiga/NewGame.uu'\" \(2535 characters\)
- sed "s/^X//" >'amiga/NewGame.uu' <<'END_OF_FILE'
- Xbegin 644 NewGame.info
- XMXQ```0``````D0`2`%``*P`&``,``0`BTP``(P&8````````````````````
- XM````!/X`(M-@`````````3<````'`````````````)Q```````!0`"H``@`!
- XM@^@#``````#_____________^/____QC___X__@____\8___^/_X#____&/_
- XM__C_^,/___QC___X__CP___\8___^/_X_#___&/___C_^/\/__QC___X__C_
- XMP__\8___^/_X__#__&````#_^/_\/_Q@````__C__P_\8___^/_X___#_&/_
- XM__C_^/__\/QC___X__C___P``!__^/_X___\```'__C_^/__^`!CX'_X__C_
- XM__`08_@?^/_X___P_&/^#_C_____\/___X________/____'____\#______
- XMX_____.?_____^/____SG__\``?#____\Y__^``!C_____.?__!_P!______
- XM___P__`_____^#__^```/_____.?__X`#A_____P'_____\/____\_______
- XM#_____@______P?___________^'____YY______A____^2?_/___X?____D
- XMG_@/__^/____\S_\`__\#_____,__@#_X#_________`'@#__________@`?
- XM______________________________\`````````````!P````.<```'``?`
- XM```#G```!P`'\````YP```<`!SP```.<```'``</```#G```!P`'`\```YP`
- XM``<`!P#P``.<```'``<`/``#G```!P`'``\``Y____\`!P`#P`.?____``<`
- XM`/`#G```!P`'```\`YP```<`!P``#P.<```'``<```,`````!P`'````````
- XM``<`!P```!*<```'``<````/G```!P`'`````YP```<`````````````````
- XM````````````#\````````````Q@```````````,8```````````#&``````
- XM``````Q@````````````````````````!\````````````Q@```````````/
- XMX```````````#`````````````?`````````````````````````&&``````
- XM`````!M@```````````;8```````````#,````````````S`````````````
- XM`````````````````````````````````````````````````````````%``
- XM*@`"``&7<`,``````/_____________X_____&/___C_^#____QC___X__@/
- XM___\8___^/_XP____&/___C_^/#___QC___X__C\/__\8___^/_X_P___&/_
- XM__C_^/_#__QC___X__C_\/_\8````/_X__P__&````#_^/__#_QC___X__C_
- XM_\/\8___^/_X___P_&/___C_^/___```'__X__C___@```?_^/_X__^``&/@
- XM?_C_^/_``!!C^!_X__C^``#\8_X/^/__^```____C_____,!D____\?____X
- XM`!_____C____^``?____X_____P`/_P`!\/____\`'_X``&/_____`#_\'_`
- XM'_____S\__#_\#______!__X```______G/__@`.'_____X#_____P_____^
- XM?_____\/_____P?_____!____________X?____^>?____^'_____DG\____
- XMA_____Y)^`___X______,_P#__P/_____S/^`/_@/________\`>`/______
- XM___^`!_______________________________P`````````````'`````YP`
- XM``<`!\````.<```'``?P```#G```!P`'/````YP```<`!P\```.<```'``<#
- XMP``#G```!P`'`/```YP```<`!P`\``.<```'``<`#P`#G____P`'``/``Y__
- XM__\`!P``\`.<```'``<``#P#G```!P`'```/`YP```<`!P```P`````'``<`
- XM````````!P`'````$IP```<`!P````^<```'``<````#G```!P``````````
- XM``````,!@```````````````````````````````````````````````````
- XM`````````````P$```````````,;````````````^````````````;P`````
- XM``````'_```````````!@````````````/@````````````````````````!
- XMA@```````````;8```````````&V````````````S````````````,P`````
- XM````````````````````````````````````````````````````````````
- X2`!!(86-K17AE.DYE=$AA8VL`
- X`
- Xend
- END_OF_FILE
- if test 2535 -ne `wc -c <'amiga/NewGame.uu'`; then
- echo shar: \"'amiga/NewGame.uu'\" unpacked with wrong size!
- fi
- # end of 'amiga/NewGame.uu'
- echo shar: Extracting \"'amiga/dflticon.uu'\" \(2535 characters\)
- sed "s/^X//" >'amiga/dflticon.uu' <<'END_OF_FILE'
- Xbegin 644 default.icon
- XMXQ```0`````"'P`;`%``*P`&``,``0`CB-@`(XH`````````````````````
- XM````!/X`(X50`````````F@````&``````````````````````!0`"H``@`!
- XMR2@#``````#_____________^/____QC___X__@____\8___^/_X#____&/_
- XM__C_^,/___QC___X__CP___\8___^/_X_#___&/___C_^/\/__QC___X__C_
- XMP__\8___^/_X__#__&````#_^/_\/_Q@````__C__P_\8___^/_X___#_&/_
- XM__C_^/__\/QC___X__C___P``!__^/_X___\```'__C_^/__^`!CX'_X__C_
- XM__`08_@?^/_X___P_&/^#_C_____\/___X________/____'____________
- XMX____________^/________\``?#________^``!C_________!_P!______
- XM___P__`_________^```/_________X`#A__________^/\/__________S_
- XM#___X'!YYX/$_P?__\__.><YF/^'___@^#S/`9S_A____F<^'#^<_X?__\#P
- XMGS@#PG^/_______\`__\#________@#_X#_________`'@#__________@`?
- XM______________________________\`````````````!P````.<```'``?`
- XM```#G```!P`'\````YP```<`!SP```.<```'``</```#G```!P`'`\```YP`
- XM``<`!P#P``.<```'``<`/``#G```!P`'``\``Y____\`!P`#P`.?____``<`
- XM`/`#G```!P`'```\`YP```<`!P``#P.<```'``<```,`````!P`'````````
- XM``<`!P```!*<```'``<````/G```!P`'`````YP```<`````````````````
- XM````````````````````````````````````````````````````````````
- XM````````````````````````````````````````````````````````````
- XM````!P````````````,`````'X^&&'P[`````#``QAC&9P`````?!\,P_F,`
- XM`````9C!X,!C`````#\/8,!\/8``````````````````````````````````
- XM`````````````````````````````````````````````````````````%``
- XM*@`"``'[@`,``````/_____________X_____&/___C_^#____QC___X__@/
- XM___\8___^/_XP____&/___C_^/#___QC___X__C\/__\8___^/_X_P___&/_
- XM__C_^/_#__QC___X__C_\/_\8````/_X__P__&````#_^/__#_QC___X__C_
- XM_\/\8___^/_X___P_&/___C_^/___```'__X__C___@```?_^/_X__^``&/@
- XM?_C_^/_``!!C^!_X__C^``#\8_X/^/__^```____C_____,!D____\?____X
- XM`!_____C____^``?____X_____P`/_P`!\/____^&'_X``&/_____QO_\'_`
- XM'_________#_\#_________X```__________@`.'___________'P______
- XM_____Y\/___\#@\\\'B?!___^?_G/.<S'X?___P?!YG@,Y^'____S.?`Y_.?
- XMA___^!X3X`!X3X________P#__P/_______^`/_@/________\`>`/______
- XM___^`!_______________________________P`````````````'`````YP`
- XM``<`!\````.<```'``?P```#G```!P`'/````YP```<`!P\```.<```'``<#
- XMP``#G```!P`'`/```YP```<`!P`\``.<```'``<`#P`#G____P`'``/``Y__
- XM__\`!P``\`.<```'``<``#P#G```!P`'```/`YP```<`!P```P`````'``<`
- XM````````!P`'````$IP```<`!P````^<```'``<````#G```!P``````````
- XM``````,!@````````````````````````?^```````````!_````````````
- XM'````````````!@````````````8````````````&````````````#P`````
- XM``````#G````X````````````&`````#\?###X=@````!@`8PQC,X`````/@
- XM^&8?S&``````,Q@\&`Q@````!^'L&`^'L```````````````````````````
- XM````````````````````````````````````````````````````````````
- X2`!!(86-K17AE.DYE=$AA8VL`
- X`
- Xend
- END_OF_FILE
- if test 2535 -ne `wc -c <'amiga/dflticon.uu'`; then
- echo shar: \"'amiga/dflticon.uu'\" unpacked with wrong size!
- fi
- # end of 'amiga/dflticon.uu'
- echo shar: Extracting \"'auxil/history'\" \(3151 characters\)
- sed "s/^X//" >'auxil/history' <<'END_OF_FILE'
- X
- XBehold, mortal, the origins of NetHack...
- X
- XJay Fenlason wrote the original Hack with help from Kenny Woodland,
- XMike Thome, and Jon Payne.
- X
- XAndries Brouwer did a major re-write, transforming Hack into a very different
- Xgame, and published (at least) three versions (1.0.1, 1.0.2, and 1.0.3) for
- XUNIX(tm) machines to the Usenet.
- X
- XDon G. Kneller ported Hack 1.0.3 to Microsoft(tm) C and MS-DOS(tm), producing
- XPC HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and
- Xwent on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6).
- X
- XR. Black ported PC HACK 3.51 to Lattice(tm) C and the Atari 520/1040ST,
- Xproducing ST Hack 1.03.
- X
- XMike Stephenson merged these various versions back together, incorporating
- Xmany of the added features, and produced NetHack version 1.4. He then
- Xcoordinated a cast of thousands in enhancing and debugging NetHack 1.4 and
- Xreleased NetHack versions 2.2 and 2.3.
- X
- XLater, Mike coordinated a major rewrite of the game, heading a team which
- Xincluded Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson,
- XIzchak Miller, Eric S. Raymond, John Rupley, Mike Threepoint, and Janet Walz,
- Xto produce NetHack 3.0c.
- X
- XNetHack 3.0 was ported to the Atari by Eric R. Smith, to OS/2 by Timo
- XHakulinen, and to VMS by David Gentzel. The three of them and Kevin Darcy
- Xlater joined the main development team to produce subsequent revisions of
- X3.0.
- X
- XOlaf Seibert ported NetHack 2.3 and 3.0 to the Amiga. Norm Meluch, Stephen
- XSpackman and Pierre Martineau designed overlay code for PC NetHack 3.0.
- XJohnny Lee ported NetHack 3.0 to the Macintosh. Along with various other
- XDungeoneers, they continued to enhance the PC, Macintosh, and Amiga ports
- Xthrough the later revisions of 3.0.
- X
- X - - - - - - - - - -
- X
- XFrom time to time, some depraved individual out there in netland sends a
- Xparticularly intriguing modification to help out with the game. The Gods of
- Xthe Dungeon sometimes make note of the names of the worst of these miscreants
- Xin this, the list of Dungeoneers:
- X
- X Richard Addison Bruce Holloway Pat Rankin
- X Tom Almy Richard P. Hughey Eric S. Raymond
- X Ken Arromdee Ari Huttunen John Rupley
- X Eric Backus Del Lamb Olaf Seibert
- X John S. Bien Greg Laskin Kevin Sitze
- X Ralf Brown Johnny Lee Eric R. Smith
- X Jean-Christophe Collet Steve Linhart Kevin Smolkowski
- X Steve Creps Ken Lorber Michael Sokolov
- X Kevin Darcy Benson I. Margulies Stephen Spackman
- X Matthew Day Pierre Martineau Andy Swanson
- X Joshua Delahunty Roland McGrath Kevin Sweet
- X Jochen Erwied Norm Meluch Scott R. Turner
- X David Gentzel Bruce Mewborne Janet Walz
- X Mark Gooderum Izchak Miller Jon Watte
- X David Hairston Gil Neiger Tom West
- X Timo Hakulinen Greg Olson Gregg Wonderly
- X Eric Hendrickson Mike Passaretti
- END_OF_FILE
- if test 3151 -ne `wc -c <'auxil/history'`; then
- echo shar: \"'auxil/history'\" unpacked with wrong size!
- fi
- # end of 'auxil/history'
- echo shar: Extracting \"'include/decl.h'\" \(5460 characters\)
- sed "s/^X//" >'include/decl.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)decl.h 3.0 88/10/24
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifndef DECL_H
- X#define DECL_H
- X
- X#define E extern
- X
- XE int NEARDATA bases[];
- XE int NEARDATA warnlevel; /* defined in mon.c */
- XE int NEARDATA occtime;
- XE int NEARDATA nroom;
- XE int NEARDATA multi;
- XE int hackpid;
- X#if defined(UNIX) || defined(VMS)
- XE int locknum;
- X#endif
- X#ifdef DEF_PAGER
- XE char *catmore;
- X#endif /* DEF_PAGER */
- XE char SAVEF[];
- XE const char *hname;
- XE const char *hu_stat[]; /* defined in eat.c */
- XE int NEARDATA medusa_level;
- XE int NEARDATA bigroom_level;
- X#ifdef REINCARNATION
- XE int NEARDATA rogue_level;
- X#endif
- X#ifdef ORACLE
- XE int NEARDATA oracle_level;
- X#endif
- X#ifdef STRONGHOLD
- XE int NEARDATA stronghold_level, NEARDATA tower_level;
- X#endif
- XE int NEARDATA wiz_level;
- XE boolean NEARDATA is_maze_lev;
- X
- XE xchar NEARDATA xdnstair, NEARDATA ydnstair, NEARDATA xupstair,
- X NEARDATA yupstair; /* stairs up and down. */
- X#ifdef STRONGHOLD
- XE xchar NEARDATA xdnladder, NEARDATA ydnladder, NEARDATA xupladder,
- X NEARDATA yupladder; /* ladders up and down. */
- X#endif
- XE xchar NEARDATA scrlx, NEARDATA scrhx, NEARDATA scrly, NEARDATA scrhy;
- X /* corners of new area on screen. pri.c */
- XE xchar NEARDATA dlevel;
- XE xchar NEARDATA maxdlevel; /* dungeon level */
- XE int NEARDATA done_stopprint;
- XE int NEARDATA done_hup;
- XE xchar NEARDATA curx,NEARDATA cury; /* cursor location on screen */
- XE xchar NEARDATA seehx, NEARDATA seelx, NEARDATA seehy, NEARDATA seely;
- X /* where to see */
- XE xchar NEARDATA seehx2, NEARDATA seelx2, NEARDATA seehy2, NEARDATA seely2;
- X /* where to see */
- XE xchar NEARDATA fountsound, NEARDATA sinksound; /* numbers of noisy things */
- X
- XE char NEARDATA pl_character[PL_CSIZ];
- XE const char *pl_classes;
- X#ifdef TUTTI_FRUTTI
- XE char NEARDATA pl_fruit[PL_FSIZ];
- XE int NEARDATA current_fruit;
- XE struct fruit NEARDATA *ffruit;
- X#endif
- X#ifdef STRONGHOLD
- XE char NEARDATA tune[6];
- X# ifdef MUSIC
- XE schar NEARDATA music_heard;
- X# endif
- X#endif
- X
- XE const char NEARDATA quitchars[];
- XE const char NEARDATA vowels[];
- XE const char NEARDATA ynchars[];
- XE const char NEARDATA ynqchars[];
- XE const char NEARDATA ynaqchars[];
- XE const char NEARDATA nyaqchars[];
- XE int NEARDATA smeq[];
- XE int NEARDATA doorindex;
- XE char NEARDATA *save_cm;
- X#define KILLED_BY_AN 0
- X#define KILLED_BY 1
- X#define NO_KILLER_PREFIX 2
- XE int NEARDATA killer_format;
- XE const char NEARDATA *killer;
- XE char inv_order[];
- XE char NEARDATA plname[PL_NSIZ];
- XE char NEARDATA dogname[];
- XE char NEARDATA catname[];
- XE const char NEARDATA sdir[], NEARDATA ndir[]; /* defined in cmd.c */
- XE const char NEARDATA *occtxt; /* defined when occupation != NULL */
- XE const char NEARDATA *nomovemsg;
- XE const char NEARDATA nul[];
- XE char *HI, *HE, *AS, *AE; /* set up in termcap.c */
- XE char *CD; /* set up in termcap.c */
- XE int CO, LI; /* set up in termcap.c: COLNO and ROWNO+3 */
- XE const char *traps[];
- X#ifndef MAKEDEFS_C /* avoid conflict with lock() */
- XE char lock[];
- X#endif
- XE char morc;
- X
- XE const schar NEARDATA xdir[], NEARDATA ydir[]; /* idem */
- XE schar NEARDATA tbx, NEARDATA tby; /* set in mthrowu.c */
- XE int NEARDATA dig_effort; /* apply.c, hack.c */
- XE uchar NEARDATA dig_level;
- XE coord NEARDATA dig_pos;
- XE boolean NEARDATA dig_down;
- X
- XE long NEARDATA moves, NEARDATA monstermoves;
- XE long NEARDATA wailmsg;
- X
- XE boolean NEARDATA in_mklev;
- XE boolean NEARDATA stoned;
- XE boolean NEARDATA unweapon;
- XE boolean NEARDATA mrg_to_wielded;
- X
- X#ifdef KOPS
- XE boolean NEARDATA allow_kops;
- X#endif
- X
- X#ifdef SPELLS
- X#ifndef SPELLS_H
- X#include "spell.h"
- X#endif
- XE struct spell NEARDATA spl_book[]; /* sized in decl.c */
- X#endif
- X
- X#ifdef REDO
- XE int NEARDATA in_doagain;
- X#endif
- X
- X#ifdef CLIPPING
- XE boolean clipping;
- XE int clipx, clipy, clipxmax, clipymax;
- X#endif
- X
- X#ifdef TEXTCOLOR
- X#ifndef COLOR_H
- X#include "color.h"
- X#endif
- X# ifdef TOS
- XE const char *hilites[MAXCOLORS];
- X# else
- XE char NEARDATA *hilites[MAXCOLORS];
- X# endif
- X#endif
- X
- X#ifndef OBJ_H
- X#include "obj.h"
- X#endif
- X
- XE struct obj NEARDATA *invent, NEARDATA *uarm, NEARDATA *uarmc,
- X NEARDATA *uarmh, NEARDATA *uarms, NEARDATA *uarmg, NEARDATA *uarmf,
- X#ifdef SHIRT
- X NEARDATA *uarmu, /* under-wear, so to speak */
- X#endif
- X#ifdef POLYSELF
- X NEARDATA *uskin,
- X#endif
- X NEARDATA *uamul, NEARDATA *uleft, NEARDATA *uright, NEARDATA *ublindf,
- X NEARDATA *fcobj, NEARDATA *uwep;
- X
- XE struct obj NEARDATA *uchain; /* defined iff PUNISHED */
- XE struct obj NEARDATA *uball; /* defined if PUNISHED */
- X
- X#ifndef YOU_H
- X#include "you.h"
- X#endif
- X
- XE struct you NEARDATA u;
- X
- X#ifndef MAKEDEFS_C
- X#ifndef ONAMES_H
- X#include "onames.h"
- X#endif
- X#ifndef PM_H
- X#include "pm.h"
- X#endif
- X#endif /* MAKEDEFS_C */
- X
- XE struct permonst NEARDATA playermon, NEARDATA *uasmon;
- X /* also decl'd extern in permonst.h */
- X /* init'd in monst.c */
- XE struct obj NEARDATA zeroobj; /* init'd and defined in decl.c */
- X
- XE struct monst NEARDATA youmonst; /* init'd and defined in decl.c */
- X
- XE const char obj_symbols[]; /* init'd in objects.h */
- X
- XE struct obj *billobjs;
- X
- XE const char black[];
- XE const char amber[];
- X#ifdef THEOLOGY
- XE const char golden[];
- X#endif
- XE const char light_blue[];
- XE const char red[];
- XE const char green[];
- XE const char silver[];
- XE const char blue[];
- XE const char purple[];
- XE const char white[];
- X
- XE const char nothing_happens[];
- XE const char thats_enough_tries[];
- X
- XE const char monsyms[], objsyms[];
- XE const char *monexplain[], *objexplain[];
- X
- X#ifdef NAMED_ITEMS
- XE const int artifact_num;
- XE boolean artiexist[];
- X#endif
- X
- X#undef E
- X
- X#endif /* DECL_H /**/
- END_OF_FILE
- if test 5460 -ne `wc -c <'include/decl.h'`; then
- echo shar: \"'include/decl.h'\" unpacked with wrong size!
- fi
- # end of 'include/decl.h'
- echo shar: Extracting \"'mac/MD.rsrc.hqx'\" \(1117 characters\)
- sed "s/^X//" >'mac/MD.rsrc.hqx' <<'END_OF_FILE'
- X(This file must be converted with BinHex 4.0)
- X
- X:%QeKDf9NC@Cc,R"bEfSZFR0bB`#3%30JdL`!N!3"!*!$![3!!!(d!*!$E(-k!*!
- X$&!!4+P)k5@jME(9NCA-k)!#3"")!%5T61NN5E@&VC@4PCR-ZF(*[DLjbFh*MDJ)
- X!N"B"!3`"m!#3%3+L-D)A!*!'!f$-*!(B!*!$(!0L!!a$6d4&!!)!DP"0Bh3!"J#
- X14%P86!!2!1*"6&*8!!m"SNP$6di!!!*L689193!#!Qj69&)J!!B#NN019%`!!!,
- XQ5801)`!"![*568Y5!!!$#NC548B!!3-@3Nj%6!!!!bj3394)!!!$1J!!rrmJ!*!
- X&be`!!3#3!a8!+!!S!-J"3!!"rrm!N!I)!*!%cJ!)!*!&G!!c!)J!E`3#6dX!N!9
- Xd!*i!L!$D"!C$B@jMC@`!N!82!!m!(`"("J4NBA4K!*!&%!")!#!!H!B%C'&dC3#
- X3"5J!5!!i!+!'#("PFQe[ER0d!*!&%!#J!#!!k!B'FR9YEh*c!*!&+!!2!$J!4`B
- X&G(*KF(0"!*!&+!#K!$J"%3B-Ef*UC@0d)'jKE@9c!*!&3!!3!&!!m!BGE@pZFh3
- XJFQ9cEh9bBf8JB@jN)'CTE'8JD@0[ER02!*!$&3#3"!%%!AF!!3#3#2"J!*!%l!!
- X+!*!&[`%H!0%"EJ3%6h"PEJ#3"J)l!&!#633'5'PNC'9Z!*!&fJ%I!1`"E`3'3f&
- XZBf9X!*!&*`%D!$S"Fi!!N!C%!5!!9J&`"!9&DQ9MG&m!N!9G!5!!E`&`"!9%FQP
- XfCH!!N!9$!!`!p3%A!*!(!`"Y!"8!R3#3"jB"'`#A!A1!!*!(!K3!C3*dL!#3"J)
- X!-!!Q!8B)-e"XC@&cC5"XEf0KG'9H-#"QD@aPAM%JAM)0Eh)JF(*PFh-J3f&ZBf9
- XX)(4[)'&LEh*d,YF!!!%!N!-#p!!!!I3!N!0X!%%[G!@%!*!$(!"H!!&%6%p(!!%
- X!%N4*9%`!!3!U!-J!N!G"e+6`B2rr!*!$k`""e03!b2rr!*!$'3#3"2"Jrrm!!!%
- X%!%(8Z!eAD'PMD#"[F(4TEfirk"m:
- END_OF_FILE
- if test 1117 -ne `wc -c <'mac/MD.rsrc.hqx'`; then
- echo shar: \"'mac/MD.rsrc.hqx'\" unpacked with wrong size!
- fi
- # end of 'mac/MD.rsrc.hqx'
- echo shar: Extracting \"'others/ovlmgr.uu'\" \(7707 characters\)
- sed "s/^X//" >'others/ovlmgr.uu' <<'END_OF_FILE'
- Xbegin 666 ovlmgr.obj
- XM@ P "F]V;&UG<BY!4TW$EA4 904U!314<&3U9,5$),!$-/1$6%F H
- XM "P @$!+I@* 0 ,! 4F8!P!H:1D$ 0%QC$8 !R0D24Y43D\ "20D
- XM3U9,0D%310 *)"1-4$=33D]63 +)"1-4$=33D)!4T4 !B0D34%)3@ &)"1#
- XM1U-. 8D)$-/5DP T9 0 #"20D3U9,24Y)5$$. )B(! H@'1H!0 @
- XM $J@( # /__________
- XM #_____2:(/ ,< ! 0 ! O__'J & ,\ &Z(/ ,^ ! 0 !
- XM O___* 2 -> /__ [Z & -L! YYP( ,0 ,#
- XM;@0@H@\ VX*$ ! $ "___"H 8 XX* "_HF8 Y * 0 )-6@$
- XM " ! @ 0 ( $ " ! @ 0 ( $ "
- XM ! @ 0 ( $ " ! @ 0 ( $ " "*
- XMH $ Y ,__\ !%34U86%A8
- XM, ! ,S@V('-P96-I9FEC(&-O9&4@96YA8FQE9"X-"B1#;VYV96YT:6]N
- XM86P@;65M;W)Y(&%V86EL86)L93H@)$@@<&%R86=R87!H<RX-"B1%35,@;65M
- XM;W)Y(&%V86EL86)L93H@)$@@,39++7!A9V5S+@T*)$YO="!E;F]U9V@@9G)E
- XM92!M96UO<GD@;&5F="!T;R!R=6X@=&AI<R!P<F]G<F%M+B1);G1E<FYA;"!M
- XM96UO<GD@86QL;V-A=&EO;B!F86EL=7)E+B1);F%C8V5S<VEB;&4@15A%(&9I
- XM;&4N($-A;AMT(&QO860@;W9E<FQA>7,N)$EN8V]R<F5C="!$3U,@=F5R<VEO
- XM;BX@375S="!B92 S+C P(&]R(&QA=&5R+B1%35,@;65M;W)Y(&UA;F%G97(@
- XM97)R;W(N)%5N:VYO=VX@97)R;W(A)!M;,&T;6TL-"AM;2QM;,6U/5DQ-1U(Z
- XM&ULP;2 D&UM+#0H;6TL@(" @(" @("@D&UM+#0H;6TL')%!345)65U4>!OR,
- XMV 40 "ZC "T,,TA/ -S!; !Z0 CAX +[__T:#/ !U^H/&!+ M#V+ULTA
- XM<P6P ND "ZC "T-;!GS2&,R([8OPH O@ N0@ \Z:P '4"L/\NH@ =1*T
- XM0<UG+HD> "T0LUG+HD> "X NHP N CMB+'@ +HD> "+'@ +HD>
- XM "T2,TA<P/I NHP #A\S[3/_,_;H NH0 +@,& ".P#/ )J, ":C
- XM FH@ )J( ";'!@ __\NH0 T>#1X-'@T>#1X"Z+%@ "])T#M'JT>K1
- XMZM'J0BT@ /"+BL& FHP +H,^ = 8[QW("B_@NH0 T>#1X-'@T> F
- XMHP )HDN N RX (O5BLZ*\C+M,M+1XM'1L "T0LTA+J$ $@N.P8 '0#
- XMZ0 +J$ "ZC ".P";&!@ ";'!@( FQP8$ )L<&!@ ":)/@@
- XM \<NHP 5RZ.!@ Z )L<& #__R: )@ _5+H !87PO =05'.]=R+R['
- XM!@ NQP8 OP +L<%__^#QP8NH0 +HD%+HD^ ".P";&!@ !>L%
- XML /I "X ".V* #+DT>#1X"ZC #H NBPX +@ ([ C,B.V+L +X
- XM +\ ":*!#+D P8 (D%)HL'*P8 (E% H/'!(/# D;BX@<?75]>6EE;6.H
- XM +HDV NC!X %X?4%/\K#+DB]BM+J, (O&+HLV "#EIPQ L0" ,#
- XML0W$! # X4-Q 8 P,P#<0( ,#A0W$"@ # V$-Q P P-A#<0. ,#WPW$
- XM$ # X4-Q!( P/Y#<04 ,#^0W$%@ # _D-Q!@ P/Y#<0: ,#^0W$' #
- XM _D-Q!X P/Y#<7" ,#: "%SP # P$8Q=, 0$L (7N ,# 1C%\@ # Q@
- XMQ@( P.P#,81 ,#O S&' # VH QB4 P.X#,HH)@("QBP P-D ,HO)@<'
- XMQC4F!@;&.@ # V( QCXF!P?&0P # V ADP P,.$,90 ,#&@"&6P # ]X7
- XMQE\ P,: ,9D ,#J@K&; " @0 QG @(& ,9T! ("QG@ @(! ,9] ("
- XM" #&@P # Y0*QI( P.2"L:I ,#F K&K0 " @P QK( P.J"L:_ ,#F K&
- XMRP " @X QM @(* ,;5 ,#E K&[0 # V QO, P.J"H;X ,#Z@[&_ #
- XM V0 QP P,\ ,<H ,#9@#'+@ # QH AS$ P.7%L<V ("" #'/00" H="
- XM ,#_Q7'4@0# \=9 ,# @#'7@ # VX$QVH P,: ,=R ,#; 3'>00" H>!
- XM ,# 1C+A"8! <>))@$!QY, P.."H>6 ,#^1C'FP # V( RYXF! 3'IR8$
- XM!,>J)@,#QZT P-L ,>V ,#&@#'OP # V0 S]<F!07'W@ # Q Q^, P,2
- XM ,?R ,#! #'^0 # VP$7* ! .,$,8&+HQ<_"Z)1/[1X]'C@<, "Z.'RZ+
- XM1P(NC!PNB38 "Z+-@ 1BZ)-@ B38 "Z+-@ ='^)-@ ]@8 %T??X&
- XM #!@ +J, "Z+-@ +HX> !;6)TN_QX )PNC!X "Z)-@ +HLV N
- XMCAS^#@ @^X&+HX<+O]T B[_= 0NB38 "Z+-@ 1BZ)-@ B38 "Z+-@
- XM=#>)-@ ]@8 %T-"Z+-@ +HX> #/1BZ)-@ Z0 ]@8 )T"U"A #H
- XM !8Z0 Z Z0 1BZ)-@ Z\'V!@ G0*4*$ .@ %CKN^@ .NV4%%2
- XM4U565QX&C-B.P": /@ '4*)J$ .@ .L$D.@ 4! ":C ".V":+%@
- XMBLZ*\C+M,M+1XM'1)J$ %%2 ]"#T0"T0K +HL> #-(7)(,](FBPX -'A
- XMT>'1X='AM#_-(7(S6EFT0K +HL> #-(7(DN0 "N@ 'HS(CMBT/\TA'W(2
- XMZ !Q^ #@ 5]>75M:65C#L 3I "^ "+[H'% (NBTP&XUV,WRXK/@
- XM+@-TOU<@/H NBAQ&._5R ^@ "Z*/$8[]7(#Z +HH$1COU<@/H N
- XMBB1&+@,& #QX[ )HL'+@,& N.P8 '()+CL& !S @/')HD'XJ[#4U%7
- XM51X&N0 "N@ C,B.V"Z+'@ M#_-(7,#Z0 O@ !Q]=7UE;PU-14E9751XN
- XMCAX #/ B]"+Z(O8+HL. #VAP !'4P]H< )U!_:' !="(NBS8 "Z+
- XM/@ *[< !N_ [UW(&=0H[QG,&B\:+UXOK@\,0XL0+[74%L 7I #1[='M
- XMT>W1[8S8 \4?75]>6EE;PX#\2W0/@/Q,= 4N_RX + Z0 "L!U\E!14E-5
- XM5E<&'BZ.!@ +HL. "[$ !))O:' "=1<F]H< %T%2:+AP +0$ +CL&
- XM !R!B: IP _H/#$.+6+L<& #__RZA ]__]T#H[ )HX&! FQP8"
- XMN1 O@ +HL$/?__= N.P+1)S2$NQP3__X/& N+HZ B^S_=A:='P=?7EU;
- XM6EE8+HP6 NB28 ,TA+HX6 NBR8 %!14E-55E<&'HOLG(]&%N@ .@
- XM !\'7UY=6UI96,\FBQX (/K 8O3)@,6 "#P@$FH0 /?__=!#H F@ X
- XM (NH0 ZUF0+J$ .M2D([8.]AS"3O"<TWH #K\0,&" [V',W]@8 %T
- XM!^@ ,&" [PG(EC-B+RRO(=!(&Z )H . !Z C,".V <FBPX (/!
- XM >LZD*$" :<V@+$$ # VP Q!\ P-L!,0D! ,#Q"H$ P/$+@ " @0 Q#,
- XM P," ,0Y ("!@#$/00" L1$ (" 0#$2 " @( Q$P P,& ,11 ,#$ #$
- XM5@ # Q( Q%X P,$ ,1D ,#$@#$:0 # Q Q&X P-L!,1U (" 0#$B #
- XM VP$Q(T$ P/$DP0# \27 ("! #$G # P( Q*( @(& ,2F! ("Q*X P,0
- XM ,2S ,#$@#$N@ # P( A+T P/#$,3!! ("Q,@ @(( (3+ ,#+!>$SP #
- XM \X0A-( P.!$835 ,#SA#$VP # P( Q.$$ @+$Z " @@ A.L P,L%X3Q
- XM ,#@1'%!0 " @$ Q0P @(, (4/ ,#DQ2%%0 # P44Q1P @(" ,4C ("
- XM"@#%,P " @X Q4, P,8 ,5. ("# #%9P # Q@ Q7$ P.0"H6 ,#(A+%
- XMA@0" H64 ,# 1C%EP # Y *Q:H P-D (6U ,#CQ*%P # X\2A<L P./
- XM$H76 ,#CQ+%WP # V@ Q>L P-H ,7P ,#9 #%]P # V8 Q@T P.0"L86
- XM ,#& "&'P # QT2QB( P.0"L8U ,#&@#&0@ # V QD8$ @+&300" L94
- XM! ("QEP$ P/&80 # P( QF4 @($ ,9I ("!@"&AP # P$8QJH P,, (:O
- XM ,# 1C&P0 # QH QL8 P-@ ,;/! ("QM<$ @+&WP " @( QN< P,< ,;N
- XM! ("QOD P-> ,;_ ,#' #'& # QP AS, P,T&<=' ,#% #'3 # Q8
- XMQU, P,4 ,=8 ,#%@"':@ # _\5AVT P/Y&,=\ (" @#'A@ " @P QXT
- XM @(( (>5 ,#+!?'F@0" L>? ,#:@#'I@ # SP A[8 P,^%8?* ,#/A6'
- XMW@ # ]H4A^< P-^%<?Q ("# #IH $ X@4"\!T NNIL ;I FQP8 /__
- XM)H F #]B\B#P0'H [T7,/Z .]%S".@ .@ .OJZP&0!H . !Z
- XM<@D>C,".V.@ !\'C 8& (S8PXS8 \&.P*$( "O!=C")#@@ )J,( *$" ":C
- XM @",!@( )HP>! FQ@8 FH0( "\!T"AZ.V(P&! ?^,/YPRZA STNL8
- XMD([8]@8 %U"SD." !R!8L6" ##H0( "\!UY</V!@ 702!HX&!@ F@"8
- XM /XF@"8 /T'ZR60CMB )@ _O8& "= N )@ _:$ .@ *$ "T! ([8
- XMZP&04@: )@ _J$$ O =#*.P";V!@ 74H)@,&" ",VCO0=1VA" F 08(
- XM *$" ":C @ +P'0&CMB,!@0 C,".V*$" O =#".P";V!@ 74FC-@#!@@
- XMC,([PG4:)J$( $&" FH0( HP( "\!T!X[ )HP>! " )@ _@=:C-C#45-6
- XM5QX&,](NH0 CMBA @ +P'7WO@ OP N1 M$B[___-(8/[$'))M$C-(7)#
- XM+CL& !R-#O3<P*+TRZ)!([ )L8& )L<& @ ";'!@8 FC!X$ ":)
- XM'@@ C 8" (/& H[8ZP8NB06#QP+BJ[X +D0 "Z+!#W__W0+CL"T2<TA+L<$
- XM__^#Q@+BZ <?7UY;6<,STBZ /@ _W0!PR['!@ __^_ "+V;D0 "Z+!3W_
- XM_W01Z .\-S6(/' N+LB\LSTL.+R[L$ +1#45<&S6<'7UD*Y'0#,]+#+HD5
- XM)HD6 F@ X *+PN@ "ZA ".V,8& QP8" QP8$ QP8&
- XMN@ 0B18( ,.+RX[>B] NBP4FHP )H . "PRX[!@ =0'#4U(>!N@ "ZA
- XM STC/VCMCV!@ 70-C@8& ": #@ ^L,D*$( #O0<P2+T(S>H0( "\!U
- XMV(O"!Q]:6\,&4U%2+J, (O0M$0RP#/;4LUG6@KD=4^T1+ !NP$ 4LUG6@KD
- XM=4"T1+ "NP( 4LUG6@KD=3&T1+ #NP, S6<*Y'4D+HX& NBPX #/;)O:'
- XM "= 8F@*< /Z#PQ#B[5I96P?#L ?K))!1'HS(CMBZ NBQX +D< +0_
- XMS2%R!SO!=0,?6<.P".L!D#+D4 X?B]C1XX'# "+%X/Z_W1D4KH +0)S2%:
- XMM G-(;0)N@ S2%84.@ +0"LCK-(;B!,.@ +0"LCK-(;@ H"XK!@ Z
- XMM *R.LTAO@ N1 ,\ N@SS_= HN P8 (/& N+PZ M *R*<TAN@ M G-
- XM(>@ "ZA ]__]T*IQZ 80) ,# 1C$#@ " @@ Q!4$ @*$'@ # QD5A"4
- XM P.7%H0L ,#MQ*$+P # UH5A#T P/:%(1' ,#?A7$DP # SP Q,4$ @+$
- XMRP0" L36! ("Q-L$ @+$X@0" L3F ("" "$Z0 # RP7Q.P @(" ,6! ,#
- XM/ #%C0 # QP Q9 P-N"L6J ,#&@#%ZP # VX*QA0 P.\#,8= ,#7@#&
- XM(@ # SX AC( P,L%\9> ("" #&8P0" H9I ,#<A?&;0 # VH QIL @((
- XM ,:@! ("QJ< P-> (:Q ,#<A?&M0 # VH QLL$ @+&\ # UX QS P,:
- XM ,<U ,#8 #'/ 0" L=$! ("QUT P.0"L=B ,#& #'A # Y ,QX\ P,(
- XM#L>= ,#)0Z'I # \X8A[ P/.&,>^ ,#&@"'P0 # \X8Q\H P,^ ,?:
- XM ,#N@R'X@ # \X8Q^L P,W#H?R ,#-!G']@ # QH BJ#I .$& :.P+1)
- XMS2&Y$ "^ NBP0]__]T!H[ M$G-(8/& N+MN1 O@ +HL4@_K_= 2T1<UG
- XM@\8"XN\NBQX (/[_W0$M#[-(5BT3,TA4(;@Z 6.L!D%#0Z-#HT.C0Z.@
- XM %CK 9 D#P0P/#IR @0'BM"T LTAPQXSP([8+HLV #ZBP0NHP BT0"+J,
- XM +@ (D$C$P"OH0 BP0NHP BT0"+J, +@ (D$C$P"^Q_#'C/ CMB^A #Z
- XM+J$ #W__W0)B00NH0 B40"+HLV NH0 /?__= J)!"ZA ")1 +['\.J
- XMG'@ Q L P,< ,0D ,#/@#$.@ # Q@ A$X P/8&(1> ,#Z!C$?0 # XX*
- XMQ(0 P,( ,2+ ,#"@#$C@ # VL0Q)P P,, ,2C ,##@#$I@ # RD3Q+L
- XF P,, ,3& ,##@#$S@ # XX*Q-( P,( ,3= ,#"@!/B@( '0#
- X
- Xend
- END_OF_FILE
- if test 7707 -ne `wc -c <'others/ovlmgr.uu'`; then
- echo shar: \"'others/ovlmgr.uu'\" unpacked with wrong size!
- fi
- # end of 'others/ovlmgr.uu'
- echo shar: Extracting \"'vms/vmstty.c'\" \(6446 characters\)
- sed "s/^X//" >'vms/vmstty.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)vmstty.c 3.0 88/05/03
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X/* NetHack may be freely redistributed. See license for details. */
- X/* tty.c - (VMS) version */
- X
- X#define NEED_VARARGS
- X#include "hack.h"
- X
- X#include <descrip.h>
- X#include <iodef.h>
- X#include <smgdef.h>
- X#include <ttdef.h>
- X#include <errno.h>
- X
- X#define vms_ok(sts) ((sts)&1)
- X#define META(c) ((c)|0x80) /*(Same as DOS's M(c).)*/
- X#define CTRL(c) ((c)&0x1F)
- X#define CMASK(c) (1<<CTRL(c))
- X#define LIB$M_CLI_CTRLT CMASK('T') /* 0x00100000 */
- X#define LIB$M_CLI_CTRLY CMASK('Y') /* 0x02000000 */
- X
- Xextern short ospeed;
- Xchar erase_char, intr_char, kill_char;
- Xstatic boolean settty_needed = FALSE;
- X#ifndef MAIL
- Xstatic /* else global ('extern' in mail.c) */
- X#endif
- X unsigned long pasteboard_id = 0; /* for AST & broadcast-msg handling */
- Xstatic unsigned long kb = 0;
- X
- Xint
- Xvms_getchar()
- X{
- X static volatile int recurse = 0; /* SMG is not AST re-entrant! */
- X short key;
- X
- X if (recurse++ == 0 && kb != 0) {
- X SMG$READ_KEYSTROKE(&kb, &key);
- X switch (key)
- X {
- X case SMG$K_TRM_UP:
- X key = 'k';
- X break;
- X case SMG$K_TRM_DOWN:
- X key = 'j';
- X break;
- X case SMG$K_TRM_LEFT:
- X key = 'h';
- X break;
- X case SMG$K_TRM_RIGHT:
- X key = 'l';
- X break;
- X case '\r':
- X key = '\n';
- X break;
- X default:
- X if (key == '\007' || key == '\032' || key > 255)
- X key = '\033';
- X break;
- X }
- X } else {
- X /* abnormal input--either SMG didn't initialize properly or
- X vms_getchar() has been called recursively (via SIGINT handler).
- X */
- X if (kb != 0) /* must have been a recursive call */
- X SMG$CANCEL_INPUT(&kb); /* from an interrupt handler */
- X key = getchar();
- X }
- X --recurse;
- X return (int)key;
- X}
- X
- X#define TT_SPECIAL_HANDLING (TT$M_MECHTAB|TT$M_MECHFORM)
- X#define Uword unsigned short
- X#define Ubyte unsigned char
- Xstruct _sm_iosb { /* i/o status block for sense-mode qio */
- X Uword status;
- X Ubyte xmt_speed, rcv_speed;
- X Ubyte cr_fill, lf_fill, parity;
- X unsigned : 8;
- X};
- Xstruct _sm_bufr { /* sense-mode characteristics buffer */
- X Ubyte class, type; /* class==DC$_TERM, type==(various) */
- X Uword buf_siz; /* aka page width */
- X#define page_width buf_siz /* number of columns */
- X unsigned tt_char : 24; /* primary characteristics */
- X Ubyte page_length; /* number of lines */
- X unsigned tt2_char : 32; /* secondary characteristics */
- X};
- Xstatic struct {
- X struct _sm_iosb io;
- X struct _sm_bufr sm;
- X} sg = {{0},{0}};
- Xstatic unsigned short tt_chan = 0;
- Xstatic unsigned long tt_char_restore = 0, tt_char_active = 0;
- Xstatic unsigned long ctrl_mask = 0;
- X
- Xstatic void
- Xsetctty(){
- X struct _sm_iosb iosb;
- X long status = SYS$QIOW(0, tt_chan, IO$_SETMODE, &iosb, (void(*)())0, 0,
- X &sg.sm, sizeof sg.sm, 0, 0, 0, 0);
- X if (vms_ok(status)) status = iosb.status;
- X if (!vms_ok(status)) {
- X errno = EVMSERR, vaxc$errno = status;
- X perror("NetHack (setctty: setmode)");
- X }
- X}
- X
- Xstatic void
- Xresettty(){ /* atexit() routine */
- X if (settty_needed)
- X settty((char *)NULL);
- X (void) SYS$DASSGN(tt_chan), tt_chan = 0;
- X}
- X
- X/*
- X * Get initial state of terminal, set ospeed (for termcap routines)
- X * and switch off tab expansion if necessary.
- X * Called by startup() in termcap.c and after returning from ! or ^Z
- X */
- Xvoid
- Xgettty(){
- X long status;
- X $DESCRIPTOR(input_dsc, "TT");
- X unsigned long zero = 0;
- X
- X if (tt_chan == 0) { /* do this stuff once only */
- X status = SYS$ASSIGN(&input_dsc, &tt_chan, 0, 0);
- X if (!vms_ok(status)) {
- X errno = EVMSERR, vaxc$errno = status;
- X perror("NetHack (gettty: $assign)");
- X }
- X atexit(resettty); /* register an exit handler to reset things */
- X }
- X status = SYS$QIOW(0, tt_chan, IO$_SENSEMODE, &sg.io, (void(*)())0, 0,
- X &sg.sm, sizeof sg.sm, 0, 0, 0, 0);
- X if (vms_ok(status)) status = sg.io.status;
- X if (!vms_ok(status)) {
- X errno = EVMSERR, vaxc$errno = status;
- X perror("NetHack (gettty: sensemode)");
- X }
- X ospeed = sg.io.xmt_speed;
- X erase_char = '\177'; /* <rubout>, aka <delete> */
- X kill_char = CTRL('U');
- X intr_char = CTRL('C');
- X (void) LIB$ENABLE_CTRL(&zero, &ctrl_mask);
- X /* Use the systems's values for lines and columns if it has any idea. */
- X if (sg.sm.page_length)
- X LI = sg.sm.page_length;
- X if (sg.sm.page_width)
- X CO = sg.sm.page_width;
- X /* Determine whether TTDRIVER is doing tab and/or form-feed expansion;
- X if so, we want to suppress that but also restore it at final exit. */
- X if ((sg.sm.tt_char & TT_SPECIAL_HANDLING) != TT_SPECIAL_HANDLING) {
- X tt_char_restore = sg.sm.tt_char;
- X tt_char_active = sg.sm.tt_char |= TT_SPECIAL_HANDLING;
- X#if 0 /*[ defer until setftty() ]*/
- X setctty();
- X#endif 0
- X } else /* no need to take any action */
- X tt_char_restore = tt_char_active = 0;
- X}
- X
- X/* reset terminal to original state */
- Xvoid
- Xsettty(s)
- Xchar *s;
- X{
- X clear_screen();
- X end_screen();
- X if(s) Printf(s);
- X (void) fflush(stdout);
- X#ifdef MAIL /* this is essential, or lib$spawn & lib$attach will fail */
- X SMG$DISABLE_BROADCAST_TRAPPING(&pasteboard_id);
- X#endif
- X#if 0 /* let SMG's exit handler do the cleanup (as per doc) */
- X SMG$DELETE_PASTEBOARD(&pasteboard_id);
- X SMG$DELETE_VIRTUAL_KEYBOARD(&kb), kb = 0;
- X#endif 0
- X if (ctrl_mask)
- X (void) LIB$ENABLE_CTRL(&ctrl_mask, 0);
- X flags.echo = ON;
- X flags.cbreak = OFF;
- X if (tt_char_restore != 0) {
- X sg.sm.tt_char = tt_char_restore;
- X setctty();
- X }
- X settty_needed = FALSE;
- X}
- X
- X#ifdef MAIL
- Xstatic void
- Xbroadcast_ast(dummy)
- X{
- X extern volatile int broadcasts;
- X
- X broadcasts++;
- X}
- X#endif
- X
- Xvoid
- Xsetftty(){
- X unsigned int mask = LIB$M_CLI_CTRLT | LIB$M_CLI_CTRLY;
- X
- X flags.cbreak = ON;
- X flags.echo = OFF;
- X (void) LIB$DISABLE_CTRL(&mask, 0);
- X if (kb == 0) { /* do this stuff once only */
- X SMG$CREATE_VIRTUAL_KEYBOARD(&kb);
- X SMG$CREATE_PASTEBOARD(&pasteboard_id, 0, 0, 0, 0);
- X }
- X#ifdef MAIL
- X /* note side effect: also intercepts hangup notification */
- X SMG$SET_BROADCAST_TRAPPING(&pasteboard_id, broadcast_ast, 0);
- X#endif
- X /* disable tab & form-feed expansion */
- X if (tt_char_active != 0) {
- X sg.sm.tt_char = tt_char_active;
- X setctty();
- X }
- X start_screen();
- X settty_needed = TRUE;
- X}
- X
- X
- Xvoid
- Xintron() { /* enable kbd interupts if enabled when game started */
- X}
- X
- Xvoid
- Xintroff() { /* disable kbd interrupts if required*/
- X}
- X
- X
- X/* fatal error */
- X/*VARARGS1*/
- Xvoid
- Xerror VA_DECL(const char *,s)
- X VA_START(s);
- X VA_INIT(s, const char *);
- X if(settty_needed)
- X settty(NULL);
- X Vprintf(s,VA_ARGS);
- X (void) putchar('\n');
- X VA_END();
- X exit(1);
- X}
- END_OF_FILE
- if test 6446 -ne `wc -c <'vms/vmstty.c'`; then
- echo shar: \"'vms/vmstty.c'\" unpacked with wrong size!
- fi
- # end of 'vms/vmstty.c'
- echo shar: End of archive 24 \(of 24\).
- cp /dev/null ark24isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 24 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-