billr@saab.CNA.TEK.COM (Bill Randle) (06/06/90)
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+@-T&#OU<@/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