billr@saab.CNA.TEK.COM (Bill Randle) (06/06/90)
Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu> Posting-number: Volume 10, Issue 22 Archive-name: NetHack3/Patch8d 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 4 (of 24)." # Contents: amiga/GBinfo.uu patch8.12 vms/lev_lex.h # Wrapped by billr@saab on Mon Jun 4 15:27:14 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'amiga/GBinfo.uu' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'amiga/GBinfo.uu'\" else echo shar: Extracting \"'amiga/GBinfo.uu'\" \(2541 characters\) sed "s/^X//" >'amiga/GBinfo.uu' <<'END_OF_FILE' Xbegin 644 Guidebook.info XMXQ```0``````NP`2`%``*P`&``,``0`B3>``(DZH```````````````````` XM````!/X`(ID``````(````"``````````````````!]```````!0`"H``@`! XMT]@#````````````````````````````````````````````````/______X XM!X```/\\__]__?_\``#_'/_^?_W__P``_PSP?!_Y__\``?\DYSY_^_S_@`#_ XM,.`^?_G^?X``_SCG_F_]_S^``'\\\'\?_/^_@``?______X_OX`````````` XM`'^`````'_______@````!S______P`````\______\`````//@\0^#^```` XM`'SSGCG.?@````#\\YYYP'P`````_/.>?\_X`````?SX/#_@^`````/\____ XM__`````#_/_____@````!_P!____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``"`````PP?#O!\!@````(,,8<8Q@0````$##&&&/X(````#`PQA@#`&```` XM`@,'P\`?!`````0#``````@````,`P`````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``````#S_____```````\^#Q# XMX`,`````?/.>.<X#`````/SSGGG`8P````#\\YY_S_L````!_/@\/^#_@``` XM`_S______.````/\_____^`````'_`'____@````#_______P`````______ XM_X```````````?^```?______\+_```/______^??@``'G/___'_OGX``#YS XM___Y_WS\```^<X/P><]_^```/@/YYSF??_@``#YSP>?X/W_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`"````8P````$_\@`` XM`$,`````C^0```##!\.\'\.(````@PQAQC'C<````0,,888_GX````,##&&` XM,`<````"`P?#P!\'@```!`,`````'.````P#`````!@````(`_X````0```` XM$```````(````#```````&``!________@!``!@``````#T`P``P``````!@ XM@8``(8P```X`08$``$&,```&`(,#``!!C'P/AC"`!@``0?P&&,9@@`0``$&, XM/A@'P(`(``!!C,88QF"`&```88Q[#XXPP'```#```````&#````8```````S XM@```!________@`````````````````````````````````````````````` X5`!-365,Z571I;&ET:65S+TUO<F4` X` Xend END_OF_FILE if test 2541 -ne `wc -c <'amiga/GBinfo.uu'`; then echo shar: \"'amiga/GBinfo.uu'\" unpacked with wrong size! fi # end of 'amiga/GBinfo.uu' fi if test -f 'patch8.12' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patch8.12'\" else echo shar: Extracting \"'patch8.12'\" \(53441 characters\) sed "s/^X//" >'patch8.12' <<'END_OF_FILE' X*** include/Old/amiconf.h Sun Jun 3 16:01:53 1990 X--- include/amiconf.h Wed May 23 17:58:08 1990 X*************** X*** 107,112 **** X--- 107,113 ---- X #define MAIL /* Get mail at unexpected occasions */ X #define AMIGA_WBENCH /* Icon support */ X #define DEFAULT_ICON "NetHack:default.icon" /* private icon for above */ X+ #define AMIFLUSH /* toss typeahead (select flush in .cnf) */ X #undef TERMLIB X X #endif /* AMICONF_H */ X*** include/Old/config.h Sun Jun 3 16:02:40 1990 X--- include/config.h Thu May 24 21:31:06 1990 X*************** X*** 11,17 **** X * Select the version of the OS you are using. X * For "UNIX" select either SYSV or BSD in unixconf.h. X * A "VMS" option is not needed since the VMS C-compiler X! * provides it (comment out the default OS option here). X */ X X #define UNIX /* delete if no fork(), exec() available */ X--- 11,17 ---- X * Select the version of the OS you are using. X * For "UNIX" select either SYSV or BSD in unixconf.h. X * A "VMS" option is not needed since the VMS C-compiler X! * provides it (no need to change sec#1, vmsconf.h handles it). X */ X X #define UNIX /* delete if no fork(), exec() available */ X*************** X*** 22,34 **** X /* #define MSDOS /* define for MS-DOS and most other micros */ X /* DO NOT define for AMIGA - MSDOS will be X * automatically defined at the right place. */ X! # ifdef AZTEC_C /* Manx 3.6 auto-defines this */ X! # ifdef MCH_AMIGA /* Manx 3.6 auto-defines this for AMIGA */ X # ifndef AMIGA X #define AMIGA /* define for Commodore-Amiga */ X # endif /* (Lattice auto-defines AMIGA) */ X # endif X # endif X /* #define TOS /* define for Atari 1040ST */ X X /* #define STUPID /* avoid some complicated expressions if X--- 22,43 ---- X /* #define MSDOS /* define for MS-DOS and most other micros */ X /* DO NOT define for AMIGA - MSDOS will be X * automatically defined at the right place. */ X! # ifdef AZTEC_C /* Manx auto-defines this */ X! # ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */ X # ifndef AMIGA X #define AMIGA /* define for Commodore-Amiga */ X # endif /* (Lattice auto-defines AMIGA) */ X+ /* #define AZTEC_36 /* define for version 3.6 of manx */ X+ #define AZTEC_50 /* define for version 5.0 of manx */ X # endif X # endif X+ #ifdef LATTICE X+ # define NEARDATA __near /* put some data close */ X+ # define NO_SCAN_BRACK /* scanf doesn't handle [] (this define available X+ * for any system with this problem) */ X+ #else X+ # define NEARDATA X+ #endif X /* #define TOS /* define for Atari 1040ST */ X X /* #define STUPID /* avoid some complicated expressions if X*************** X*** 36,42 **** X /* #define STUPID_CPP /* use many small functions instead of macros to X avoid overloading limited preprocessors */ X /* #define TERMINFO /* uses terminfo rather than termcap */ X! /* should be defined for most, but not all, SYSV */ X /* in particular, it should NOT be defined for the X * UNIXPC unless you remove the use of the shared X * library in the makefile */ X--- 45,52 ---- X /* #define STUPID_CPP /* use many small functions instead of macros to X avoid overloading limited preprocessors */ X /* #define TERMINFO /* uses terminfo rather than termcap */ X! /* should be defined for HPUX and most, but not all, X! SYSV */ X /* in particular, it should NOT be defined for the X * UNIXPC unless you remove the use of the shared X * library in the makefile */ X*************** X*** 47,72 **** X X #ifdef AMIGA X #define NEED_VARARGS X! # ifdef AZTEC_C X # define KR1ED /* Aztec 3.6 needs extra help for defined() */ X # endif X #endif X X #ifdef MACOS X! /* #define KR1ED /* for compilers which can't handle defined() */ X! /* Lightspeed & Aztec can't handle defined() yet */ X! /* #define LSC /* for the Lightspeed 3.01p4 C compiler on the Mac */ X /* #define AZTEC /* for the Manx Aztec C 3.6c compiler */ X! #define THINKC4 /* for the Think C 4 compiler */ X! /* #define MAKEDEFS_C /* uncomment this ONLY while compiling makedefs */ X! /* #define CUSTOM_IO /* uncomment only while compiling Nethack */ X # ifndef MAKEDEFS_C X # ifndef NEED_VARARGS X #define NEED_VARARGS /* if you're using precompiled headers */ X # endif X # endif X! #define SMALLDATA /* for Mac compilers with 32K global data limit */ X! #endif X X X #ifdef KR1ED /* For compilers which cannot handle defined() */ X--- 57,114 ---- X X #ifdef AMIGA X #define NEED_VARARGS X! # ifdef AZTEC_36 X # define KR1ED /* Aztec 3.6 needs extra help for defined() */ X # endif X+ # ifdef AZTEC_50 X+ # define USE_OLDARGS /* Aztec 5.0 prototypes aren't quite right */ X+ # endif X #endif X X #ifdef MACOS X! #define THINKC4 /* for the Think C 4.0 compiler */ X! /* #define LSC /* for the Lightspeed C 3.01p4 compiler */ X /* #define AZTEC /* for the Manx Aztec C 3.6c compiler */ X! #define SMALLDATA /* for Mac compilers with 32K global data limit */ X! #define CUSTOM_IO /* uncomment only while compiling Nethack */ X! /* #define MAKEDEFS_C /* uncomment only while compiling makedefs */ X # ifndef MAKEDEFS_C X # ifndef NEED_VARARGS X #define NEED_VARARGS /* if you're using precompiled headers */ X # endif X # endif X! # ifdef LSC X! #define KR1ED /* for compilers which can't handle defined() */ X! # endif X! # ifdef AZTEC X! #define KR1ED /* Lightspeed C & Aztec can't handle defined() yet */ X! # endif X! #endif /* MACOS */ X! X! #ifdef VMS /* really old compilers need special handling, detected here */ X! # ifdef VAXC /* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */ X! # ifdef ANCIENT_VAXC /* vaxc v2.2 and earlier [lots of warnings to come] */ X! # define KR1ED /* simulate defined() */ X! # define USE_VARARGS X! # else /* vaxc v2.3,2.4,or 3.x */ X! # if defined(PROTOTYPING_ON) /* this breaks 2.2 (*forces* use of ANCIENT)*/ X! # define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */ X! # define signed /* well, almost close enough */ X! #include <stddef.h> X! # endif X! # define USE_STDARG X! # endif X! # endif /*VAXC*/ X! # ifdef VERYOLD_VMS /* v4.5 or earlier */ X! # define USE_OLDARGS /* <varargs.h> is there, vprintf & vsprintf aren't */ X! # ifdef USE_VARARGS X! # undef USE_VARARGS X! # endif X! # ifdef USE_STDARG X! # undef USE_STDARG X! # endif X! # endif X! #endif /*VMS*/ X X X #ifdef KR1ED /* For compilers which cannot handle defined() */ X*************** X*** 99,105 **** X #define WIZARD "izchak" /* the person allowed to use the -D option */ X # else X #define WIZARD X! #define WIZARD_NAME "johnny" X # endif X #endif X X--- 141,147 ---- X #define WIZARD "izchak" /* the person allowed to use the -D option */ X # else X #define WIZARD X! #define WIZARD_NAME "izchak" X # endif X #endif X X*** include/Old/extern.h Sun Jun 3 16:04:10 1990 X--- include/extern.h Sat Jun 2 19:44:37 1990 X*************** X*** 177,183 **** X--- 177,185 ---- X #endif X E int NDECL(dodrop); X E boolean FDECL(flooreffects, (struct obj *,int,int)); X+ #ifdef ALTARS X E void FDECL(doaltarobj, (struct obj *)); X+ #endif X E boolean FDECL(canletgo, (struct obj *,const char *)); X E void FDECL(dropx, (struct obj *)); X E void FDECL(dropy, (struct obj *)); X*************** X*** 221,227 **** X E int NDECL(Boots_on); X E int NDECL(Gloves_on); X E int NDECL(Helmet_on); X! E int FDECL(select_off, (struct obj *otmp)); X E int NDECL(take_off); X #endif X E void FDECL(off_msg, (struct obj *)); X--- 223,229 ---- X E int NDECL(Boots_on); X E int NDECL(Gloves_on); X E int NDECL(Helmet_on); X! E int FDECL(select_off, (struct obj *)); X E int NDECL(take_off); X #endif X E void FDECL(off_msg, (struct obj *)); X*************** X*** 271,277 **** X E void FDECL(fall_down, (struct monst *,int)); X E int FDECL(dogfood, (struct monst *,struct obj *)); X E int FDECL(inroom, (XCHAR_P,XCHAR_P)); X! E int FDECL(tamedog, (struct monst *,struct obj *)); X X /* ### dogmove.c ### */ X X--- 273,279 ---- X E void FDECL(fall_down, (struct monst *,int)); X E int FDECL(dogfood, (struct monst *,struct obj *)); X E int FDECL(inroom, (XCHAR_P,XCHAR_P)); X! E struct monst *FDECL(tamedog, (struct monst *,struct obj *)); X X /* ### dogmove.c ### */ X X*************** X*** 299,305 **** X--- 301,309 ---- X E int NDECL(opentin); X E int NDECL(unfaint); X #endif X+ #ifdef POLYSELF X E boolean FDECL(is_edible, (struct obj *)); X+ #endif X E void NDECL(init_uhunger); X E int NDECL(Hear_again); X E void NDECL(reset_eat); X*************** X*** 320,325 **** X--- 324,332 ---- X X E int NDECL(done1); X E int NDECL(done2); X+ #ifdef OVERLAY X+ E int NDECL(done_intr); X+ #endif X E void FDECL(done_in_by, (struct monst *)); X E void VDECL(panic, (const char *,...)); X E void FDECL(done, (int)); X*************** X*** 530,536 **** X /* ### makemon.c ### */ X X E struct monst *FDECL(makemon, (struct permonst *,int,int)); X! E void FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *)); X E int FDECL(goodpos, (int,int, struct permonst *)); X E void FDECL(rloc, (struct monst *)); X E void FDECL(vloc, (struct monst *)); X--- 537,543 ---- X /* ### makemon.c ### */ X X E struct monst *FDECL(makemon, (struct permonst *,int,int)); X! E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *)); X E int FDECL(goodpos, (int,int, struct permonst *)); X E void FDECL(rloc, (struct monst *)); X E void FDECL(vloc, (struct monst *)); X*************** X*** 575,580 **** X--- 582,590 ---- X X E int FDECL(somex, (struct mkroom *)); X E int FDECL(somey, (struct mkroom *)); X+ #ifdef OVERLAY X+ E int FDECL(comp, (genericptr_t, genericptr_t)); X+ #endif X #ifdef ORACLE X E boolean FDECL(place_oracle, (struct mkroom *,int *,int *,int *)); X #endif X*************** X*** 582,588 **** X--- 592,600 ---- X E int FDECL(okdoor, (XCHAR_P,XCHAR_P)); X E void FDECL(dodoor, (int,int,struct mkroom *)); X E void FDECL(mktrap, (int,int,struct mkroom *)); X+ #ifdef FOUNTAINS X E void FDECL(mkfount, (int,struct mkroom *)); X+ #endif X X /* ### mkmaze.c ### */ X X*************** X*** 597,603 **** X X /* ### mkobj.c ### */ X X! E struct obj *FDECL(mkobj_at, (CHAR_P,int,int)); X E struct obj *FDECL(mksobj_at, (int,int,int)); X E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P)); X E int NDECL(rndmonnum); X--- 609,615 ---- X X /* ### mkobj.c ### */ X X! E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P)); X E struct obj *FDECL(mksobj_at, (int,int,int)); X E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P)); X E int NDECL(rndmonnum); X*************** X*** 625,636 **** X--- 637,652 ---- X /* ### mkroom.c ### */ X X E void FDECL(mkroom, (int)); X+ #if defined(ALTARS) && defined(THEOLOGY) X E void FDECL(shrine_pos, (int *, int*, struct mkroom *)); X+ #endif X E boolean FDECL(nexttodoor, (int,int)); X E boolean FDECL(has_dnstairs, (struct mkroom *)); X E boolean FDECL(has_upstairs, (struct mkroom *)); X E int FDECL(dist2, (int,int,int,int)); X+ #ifdef THRONES X E struct permonst *NDECL(courtmon); X+ #endif X X /* ### mon.c ### */ X X*************** X*** 801,811 **** X--- 817,830 ---- X E char *FDECL(makeplural, (const char *)); X E char *FDECL(makesingular, (const char *)); X E struct obj *FDECL(readobjnam, (char *)); X+ E int FDECL(rnd_class, (int,int)); X X /* ### options.c ### */ X X E void NDECL(initoptions); X E void FDECL(assign_graphics, (unsigned int *, int)); X+ E void NDECL(assign_ibm_graphics); X+ E void NDECL(assign_dec_graphics); X E void FDECL(parseoptions, (char *,BOOLEAN_P)); X E int NDECL(doset); X E int NDECL(dotogglepickup); X*************** X*** 882,888 **** X E void FDECL(pickup, (int)); X E struct obj *FDECL(pick_obj, (struct obj *)); X E int NDECL(doloot); X- E void NDECL(get_all_from_box); X E void FDECL(use_container, (struct obj *, int)); X E void FDECL(inc_cwt, (struct obj *, struct obj *)); X E void FDECL(delete_contents, (struct obj *)); X--- 901,906 ---- X*************** X*** 1035,1040 **** X--- 1053,1067 ---- X E boolean FDECL(IS_FURNITURE, (unsigned)); X #endif /* STUPID_CPP */ X X+ /* ### random.c ### */ X+ X+ #ifdef RANDOM X+ E void FDECL(srandom, (unsigned)); X+ E char * FDECL(initstate, (unsigned,char *,int)); X+ E char * FDECL(setstate, (char *)); X+ E long NDECL(random); X+ #endif /* RANDOM */ X+ X /* ### read.c ### */ X X E int NDECL(doread); X*************** X*** 1123,1129 **** X--- 1150,1158 ---- X E void FDECL(replshk, (struct monst *,struct monst *)); X E int NDECL(inshop); X E int FDECL(inhishop, (struct monst *)); X+ #ifdef SOUNDS X E boolean FDECL(tended_shop, (struct mkroom *)); X+ #endif X E void FDECL(obfree, (struct obj *,struct obj *)); X E int NDECL(dopay); X E void FDECL(home_shk, (struct monst *)); X*************** X*** 1132,1137 **** X--- 1161,1167 ---- X E void FDECL(pay_for_door, (int,int,const char *)); X E void FDECL(addtobill, (struct obj *,BOOLEAN_P)); X E void FDECL(splitbill, (struct obj *,struct obj *)); X+ E void FDECL(subfrombill, (struct obj *)); X E void FDECL(sellobj, (struct obj *)); X E int FDECL(doinvbill, (int)); X E int FDECL(shkcatch, (struct obj *)); X*************** X*** 1278,1283 **** X--- 1308,1314 ---- X E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P)); X E struct trap *FDECL(maketrap, (int,int,int)); X E int FDECL(teleok, (int,int)); X+ E void FDECL(fall_through, (BOOLEAN_P)); X E void FDECL(dotrap, (struct trap *)); X E int FDECL(mintrap, (struct monst *)); X E void FDECL(selftouch, (const char *)); X*************** X*** 1313,1320 **** X--- 1344,1353 ---- X E schar FDECL(find_roll_to_hit, (struct monst *)); X E boolean FDECL(attack, (struct monst *)); X E boolean FDECL(hmon, (struct monst *,struct obj *,int)); X+ #ifdef POLYSELF X E int FDECL(damageum, (struct monst *, struct attack *)); X E void FDECL(missum, (struct monst *, struct attack *)); X+ #endif X E int FDECL(passive, (struct monst *,BOOLEAN_P,int,BOOLEAN_P)); X E void FDECL(stumble_onto_mimic, (struct monst *)); X X*************** X*** 1353,1362 **** X--- 1386,1398 ---- X X /* ### vault.c ### */ X X+ E boolean FDECL(grddead, (struct monst *)); X E void NDECL(invault); X E int FDECL(gd_move, (struct monst *)); X E void NDECL(paygd); X+ #ifdef SOUNDS X E boolean NDECL(gd_sound); X+ #endif X X /* ### version.c ### */ X X*** include/Old/flag.h Sun Jun 3 16:05:14 1990 X--- include/flag.h Wed May 23 17:54:55 1990 X*************** X*** 51,65 **** X boolean silent; /* whether the bell rings or not */ X boolean pickup; /* whether you pickup or move and look */ X boolean num_pad; /* use numbers for movement commands */ X #ifdef TEXTCOLOR X boolean use_color; /* use color graphics */ X #endif X #ifdef DGK X boolean IBMBIOS; /* whether we can use a BIOS call for X * redrawing the screen and character input */ X- #ifdef DECRAINBOW X- boolean DECRainbow; /* Used for DEC Rainbow graphics. */ X- #endif X boolean rawio; /* Whether can use rawio (IOCTL call) */ X #endif X #ifdef MACOS X--- 51,68 ---- X boolean silent; /* whether the bell rings or not */ X boolean pickup; /* whether you pickup or move and look */ X boolean num_pad; /* use numbers for movement commands */ X+ boolean help; /* look in data file for info about stuff */ X+ boolean IBMgraphics; /* use IBM extended character set */ X+ boolean DECgraphics; /* use DEC VT-xxx extended character set */ X #ifdef TEXTCOLOR X boolean use_color; /* use color graphics */ X #endif X+ #ifdef AMIFLUSH X+ boolean amiflush; /* kill typeahead */ X+ #endif X #ifdef DGK X boolean IBMBIOS; /* whether we can use a BIOS call for X * redrawing the screen and character input */ X boolean rawio; /* Whether can use rawio (IOCTL call) */ X #endif X #ifdef MACOS X*** include/Old/global.h Sun Jun 3 16:05:36 1990 X--- include/global.h Wed May 23 17:58:10 1990 X*************** X*** 5,13 **** X #ifndef GLOBAL_H X #define GLOBAL_H X X! #ifndef VMS X! # include <stdio.h> X! #endif X X X /* #define BETA /* if a beta-test copy [MRS] */ X--- 5,11 ---- X #ifndef GLOBAL_H X #define GLOBAL_H X X! #include <stdio.h> X X X /* #define BETA /* if a beta-test copy [MRS] */ X*************** X*** 80,86 **** X * prototypes for the ANSI compilers so people quit trying to fix the prototypes X * to match the standard and thus lose the typechecking. X */ X! #if (defined(MSDOS) && !defined(TOS)) || defined (AMIGA) || defined(THINKC4) X # define CHAR_P char X # define SCHAR_P schar X # define UCHAR_P uchar X--- 78,84 ---- X * prototypes for the ANSI compilers so people quit trying to fix the prototypes X * to match the standard and thus lose the typechecking. X */ X! #if (defined(MSDOS) && !defined(TOS)) || defined (AMIGA) || defined(THINKC4) || defined(VAXC) X # define CHAR_P char X # define SCHAR_P schar X # define UCHAR_P uchar X*************** X*** 128,134 **** X X #if defined(VMS) && !defined(VMSCONF_H) X # include "vmsconf.h" X- # include <stdio.h> X #endif X X #if defined(UNIX) && !defined(UNIXCONF_H) X--- 126,131 ---- X*** include/Old/hack.h Sun Jun 3 16:05:58 1990 X--- include/hack.h Thu May 31 22:16:03 1990 X*************** X*** 124,151 **** X #endif /* MSDOS */ X X /* Macro for a few items that are only static if we're not overlaid.... */ X! #if defined(OVERLAY) && (defined(OVL0) || defined(OVL1) || defined(OVL2) || defined(OVLB)) X! # define OSTATIC extern X! # define XSTATIC X! # define OVERLAY_SPLIT X # ifdef OVLB X! # define VSTATIC X # else X! # define VSTATIC extern X # endif X #else X! # define OSTATIC static X! # define XSTATIC static X! # define VSTATIC static X #endif X X /* Unless explicit control is being taken of what is linked where, */ X /* always compile everything */ X! #if !defined(OVERLAY) || (!defined(OVL0) && !defined(OVL1) && !defined(OVL2) && !defined(OVLB)) X! # define OVL0 /* Highest priority */ X # define OVL1 X! # define OVL2 /* Lowest specified priority */ X! # define OVLB /* The base overlay segment */ X #endif X X #endif /* HACK_H /**/ X--- 124,157 ---- X #endif /* MSDOS */ X X /* Macro for a few items that are only static if we're not overlaid.... */ X! #if defined(OVERLAY) X! # define STATIC_PTR X! #else X! # define STATIC_PTR static X! #endif X! X! #if defined(OVERLAY) && (defined(OVL0) || defined(OVL1) || defined(OVL2) || defined(OVL3) || defined(OVLB)) X! # define STATIC_DCL extern X! # define STATIC_OVL X # ifdef OVLB X! # define STATIC_VAR X # else X! # define STATIC_VAR extern X # endif X #else X! # define STATIC_DCL static X! # define STATIC_OVL static X! # define STATIC_VAR static X #endif X X /* Unless explicit control is being taken of what is linked where, */ X /* always compile everything */ X! #if !defined(OVERLAY) || (!defined(OVL0) && !defined(OVL1) && !defined(OVL2) && !defined(OVL3) && !defined(OVLB)) X! # define OVL0 /* Highest priority */ X # define OVL1 X! # define OVL2 X! # define OVL3 /* Lowest specified priority */ X! # define OVLB /* The base overlay segment */ X #endif X X #endif /* HACK_H /**/ X*** include/Old/macconf.h Sun Jun 3 16:06:29 1990 X--- include/macconf.h Tue May 8 19:53:45 1990 X*************** X*** 64,70 **** X #include <Stdlib.h> X #include <String.h> X #undef getuid X! #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) X #ifdef stdout X #undef stdout X #define stdout (FILE *)NULL X--- 64,70 ---- X #include <Stdlib.h> X #include <String.h> X #undef getuid X! #ifdef CUSTOM_IO X #ifdef stdout X #undef stdout X #define stdout (FILE *)NULL X*************** X*** 144,149 **** X--- 144,152 ---- X short ascent,descent,height,charWidth; X short maxRow,maxCol; X char **screen; X+ char **scrAttr; X+ char curHilite; X+ char curAttr; X short inColor; X short auxFileVRefNum; X short recordVRefNum; X*************** X*** 150,156 **** X SysEnvRec system; X char *keyMap; X short color[8]; X! CursHandle cursor[8]; X Handle shortMBarHandle, X fullMBarHandle; X } term_info; X--- 153,159 ---- X SysEnvRec system; X char *keyMap; X short color[8]; X! CursHandle cursor[9]; /* self-contained cursors */ X Handle shortMBarHandle, X fullMBarHandle; X } term_info; X*************** X*** 182,191 **** X #define LEFT_OFFSET 10 X X /* for macflags variable */ X- #define fScreenKluges 0x3000 X- #define fFullScrKluge 0x2000 X- #define fCornScrKluge 0x1000 X- #define fDisplayKluge 0x800 X #define fMoveWRTMouse 0x400 X #define fZoomOnContextSwitch 0x200 X #define fUseCustomFont 0x100 X--- 185,190 ---- X*************** X*** 194,200 **** X #define fExtCmdSeq1 0x20 X #define fExtCmdSeq2 0x10 X #define fExtCmdSeq3 0x08 X! #define fDoNonKeyEvt 0x02 X #define fDoUpdate 0x01 X X X--- 193,200 ---- X #define fExtCmdSeq1 0x20 X #define fExtCmdSeq2 0x10 X #define fExtCmdSeq3 0x08 X! #define fDoNonKeyEvt 0x06 X! #define fDoMenus 0x02 X #define fDoUpdate 0x01 X X X*************** X*** 209,214 **** X--- 209,222 ---- X #define MONST_DATA 101 X #define OBJECT_DATA 104 X #define DEFAULT_DATA 100 X+ X+ #define SEG_ZAP 0x0020 X+ #define SEG_SPELL 0x0010 X+ #define SEG_POTION 0x0008 X+ #define SEG_EAT 0x0004 X+ #define SEG_DO 0x0002 X+ #define SEG_APPLY 0x0001 X+ extern long segments; /* defined in mac.c */ X X #include "extern.h" X X*** include/Old/obj.h Sun Jun 3 16:08:03 1990 X--- include/obj.h Sun Feb 25 14:43:57 1990 X*************** X*** 92,98 **** X #define Is_mbag(otmp) (otmp->otyp == BAG_OF_HOLDING || otmp->otyp == BAG_OF_TRICKS) X X #define is_sword(otmp) (otmp->otyp >= SHORT_SWORD && otmp->otyp <= KATANA) X! #define bimanual(otmp) (otmp->olet == WEAPON_SYM && objects[otmp->otyp].oc_bimanual) X X #define is_rustprone(otmp) (objects[otmp->otyp].oc_material == METAL) X #define is_corrodeable(otmp) (objects[otmp->otyp].oc_material == COPPER) X--- 92,98 ---- X #define Is_mbag(otmp) (otmp->otyp == BAG_OF_HOLDING || otmp->otyp == BAG_OF_TRICKS) X X #define is_sword(otmp) (otmp->otyp >= SHORT_SWORD && otmp->otyp <= KATANA) X! #define bimanual(otmp) ((otmp->olet == WEAPON_SYM || otmp->otyp == UNICORN_HORN) && objects[otmp->otyp].oc_bimanual) X X #define is_rustprone(otmp) (objects[otmp->otyp].oc_material == METAL) X #define is_corrodeable(otmp) (objects[otmp->otyp].oc_material == COPPER) X*** include/Old/objclass.h Sun Jun 3 16:08:15 1990 X--- include/objclass.h Fri Apr 13 19:22:25 1990 X*************** X*** 73,79 **** X extern struct small_objclass sm_obj[]; X extern struct objclass *objects; X #else X! extern struct objclass objects[]; X #endif /* MACOS && !MAKEDEFS_C */ X X /* definitions of all object-symbols */ X--- 73,79 ---- X extern struct small_objclass sm_obj[]; X extern struct objclass *objects; X #else X! extern struct objclass NEARDATA objects[]; X #endif /* MACOS && !MAKEDEFS_C */ X X /* definitions of all object-symbols */ X*** include/Old/patchlevel.h Sun Jun 3 16:08:27 1990 X--- include/patchlevel.h Sun Jun 3 15:57:05 1990 X*************** X*** 84,87 **** X * and the usual bug fixes and hole plugs X */ X X! #define PATCHLEVEL 7 X--- 84,100 ---- X * and the usual bug fixes and hole plugs X */ X X! /* X! * Patch 8, June 3, 1990 X! * further debug and refine Macintosh port X! * refine the overlay manager, rearrange the OVLx breakdown for better X! * efficiency, rename the overlay macros, and split off the overlay X! * instructions to Install.ovl X! * introduce NEARDATA for better Amiga efficiency X! * support for more VMS versions (courtesy Joshua Delahunty and Pat Rankin) X! * more const fixes X! * better support for common graphics (DEC VT and IBM) X! * and a number of simple fixes and consistency extensions X! */ X! X! #define PATCHLEVEL 8 X*** include/Old/pcconf.h Sun Jun 3 16:08:39 1990 X--- include/pcconf.h Wed May 23 17:54:59 1990 X*************** X*** 42,50 **** X extern const char *configfile; X X #ifdef DGK X- /* Selectable DGK options: X- */ X- /*#define DECRAINBOW /* enable use of DEC Rainbow graphics */ X X /* Non-Selectable DGK options: X */ X--- 42,47 ---- X*** include/Old/permonst.h Sun Jun 3 16:08:50 1990 X--- include/permonst.h Mon Mar 5 19:21:52 1990 X*************** X*** 61,69 **** X #if defined(SMALLDATA) && !defined(MAKEDEFS_C) X *mons; X #else X! mons[]; /* the master list of monster types */ X #endif X! extern struct permonst playermon, *uasmon; /* you in the same terms */ X X #if defined(SMALLDATA) && defined(MAKEDEFS_C) X X--- 61,70 ---- X #if defined(SMALLDATA) && !defined(MAKEDEFS_C) X *mons; X #else X! NEARDATA mons[]; /* the master list of monster types */ X #endif X! extern struct permonst NEARDATA playermon, NEARDATA *uasmon; X! /* you in the same terms */ X X #if defined(SMALLDATA) && defined(MAKEDEFS_C) X X*** include/Old/system.h Sun Jun 3 16:09:43 1990 X--- include/system.h Tue May 8 19:53:04 1990 X*************** X*** 10,18 **** X--- 10,22 ---- X /* some old <sys/types.h> may not define off_t and size_t; if your system is X * one of these, define them by hand below X */ X+ #ifndef VAXC X #if !defined(THINKC4) && !defined(AMIGA) && !defined(MACOS) X # include <sys/types.h> X #endif X+ #else /*VAXC*/ X+ #include <types.h> X+ #endif /*VAXC*/ X X #if defined(TOS) && defined(__GNUC__) && !defined(_SIZE_T) X # define _SIZE_T X*************** X*** 21,27 **** X--- 25,33 ---- X #if defined(MSDOS) || ((defined(AMIGA) || defined(MACOS)) && !defined(THINKC4)) X # ifndef _SIZE_T X # define _SIZE_T X+ # if !(defined(MSDOS) && defined(_SIZE_T_DEFINED)) /* MSC 5.1 */ X typedef unsigned int size_t; X+ # endif X # endif X #endif X X*************** X*** 63,69 **** X E void FDECL(exit, (int)); X # endif /* MSDOS */ X E void FDECL(free, (genericptr_t)); X! # ifdef AMIGA X E int FDECL(perror, (const char *)); X # else X # ifndef MACOS X--- 69,75 ---- X E void FDECL(exit, (int)); X # endif /* MSDOS */ X E void FDECL(free, (genericptr_t)); X! # if defined(AMIGA) && !defined(AZTEC_50) X E int FDECL(perror, (const char *)); X # else X # ifndef MACOS X*************** X*** 79,84 **** X--- 85,91 ---- X # endif X #endif X X+ #ifndef AZTEC_50 /* Already defined in include files */ X #ifdef ULTRIX X E long FDECL(lseek, (int,off_t,int)); X /* Ultrix 3.0 man page mistakenly says it returns an int. */ X*************** X*** 99,104 **** X--- 106,112 ---- X E int FDECL(chdir, (char *)); X E char *FDECL(getcwd, (char *,int)); X #endif X+ #endif /* AZTEC_50 */ X X #ifdef TOS X E int FDECL(creat, (const char *, int)); X*************** X*** 207,213 **** X # define OLD_SPRINTF X E char *sprintf(); X #else X! # ifndef TOS /* problem with prototype mismatches with <stdio.h> */ X E int FDECL(sprintf, (char *,const char *,...)); X # endif X #endif X--- 215,221 ---- X # define OLD_SPRINTF X E char *sprintf(); X #else X! # if !defined(TOS) && !defined(AZTEC_50) /* problem with prototype mismatches */ X E int FDECL(sprintf, (char *,const char *,...)); X # endif X #endif X*************** X*** 273,279 **** X E struct tm *FDECL(localtime, (const time_t *)); X # endif X X! # if defined(ULTRIX) || defined(SYSV) || defined(MSDOS) X E time_t FDECL(time, (time_t *)); X # else X E long FDECL(time, (time_t *)); X--- 281,287 ---- X E struct tm *FDECL(localtime, (const time_t *)); X # endif X X! # if defined(ULTRIX) || defined(SYSV) || defined(MSDOS) || defined(VMS) X E time_t FDECL(time, (time_t *)); X # else X E long FDECL(time, (time_t *)); X*** include/Old/termcap.h Sun Jun 3 16:09:58 1990 X--- include/termcap.h Wed May 23 17:56:51 1990 X*************** X*** 12,19 **** X X /* might display need graphics code? */ X #if !defined(AMIGA) && !defined(TOS) && !defined(MACOS) X! # if defined(TERMLIB) || defined(DECRAINBOW) || defined(OS2) X # define ASCIIGRAPH X- extern boolean IBMgraphics; /* does terminal use IBM extended ASCII? */ X # endif X #endif X--- 12,18 ---- X X /* might display need graphics code? */ X #if !defined(AMIGA) && !defined(TOS) && !defined(MACOS) X! # if defined(TERMLIB) || defined(OS2) X # define ASCIIGRAPH X # endif X #endif X*** include/Old/tradstdc.h Sun Jun 3 16:10:20 1990 X--- include/tradstdc.h Fri May 18 18:39:44 1990 X*************** X*** 32,39 **** X /* #define USE_VARARGS /* use <varargs.h> instead of <stdarg.h> */ X /* #define USE_OLDARGS /* don't use any variable argument facilites */ X X! #if defined(__STDC__) || defined(VMS) X! # if !(defined(AMIGA) && defined(AZTEC_C) || defined(USE_VARARGS) || defined(USE_OLDARGS)) X # define USE_STDARG X # endif X #endif X--- 32,42 ---- X /* #define USE_VARARGS /* use <varargs.h> instead of <stdarg.h> */ X /* #define USE_OLDARGS /* don't use any variable argument facilites */ X X! #ifdef __STDC__ X! # if defined(__GNUC__) && defined(VMS) X! # define USE_OLDARGS /* <stdarg.h> is missing for some versions */ X! # endif X! # if !defined(USE_VARARGS) && !defined(USE_OLDARGS) X # define USE_STDARG X # endif X #endif X*************** X*** 76,82 **** X #endif /* NEED_VARARGS */ X X X! #if defined(__STDC__) || defined(MSDOS) || defined(THINKC4) X X /* Used for robust ANSI parameter forward declarations: X * int VDECL(sprintf, (char *, const char *, ...)); X--- 79,86 ---- X #endif /* NEED_VARARGS */ X X X! /* Unfortunately amiga aztec 5.0 doesn't handle prototyping chars correctly */ X! #if (defined(__STDC__) && !defined(AZTEC_50)) || defined(MSDOS) || defined(THINKC4) X X /* Used for robust ANSI parameter forward declarations: X * int VDECL(sprintf, (char *, const char *, ...)); X*************** X*** 124,132 **** X--- 128,138 ---- X # endif X # endif X X+ #ifndef AZTEC_50 /* Take out when aztec handles prototyping OK */ X # define const X # define signed X # define volatile X+ #endif X X #endif /* __STDC__ */ X X*** include/Old/trampoli.h Sun Jun 3 16:10:34 1990 X--- include/trampoli.h Thu May 31 22:12:50 1990 X*************** X*** 1,4 **** X! /* SCCS Id: @(#)trampoli.h 3.0 89/11/15 */ X /* Copyright (c) 1989, by Norm Meluch and Stephen Spackman */ X /* NetHack may be freely redistributed. See license for details. */ X X--- 1,4 ---- X! /* SCCS Id: @(#)trampoli.h 3.0 90/05/31 */ X /* Copyright (c) 1989, by Norm Meluch and Stephen Spackman */ X /* NetHack may be freely redistributed. See license for details. */ X X*************** X*** 90,97 **** X X X /* ### end.c ### */ X! #define done1() done1_() X! #define done2() done2_() X X X /* ### engrave.c ### */ X--- 90,102 ---- X X X /* ### end.c ### */ X! #define done1() done1_() X! #define done2() done2_() X! #define hangup() hangup_() X! #define done_intr() done_intr_() X! #if defined(UNIX) || defined (VMS) X! #define done_hangup() done_hangup_() X! #endif /* UNIX || VMS */ X X X /* ### engrave.c ### */ X*************** X*** 117,129 **** X X X /* ### ioctl.c ### */ X- /* X #ifdef UNIX X! #ifdef SUSPEND X #define dosuspend() dosuspend_() X! #endif X! #endif X! */ X X X /* ### lock.c ### */ X--- 122,132 ---- X X X /* ### ioctl.c ### */ X #ifdef UNIX X! # ifdef SUSPEND X #define dosuspend() dosuspend_() X! # endif /* SUSPEND */ X! #endif /* UNIX */ X X X /* ### lock.c ### */ X*************** X*** 134,141 **** X #define picklock() picklock_() X X X /* ### mondata.c ### */ X! #define canseemon(x) canseemon_(x) X X X /* ### o_init.c ### */ X--- 137,149 ---- X #define picklock() picklock_() X X X+ /* ### mklev.c ### */ X+ #define comp(x, y) comp_(x, y) X+ X+ X /* ### mondata.c ### */ X! /* See comment in trampoli.c before uncommenting canseemon. */ X! /* #define canseemon(x) canseemon_(x) */ X X X /* ### o_init.c ### */ X*************** X*** 155,164 **** X #define dohelp() dohelp_() X #define dohistory() dohistory_() X #ifdef UNIX X! #ifdef SHELL X #define dosh() dosh_() X! #endif X! #endif X #define dowhatdoes() dowhatdoes_() X #define dowhatis() dowhatis_() X X--- 163,173 ---- X #define dohelp() dohelp_() X #define dohistory() dohistory_() X #ifdef UNIX X! #define intruph() intruph_() X! # ifdef SHELL X #define dosh() dosh_() X! # endif /* SHELL */ X! #endif /* UNIX */ X #define dowhatdoes() dowhatdoes_() X #define dowhatis() dowhatis_() X X*************** X*** 215,221 **** X X /* ### spell.c ### */ X #ifdef SPELLS X! #define learn() learn_() X #define docast() docast_() X #define dovspell() dovspell_() X #endif X--- 224,230 ---- X X /* ### spell.c ### */ X #ifdef SPELLS X! #define learn() learn_() X #define docast() docast_() X #define dovspell() dovspell_() X #endif X*************** X*** 234,240 **** X #define float_down() float_down_() X X /* ### version.c ### */ X! #define doversion() doversion_() X #define doextversion() doextversion_() X X /* ### wield.c ### */ X--- 243,249 ---- X #define float_down() float_down_() X X /* ### version.c ### */ X! #define doversion() doversion_() X #define doextversion() doextversion_() X X /* ### wield.c ### */ X*** include/Old/unixconf.h Sun Jun 3 16:10:58 1990 X--- include/unixconf.h Tue May 8 19:53:42 1990 X*************** X*** 45,50 **** X--- 45,51 ---- X /* #define MICROPORT_286_BUG /* Changes needed in termcap.c to get it to X run with Microport Sys V/AT version 2.4. X By Jay Maynard */ X+ /* #define AIXPS_2BUG /* avoid a problem with little_to_big() optimization */ X X /* #define RANDOM /* if neither random/srandom nor lrand48/srand48 X is available from your system */ X*** include/Old/vmsconf.h Sun Jun 3 16:11:21 1990 X--- include/vmsconf.h Fri May 18 18:39:50 1990 X*************** X*** 6,19 **** X #ifndef VMSCONF_H X #define VMSCONF_H X X! #undef UNIX X! #undef HACKDIR X! #define HACKDIR "USR$ROOT0:[GENTZEL.NHDIR]" X #undef RECORD X #define RECORD "record;1" X X! #undef COMPRESS X! #undef ZEROCOMP X X /* X * If you define MAIL, then the player will be notified of new broadcasts X--- 6,56 ---- X #ifndef VMSCONF_H X #define VMSCONF_H X X! /* X! * Edit these to choose values appropriate for your site. X! * WIZARD is the username allowed to use the debug option of nethack; no harm X! * is done by leaving it as a username that doesn't exist at your site. X! * HACKDIR can be overridden at run-time with the logical name HACKDIR, as in X! * $ define hackdir disk$users:[games.nethack] X! */ X! #define Local_WIZARD "GENTZEL" /*(must be uppercase)*/ X! #define Local_HACKDIR "USR$ROOT0:[GENTZEL.NHDIR]" X! X! /* X! * This section cleans up the stuff done in config.h so that it X! * shouldn't need to be modified. It's conservative so that if X! * config.h is actually edited, the changes won't impact us. X! */ X! #ifdef UNIX X! # undef UNIX X! #endif X! #ifdef HACKDIR X! # undef HACKDIR X! #endif X! #ifdef WIZARD X! # undef WIZARD X! #endif X! #ifdef WIZARD_NAME X! # undef WIZARD_NAME X! #endif X! #define HACKDIR Local_HACKDIR X! #ifndef KR1ED X! # define WIZARD Local_WIZARD X! # define WIZARD_NAME WIZARD X! #else X! # define WIZARD 1 X! # define WIZARD_NAME Local_WIZARD X! #endif X! X #undef RECORD X #define RECORD "record;1" X X! #ifdef COMPRESS X! # undef COMPRESS X! #endif X! #ifdef ZEROCOMP X! # undef ZEROCOMP X! #endif X X /* X * If you define MAIL, then the player will be notified of new broadcasts X*************** X*** 21,31 **** X */ X #define MAIL X X! #define RANDOM /* if neither random/srandom nor lrand48/srand48 X! is available from your system */ X X #define FCMASK 0660 /* file creation mask */ X X X /* X * The remainder of the file should not need to be changed. X--- 58,80 ---- X */ X #define MAIL X X! #define RANDOM /* use others/random.c instead of vaxcrtl rand/srand */ X X #define FCMASK 0660 /* file creation mask */ X X+ /* vaxcrtl object library is not available on MicroVMS (4.4 thru 4.6(.7?)) X+ unless it's retreived from a full VMS system or leftover from a really X+ ancient version of VAXC. #define no_c$$translate and also create a X+ linker options file called vaxcrtl.opt containing one line X+ sys$share:vaxcrtl/shareable X+ to link against the vaxcrtl shareable image. Then include ',vaxcrtl/opt' X+ on the link command instead of either ',sys$library:vaxcrtl/lib' or X+ '$ define lnk$library sys$library:vaxcrtl' X+ Linking against the vaxcrtl sharable image is encouraged and will result X+ in significantly smaller .EXE files. The routine C$$TRANSLATE (used in X+ vmsunix.c) is not available from the sharable image version of vaxcrtl. X+ */ X+ /* #define no_c$$translate /**/ X X /* X * The remainder of the file should not need to be changed. X*************** X*** 35,40 **** X--- 84,97 ---- X Until it is fixed, eliminate const. */ X #ifdef __GNUC__ X # define const X+ #endif X+ #if defined(VAXC) && !defined(ANCIENT_VAXC) X+ # ifdef volatile X+ # undef volatile X+ # endif X+ # ifdef const X+ # undef const X+ # endif X #endif X X #include <time.h> X*** include/Old/you.h Sun Jun 3 16:11:42 1990 X--- include/you.h Mon May 28 09:38:45 1990 X*************** X*** 40,46 **** X X X long p_flgs; X! int (*p_tofn)(); /* called after timeout */ X }; X X struct you { X--- 40,46 ---- X X X long p_flgs; X! int NDECL((*p_tofn)); /* called after timeout */ X }; X X struct you { X*** auxil/Old/rumors.tru Sun Jun 3 09:41:23 1990 X--- auxil/rumors.tru Fri Apr 13 18:48:13 1990 X*************** X*** 143,159 **** X--- 143,164 ---- X There is no harm in praising a large dog. X There is nothing like eating a mimic. X They say a gelatinous cube can paralyze you... X+ They say that Jubilex is afraid of a wand of digging. X They say that Medusa would like to put you on a pedestal. X They say that Vlad lives!!! ... in the mazes. X+ They say that `Elbereth' is often written about. X They say that a bag of holding can't hold everything. X They say that a blessed tin of quasit meat is a quick meal. X They say that a cat avoids traps. X+ They say that a cave spider will occasionally eat cave spider eggs. X They say that a clever wizard can have stats: 18/** 24 18 24 24 24. X+ They say that a clove of garlic makes a good talisman if handled right. X They say that a cursed scroll of teleportation could land you in trouble. X They say that a diamond is another kind of luck stone. X They say that a dog can be trained to fetch objects. X They say that a gelatinous cube makes a healthy breakfast. X They say that a giant gets strong by eating right, try it! X+ They say that a grid bug won't hit you when you cross it. X They say that a lembas wafer is a very light snack. X They say that a loadstone has a strange attraction and is not bad luck. X They say that a lock pick by any other name is still a lock pick. X*************** X*** 163,198 **** X--- 168,226 ---- X They say that a polymorph trap is magic and magic protection prevents it. X They say that a potion of healing can cancel a potion of sickness. X They say that a potion of monster detection sometimes works both ways. X+ They say that a sink looks different from high above the floor. X They say that a summoned demon could improve your game. X+ They say that a tin of wraith meat is a rare dining experience. X They say that a unicorn might bring you luck. X They say that a wand of cancellation is like a wand of polymorph. X+ They say that a wand of locking can close more than just doors. X They say that a wand of polymorph can change your game. X They say that a wizard is even more powerful the second time around. X They say that a xorn knows of no obstacles when pursuing you. X They say that abusing a credit card could shock you sooner or later. X They say that after drinking booze you should never try to read scrolls. X+ They say that amulets, like most things, can be deadly or life saving. X They say that an altar can identify blessings. X They say that an ooze will bite your boots and a rockmole will eat them. X+ They say that an unlucky hacker was once killed by an exploding tin. X They say that antique dealers are always interested in precious stones. X+ They say that booze can be diluted but not cancelled. X+ They say that by listening carefully, you can hear a secret door! X+ They say that carrots and carrot juice may improve your vision. X They say that cave spiders are not considered expensive health food. X+ They say that demigods must leave behind their prized earthly possessions. X+ They say that disturbing a djinni can be a costly mistake. X+ They say that dropping coins into a fountain will not grant you a wish. X They say that dwarves lawfully mind their own business. X They say that eating a bat corpse will make you batty, for awhile. X They say that eating a cram ration is a smart move. X+ They say that eating blue jelly is cool if you don't fight the feeling. X They say that escaping a dungeon is only the beginning of the end. X They say that feeling an unexpected draft of air is sort of a breakthrough. X They say that finding a cursed gray stone is always bad luck. X+ They say that for a good time engrave `Elbereth'. X They say that gaining a level is an experience that can raise your sights. X They say that garter snake meat rarely tastes good but it's still healthy. X+ They say that gauntlets of dexterity have a hidden enchanted touch. X They say that going to heaven is just another way of escaping the dungeon. X They say that golden nagas are law-abiding denizens as long as you are too. X They say that gremlins can make you feel cooler than you are now. X They say that grid bugs only exist in a strictly Cartesian sense. X+ They say that hackers often feel jumpy about eating nymphs. X They say that having polymorph control won't shock you. X+ They say that hell hath no fury like Medusa scorned. X+ They say that if it's hard getting your food down another bite could kill. X+ They say that if you don't wear glasses why bother with carrots? X They say that if you notice a loose board beneath you, don't step on it. X+ They say that if you start at the bottom the only place to go is up. X+ They say that if you teleport to heaven you're presumed to be dead already. X+ They say that in a shop you can be charged for old charges. X+ They say that in lighter moments you could think of ways to pass a stone. X They say that in the dungeon breaking a mirror can be seven years bad luck. X They say that in the dungeon you don't usually have any luck at all. X They say that in time a blessed luckstone can make your god happy. X They say that it is easier to kill the Wizard than to make him stand still. X+ They say that it only takes 1 zorkmid to meet the Kops. X They say that it's a blast when you mix the right potions together. X They say that it's not blind luck if you catch a glimpse of Medusa. X They say that killing a shopkeeper brings bad luck. X*************** X*** 202,242 **** X--- 230,295 ---- X They say that naturally a wand of wishing would be heavily guarded. X They say that no one notices the junk underneath a boulder. X They say that nobody expects a unicorn horn to rust. X+ They say that nobody knows if an explorer can live forever. Do you? X They say that nothing can change the fact that some potions contain a djinni. X They say that nothing can change the fact that some potions contain a ghost. X+ They say that nymphs always fall for rock'n'roll, try it! X+ They say that once an Olog-Hai is canned it never shows its face again. X They say that once upon a time xans would never scratch your boots. X+ They say that only an experienced wizard can do the tengu shuffle. X They say that only chaotics can kill shopkeepers and get away with it. X+ They say that playing a horn really bad is really good. X They say that rubbing a glowing potion does not make it a magic lamp. X+ They say that scalpels become dull because they're not athames. X They say that shopkeepers don't mind you bringing your pets in the shop. X They say that shopkeepers don't usually mind if you sneak into a shop. X They say that shopkeepers often have a large amount of money in their purses. X+ They say that shopkeepers often remember things that you might forget. X They say that sinks and armor don't mix, take your cloak off now! X They say that sinks run hot and cold and many flavors in between. X+ They say that snake charmers aren't charismatic, just musical. X They say that soldiers are always prepared and usually protected. X They say that some eggs could hatch in your pack, lucky or not. X They say that some fire ants will make you a hot meal. X They say that some horns play hot music and others are too cool for words. X+ They say that some humanoids are nonetheless quite human. X They say that some shopkeepers consider gems to be family heirlooms. X They say that some shopkeepers recognize gems but they won't tell you. X They say that some stones are much much heavier than others. X They say that some yetis are full of hot air. X They say that someone said that the stooges once played here, nyuck, nyuck. X+ They say that something very special would be in a well-protected place. X They say that speed boots aren't fast enough to let you walk on water. X+ They say that teleport traps are the devil's work. X+ They say that tengus don't wear rings, why should you? X They say that tengus never steal gold although they would be good at it. X+ They say that that which was stolen once can be stolen again, ask any nymph. X+ They say that the Delphic Oracle knows that lizard corpses aren't confusing. X+ They say that the Hand of Elbereth can hold up your prayers. X They say that the Leprechaun King is rich as Croesus. X They say that the Wizard of Yendor is schizophrenic and suicidal. X They say that the experienced character knows how to convert an altar. X They say that the gods are happy when they drop objects at your feet. X+ They say that the idea of invisible Nazguls has a certain ring to it. X They say that the lady of the lake now lives in a fountain somewhere. X They say that the local shopkeeper frowns upon the rude tourist. X They say that the only door to the vampire's tower is on its lowest level. X+ They say that the only good djinni is a grateful djinni. X+ They say that the road through hell is a one-way street. X They say that the road to hell begins with Medusa. X+ They say that the thing about genocide is that it works both ways. X+ They say that the unicorn horn rule is if it ain't broke then don't fix it. X+ They say that the view from a fog cloud is really very moving. X They say that the walls in shops are made of extra hard material. X They say that there are at least 15 ways to lose a pair of levitation boots. X They say that throwing glass gems is the same as throwing rocks. X+ They say that trespassing a boulder is probably beneath you. X They say that unicorns are fond of precious gems. X They say that water can identify an altar. X They say that what goes down the drain might come back up. X+ They say that wielded, a long sword named Fire Brand makes you feel cooler. X+ They say that wielded, a long sword named Frost Brand makes you hot stuff. X+ They say that wiping its face is impossible for a floating eye. X They say that with a floating eye you could see in the dark. X They say that you are lucky if you can get a unicorn to catch a ruby. X They say that you are what you eat. X*************** X*** 246,251 **** X--- 299,305 ---- X They say that you can't take your pick-axe into a shop. X They say that you don't always get what you wish for. X They say that you might find broken smoky potions in the morgue. X+ They say that you should always be prepared for a final challenge. X They say that you should ask a dwarf to let you into a locked shop. X They say that you should pray for divine inspiration. X They say that you should religiously give your gold away. X*** vms/Old/vmsmain.c Sun Jun 3 10:35:42 1990 X--- vms/vmsmain.c Thu May 24 21:37:46 1990 X*************** X*** 59,65 **** X #endif X if(argc > 1) { X #ifdef CHDIR X! if (!strncmp(argv[1], "-d", 2)) { X argc--; X argv++; X dir = argv[0]+2; X--- 59,68 ---- X #endif X if(argc > 1) { X #ifdef CHDIR X! if (!strncmp(argv[1], "-d", 2) && argv[1][2] != 'e') { X! /* avoid matching "-dec" for DECgraphics; since the man page X! * says -d directory, hope nobody's using -desomething_else X! */ X argc--; X argv++; X dir = argv[0]+2; X*************** X*** 83,89 **** X chdirx(dir,0); X #endif X prscore(argc, argv); X! if(isatty(1)) getret(); X settty(NULL); X exit(0); X } X--- 86,92 ---- X chdirx(dir,0); X #endif X prscore(argc, argv); X! if(isatty(1) > 0) getret(); X settty(NULL); X exit(0); X } X*************** X*** 125,131 **** X # endif X case 'D': X # ifdef WIZARD X! if(!strcmp(getenv("USER"), WIZARD)) { X wizard = TRUE; X break; X } X--- 128,134 ---- X # endif X case 'D': X # ifdef WIZARD X! if(!strcmp(getenv("USER"), WIZARD_NAME)) { X wizard = TRUE; X break; X } X*************** X*** 153,158 **** X--- 156,167 ---- X } else X Printf("Player name expected after -u\n"); X break; X+ case 'i': X+ if(!strcmp(argv[0]+1, "ibm")) assign_ibm_graphics(); X+ break; X+ case 'd': X+ if(!strcmp(argv[0]+1, "dec")) assign_dec_graphics(); X+ break; X default: X /* allow -T for Tourist, etc. */ X (void) strncpy(pl_character, argv[0]+1, X*************** X*** 318,326 **** X char *dir; X boolean wr; X { X static char *defdir = HACKDIR; X X- # ifdef HACKDIR X if(dir == NULL) X dir = defdir; X else if (wr) X--- 327,337 ---- X char *dir; X boolean wr; X { X+ # ifndef HACKDIR X+ static char *defdir = "."; X+ # else X static char *defdir = HACKDIR; X X if(dir == NULL) X dir = defdir; X else if (wr) X*************** X*** 376,387 **** X byebye() X { X int (*hup)(); X extern unsigned int dosh_pid; X X /* SIGHUP doesn't seem to do anything on VMS, so we fudge it here... */ X hup = signal(SIGHUP, SIG_IGN); X if (hup != SIG_DFL && hup != SIG_IGN) X (*hup)(); X! if (dosh_pid) X! SYS$DELPRC(&dosh_pid, 0); X } X--- 387,405 ---- X byebye() X { X int (*hup)(); X+ #ifdef SHELL X extern unsigned int dosh_pid; X X+ if (dosh_pid) X+ SYS$DELPRC(&dosh_pid, 0); X+ #endif SHELL X+ X /* SIGHUP doesn't seem to do anything on VMS, so we fudge it here... */ X hup = signal(SIGHUP, SIG_IGN); X if (hup != SIG_DFL && hup != SIG_IGN) X (*hup)(); X! X! #ifdef CHDIR X! (void) chdir(getenv("PATH")); X! #endif X } X*** vms/Old/vmsunix.c Sun Jun 3 10:36:56 1990 X--- vms/vmsunix.c Thu May 24 18:28:49 1990 X*************** X*** 21,27 **** X--- 21,41 ---- X #include <errno.h> X #include <signal.h> X #undef off_t X+ #ifndef VAXC X #include <sys/stat.h> X+ #else VAXC X+ #include <stat.h> X+ #endif VAXC X+ #include <ctype.h> X+ #ifdef no_c$$translate X+ #include <errno.h> X+ #define C$$TRANSLATE(status) (errno = EVMSERR, vaxc$errno = (status)) X+ #else /* must link with vaxcrtl object library (/lib or /incl=c$$translate) */ X+ extern FDECL(C$$TRANSLATE, (unsigned long)); X+ #endif X+ extern unsigned long SYS$PARSE(), SYS$SEARCH(), SYS$ENTER(), SYS$REMOVE(); X+ extern unsigned long SYS$SETPRV(); X+ extern unsigned long LIB$GETJPI(), LIB$SPAWN(), LIB$ATTACH(); X X int FDECL(link, (const char *, const char *)); X X*************** X*** 159,165 **** X * works X * also incidentally prevents development of any hack-o-matic programs X */ X! if (!isatty(0)) X error("You must play from a terminal."); X #endif X X--- 173,179 ---- X * works X * also incidentally prevents development of any hack-o-matic programs X */ X! if (isatty(0) <= 0) X error("You must play from a terminal."); X #endif X X*************** X*** 234,245 **** X { X register char *lp; X X! for (lp = s; *lp; lp++) X! if (!((*lp >= 'A' && *lp <= 'Z') X! || (*lp >= 'a' && *lp <= 'z') X! || (*lp >= '0' && *lp <= '9') X! || *lp == '$' || *lp == '_' X! || (lp > s && *lp == '-'))) X *lp = '_'; X } X X--- 248,255 ---- X { X register char *lp; X X! for (lp = s; *lp; lp++) /* note: '-' becomes '_' */ X! if (!(isalpha(*lp) || isdigit(*lp) || *lp == '$')) X *lp = '_'; X } X X*************** X*** 246,252 **** X int link(file, new) X const char *file, *new; X { X! int status; X struct FAB fab; X struct NAM nam; X unsigned short fid[3]; X--- 256,262 ---- X int link(file, new) X const char *file, *new; X { X! unsigned long status; X struct FAB fab; X struct NAM nam; X unsigned short fid[3]; X*************** X*** 341,353 **** X return (getgid() << 16) | getuid(); X } X X! #ifdef CHDIR X unsigned int oprv[2]; X X void X privoff() X { X! unsigned int prv[2] = { -1, -1 }, code = JPI$_PROCPRIV; X X (void) SYS$SETPRV(0, prv, 0, oprv); X (void) LIB$GETJPI(&code, 0, 0, prv); X--- 351,363 ---- X return (getgid() << 16) | getuid(); X } X X! #if defined(CHDIR) || defined(SHELL) X unsigned int oprv[2]; X X void X privoff() X { X! unsigned long prv[2] = { -1, -1 }, code = JPI$_PROCPRIV; X X (void) SYS$SETPRV(0, prv, 0, oprv); X (void) LIB$GETJPI(&code, 0, 0, prv); X*************** X*** 359,368 **** X { X (void) SYS$SETPRV(1, oprv, 0, 0); X } X! #endif X X #ifdef SHELL X! unsigned int dosh_pid = 0; X X int X dosh() X--- 369,378 ---- X { X (void) SYS$SETPRV(1, oprv, 0, 0); X } X! #endif /*CHDIR || SHELL*/ X X #ifdef SHELL X! unsigned long dosh_pid = 0; X X int X dosh() X*************** X*** 370,387 **** X int status; X X settty((char *) NULL); /* also calls end_screen() */ X! (void) signal(SIGINT,SIG_IGN); X (void) signal(SIGQUIT,SIG_IGN); X if (!dosh_pid || !((status = LIB$ATTACH(&dosh_pid)) & 1)) X { X #ifdef CHDIR X (void) chdir(getenv("PATH")); X- privoff(); X #endif X dosh_pid = 0; X status = LIB$SPAWN(0, 0, 0, 0, 0, &dosh_pid); X- #ifdef CHDIR X privon(); X chdirx((char *) 0, 0); X #endif X } X--- 380,397 ---- X int status; X X settty((char *) NULL); /* also calls end_screen() */ X! (void) signal(SIGINT,SIG_DFL); X (void) signal(SIGQUIT,SIG_IGN); X if (!dosh_pid || !((status = LIB$ATTACH(&dosh_pid)) & 1)) X { X #ifdef CHDIR X (void) chdir(getenv("PATH")); X #endif X+ privoff(); X dosh_pid = 0; X status = LIB$SPAWN(0, 0, 0, 0, 0, &dosh_pid); X privon(); X+ #ifdef CHDIR X chdirx((char *) 0, 0); X #endif X } X END_OF_FILE if test 53441 -ne `wc -c <'patch8.12'`; then echo shar: \"'patch8.12'\" unpacked with wrong size! fi # end of 'patch8.12' fi if test -f 'vms/lev_lex.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'vms/lev_lex.h'\" else echo shar: Extracting \"'vms/lev_lex.h'\" \(436 characters\) sed "s/^X//" >'vms/lev_lex.h' <<'END_OF_FILE' X/* SCCS Id: @(#)lev_lex.h 3.0 90/05/24 X/* "vms/lev_lex.h" copied into "src/stdio.h" for use by lev_lex.c only! X * This is an awful kludge to allow src/lev_lex.c to be compiled as is. X * It works because the actual setup of yyin & yyout is performed in X * src/lev_main.c, where stdin & stdout are still correctly defined. X */ X#ifdef VAXC X# module lev_lex "3.0.8" X#endif X X#include <stdio.h> X#define stdin 0 X#define stdout 0 END_OF_FILE if test 436 -ne `wc -c <'vms/lev_lex.h'`; then echo shar: \"'vms/lev_lex.h'\" unpacked with wrong size! fi # end of 'vms/lev_lex.h' fi echo shar: End of archive 4 \(of 24\). cp /dev/null ark4isdone 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