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