Subject: v17i044: nethack31 - display oriented dungeons & dragons (Ver. 3.1), Patch1c/31 Newsgroups: comp.sources.games Approved: billr@saab.CNA.TEK.COM Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller) Posting-number: Volume 17, Issue 44 Archive-name: nethack31/Patch1c Patch-To: nethack31: Volume 16, Issue 1-116 Environment: Amiga, Atari, Mac, MS-DOS, Windows-NT, OS2, Unix, VMS, X11 #! /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 'patches01k' <<'END_OF_FILE' X*** /tmp/da10086 Thu Feb 25 21:29:09 1993 X--- sys/vms/vmsbuild.com Thu Feb 25 20:46:18 1993 X*************** X*** 1,4 **** X! $ ! vms/vmsbuild.com -- compile and link NetHack 3.1 patchlevel 0 [pr] X $ ! X $ ! usage: X $ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms] X--- 1,4 ---- X! $ ! vms/vmsbuild.com -- compile and link NetHack 3.1 patchlevel 1 [pr] X $ ! X $ ! usage: X $ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms] X*************** X*** 183,189 **** X $! X $! miscellaneous special source file setup X $! X- $ if f$search("monst.c").eqs."" then copy/Concat monst.c1+.c2 monst.c X $ if f$search("random.c").eqs."" then copy [-.sys.share]random.c []*.* X $ if f$search("[-.util]lev_yacc.c").eqs."" then @[-.sys.vms]spec_lev.com X $! X--- 183,188 ---- X*************** X*** 203,209 **** X $ c_list = "#makedefs" X $ gosub compile_list X $ link makedefs.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="makedefs 3.1.0" X $ milestone "makedefs" X $! create some build-time files X $ makedefs -p !pm.h X--- 202,208 ---- X $ c_list = "#makedefs" X $ gosub compile_list X $ link makedefs.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="makedefs 3.1.1" X $ milestone "makedefs" X $! create some build-time files X $ makedefs -p !pm.h X*************** X*** 245,251 **** X $ milestone "" X $ link/Exe=nethack 'nethacklib'/Lib/Incl=(vmsmain),'crtl''gnulib',- X sys$input:/Opt X! identification="NetHack 3.1.0" X $ milestone "NetHack" X $ if c_opt.eq.o_LINK then goto done !"LINK" only X $special: X--- 244,250 ---- X $ milestone "" X $ link/Exe=nethack 'nethacklib'/Lib/Incl=(vmsmain),'crtl''gnulib',- X sys$input:/Opt X! identification="NetHack 3.1.1" X $ milestone "NetHack" X $ if c_opt.eq.o_LINK then goto done !"LINK" only X $special: X*************** X*** 262,278 **** X $ rename stdio.h lev_lex.* X $ link/exe=lev_comp lev_main,lev_yacc,lev_lex,- X panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="lev_comp 3.1.0" X $ milestone "lev_comp" X $ link/exe=dgn_comp dgn_main,dgn_yacc,dgn_lex,- X panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="dgn_comp 3.1.0" X $ milestone "dgn_comp" X $! X $ c_list = "#recover" X $ gosub compile_list X $ link/exe=[] recover.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="recover 3.1.0" X $ milestone "recover" X $! X $done: X--- 261,277 ---- X $ rename stdio.h lev_lex.* X $ link/exe=lev_comp lev_main,lev_yacc,lev_lex,- X panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="lev_comp 3.1.1" X $ milestone "lev_comp" X $ link/exe=dgn_comp dgn_main,dgn_yacc,dgn_lex,- X panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="dgn_comp 3.1.1" X $ milestone "dgn_comp" X $! X $ c_list = "#recover" X $ gosub compile_list X $ link/exe=[] recover.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt X! identification="recover 3.1.1" X $ milestone "recover" X $! X $done: X*** /tmp/da10110 Thu Feb 25 10:32:18 1993 X--- sys/vms/vmsmain.c Wed Feb 24 15:02:23 1993 X*************** X*** 171,177 **** X (void) chmod(SAVEF,0); /* disallow parallel restores */ X (void) signal(SIGINT, (SIG_RET_TYPE) done1); X #ifdef NEWS X! if(flags.news) display_file(NEWS, FALSE); X #endif X pline("Restoring save file..."); X mark_synch(); /* flush output */ X--- 171,180 ---- X (void) chmod(SAVEF,0); /* disallow parallel restores */ X (void) signal(SIGINT, (SIG_RET_TYPE) done1); X #ifdef NEWS X! if(flags.news) { X! display_file(NEWS, FALSE); X! flags.news = FALSE; /* in case dorecover() fails */ X! } X #endif X pline("Restoring save file..."); X mark_synch(); /* flush output */ X X*** /tmp/da07469 Thu Feb 25 10:20:00 1993 X--- include/WindowP.h Wed Feb 24 16:09:53 1993 X*************** X*** 6,13 **** X--- 6,25 ---- X #define _WindowP_h X X #include "Window.h" X+ X+ #ifndef SYSV X+ #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */ X+ #endif X+ X /* include superclass private header file */ X #include X+ X+ #ifdef PRESERVE_NO_SYSV X+ # ifdef SYSV X+ # undef SYSV X+ # endif X+ # undef PRESERVE_NO_SYSV X+ #endif X X /* define unique representation types not found in */ X X*** /tmp/da07485 Thu Feb 25 10:20:04 1993 X--- include/amiconf.h Thu Feb 25 09:03:39 1993 X*************** X*** 6,18 **** X #define AMICONF_H X X #undef abs /* avoid using macro form of abs */ X! #undef min /* this gets redefined */ X! #undef max /* this gets redefined */ X X #include /* get time_t defined before use! */ X X! #ifdef LATTICE /* since Lattice can prevent re-inclusion */ X! # include /* and other things, including builtins */ X #endif X X #ifdef AZTEC_50 X--- 6,21 ---- X #define AMICONF_H X X #undef abs /* avoid using macro form of abs */ X! #ifndef __SASC_60 X! # undef min /* this gets redefined */ X! # undef max /* this gets redefined */ X! #endif X X #include /* get time_t defined before use! */ X X! #ifdef __SASC_60 /* since SAS can prevent re-inclusion */ X! # include /* general things, including builtins */ X! # include X #endif X X #ifdef AZTEC_50 X*************** X*** 21,32 **** X # define NO_SIGNAL /* 5.0 signal handling doesn't like SIGINT... */ X #endif X X- #ifdef LATTICE /* Lattice defines DEBUG when you use -d1 which */ X- # ifdef DEBUG /* we need for useful SnapShots, but DEBUG is */ X- # undef DEBUG /* used in several files to turn on things we */ X- # endif /* don't want (e.g. eat.c), so we get rid of */ X- #endif /* DEBUG unless asked for in a particular file */ X- X #ifdef _DCC X # include X # define _SIZE_T X--- 24,29 ---- X*************** X*** 72,91 **** X X #define remove(x) unlink(x) X X- #ifdef LATTICE X- #define FFLUSH(fp) _flsbf(-1, fp) /* Was fflush */ X- #endif X- X #ifdef AZTEC_C X- #define FFLUSH(fp) flsh_(fp, -1) /* Was fflush */ X extern FILE *FDECL(freopen, (const char *, const char *, FILE *)); X extern char *FDECL(gets, (char *)); X #endif X X- #ifdef _DCC X- #define FFLUSH(fp) fflush(fp) X- #endif X- X #define msmsg raw_printf X X /* X--- 69,79 ---- X*************** X*** 108,114 **** X /*#define AMIGA_WINDOWED_CORNLINE /* Use windows for pager, inventory, etc */ X X /* new window system options */ X! #define AMIGA_INTUITION /* high power graphics interface */ X X #ifdef TEXTCOLOR X # define DEPTH 3 X--- 96,102 ---- X /*#define AMIGA_WINDOWED_CORNLINE /* Use windows for pager, inventory, etc */ X X /* new window system options */ X! #define AMIGA_INTUITION /* high power graphics interface (amii) */ X X #ifdef TEXTCOLOR X # define DEPTH 3 X*************** X*** 119,123 **** X--- 107,116 ---- X #define PORT_HELP "nethack:amii.hlp" X X #undef TERMLIB X+ X+ #define AMII_MUFFLED_VOLUME 40 X+ #define AMII_SOFT_VOLUME 50 X+ #define AMII_OKAY_VOLUME 60 X+ #define AMII_LOUDER_VOLUME 80 X X #endif /* AMICONF_H */ X*** /tmp/da07501 Thu Feb 25 10:20:07 1993 X--- include/artilist.h Thu Feb 11 13:27:38 1993 X*************** X*** 26,32 **** X #define ELEC(a,b) {0,AD_ELEC,a,b} /* electrical shock */ X #define STUN(a,b) {0,AD_STUN,a,b} /* magical attack */ X X! STATIC_OVL const struct artifact NEARDATA artilist[] = { X #endif /* MAKEDEFS_C */ X X /* dummy element #0, so that all interesting indices are non-zero */ X--- 26,32 ---- X #define ELEC(a,b) {0,AD_ELEC,a,b} /* electrical shock */ X #define STUN(a,b) {0,AD_STUN,a,b} /* magical attack */ X X! STATIC_OVL NEARDATA const struct artifact artilist[] = { X #endif /* MAKEDEFS_C */ X X /* dummy element #0, so that all interesting indices are non-zero */ X*** /tmp/da07525 Thu Feb 25 10:20:14 1993 X--- include/config.h Thu Feb 25 09:03:40 1993 X*************** X*** 9,15 **** X /* X * Section 1: OS selection. 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-compilers X * provide it (no need to change sec#1, vmsconf.h handles it). X */ X--- 9,15 ---- X /* X * Section 1: OS selection. X * Select the version of the OS you are using. X! * For "UNIX" select BSD, ULTRIX, SYSV, or HPUX in unixconf.h. X * A "VMS" option is not needed since the VMS C-compilers X * provide it (no need to change sec#1, vmsconf.h handles it). X */ X*************** X*** 57,70 **** 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_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--- 57,71 ---- X # ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */ X # ifndef AMIGA X #define AMIGA /* define for Commodore-Amiga */ X! # endif /* (SAS/C auto-defines AMIGA) */ X #define AZTEC_50 /* define for version 5.0 of manx */ X # endif X #endif X! #ifdef __SASC_60 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+ /* is this still true as of 6.2? (keni) */ X #else X # define NEARDATA X #endif X*************** X*** 89,94 **** X--- 90,105 ---- X #endif X X /* X+ * Windows NT Autodetection X+ */ X+ X+ #ifdef WIN32CON X+ # undef UNIX X+ # undef MSDOS X+ # define WIN32 /* need for ALL NT environs */ X+ #endif X+ X+ /* X * and other systems... X */ X X*************** X*** 201,206 **** X--- 212,218 ---- X /* no options yet: Amiga also means Intuition windows */ X #ifdef AMIGA X # undef TTY_GRAPHICS X+ # define AMII_GRAPHICS X # define DEFAULT_WINDOW_SYS "amii" X #endif X X*************** X*** 237,246 **** X * additional code and time. Currently, only UNIX fully implements X * COMPRESS; other ports should be able to uncompress save files a X * la unixmain.c if so inclined. X */ X X #ifdef UNIX X! # define COMPRESS "/usr/ucb/compress" /* path name for 'compress' */ X #endif X #ifndef COMPRESS X # define INTERNAL_COMP /* control use of NetHack's compression routines */ X--- 249,267 ---- X * additional code and time. Currently, only UNIX fully implements X * COMPRESS; other ports should be able to uncompress save files a X * la unixmain.c if so inclined. X+ * If you define COMPRESS, you must also define COMPRESS_EXTENSION X+ * as the extension your compressor appends to filenames after X+ * compression. X */ X X #ifdef UNIX X! /* path and file name extension for compression program */ X! # define COMPRESS "/usr/ucb/compress" /* Lempel-Ziv compression */ X! # define COMPRESS_EXTENSION ".Z" /* compress's extension */ X! X! /* An example of one alternative you might want to use: */ X! /* # define COMPRESS "/usr/local/bin/gzip" /* FSF gzip compression */ X! /* # define COMPRESS_EXTENSION ".z" /* normal gzip extension */ X #endif X #ifndef COMPRESS X # define INTERNAL_COMP /* control use of NetHack's compression routines */ X*** /tmp/da07541 Thu Feb 25 10:20:17 1993 X--- include/decl.h Thu Feb 25 09:04:04 1993 X*************** X*** 1,4 **** X! /* SCCS Id: @(#)decl.h 3.1 92/12/11 */ X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X--- 1,4 ---- X! /* SCCS Id: @(#)decl.h 3.1 93/02/09 */ X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X*************** X*** 24,42 **** X E char SAVEP[]; X #endif X X! E int NEARDATA bases[]; X X! E int NEARDATA multi; X! E int NEARDATA warnlevel; X! E int NEARDATA nroom; X! E int NEARDATA nsubroom; X! E int NEARDATA occtime; X X E int x_maze_max, y_maze_max; X E int otg_temp; X X #ifdef REDO X! E int NEARDATA in_doagain; X #endif X X E struct dgn_topology { /* special dungeon levels for speed */ X--- 24,42 ---- X E char SAVEP[]; X #endif X X! E NEARDATA int bases[]; X X! E NEARDATA int multi; X! E NEARDATA int warnlevel; X! E NEARDATA int nroom; X! E NEARDATA int nsubroom; X! E NEARDATA int occtime; X X E int x_maze_max, y_maze_max; X E int otg_temp; X X #ifdef REDO X! E NEARDATA int in_doagain; X #endif X X E struct dgn_topology { /* special dungeon levels for speed */ X*************** X*** 102,126 **** X #define knox_level (dungeon_topology.d_knox_level) X #endif X X! E stairway NEARDATA dnstair, NEARDATA upstair; /* stairs up and down. */ X #define xdnstair (dnstair.sx) X #define ydnstair (dnstair.sy) X #define xupstair (upstair.sx) X #define yupstair (upstair.sy) X X! E stairway NEARDATA dnladder, NEARDATA upladder; /* ladders up and down. */ X #define xdnladder (dnladder.sx) X #define ydnladder (dnladder.sy) X #define xupladder (upladder.sx) X #define yupladder (upladder.sy) X X! E stairway NEARDATA sstairs; X X! E dest_area NEARDATA updest, NEARDATA dndest; /* level-change dest. areas */ X X! E coord NEARDATA inv_pos; X! E dungeon NEARDATA dungeons[]; X! E s_level NEARDATA *sp_levchn; X #define dunlev_reached(x) (dungeons[(x)->dnum].dunlev_ureached) X X #ifdef MULDGN X--- 102,126 ---- X #define knox_level (dungeon_topology.d_knox_level) X #endif X X! E NEARDATA stairway dnstair, upstair; /* stairs up and down. */ X #define xdnstair (dnstair.sx) X #define ydnstair (dnstair.sy) X #define xupstair (upstair.sx) X #define yupstair (upstair.sy) X X! E NEARDATA stairway dnladder, upladder; /* ladders up and down. */ X #define xdnladder (dnladder.sx) X #define ydnladder (dnladder.sy) X #define xupladder (upladder.sx) X #define yupladder (upladder.sy) X X! E NEARDATA stairway sstairs; X X! E NEARDATA dest_area updest, dndest; /* level-change dest. areas */ X X! E NEARDATA coord inv_pos; X! E NEARDATA dungeon dungeons[]; X! E NEARDATA s_level *sp_levchn; X #define dunlev_reached(x) (dungeons[(x)->dnum].dunlev_ureached) X X #ifdef MULDGN X*************** X*** 128,190 **** X E struct q_score quest_status; X #endif X X! E int NEARDATA done_stopprint; X! E int NEARDATA done_hup; X X! E char NEARDATA pl_character[PL_CSIZ]; X #ifdef TUTTI_FRUTTI X! E char NEARDATA pl_fruit[PL_FSIZ]; X! E int NEARDATA current_fruit; X! E struct fruit NEARDATA *ffruit; X #endif X X! E char NEARDATA tune[6]; X X! E const char NEARDATA quitchars[]; X! E const char NEARDATA vowels[]; X! E const char NEARDATA ynchars[]; X! E const char NEARDATA ynqchars[]; X! E const char NEARDATA ynaqchars[]; X! E const char NEARDATA ynNaqchars[]; X! E long NEARDATA yn_number; X! E int NEARDATA smeq[]; X! E int NEARDATA doorindex; X! E char NEARDATA *save_cm; X #define KILLED_BY_AN 0 X #define KILLED_BY 1 X #define NO_KILLER_PREFIX 2 X! E int NEARDATA killer_format; X! E const char NEARDATA *killer; X E const char *configfile; X! E char NEARDATA plname[PL_NSIZ]; X! E char NEARDATA dogname[]; X! E char NEARDATA catname[]; X E char preferred_pet; X! E const char NEARDATA *occtxt; /* defined when occupation != NULL */ X! E const char NEARDATA *nomovemsg; X! E const char NEARDATA nul[]; X E const char *traps[]; X E char lock[]; X X! E const char NEARDATA sdir[], NEARDATA ndir[]; X! E const schar NEARDATA xdir[], NEARDATA ydir[], zdir[]; X X! E schar NEARDATA tbx, NEARDATA tby; /* set in mthrowu.c */ X! E int NEARDATA dig_effort; /* apply.c, hack.c */ X! E d_level NEARDATA dig_level; X! E coord NEARDATA dig_pos; X! E boolean NEARDATA dig_down; X X! E long NEARDATA moves, NEARDATA monstermoves; X! E long NEARDATA wailmsg; X X! E boolean NEARDATA in_mklev; X! E boolean NEARDATA stoned; X! E boolean NEARDATA unweapon; X! E boolean NEARDATA mrg_to_wielded; X X #ifdef KOPS X! E boolean NEARDATA allow_kops; X #endif X X E const int shield_static[]; X--- 128,190 ---- X E struct q_score quest_status; X #endif X X! E NEARDATA int done_stopprint; X! E NEARDATA int done_hup; X X! E NEARDATA char pl_character[PL_CSIZ]; X #ifdef TUTTI_FRUTTI X! E NEARDATA char pl_fruit[PL_FSIZ]; X! E NEARDATA int current_fruit; X! E NEARDATA struct fruit *ffruit; X #endif X X! E NEARDATA char tune[6]; X X! E NEARDATA const char quitchars[]; X! E NEARDATA const char vowels[]; X! E NEARDATA const char ynchars[]; X! E NEARDATA const char ynqchars[]; X! E NEARDATA const char ynaqchars[]; X! E NEARDATA const char ynNaqchars[]; X! E NEARDATA long yn_number; X! E NEARDATA int smeq[]; X! E NEARDATA int doorindex; X! E NEARDATA char *save_cm; X #define KILLED_BY_AN 0 X #define KILLED_BY 1 X #define NO_KILLER_PREFIX 2 X! E NEARDATA int killer_format; X! E NEARDATA const char *killer; X E const char *configfile; X! E NEARDATA char plname[PL_NSIZ]; X! E NEARDATA char dogname[]; X! E NEARDATA char catname[]; X E char preferred_pet; X! E NEARDATA const char *occtxt; /* defined when occupation != NULL */ X! E NEARDATA const char *nomovemsg; X! E NEARDATA const char nul[]; X E const char *traps[]; X E char lock[]; X X! E NEARDATA const char sdir[], ndir[]; X! E NEARDATA const schar xdir[], ydir[], zdir[]; X X! E NEARDATA schar tbx, tby; /* set in mthrowu.c */ X! E NEARDATA int dig_effort; /* apply.c, hack.c */ X! E NEARDATA d_level dig_level; X! E NEARDATA coord dig_pos; X! E NEARDATA boolean dig_down; X X! E NEARDATA long moves, monstermoves; X! E NEARDATA long wailmsg; X X! E NEARDATA boolean in_mklev; X! E NEARDATA boolean stoned; X! E NEARDATA boolean unweapon; X! E NEARDATA boolean mrg_to_wielded; X X #ifdef KOPS X! E NEARDATA boolean allow_kops; X #endif X X E const int shield_static[]; X*************** X*** 192,198 **** X #ifndef SPELLS_H X #include "spell.h" X #endif X! E struct spell NEARDATA spl_book[]; /* sized in decl.c */ X X #ifdef TEXTCOLOR X # ifndef COLOR_H X--- 192,198 ---- X #ifndef SPELLS_H X #include "spell.h" X #endif X! E NEARDATA struct spell spl_book[]; /* sized in decl.c */ X X #ifdef TEXTCOLOR X # ifndef COLOR_H X*************** X*** 207,251 **** X E uchar monsyms[MAXMCLASSES]; /* current class symbols */ X X #ifndef OBJ_H X! #include "obj.h" X #endif X X! E struct obj NEARDATA *invent, NEARDATA *uarm, NEARDATA *uarmc, X! NEARDATA *uarmh, NEARDATA *uarms, NEARDATA *uarmg, NEARDATA *uarmf, X #ifdef TOURIST X! NEARDATA *uarmu, /* under-wear, so to speak */ X #endif X #ifdef POLYSELF X! NEARDATA *uskin, X #endif X! NEARDATA *uamul, NEARDATA *uleft, NEARDATA *uright, NEARDATA *ublindf, X! NEARDATA *uwep; X X! E struct obj NEARDATA *uchain; /* defined only when punished */ X! E struct obj NEARDATA *uball; X! E struct obj NEARDATA *migrating_objs; X! E struct obj NEARDATA *billobjs; X! E struct obj NEARDATA zeroobj; /* init'd and defined in decl.c */ X X #ifndef YOU_H X! #include "you.h" X #endif X X! E struct you NEARDATA u; X X #ifndef ONAMES_H X! #include "onames.h" X #endif X #ifndef PM_H X! #include "pm.h" X #endif X X! E struct permonst NEARDATA playermon, NEARDATA *uasmon; X /* also decl'd extern in permonst.h */ X /* init'd in monst.c */ X X! E struct monst NEARDATA youmonst; /* init'd and defined in decl.c */ X! E struct monst NEARDATA *mydogs, NEARDATA *migrating_mons; X X E struct c_color_names { X char const *const c_black, *const c_amber, *const c_golden, X--- 207,253 ---- X E uchar monsyms[MAXMCLASSES]; /* current class symbols */ X X #ifndef OBJ_H X! # include "obj.h" X #endif X X! E NEARDATA struct obj *invent, *uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf, X #ifdef TOURIST X! *uarmu, /* under-wear, so to speak */ X #endif X #ifdef POLYSELF X! *uskin, X #endif X! *uamul, *uleft, *uright, *ublindf, *uwep; X X! E NEARDATA struct obj *uchain; /* defined only when punished */ X! E NEARDATA struct obj *uball; X! E NEARDATA struct obj *migrating_objs; X! E NEARDATA struct obj *billobjs; X! E NEARDATA struct obj zeroobj; /* init'd and defined in decl.c */ X X+ E NEARDATA const char *he[3]; X+ E NEARDATA const char *him[3]; X+ E NEARDATA const char *his[3]; X+ X #ifndef YOU_H X! # include "you.h" X #endif X X! E NEARDATA struct you u; X X #ifndef ONAMES_H X! # include "onames.h" X #endif X #ifndef PM_H X! # include "pm.h" X #endif X X! E NEARDATA struct permonst playermon, *uasmon; X /* also decl'd extern in permonst.h */ X /* init'd in monst.c */ X X! E NEARDATA struct monst youmonst; /* init'd and defined in decl.c */ X! E NEARDATA struct monst *mydogs, *migrating_mons; X X E struct c_color_names { X char const *const c_black, *const c_amber, *const c_golden, X*************** X*** 274,285 **** X #define shudder_for_moment c_common_strings.c_shudder_for_moment X X /* Vision */ X! E boolean NEARDATA vision_full_recalc; /* TRUE if need vision recalc */ X! E char NEARDATA **viz_array; /* could see/in sight row pointers */ X X /* Window system stuff */ X! E winid NEARDATA WIN_MESSAGE, NEARDATA WIN_STATUS; X! E winid NEARDATA WIN_MAP, NEARDATA WIN_INVEN; X E char toplines[]; X #ifndef TERMCAP_H X E struct tc_gbl_data { /* also declared in termcap.h */ X--- 276,287 ---- X #define shudder_for_moment c_common_strings.c_shudder_for_moment X X /* Vision */ X! E NEARDATA boolean vision_full_recalc; /* TRUE if need vision recalc */ X! E NEARDATA char **viz_array; /* could see/in sight row pointers */ X X /* Window system stuff */ X! E NEARDATA winid WIN_MESSAGE, WIN_STATUS; X! E NEARDATA winid WIN_MAP, WIN_INVEN; X E char toplines[]; X #ifndef TERMCAP_H X E struct tc_gbl_data { /* also declared in termcap.h */ X*************** X*** 295,301 **** X /* xxxexplain[] is in drawing.c */ X E const char *monexplain[], *objexplain[], *oclass_names[]; X X! E const char NEARDATA *pl_classes; X X #undef E X X--- 297,303 ---- X /* xxxexplain[] is in drawing.c */ X E const char *monexplain[], *objexplain[], *oclass_names[]; X X! E NEARDATA const char *pl_classes; X X #undef E X X*** /tmp/da07565 Thu Feb 25 10:20:23 1993 X--- include/display.h Tue Feb 16 16:32:17 1993 X*************** X*** 64,70 **** X * is considered irrelevant for this special case. X */ X #define canspotmon(mon) \ X! (mon && (Blind ? sensemon(mon) : (!mon->minvis || See_invisible))) X X /* X * is_safepet(mon) X--- 64,70 ---- X * is considered irrelevant for this special case. X */ X #define canspotmon(mon) \ X! (mon && ((!Blind && (!mon->minvis || See_invisible)) || sensemon(mon))) X X /* X * is_safepet(mon) X*** /tmp/da07621 Thu Feb 25 10:20:35 1993 X--- include/extern.h Tue Feb 23 16:31:54 1993 X*************** X*** 1,4 **** X! /* SCCS Id: @(#)extern.h 3.1 93/01/24 */ X /* Copyright (c) Steve Creps, 1988. */ X /* NetHack may be freely redistributed. See license for details. */ X X--- 1,4 ---- X! /* SCCS Id: @(#)extern.h 3.1 93/02/16 */ X /* Copyright (c) Steve Creps, 1988. */ X /* NetHack may be freely redistributed. See license for details. */ X X*************** X*** 70,75 **** X--- 70,76 ---- X E boolean FDECL(exist_artifact, (int,const char *)); X E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P)); X E int NDECL(nartifact_exist); X+ E void FDECL(artifact_unexist, (struct obj *)); X E boolean FDECL(spec_ability, (struct obj *,unsigned)); X E boolean FDECL(restrict_name, (struct obj *,const char *)); X E boolean FDECL(defends, (int,struct obj *)); X*************** X*** 122,127 **** X--- 123,131 ---- X E int FDECL(xlev_to_rank, (int)); X E int FDECL(title_to_mon, (const char *,int *,int *)); X E void NDECL(max_rank_sz); X+ #ifdef SCORE_ON_BOTL X+ E long NDECL(botl_score); X+ #endif X E const char *FDECL(rank_of, (unsigned,CHAR_P,BOOLEAN_P)); X E void NDECL(bot); X X*************** X*** 168,173 **** X--- 172,178 ---- X E int FDECL(getdir, (const char *)); X E void NDECL(confdir); X E int FDECL(isok, (int,int)); X+ E int FDECL(click_to_cmd, (int,int,int)); X E char NDECL(readchar); X X /* ### dbridge.c ### */ X*************** X*** 346,351 **** X--- 351,357 ---- X E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P)); X E int FDECL(dogfood, (struct monst *,struct obj *)); X E struct monst *FDECL(tamedog, (struct monst *,struct obj *)); X+ E void FDECL(abuse_dog, (struct monst *)); X X /* ### dogmove.c ### */ X X*************** X*** 366,371 **** X--- 372,378 ---- X /* ### dothrow.c ### */ X X E int NDECL(dothrow); X+ E void FDECL(hitfloor, (struct obj *)); X E void FDECL(hurtle, (int,int,int)); X E int FDECL(throwit, (struct obj *)); X E int FDECL(thitmonst, (struct monst *,struct obj *)); X*************** X*** 394,400 **** X E branch *FDECL(Is_branchlev, (d_level *)); X E xchar FDECL(ledger_no, (d_level *)); X E xchar NDECL(maxledgerno); X! E xchar FDECL(depth, (d_level *)); X E xchar FDECL(dunlev, (d_level *)); X E xchar FDECL(dunlevs_in_dungeon, (d_level *)); X E xchar FDECL(ledger_to_dnum, (XCHAR_P)); X--- 401,407 ---- X E branch *FDECL(Is_branchlev, (d_level *)); X E xchar FDECL(ledger_no, (d_level *)); X E xchar NDECL(maxledgerno); X! E schar FDECL(depth, (d_level *)); X E xchar FDECL(dunlev, (d_level *)); X E xchar FDECL(dunlevs_in_dungeon, (d_level *)); X E xchar FDECL(ledger_to_dnum, (XCHAR_P)); X*************** X*** 565,570 **** X--- 572,578 ---- X E boolean FDECL(revive_nasty, (int,int,const char*)); X E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P)); X E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P)); X+ E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P)); X E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P)); X E void NDECL(domove); X E void NDECL(spoteffects); X*************** X*** 683,688 **** X--- 691,697 ---- X E int NDECL(forcelock); X E int NDECL(picklock); X #endif X+ E boolean FDECL(picking_lock, (int *,int *)); X E boolean FDECL(picking_at, (int,int)); X E void NDECL(reset_pick); X E int FDECL(pick_lock, (struct obj *)); X*************** X*** 735,746 **** X /* ### macwin.c ### */ X X E void FDECL(addToKeyQueue, (int,Boolean)); X X- /* ### maccurs.c ### */ X- X- E int FDECL(clickSector, (int,int,int,int)); X- X- X #endif /* MAC */ X X /* ### mail.c ### */ X--- 744,751 ---- X /* ### macwin.c ### */ X X E void FDECL(addToKeyQueue, (int,Boolean)); X+ E void FDECL(lock_mouse_cursor, (Boolean)); X X #endif /* MAC */ X X /* ### mail.c ### */ X*************** X*** 790,795 **** X--- 795,801 ---- X #endif X E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P)); X E int FDECL(mattacku, (struct monst *)); X+ E int FDECL(gazemu, (struct monst *,struct attack *)); X E void FDECL(mdamageu, (struct monst *,int)); X E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *)); X #ifdef SEDUCE X*************** X*** 802,811 **** X E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P)); X E int FDECL(demon_talk, (struct monst *)); X E long FDECL(bribe, (struct monst *)); X! E int NDECL(dprince); X! E int NDECL(dlord); X E int NDECL(llord); X! E int NDECL(ndemon); X E int NDECL(lminion); X X /* ### mklev.c ### */ X--- 808,817 ---- X E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P)); X E int FDECL(demon_talk, (struct monst *)); X E long FDECL(bribe, (struct monst *)); X! E int FDECL(dprince, (ALIGNTYP_P)); X! E int FDECL(dlord, (ALIGNTYP_P)); X E int NDECL(llord); X! E int FDECL(ndemon, (ALIGNTYP_P)); X E int NDECL(lminion); X X /* ### mklev.c ### */ X*************** X*** 959,964 **** X--- 965,971 ---- X E boolean FDECL(webmaker, (struct permonst *)); X #endif X E int FDECL(gender, (struct monst *)); X+ E int FDECL(pronoun_gender, (struct monst *)); X E boolean FDECL(levl_follower, (struct monst *)); X E struct permonst *NDECL(player_mon); X E int FDECL(little_to_big, (int)); X*************** X*** 996,1004 **** X X #ifdef MICRO X X! /* ### msdos.c,os2.c,tos.c ### */ X X E int NDECL(tgetch); X # ifndef TOS X E char NDECL(switchar); X # endif X--- 1003,1013 ---- X X #ifdef MICRO X X! /* ### msdos.c,os2.c,tos.c,winnt.c ### */ X X+ # ifndef WIN32 X E int NDECL(tgetch); X+ # endif X # ifndef TOS X E char NDECL(switchar); X # endif X*************** X*** 1014,1020 **** X E void NDECL(disable_ctrlP); X E void NDECL(enable_ctrlP); X # endif X! # if defined(MICRO) && !defined(AMIGA) X E void NDECL(get_scr_size); X # ifndef TOS X E void FDECL(gotoxy, (int,int)); X--- 1023,1029 ---- X E void NDECL(disable_ctrlP); X E void NDECL(enable_ctrlP); X # endif X! # if defined(MICRO) && !defined(AMIGA) && !defined(WINNT) X E void NDECL(get_scr_size); X # ifndef TOS X E void FDECL(gotoxy, (int,int)); X*************** X*** 1029,1034 **** X--- 1038,1046 ---- X E int NDECL(dosuspend); X # endif X # endif /* TOS */ X+ # ifdef WIN32 X+ E void FDECL(nt_regularize, (char *)); X+ # endif /* WIN32 */ X X #endif /* MICRO */ X X*************** X*** 1066,1071 **** X--- 1078,1093 ---- X E void NDECL(awaken_soldiers); X E int FDECL(do_play_instrument, (struct obj *)); X X+ /* ### nttty.c ### */ X+ X+ #ifdef WIN32CON X+ E void NDECL(get_scr_size); X+ E int NDECL(kbhit); X+ E void NDECL(nttty_open); X+ E void NDECL(nttty_rubout); X+ E int NDECL(tgetch); X+ #endif X+ X /* ### o_init.c ### */ X X E int FDECL(letindex, (CHAR_P)); X*************** X*** 1268,1273 **** X--- 1290,1297 ---- X E boolean FDECL(in_your_sanctuary, (XCHAR_P,XCHAR_P)); X E void FDECL(ghod_hitsu, (struct monst *)); X E void NDECL(angry_priest); X+ E void NDECL(clearpriests); X+ E void FDECL(restpriest, (struct monst *,BOOLEAN_P)); X X #ifdef MULDGN X /* ### quest.c ### */ X*************** X*** 1393,1399 **** X E void FDECL(shkgone, (struct monst *)); X E void FDECL(set_residency, (struct monst *,BOOLEAN_P)); X E void FDECL(replshk, (struct monst *,struct monst *)); X! E void FDECL(restshk, (struct monst *)); X E int FDECL(inhishop, (struct monst *)); X #ifdef SOUNDS X E boolean FDECL(tended_shop, (struct mkroom *)); X--- 1417,1423 ---- X E void FDECL(shkgone, (struct monst *)); X E void FDECL(set_residency, (struct monst *,BOOLEAN_P)); X E void FDECL(replshk, (struct monst *,struct monst *)); X! E void FDECL(restshk, (struct monst *,BOOLEAN_P)); X E int FDECL(inhishop, (struct monst *)); X #ifdef SOUNDS X E boolean FDECL(tended_shop, (struct mkroom *)); X*************** X*** 1523,1528 **** X--- 1547,1553 ---- X E void FDECL(seetrap, (struct trap *)); X E int FDECL(mintrap, (struct monst *)); X E void FDECL(selftouch, (const char *)); X+ E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P)); X E void NDECL(float_up); X E void FDECL(fill_pit, (int,int)); X E int NDECL(float_down); X*************** X*** 1530,1536 **** X E void FDECL(teleds, (int,int)); X E int NDECL(dotele); X E void NDECL(level_tele); X! E void FDECL(water_damage, (struct obj *,BOOLEAN_P)); X E boolean NDECL(drown); X E void FDECL(drain_en, (int)); X E int NDECL(dountrap); X--- 1555,1561 ---- X E void FDECL(teleds, (int,int)); X E int NDECL(dotele); X E void NDECL(level_tele); X! E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P)); X E boolean NDECL(drown); X E void FDECL(drain_en, (int)); X E int NDECL(dountrap); X*** /tmp/da07629 Thu Feb 25 10:20:38 1993 X--- include/flag.h Sun Feb 21 16:41:09 1993 X*************** X*** 43,48 **** X--- 43,51 ---- X boolean nopick; /* do not pickup objects (as when running) */ X boolean null; /* OK to send nulls to the terminal */ X boolean num_pad; /* use numbers for movement commands */ X+ #ifdef MAC X+ boolean page_wait; /* put up a --More-- after a page of messages */ X+ #endif X boolean pickup; /* whether you pickup or move and look */ X #ifdef MAC X boolean popup_dialog; /* put queries in pop up dialogs instead of X*************** X*** 88,95 **** X boolean MACgraphics; /* use Macintosh extended character set, as X as defined in the special font HackFont */ X #endif X }; X X! extern struct flag NEARDATA flags; X X #endif /* FLAG_H */ X--- 91,101 ---- X boolean MACgraphics; /* use Macintosh extended character set, as X as defined in the special font HackFont */ X #endif X+ #ifdef AMII_GRAPHICS X+ unsigned short amii_curmap[8]; /* colormap */ X+ #endif X }; X X! extern NEARDATA struct flag flags; X X #endif /* FLAG_H */ X*** /tmp/da07645 Thu Feb 25 10:20:42 1993 X--- include/global.h Thu Feb 25 09:03:40 1993 X*************** X*** 61,67 **** X #endif X X #ifndef STRNCMPI X! # define strcmpi(a,b) strncmpi((a),(b),-1) X #endif X X /* comment out to test effects of each #define -- these will probably X--- 61,69 ---- X #endif X X #ifndef STRNCMPI X! # ifndef __SASC_60 /* SAS/C already shifts to stricmp */ X! # define strcmpi(a,b) strncmpi((a),(b),-1) X! # endif X #endif X X /* comment out to test effects of each #define -- these will probably X*************** X*** 168,173 **** X--- 170,179 ---- X # include "macconf.h" X #endif X X+ #if defined(WIN32) && !defined(NTCONF_H) X+ # include "ntconf.h" X+ #endif X+ X /* Displayable name of this port; don't redefine if defined in *conf.h */ X #ifndef PORT_ID X # ifdef AMIGA X*************** X*** 190,195 **** X--- 196,204 ---- X # endif X # ifdef VMS X # define PORT_ID "VMS" X+ # endif X+ # ifdef WIN32CON X+ # define PORT_ID "NT-Console" X # endif X #endif X X*** /tmp/da07653 Thu Feb 25 10:20:45 1993 X--- include/hack.h Thu Feb 25 09:04:05 1993 X*************** X*** 71,77 **** X #include "decl.h" X #endif X X! extern coord bhitpos; /* place where thrown weapon falls to the ground */ X X /* types of calls to bhit() */ X #define ZAPPED_WAND 0 X--- 71,77 ---- X #include "decl.h" X #endif X X! NEARDATA extern coord bhitpos; /* place where thrown weapon falls to the ground */ X X /* types of calls to bhit() */ X #define ZAPPED_WAND 0 X*** /tmp/da07669 Thu Feb 25 10:20:48 1993 X--- include/macconf.h Wed Feb 24 16:18:07 1993 X*************** X*** 37,42 **** X--- 37,50 ---- X # include X X /* X+ * Turn off the Macsbug calls for the production version. X+ */ X+ #undef Debugger X+ #undef DebugStr X+ #define Debugger() X+ #define DebugStr(aStr) X+ X+ /* X * We could use the PSN under sys 7 here ... X */ X # define getpid() 1 X*************** X*** 168,174 **** X void ( * cursorFunc ) ( EventRecord * , WindowPtr , RgnHandle ) ; X Handle windowText ; X long windowTextLen ; X- long textBase ; X Point cursor ; /* In CHARS / LINES */ X short leading ; X short charHeight ; X--- 176,181 ---- X*************** X*** 175,180 **** X--- 182,189 ---- X short charWidth ; X short fontNum ; X short fontSize ; X+ short last_more_lin ; /* Used by message window */ X+ short save_lin ; /* Used by message window */ X short lin ; /* Used by menus */ X short wid ; /* Used by menus */ X char itemChars [ NUM_MENU_ITEMS ] ; X*** /tmp/da07701 Thu Feb 25 10:20:55 1993 X--- include/mkroom.h Tue Feb 16 16:21:32 1993 X*************** X*** 34,41 **** X const char **shknms; /* list of shopkeeper names for this type */ X }; X X! extern struct mkroom rooms[(MAXNROFROOMS+1)*2]; X! extern struct mkroom* subrooms; X /* the normal rooms on the current level are described in rooms[0..n] for X * some n X+ X+ #ifdef RANDOM X+ /* Use the high quality random number routines. */ X+ #define Rand() random() X+ #else X+ #define Rand() rand() X+ #endif X+ X+ #define FCMASK 0660 /* file creation mask */ X+ X+ #include X+ #include X+ #include X+ #include X+ #undef kbhit /* Use our special NT kbhit */ X+ X+ #define exit msexit /* do chdir first */ X+ X+ #ifndef REDO X+ #undef Getchar X+ #define Getchar nhgetch X+ #endif X+ X+ X+ #endif /* NTCONF_H */ X*** /tmp/da07757 Thu Feb 25 10:21:07 1993 X--- include/obj.h Mon Feb 8 14:04:40 1993 X*************** X*** 24,30 **** X marks your eggs, spinach tins X indicates statues have spellbooks inside X tells which fruit a fruit is X- marks diluted potions X special for uball and amulet %% BAH */ X char oclass; /* object class */ X char invlet; /* designation in inventory */ X--- 24,29 ---- X*************** X*** 42,47 **** X--- 41,47 ---- X Bitfield(oeroded,2); /* rusted/corroded/burnt/rotted weapon/armor */ X #define MAX_ERODE 3 X #define orotten oeroded /* rotten food */ X+ #define odiluted oeroded /* diluted potions */ X Bitfield(oerodeproof,1); /* erodeproof weapon/armor */ X Bitfield(olocked,1); /* object is locked */ X #define recharged olocked /* recharged once */ X*** /tmp/da07765 Thu Feb 25 10:21:09 1993 X--- include/objclass.h Tue Feb 23 15:12:23 1993 X*************** X*** 20,25 **** X--- 20,26 ---- X Bitfield(oc_magic,1); /* inherently magical object */ X Bitfield(oc_charged,1); /* may have +n or (n) charges */ X Bitfield(oc_unique,1); /* special one-of-a-kind object */ X+ Bitfield(oc_nowish,1); /* cannot wish for this object */ X Bitfield(oc_big,1); X #define oc_bimanual oc_big /* for weapons */ X #define oc_bulky oc_big /* for armor */ X*************** X*** 89,96 **** X const char *oc_descr; /* description when name unknown */ X }; X X! extern struct objclass NEARDATA objects[]; X! extern struct objdescr NEARDATA obj_descr[]; X X /* X * All objects have a class. Make sure that all classes have a corresponding X--- 90,97 ---- X const char *oc_descr; /* description when name unknown */ X }; X X! extern NEARDATA struct objclass objects[]; X! extern NEARDATA struct objdescr obj_descr[]; X X /* X * All objects have a class. Make sure that all classes have a corresponding X*** /tmp/da07773 Thu Feb 25 10:21:11 1993 X--- include/os2conf.h Thu Feb 25 09:03:39 1993 X*************** X*** 21,26 **** X--- 21,27 ---- X */ X X #define OS2_USESYSHEADERS /* use compiler's own system headers */ X+ /* #define OS2_HPFS /* use OS/2 High Performance File System */ X X #if defined(OS2_GCC) || defined(OS2_CSET2) X # define OS2_32BITAPI /* enable for compilation in OS/2 2.0 */ X*** /tmp/da07781 Thu Feb 25 10:21:12 1993 X--- include/patchlevel.h Wed Feb 24 21:36:39 1993 X*************** X*** 134,137 **** X * directory rearrangement (dat, doc, sys, win, util) X */ X X! #define PATCHLEVEL 0 X--- 134,144 ---- X * directory rearrangement (dat, doc, sys, win, util) X */ X X! /* X! * Patch 1, February 25, 1993 X! * add Windows NT console port (courtesy Michael Allison) X! * polishing of Amiga, Mac, and X11 windowing X! * fixing many small bugs, including the infamous 3.0 nurse relmon bug X! */ X! X! #define PATCHLEVEL 1 X*** /tmp/da07789 Thu Feb 25 10:21:15 1993 X--- include/pcconf.h Thu Feb 25 09:01:34 1993 X*************** X*** 17,41 **** X * or greater. X */ X X! #if !defined (__GO32__) && !defined(__BORLANDC__) && !defined(AMIGA) X! #define OVERLAY /* MS DOS overlay manager - PGM */ X /* #define MOVERLAY /* Microsoft's MOVE overlay system (MSC >= 7.0) */ X! #endif X X X! #ifndef __GO32__ X! #define MFLOPPY /* Support for floppy drives and ramdisks by dgk */ X! #define SHELL /* via exec of COMMAND.COM */ X! #endif X X # define TERMLIB /* enable use of termcap file /etc/termcap */ X /* or ./termcap for MSDOS (SAC) */ X /* compile and link in Fred Fish's termcap library, */ X /* enclosed in TERMCAP.ARC, to use this */ X X! #define ANSI_DEFAULT /* allows NetHack to run without a ./termcap */ X X! #define RANDOM /* have Berkeley random(3) */ X X #endif /* MSDOS configuration stuff */ X X--- 17,41 ---- X * or greater. X */ X X! # if !defined (__GO32__) && !defined(__BORLANDC__) && !defined(AMIGA) X! # define OVERLAY /* MS DOS overlay manager - PGM */ X /* #define MOVERLAY /* Microsoft's MOVE overlay system (MSC >= 7.0) */ X! # endif X X X! # ifndef __GO32__ X! # define MFLOPPY /* Support for floppy drives and ramdisks by dgk */ X! # endif X X+ # define SHELL /* via exec of COMMAND.COM */ X # define TERMLIB /* enable use of termcap file /etc/termcap */ X /* or ./termcap for MSDOS (SAC) */ X /* compile and link in Fred Fish's termcap library, */ X /* enclosed in TERMCAP.ARC, to use this */ X X! # define ANSI_DEFAULT /* allows NetHack to run without a ./termcap */ X X! # define RANDOM /* have Berkeley random(3) */ X X #endif /* MSDOS configuration stuff */ X X*************** X*** 43,56 **** X #define PATHLEN 64 /* maximum pathlength */ X #define FILENAME 80 /* maximum filename length (conservative) */ X #ifndef MICRO_H X! #include "micro.h" /* contains necessary externs for [os_name].c */ X #endif X X #ifdef MFLOPPY X! #define FROMPERM 1 /* for ramdisk use */ X! #define TOPERM 2 /* for ramdisk use */ X! #define ACTIVE 1 X! #define SWAPPED 2 X X struct finfo { X int where; X--- 43,56 ---- X #define PATHLEN 64 /* maximum pathlength */ X #define FILENAME 80 /* maximum filename length (conservative) */ X #ifndef MICRO_H X! # include "micro.h" /* contains necessary externs for [os_name].c */ X #endif X X #ifdef MFLOPPY X! # define FROMPERM 1 /* for ramdisk use */ X! # define TOPERM 2 /* for ramdisk use */ X! # define ACTIVE 1 X! # define SWAPPED 2 X X struct finfo { X int where; X*************** X*** 58,64 **** X long size; X }; X extern struct finfo fileinfo[]; X! #define ZFINFO { 0, 0L, 0L } X X #endif /* MFLOPPY */ X X--- 58,64 ---- X long size; X }; X extern struct finfo fileinfo[]; X! # define ZFINFO { 0, 0L, 0L } X X #endif /* MFLOPPY */ X X*************** X*** 67,90 **** X */ X X #ifndef SYSTEM_H X! #include "system.h" X #endif X- #define index strchr X- #define rindex strrchr X X #ifndef AMIGA X! #include X #endif X X #ifdef RANDOM X /* Use the high quality random number routines. */ X! #define Rand() random() X #else X! #define Rand() rand() X #endif X X #ifndef TOS X! #define FCMASK 0660 /* file creation mask */ X #endif X X #include X--- 67,95 ---- X */ X X #ifndef SYSTEM_H X! # include "system.h" X #endif X X+ #ifndef index X+ # define index strchr X+ #endif X+ #ifndef rindex X+ # define rindex strrchr X+ #endif X+ X #ifndef AMIGA X! # include X #endif X X #ifdef RANDOM X /* Use the high quality random number routines. */ X! # define Rand() random() X #else X! # define Rand() rand() X #endif X X #ifndef TOS X! # define FCMASK 0660 /* file creation mask */ X #endif X X #include X*************** X*** 92,103 **** X #define exit msexit /* do chdir first */ X X #ifndef REDO X! #undef Getchar X! #define Getchar nhgetch X #endif X X #ifdef MSDOS X! # define TEXTCOLOR /* */ X #endif X X #endif /* PCCONF_H */ X--- 97,112 ---- X #define exit msexit /* do chdir first */ X X #ifndef REDO X! # undef Getchar X! # define Getchar nhgetch X #endif X X #ifdef MSDOS X! # define TEXTCOLOR /* */ X! #endif X! X! #ifdef MSC7_WARN /* define with cl /DMSC7_WARN */ X! #pragma warning(disable:4131) X #endif X X #endif /* PCCONF_H */ X*** /tmp/da07797 Thu Feb 25 10:21:17 1993 X--- include/permonst.h Tue Feb 16 16:17:29 1993 X*************** X*** 1,4 **** X! /* SCCS Id: @(#)permonst.h 3.1 92/11/21 */ X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X--- 1,4 ---- X! /* SCCS Id: @(#)permonst.h 3.1 93/02/14 */ X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X*************** X*** 55,61 **** X uchar msize; /* physical size (3 bits) */ X uchar mresists; /* resistances */ X uchar mconveys; /* conveyed by eating */ X! long mflags1, /* boolean bitflags */ X mflags2; /* more boolean bitflags */ X uchar mflags3; /* yet more boolean bitflags */ X # ifdef TEXTCOLOR X--- 55,61 ---- X uchar msize; /* physical size (3 bits) */ X uchar mresists; /* resistances */ X uchar mconveys; /* conveyed by eating */ X! unsigned long mflags1, /* boolean bitflags */ X mflags2; /* more boolean bitflags */ X uchar mflags3; /* yet more boolean bitflags */ X # ifdef TEXTCOLOR X*************** X*** 63,71 **** X # endif X }; X X! extern struct permonst X! NEARDATA mons[]; /* the master list of monster types */ X! extern struct permonst NEARDATA playermon, NEARDATA *uasmon; X /* you in the same terms */ X X #endif /* PERMONST_H */ X--- 63,71 ---- X # endif X }; X X! extern NEARDATA struct permonst X! mons[]; /* the master list of monster types */ X! extern NEARDATA struct permonst playermon, *uasmon; X /* you in the same terms */ X X #endif /* PERMONST_H */ X*** /tmp/da07837 Thu Feb 25 10:21:26 1993 X--- include/rm.h Mon Feb 22 12:31:49 1993 X*************** X*** 1,4 **** X! /* SCCS Id: @(#)rm.h 3.1 92/09/01 */ X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X--- 1,4 ---- X! /* SCCS Id: @(#)rm.h 3.1 93/02/21 */ X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X*************** X*** 224,229 **** X--- 224,236 ---- X #define F_WARNED 2 X X /* X+ * Doors are even worse :-) The special warning has a side effect X+ * of instantly trapping the door, and if it was defined as trapped, X+ * the guards consider that you have already been warned! X+ */ X+ #define D_WARNED 16 X+ X+ /* X * Sinks have 3 different types of loot that shouldn't be abused X */ X #define S_LPUDDING 1 X*************** X*** 254,259 **** X--- 261,267 ---- X #define W_DIGGABLE 0 X #define W_NONDIGGABLE 1 X #define W_REPAIRED 2 X+ #define W_NONPASSWALL 4 X X /* X * Ladders (in Vlad's tower) may be up or down. X*************** X*** 321,326 **** X--- 329,335 ---- X Bitfield(nommap,1); X Bitfield(hero_memory,1); /* hero has memory */ X Bitfield(shortsighted,1); /* monsters are shortsighted */ X+ Bitfield(graveyard,1); /* has_morgue, but remains set */ X Bitfield(is_maze_lev,1); X Bitfield(is_cavernous_lev,1); X }; X*** /tmp/da07845 Thu Feb 25 10:21:28 1993 X--- include/sp_lev.h Wed Feb 17 09:52:50 1993 X*************** X*** 164,169 **** X--- 164,171 ---- X walk **walks; X char ndig; X digpos **digs; X+ char npass; X+ digpos **passs; X char nlad; X lad **lads; X char nstair; X*** /tmp/da07861 Thu Feb 25 10:21:31 1993 X--- include/system.h Wed Feb 24 16:17:03 1993 X*************** X*** 50,59 **** X * impossible to get right automatically. X * This is the type of signal handling functions. X */ X! #if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(MSDOS) || defined(__DECC) X! # define SIG_RET_TYPE void (*)() X #endif X #ifndef SIG_RET_TYPE X # if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4) X /* SVR3 is defined automatically by some systems */ X # define SIG_RET_TYPE void (*)() X--- 50,64 ---- X * impossible to get right automatically. X * This is the type of signal handling functions. X */ X! #if defined(MOVERLAY) X! # define SIG_RET_TYPE void (__cdecl *)(int) X #endif X #ifndef SIG_RET_TYPE X+ # if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(__DECC) X+ # define SIG_RET_TYPE void (*)() X+ # endif X+ #endif X+ #ifndef SIG_RET_TYPE X # if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4) X /* SVR3 is defined automatically by some systems */ X # define SIG_RET_TYPE void (*)() X*************** X*** 235,241 **** X E long NDECL(fork); X #endif X X! #if defined(SYSV) || defined(VMS) || defined(MAC) || defined(SUNOS4) X # if defined(NHSTDC) || defined(POSIX_TYPES) || (defined(VMS) && !defined(ANCIENT_VAXC)) X # if !(defined(SUNOS4) && defined(__STDC__)) /* Solaris unbundled cc (acc) */ X E int FDECL(memcmp, (const void *,const void *,size_t)); X--- 240,246 ---- X E long NDECL(fork); X #endif X X! #if defined(SYSV) || defined(VMS) || defined(MAC) || defined(SUNOS4) || defined(POSIX_TYPES) X # if defined(NHSTDC) || defined(POSIX_TYPES) || (defined(VMS) && !defined(ANCIENT_VAXC)) X # if !(defined(SUNOS4) && defined(__STDC__)) /* Solaris unbundled cc (acc) */ X E int FDECL(memcmp, (const void *,const void *,size_t)); X*************** X*** 243,257 **** X E void *FDECL(memset, (void *, int, size_t)); X # endif X # else X E int memcmp(); X! E char *memcpy(), *memset(); X # endif X! #endif X! X! #ifdef HPUX X E int FDECL(memcmp, (char *,char *,int)); X E void *FDECL(memcpy, (char *,char *,int)); X E void *FDECL(memset, (char*,int,int)); X #endif X X #if defined(MICRO) && !defined(LATTICE) X--- 248,269 ---- X E void *FDECL(memset, (void *, int, size_t)); X # endif X # else X+ # ifndef memcmp /* some systems seem to macro these back to b*() */ X E int memcmp(); X! # endif X! # ifndef memcpy X! E char *memcpy(); X! # endif X! # ifndef memset X! E char *memset(); X! # endif X # endif X! #else X! # ifdef HPUX X E int FDECL(memcmp, (char *,char *,int)); X E void *FDECL(memcpy, (char *,char *,int)); X E void *FDECL(memset, (char*,int,int)); X+ # endif X #endif X X #if defined(MICRO) && !defined(LATTICE) X*** /tmp/da07869 Thu Feb 25 10:21:33 1993 X--- include/termcap.h Thu Feb 11 13:26:48 1993 X*************** X*** 49,55 **** X # ifdef TOS X extern const char *hilites[MAXCOLORS]; X # else X! extern char NEARDATA *hilites[MAXCOLORS]; X # endif X #endif X X--- 49,55 ---- X # ifdef TOS X extern const char *hilites[MAXCOLORS]; X # else X! extern NEARDATA char *hilites[MAXCOLORS]; X # endif X #endif X X*** /tmp/da07909 Thu Feb 25 10:21:42 1993 X--- include/unixconf.h Wed Feb 24 16:18:06 1993 X*************** X*** 222,229 **** X--- 222,233 ---- X #define memcmp(s1, s2, n) bcmp(s2, s1, n) X # endif X #else /* therefore SYSV */ X+ # ifndef index /* some systems seem to do this for you */ X #define index strchr X+ # endif X+ # ifndef rindex X #define rindex strrchr X+ # endif X #endif X X /* A safety check for BOS and AUX */ X*** /tmp/da07941 Thu Feb 25 10:21:50 1993 X--- include/winX.h Sun Feb 21 16:57:49 1993 X*************** X*** 185,190 **** X--- 185,191 ---- X E struct xwindow window_list[MAX_WINDOWS]; X E XtAppContext app_context; /* context of application */ X E Widget toplevel; /* toplevel widget */ X+ E Atom wm_delete_window; /* delete window protocol */ X E boolean exit_x_event; /* exit condition for event loop */ X #define EXIT_ON_KEY_PRESS 0 /* valid values for exit_x_event */ X #define EXIT_ON_KEY_OR_BUTTON_PRESS 1 X*************** X*** 217,223 **** X E void FDECL(SetDialogPrompt,(Widget, String)); X E String FDECL(GetDialogResponse,(Widget)); X E void FDECL(SetDialogResponse,(Widget, String)); X! E void FDECL(positionpopup,(Widget)); X X /* ### winX.c ### */ X E struct xwindow *FDECL(find_widget,(Widget)); X--- 218,224 ---- X E void FDECL(SetDialogPrompt,(Widget, String)); X E String FDECL(GetDialogResponse,(Widget)); X E void FDECL(SetDialogResponse,(Widget, String)); X! E void FDECL(positionpopup,(Widget,BOOLEAN_P)); X X /* ### winX.c ### */ X E struct xwindow *FDECL(find_widget,(Widget)); X*************** X*** 228,234 **** X E void NDECL(win_X11_init); X X /* ### winmesg.c ### */ X- E void FDECL(set_message_height, (struct xwindow*, DIMENSION_P)); X E void FDECL(set_message_slider, (struct xwindow*)); X E void FDECL(create_message_window,(struct xwindow*, BOOLEAN_P, Widget)); X E void FDECL(destroy_message_window,(struct xwindow*)); X--- 229,234 ---- X*************** X*** 240,246 **** X E void FDECL(check_cursor_visibility,(struct xwindow*)); X E void FDECL(display_map_window,(struct xwindow*)); X E void FDECL(clear_map_window,(struct xwindow*)); X! E void FDECL(extern_map_input,(XEvent*)); X E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P)); X E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget)); X E void FDECL(destroy_map_window,(struct xwindow*)); X--- 240,246 ---- X E void FDECL(check_cursor_visibility,(struct xwindow*)); X E void FDECL(display_map_window,(struct xwindow*)); X E void FDECL(clear_map_window,(struct xwindow*)); X! E void FDECL(map_input, (Widget, XEvent*, String*, Cardinal*)); X E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P)); X E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget)); X E void FDECL(destroy_map_window,(struct xwindow*)); X*************** X*** 247,252 **** X--- 247,253 ---- X E int FDECL(x_event,(int)); X X /* ### winmenu.c ### */ X+ E void FDECL(menu_delete, (Widget, XEvent*, String*, Cardinal*)); X E void FDECL(menu_key,(Widget, XEvent*, String*, Cardinal*)); X E void FDECL(create_menu_window,(struct xwindow*)); X E void FDECL(destroy_menu_window,(struct xwindow*)); X*************** X*** 253,258 **** X--- 254,260 ---- X X /* ### winmisc.c ### */ X E void FDECL(ps_key,(Widget, XEvent*, String*, Cardinal*)); /* player selection action */ X+ E void FDECL(ec_delete, (Widget, XEvent*, String*, Cardinal*)); X E void FDECL(ec_key,(Widget, XEvent*, String*, Cardinal*)); /* extended command action */ X E void NDECL(init_extended_commands_popup); X X*************** X*** 264,269 **** X--- 266,272 ---- X E void NDECL(check_turn_events); X X /* ### wintext.c ### */ X+ E void FDECL(delete_text, (Widget, XEvent*, String*, Cardinal*)); X E void FDECL(dismiss_text,(Widget, XEvent*, String*, Cardinal*)); X E void FDECL(key_dismiss_text,(Widget, XEvent*, String*, Cardinal*)); X E void FDECL(add_to_text_window,(struct xwindow*, int, const char*)); X*** /tmp/da07957 Thu Feb 25 10:21:54 1993 X--- include/winprocs.h Thu Feb 11 13:27:44 1993 X*************** X*** 51,57 **** X void NDECL((*win_end_screen)); X }; X X! extern struct window_procs NEARDATA windowprocs; X X /* X * If you wish to only support one window system and not use procedure X--- 51,57 ---- X void NDECL((*win_end_screen)); X }; X X! extern NEARDATA struct window_procs windowprocs; X X /* X * If you wish to only support one window system and not use procedure X*** /tmp/da07965 Thu Feb 25 10:21:56 1993 X--- include/wintty.h Mon Feb 8 14:03:47 1993 X*************** X*** 43,48 **** X--- 43,49 ---- X int rawprint; /* number of raw_printed lines since synch */ X int inmore; /* non-zero if more() is active */ X int inread; /* non-zero if reading a character */ X+ int intr; /* non-zero if inread was interrupted */ X winid lastwin; /* last window used for I/O */ X }; X X END_OF_FILE if test 55797 -ne `wc -c <'patches01k'`; then echo shar: \"'patches01k'\" unpacked with wrong size! fi # end of 'patches01k' if test -f 'patchit.sh' -a "${1}" != "-c" ; then echo shar: Renaming existing file \"'patchit.sh'\" to \"'patchit.sh.orig'\" mv -f 'patchit.sh' 'patchit.sh.orig' fi echo shar: Extracting \"'patchit.sh'\" \(477 characters\) sed "s/^X//" >'patchit.sh' <<'END_OF_FILE' X#!/bin/sh Xcat patches01t.uu1 patches01t.uu2 > patches01t.uu Xecho uudecoding patches01t.uu Xuudecode patches01t.uu Xrm patches01t.uu1 patches01t.uu2 patches01t.uu Xfor pfile in patches01[a-t] Xdo patch -p < $pfile Xdone Xcd sys/share Xmv lev_lex.c lev_lex.c.orig Xmv lev_yacc.c lev_yacc.c.orig Xecho creating new 'lev_lex.c' Xcat lev_lex.c1 lev_lex.c2 > lev_lex.c Xrm lev_lex.c1 lev_lex.c2 Xecho creating new 'lev_yacc.c' Xcat lev_yacc.c1 lev_yacc.c2 > lev_yacc.c Xrm lev_yacc.c1 lev_yacc.c2 END_OF_FILE if test 477 -ne `wc -c <'patchit.sh'`; then echo shar: \"'patchit.sh'\" unpacked with wrong size! fi chmod +x 'patchit.sh' # end of 'patchit.sh' echo shar: End of archive 3 \(of 31\). cp /dev/null ark3isdone 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 25 26 27 28 29 30 31 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 31 archives. echo "Now execute 'patchit.sh'" 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