#! /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 16 (of 18)."
# Contents: patches03g
# Wrapped by billr@saab on Tue Jul 20 14:57:23 1993
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patches03g' -a "${1}" != "-c" ; then
echo shar: Renaming existing file \"'patches03g'\" to \"'patches03g.orig'\"
mv -f 'patches03g' 'patches03g.orig'
fi
echo shar: Extracting \"'patches03g'\" \(31010 characters\)
sed "s/^X//" >'patches03g' <<'END_OF_FILE'
X*** /tmp/da23267 Mon Jul 12 18:13:42 1993
X--- include/artilist.h Fri Jul 2 15:10:46 1993
X***************
X*** 1,4 ****
X! /* SCCS Id: @(#)artilist.h 3.1 93/05/25 */
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: @(#)artilist.h 3.1 93/06/27 */
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X***************
X*** 58,71 ****
X A("Grimtooth", ORCISH_DAGGER,
X SPFX_RESTR, 0, 0,
X PHYS(2,6), NO_DFNS, NO_CARY, 0, A_CHAOTIC, 0 ),
X!
X A("Orcrist", ELVEN_BROADSWORD,
X SPFX_DFLAG2, 0, M2_ORC,
X! PHYS(5,0), NO_DFNS, NO_CARY, 0, A_LAWFUL, 'E' ),
X
X A("Sting", ELVEN_DAGGER,
X (SPFX_WARN|SPFX_DFLAG2), 0, M2_ORC,
X! PHYS(5,0), NO_DFNS, NO_CARY, 0, A_LAWFUL, 0 ),
X /*
X * Magicbane is a bit different! Its magic fanfare
X * unbalances victims in addition to doing some damage.
X--- 58,73 ----
X A("Grimtooth", ORCISH_DAGGER,
X SPFX_RESTR, 0, 0,
X PHYS(2,6), NO_DFNS, NO_CARY, 0, A_CHAOTIC, 0 ),
X! /*
X! * Orcrist and Sting have same alignment as elves.
X! */
X A("Orcrist", ELVEN_BROADSWORD,
X SPFX_DFLAG2, 0, M2_ORC,
X! PHYS(5,0), NO_DFNS, NO_CARY, 0, A_CHAOTIC, 'E' ),
X
X A("Sting", ELVEN_DAGGER,
X (SPFX_WARN|SPFX_DFLAG2), 0, M2_ORC,
X! PHYS(5,0), NO_DFNS, NO_CARY, 0, A_CHAOTIC, 0 ),
X /*
X * Magicbane is a bit different! Its magic fanfare
X * unbalances victims in addition to doing some damage.
X***************
X*** 108,114 ****
X
X A("Trollsbane", MORNING_STAR,
X (SPFX_RESTR|SPFX_DCLAS), 0, S_TROLL,
X! PHYS(5,0), NO_DFNS, NO_CARY, 0, A_LAWFUL, 0 ),
X /*
X * Two problems: 1) doesn't let trolls regenerate heads,
X * 2) doesn't give unusual message for 2-headed monsters (but
X--- 110,116 ----
X
X A("Trollsbane", MORNING_STAR,
X (SPFX_RESTR|SPFX_DCLAS), 0, S_TROLL,
X! PHYS(5,0), NO_DFNS, NO_CARY, 0, A_CHAOTIC, 0 ),
X /*
X * Two problems: 1) doesn't let trolls regenerate heads,
X * 2) doesn't give unusual message for 2-headed monsters (but
X*** /tmp/da23291 Mon Jul 12 18:13:47 1993
X--- include/config.h Fri Jul 9 15:54:01 1993
X***************
X*** 42,55 ****
X # define MAC
X # undef UNIX /* Just in case */
X #endif
X- /* #define MAC /* We're on some mac-ish platform */
X
X! #ifdef MAC
X! # ifdef THINK_C
X! # define NEED_VARARGS
X! # endif
X #endif
X
X /*
X * Amiga setup.
X */
X--- 42,56 ----
X # define MAC
X # undef UNIX /* Just in case */
X #endif
X
X! #ifdef THINK_C
X! # define MAC
X! # define NEED_VARARGS
X! # undef UNIX /* Just in case */
X #endif
X
X+ /* #define MAC /* We're on some mac-ish platform */
X+
X /*
X * Amiga setup.
X */
X***************
X*** 265,271 ****
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--- 266,272 ----
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 ".gz" /* normal gzip extension */
X #endif
X #ifndef COMPRESS
X # define INTERNAL_COMP /* control use of NetHack's compression routines */
X*** /tmp/da23387 Mon Jul 12 18:14:10 1993
X--- include/extern.h Fri Jul 2 14:10:22 1993
X***************
X*** 1,4 ****
X! /* SCCS Id: @(#)extern.h 3.1 93/05/31 */
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/06/27 */
X /* Copyright (c) Steve Creps, 1988. */
X /* NetHack may be freely redistributed. See license for details. */
X
X***************
X*** 41,47 ****
X #endif
X E int NDECL(doapply);
X E int NDECL(holetime);
X! E void NDECL(dighole);
X E int NDECL(dorub);
X E int NDECL(dojump);
X #ifdef WALKIES
X--- 41,47 ----
X #endif
X E int NDECL(doapply);
X E int NDECL(holetime);
X! E boolean FDECL(dighole, (BOOLEAN_P));
X E int NDECL(dorub);
X E int NDECL(dojump);
X #ifdef WALKIES
X***************
X*** 58,63 ****
X--- 58,64 ----
X E boolean FDECL(snuff_lit, (struct obj *));
X E void NDECL(check_lamps);
X E void FDECL(use_unicorn_horn, (struct obj *));
X+ E boolean FDECL(tinnable, (struct obj *));
X
X /* ### artifact.c ### */
X
X***************
X*** 463,469 ****
X E void NDECL(sync_hunger);
X #endif
X E void FDECL(newuhs, (BOOLEAN_P));
X! E struct obj *FDECL(floorfood, (const char *,BOOLEAN_P));
X E void NDECL(vomit);
X E int FDECL(eaten_stat, (int,struct obj *));
X E void FDECL(food_disappears, (struct obj *));
X--- 464,470 ----
X E void NDECL(sync_hunger);
X #endif
X E void FDECL(newuhs, (BOOLEAN_P));
X! E struct obj *FDECL(floorfood, (const char *,int));
X E void NDECL(vomit);
X E int FDECL(eaten_stat, (int,struct obj *));
X E void FDECL(food_disappears, (struct obj *));
X***************
X*** 766,771 ****
X--- 767,773 ----
X
X /* ### makemon.c ### */
X
X+ E boolean FDECL(is_home_elemental, (struct permonst *));
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 monst *,struct permonst *));
X***************
X*** 1651,1656 ****
X--- 1653,1666 ----
X #ifdef MICRO
X E boolean FDECL(comp_times, (long));
X #endif
X+
X+ /* ### video.c ### */
X+
X+ #ifdef VIDEOSHADES
X+ E int FDECL(assign_videoshades, (uchar *,int));
X+ E int FDECL(assign_videocolors, (uchar *,int));
X+ #endif /* VIDEOSHADES */
X+
X
X /* ### vis_tab.c ### */
X
X*** /tmp/da23435 Mon Jul 12 18:14:22 1993
X--- include/macconf.h Tue Jul 6 15:20:06 1993
X***************
X*** 11,18 ****
X * This could probably be automagic later on - I believe there's
X * a unique symbol for MPW at least (it's "macintosh")
X */
X! # define MAC_MPW32 /* Headers, and for avoiding a bug */
X! /* # define MAC_THINKC5 /* Maybe supported now ... */
X
X # define RANDOM
X # define NO_SIGNAL /* You wouldn't believe our signals ... */
X--- 11,19 ----
X * This could probably be automagic later on - I believe there's
X * a unique symbol for MPW at least (it's "macintosh")
X */
X! # ifdef applec
X! # define MAC_MPW32 /* Headers, and for avoiding a bug */
X! # endif
X
X # define RANDOM
X # define NO_SIGNAL /* You wouldn't believe our signals ... */
X*** /tmp/da23563 Mon Jul 12 18:14:53 1993
X--- include/patchlevel.h Mon Jul 12 16:10:06 1993
X***************
X*** 2,19 ****
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X! /* NetHack 3.1.2 */
X #define VERSION_MAJOR 3
X #define VERSION_MINOR 1
X /*
X * PATCHLEVEL is updated for each release.
X */
X! #define PATCHLEVEL 2
X /*
X * Incrementing EDITLEVEL can be used to force invalidation of old bones
X * and save files.
X */
X #define EDITLEVEL 0
X
X /*
X * Patch 2, June 1, 1993
X--- 2,28 ----
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X! /* NetHack 3.1.3 */
X #define VERSION_MAJOR 3
X #define VERSION_MINOR 1
X /*
X * PATCHLEVEL is updated for each release.
X */
X! #define PATCHLEVEL 3
X /*
X * Incrementing EDITLEVEL can be used to force invalidation of old bones
X * and save files.
X */
X #define EDITLEVEL 0
X+
X+ /*
X+ * Patch 3, July 12, 1993
X+ * further revise Mac windowing and extend to Think C (courtesy
X+ * Barton House)
X+ * fix confusing black/gray/white display on some MSDOS hardware
X+ * remove fatal bugs dealing with horns of plenty and VMS bones levels,
X+ * as well as more minor ones
X+ */
X
X /*
X * Patch 2, June 1, 1993
X*** /tmp/da23571 Mon Jul 12 18:14:55 1993
X--- include/pcconf.h Fri Jul 9 15:33:21 1993
X***************
X*** 1,4 ****
X! /* SCCS Id: @(#)pcconf.h 3.1 93/04/04 */
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: @(#)pcconf.h 3.1 93/06/28 */
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X***************
X*** 18,25 ****
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--- 18,25 ----
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***************
X*** 28,46 ****
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 NO_TERMS /* Allows Nethack to run without ansi.sys by linking */
X /* screen routines into the .exe */
X
X! # ifdef NO_TERMS /* if NO_TERMS select screen package below */
X! # define SCREEN_BIOS /* Use bios calls for all screen control */
X! /* #define SCREEN_DJGPPFAST /* Use djgpp fast screen routines */
X # endif
X
X /*# define PC9801 /* Allows NetHack to run on NEC PC-9801 machines */
X--- 28,46 ----
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 NO_TERMS /* Allows Nethack to run without ansi.sys by linking */
X /* screen routines into the .exe */
X
X! # ifdef NO_TERMS /* if NO_TERMS select one screen package below */
X! #define SCREEN_BIOS /* Use bios calls for all screen control */
X! /* #define SCREEN_DJGPPFAST /* Use djgpp fast screen routines */
X # endif
X
X /*# define PC9801 /* Allows NetHack to run on NEC PC-9801 machines */
X***************
X*** 114,126 ****
X
X #ifdef MSDOS
X # define TEXTCOLOR /* */
X #endif
X
X #ifdef NO_TERMS /* Sanity check, do not modify this block */
X # undef TERMLIB
X # undef ANSI_DEFAULT
X # define ASCIIGRAPH
X! #endif
X
X #ifdef MSC7_WARN /* define with cl /DMSC7_WARN */
X #pragma warning(disable:4131)
X--- 114,152 ----
X
X #ifdef MSDOS
X # define TEXTCOLOR /* */
X+ # define PORT_HELP "msdos.hlp" /* msdos port specific help file */
X #endif
X
X #ifdef NO_TERMS /* Sanity check, do not modify this block */
X+ # ifdef TERMLIB
X+ # ifdef _MSC_VER
X+ # pragma message("Warning -- TERMLIB defined with NO_TERMS in pcconf.h")
X+ # pragma message(" Forcing undef of TERMLIB")
X+ # endif
X # undef TERMLIB
X+ # endif
X+ # ifdef ANSI_DEFAULT
X+ # ifdef _MSC_VER
X+ # pragma message("Warning -- ANSI_DEFAULT defined with NO_TERMS in pcconf.h")
X+ # pragma message(" Forcing undef of ANSI_DEFAULT")
X+ # endif
X # undef ANSI_DEFAULT
X+ # endif
X+ /* only one screen package is allowed */
X+ # if defined(SCREEN_BIOS) && defined(SCREEN_DJGPPFAST)
X+ # ifdef _MSC_VER
X+ # pragma message("Warning -- More than one screen package defined in pcconf.h")
X+ # pragma message(" Forcing undef of SCREEN_DJGPPFAST")
X+ # undef SCREEN_DJGPPFAST /* Can't use djgpp fast with MSC anyway */
X+ # else
X+ # undef SCREEN_BIOS
X+ # endif
X+ # endif
X # define ASCIIGRAPH
X! # ifdef TEXTCOLOR
X! # define VIDEOSHADES
X! # endif
X! #endif /* End of sanity check block */
X
X #ifdef MSC7_WARN /* define with cl /DMSC7_WARN */
X #pragma warning(disable:4131)
X*** /tmp/da23715 Mon Jul 12 18:15:29 1993
X--- include/vmsconf.h Thu Jul 1 14:55:09 1993
X***************
X*** 16,22 ****
X * extra room for patching longer values into an existing executable.
X */
X #define Local_WIZARD "NHWIZARD\0\0\0\0"
X! #define Local_HACKDIR "DISK$USERS:[GAMES.NETHACK.3-1-2.PLAY]\0\0\0\0\0\0\0\0"
X
X /*
X * This section cleans up the stuff done in config.h so that it
X--- 16,22 ----
X * extra room for patching longer values into an existing executable.
X */
X #define Local_WIZARD "NHWIZARD\0\0\0\0"
X! #define Local_HACKDIR "DISK$USERS:[GAMES.NETHACK.3-1-3.PLAY]\0\0\0\0\0\0\0\0"
X
X /*
X * This section cleans up the stuff done in config.h so that it
X*** /tmp/da23723 Mon Jul 12 18:15:32 1993
X--- include/winX.h Thu Jul 1 15:32:58 1993
X***************
X*** 74,81 ****
X XFontStruct *fs; /* Font for the window. */
X int num_lines; /* line count */
X struct line_element *head; /* head of circular line queue */
X struct line_element *last_pause;/* point to the line after the prev */
X! /* bottom of screen */
X struct line_element *last_pause_head;/* pointer to head of previous */
X /* turn */
X GC gc; /* GC for text drawing */
X--- 74,82 ----
X XFontStruct *fs; /* Font for the window. */
X int num_lines; /* line count */
X struct line_element *head; /* head of circular line queue */
X+ struct line_element *line_here;/* current drawn line position */
X struct line_element *last_pause;/* point to the line after the prev */
X! /* bottom of screen */
X struct line_element *last_pause_head;/* pointer to head of previous */
X /* turn */
X GC gc; /* GC for text drawing */
X*** /tmp/da23747 Mon Jul 12 18:15:38 1993
X--- include/wintty.h Tue Jul 6 15:20:10 1993
X***************
X*** 52,57 ****
X--- 52,60 ----
X #define MAXWIN 20 /* maximum number of windows, cop-out */
X
X /* tty dependent window types */
X+ #ifdef NHW_BASE
X+ #undef NHW_BASE
X+ #endif
X #define NHW_BASE 6
X
X extern struct window_procs tty_procs;
X***************
X*** 190,195 ****
X--- 193,202 ----
X
X #ifdef NO_TERMS
X # ifdef MAC
X+ # ifdef putchar
X+ # undef putchar
X+ # undef putc
X+ # endif
X # define putchar term_putc
X # define putc term_fputc
X # define fputc term_fputc
X*** /tmp/da23763 Mon Jul 12 18:15:42 1993
X--- include/you.h Mon Jul 12 16:10:25 1993
X***************
X*** 1,4 ****
X! /* SCCS Id: @(#)you.h 3.1 93/04/24 */
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: @(#)you.h 3.1 93/07/07 */
X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X /* NetHack may be freely redistributed. See license for details. */
X
X***************
X*** 51,57 ****
X #define INTRINSIC (FROMOUTSIDE|FROMEXPER)
X
X long p_flgs;
X- int NDECL((*p_tofn)); /* called after timeout */
X };
X
X struct u_have {
X--- 51,56 ----
X***************
X*** 207,214 ****
X--- 206,215 ----
X long ucleansed; /* to record moves when player was cleansed */
X int uinvault;
X struct monst *ustuck;
X+ int umortality; /* how many times you died */
X int ugrave_arise; /* you die and become something aside from a ghost */
X int nr_killed[NUMMONS]; /* used for experience bookkeeping */
X+ time_t ubirthday; /* real world time when game began */
X };
X
X #endif /* YOU_H */
X*** /tmp/da23779 Mon Jul 12 18:15:46 1993
X--- util/dgn_comp.l Thu Jul 1 14:42:43 1993
X***************
X*** 1,5 ****
X %{
X! /* SCCS Id: @(#)dgn_lex.c 3.1 92/10/23 */
X /* Copyright (c) 1989 by Jean-Christophe Collet */
X /* Copyright (c) 1990 by M. Stephenson */
X /* NetHack may be freely redistributed. See license for details. */
X--- 1,5 ----
X %{
X! /* SCCS Id: @(#)dgn_lex.c 3.1 93/06/17 */
X /* Copyright (c) 1989 by Jean-Christophe Collet */
X /* Copyright (c) 1990 by M. Stephenson */
X /* NetHack may be freely redistributed. See license for details. */
X***************
X*** 15,26 ****
X * Most of these don't exist in flex, yywrap is macro and
X * yyunput is properly declared in flex.skel.
X */
X! #ifndef FLEX_SCANNER
X! int FDECL (yyback, (int *, int));
X! int NDECL (yylook);
X! int NDECL (yyinput);
X! int NDECL (yywrap);
X! int NDECL (yylex);
X /* Traditional lexes let yyunput() and yyoutput() default to int;
X * newer ones may declare them as void since they don't return
X * values. For even more fun, the lex supplied as part of the
X--- 15,26 ----
X * Most of these don't exist in flex, yywrap is macro and
X * yyunput is properly declared in flex.skel.
X */
X! #if !defined(FLEX_SCANNER) && !defined(FLEXHACK_SCANNER)
X! int FDECL(yyback, (int *, int));
X! int NDECL(yylook);
X! int NDECL(yyinput);
X! int NDECL(yywrap);
X! int NDECL(yylex);
X /* Traditional lexes let yyunput() and yyoutput() default to int;
X * newer ones may declare them as void since they don't return
X * values. For even more fun, the lex supplied as part of the
X***************
X*** 44,59 ****
X # endif
X # endif
X # ifdef VOIDYYPUT
X! void FDECL (yyunput, (int));
X! void FDECL (yyoutput, (int));
X # else
X! int FDECL (yyunput, (int));
X! int FDECL (yyoutput, (int));
X # endif
X! #endif /* FLEX_SCANNER */
X
X! void FDECL (init_yyin, (FILE *));
X! void FDECL (init_yyout, (FILE *));
X
X #ifdef MICRO
X #undef exit
X--- 44,59 ----
X # endif
X # endif
X # ifdef VOIDYYPUT
X! void FDECL(yyunput, (int));
X! void FDECL(yyoutput, (int));
X # else
X! int FDECL(yyunput, (int));
X! int FDECL(yyoutput, (int));
X # endif
X! #endif /* !FLEX_SCANNER && !FLEXHACK_SCANNER */
X
X! void FDECL(init_yyin, (FILE *));
X! void FDECL(init_yyout, (FILE *));
X
X #ifdef MICRO
X #undef exit
X***************
X*** 71,77 ****
X * This is a hack required by Michael Hamel to get things
X * working on the Mac.
X */
X! #if defined(applec) && !defined(FLEX_SCANNER)
X #undef input
X #undef unput
X #define unput(c) { yytchar = (c); if (yytchar == 10) yylineno--; *yysptr++ = yytchar; }
X--- 71,77 ----
X * This is a hack required by Michael Hamel to get things
X * working on the Mac.
X */
X! #if defined(applec) && !defined(FLEX_SCANNER) && !defined(FLEXHACK_SCANNER)
X #undef input
X #undef unput
X #define unput(c) { yytchar = (c); if (yytchar == 10) yylineno--; *yysptr++ = yytchar; }
X***************
X*** 80,87 ****
X # endif
X
X char
X! input() { /* Under MPW \n is chr(13)! Compensate for this. */
X!
X if (yysptr > yysbuf) return(*--yysptr);
X else {
X yytchar = getc(yyin);
X--- 80,87 ----
X # endif
X
X char
X! input() /* Under MPW \n is chr(13)! Compensate for this. */
X! {
X if (yysptr > yysbuf) return(*--yysptr);
X else {
X yytchar = getc(yyin);
X***************
X*** 93,99 ****
X else return(yytchar);
X }
X }
X! #endif /* applec && !FLEX_SCANNER */
X
X %}
X %%
X--- 93,99 ----
X else return(yytchar);
X }
X }
X! #endif /* applec && !FLEX_SCANNER && !FLEXHACK_SCANNER */
X
X %}
X %%
X***************
X*** 140,146 ****
X void init_yyin( input_f )
X FILE *input_f;
X {
X! #ifdef FLEX_SCANNER
X if (yyin)
X yyrestart(input_f);
X else
X--- 140,146 ----
X void init_yyin( input_f )
X FILE *input_f;
X {
X! #if defined(FLEX_SCANNER) || defined(FLEXHACK_SCANNER)
X if (yyin)
X yyrestart(input_f);
X else
X*** /tmp/da23795 Mon Jul 12 18:15:50 1993
X--- util/dgn_main.c Tue Jul 6 15:33:07 1993
X***************
X*** 17,23 ****
X # endif
X #endif
X
X! #if defined(MICRO) && !defined(AMIGA)
X # define WRMODE "w+b"
X #else
X # define WRMODE "w+"
X--- 17,23 ----
X # endif
X #endif
X
X! #if (defined(MICRO) && !defined(AMIGA)) || defined(THINK_C)
X # define WRMODE "w+b"
X #else
X # define WRMODE "w+"
X***************
X*** 60,66 ****
X char infile[64], outfile[64];
X FILE *fin, *fout;
X int i, len;
X! #ifdef MAC_THINKC5
X static char *mac_argv[] = { "dgn_comp", /* dummy argv[0] */
X ":dat:dungeon.pdf"
X };
X--- 60,66 ----
X char infile[64], outfile[64];
X FILE *fin, *fout;
X int i, len;
X! #ifdef THINK_C
X static char *mac_argv[] = { "dgn_comp", /* dummy argv[0] */
X ":dat:dungeon.pdf"
X };
X*** /tmp/da23803 Mon Jul 12 18:15:52 1993
X--- util/lev_comp.l Thu Jul 1 14:42:51 1993
X***************
X*** 1,5 ****
X %{
X! /* SCCS Id: @(#)lev_lex.c 3.1 93/05/27 */
X /* Copyright (c) 1989 by Jean-Christophe Collet */
X /* NetHack may be freely redistributed. See license for details. */
X
X--- 1,5 ----
X %{
X! /* SCCS Id: @(#)lev_lex.c 3.1 93/06/17 */
X /* Copyright (c) 1989 by Jean-Christophe Collet */
X /* NetHack may be freely redistributed. See license for details. */
X
X***************
X*** 12,23 ****
X /* Most of these don't exist in flex, yywrap is macro and
X * yyunput is properly declared in flex.skel.
X */
X! #ifndef FLEX_SCANNER
X! int FDECL (yyback, (int *, int));
X! int NDECL (yylook);
X! int NDECL (yyinput);
X! int NDECL (yywrap);
X! int NDECL (yylex);
X /* Traditional lexes let yyunput() and yyoutput() default to int;
X * newer ones may declare them as void since they don't return
X * values. For even more fun, the lex supplied as part of the
X--- 12,23 ----
X /* Most of these don't exist in flex, yywrap is macro and
X * yyunput is properly declared in flex.skel.
X */
X! #if !defined(FLEX_SCANNER) && !defined(FLEXHACK_SCANNER)
X! int FDECL(yyback, (int *, int));
X! int NDECL(yylook);
X! int NDECL(yyinput);
X! int NDECL(yywrap);
X! int NDECL(yylex);
X /* Traditional lexes let yyunput() and yyoutput() default to int;
X * newer ones may declare them as void since they don't return
X * values. For even more fun, the lex supplied as part of the
X***************
X*** 41,56 ****
X # endif
X # endif
X # ifdef VOIDYYPUT
X! void FDECL (yyunput, (int));
X! void FDECL (yyoutput, (int));
X # else
X! int FDECL (yyunput, (int));
X! int FDECL (yyoutput, (int));
X # endif
X! #endif /* FLEX_SCANNER */
X
X! void FDECL (init_yyin, (FILE *));
X! void FDECL (init_yyout, (FILE *));
X
X #ifdef MICRO
X #undef exit
X--- 41,56 ----
X # endif
X # endif
X # ifdef VOIDYYPUT
X! void FDECL(yyunput, (int));
X! void FDECL(yyoutput, (int));
X # else
X! int FDECL(yyunput, (int));
X! int FDECL(yyoutput, (int));
X # endif
X! #endif /* !FLEX_SCANNER && !FLEXHACK_SCANNER */
X
X! void FDECL(init_yyin, (FILE *));
X! void FDECL(init_yyout, (FILE *));
X
X #ifdef MICRO
X #undef exit
X***************
X*** 79,85 ****
X * This is a hack required by Michael Hamel to get things
X * working on the Mac.
X */
X! #if defined(applec) && !defined(FLEX_SCANNER)
X #undef input
X #undef unput
X #define unput(c) { yytchar = (c); if (yytchar == 10) yylineno--; *yysptr++ = yytchar; }
X--- 79,85 ----
X * This is a hack required by Michael Hamel to get things
X * working on the Mac.
X */
X! #if defined(applec) && !defined(FLEX_SCANNER) && !defined(FLEXHACK_SCANNER)
X #undef input
X #undef unput
X #define unput(c) { yytchar = (c); if (yytchar == 10) yylineno--; *yysptr++ = yytchar; }
X***************
X*** 88,95 ****
X # endif
X
X char
X! input() { /* Under MPW \n is chr(13)! Compensate for this. */
X!
X if (yysptr > yysbuf) return(*--yysptr);
X else {
X yytchar = getc(yyin);
X--- 88,95 ----
X # endif
X
X char
X! input() /* Under MPW \n is chr(13)! Compensate for this. */
X! {
X if (yysptr > yysbuf) return(*--yysptr);
X else {
X yytchar = getc(yyin);
X***************
X*** 101,107 ****
X else return(yytchar);
X }
X }
X! #endif /* applec && !FLEX_SCANNER */
X
X %}
X %e 1500
X--- 101,107 ----
X else return(yytchar);
X }
X }
X! #endif /* applec && !FLEX_SCANNER && !FLEXHACK_SCANNER */
X
X %}
X %e 1500
X***************
X*** 121,127 ****
X extern int yy_more_len;
X
X yy_more_len = 0;
X! #endif
X BEGIN(INITIAL);
X yylval.map = (char *) alloc(yyleng-5);
X strncpy(yylval.map, yytext,yyleng-6);
X--- 121,127 ----
X extern int yy_more_len;
X
X yy_more_len = 0;
X! #endif /* FLEX23_BUG */
X BEGIN(INITIAL);
X yylval.map = (char *) alloc(yyleng-5);
X strncpy(yylval.map, yytext,yyleng-6);
X***************
X*** 247,253 ****
X void init_yyin( input_f )
X FILE *input_f;
X {
X! #ifdef FLEX_SCANNER
X if (yyin)
X yyrestart(input_f);
X else
X--- 247,253 ----
X void init_yyin( input_f )
X FILE *input_f;
X {
X! #if defined(FLEX_SCANNER) || defined(FLEXHACK_SCANNER)
X if (yyin)
X yyrestart(input_f);
X else
X*** /tmp/da23812 Mon Jul 12 18:15:54 1993
X--- util/lev_comp.y Tue Jul 6 15:45:41 1993
X***************
X*** 202,208 ****
X char lbuf[20];
X Strcpy(lbuf, $1);
X Strcat(lbuf, LEV_EXT);
X! #ifdef MAC_THINKC5
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY);
X #else
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY, OMASK);
X--- 202,208 ----
X char lbuf[20];
X Strcpy(lbuf, $1);
X Strcat(lbuf, LEV_EXT);
X! #ifdef THINK_C
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY);
X #else
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY, OMASK);
X***************
X*** 237,243 ****
X char lbuf[20];
X Strcpy(lbuf, $1);
X Strcat(lbuf, LEV_EXT);
X! #ifdef MAC_THINKC5
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY);
X #else
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY, OMASK);
X--- 237,243 ----
X char lbuf[20];
X Strcpy(lbuf, $1);
X Strcat(lbuf, LEV_EXT);
X! #ifdef THINK_C
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY);
X #else
X fout = open(lbuf, O_WRONLY|O_CREAT|O_BINARY, OMASK);
X*** /tmp/da23820 Mon Jul 12 18:15:57 1993
X--- util/lev_main.c Mon Jul 12 13:38:34 1993
X***************
X*** 1,4 ****
X! /* SCCS Id: @(#)lev_main.c 3.1 93/05/27 */
X /* Copyright (c) 1989 by Jean-Christophe Collet */
X /* NetHack may be freely redistributed. See license for details. */
X
X--- 1,4 ----
X! /* SCCS Id: @(#)lev_main.c 3.1 93/07/10 */
X /* Copyright (c) 1989 by Jean-Christophe Collet */
X /* NetHack may be freely redistributed. See license for details. */
X
X***************
X*** 81,88 ****
X
X static struct {
X const char *name;
X! short type;
X! } trap_types[TRAPNUM] = {
X { "arrow", ARROW_TRAP },
X { "dart", DART_TRAP },
X { "falling rock", ROCKTRAP },
X--- 81,88 ----
X
X static struct {
X const char *name;
X! int type;
X! } trap_types[] = {
X { "arrow", ARROW_TRAP },
X { "dart", DART_TRAP },
X { "falling rock", ROCKTRAP },
X***************
X*** 102,110 ****
X { "statue", STATUE_TRAP },
X { "magic", MAGIC_TRAP },
X { "anti magic", ANTI_MAGIC },
X! #ifdef POLYSELF
X! { "polymorph", POLY_TRAP },
X #endif
X { 0, 0 }
X };
X
X--- 102,111 ----
X { "statue", STATUE_TRAP },
X { "magic", MAGIC_TRAP },
X { "anti magic", ANTI_MAGIC },
X! #ifndef POLYSELF
X! #define POLY_TRAP NO_TRAP /* this will result in a random trap */
X #endif
X+ { "polymorph", POLY_TRAP },
X { 0, 0 }
X };
X
X***************
X*** 192,198 ****
X {
X FILE *fin;
X int i;
X! #ifdef MAC_THINKC5
X static char *mac_argv[] = { "lev_comp", /* dummy argv[0] */
X ":dat:Arch.des",
X ":dat:Barb.des",
X--- 193,199 ----
X {
X FILE *fin;
X int i;
X! #ifdef THINK_C
X static char *mac_argv[] = { "lev_comp", /* dummy argv[0] */
X ":dat:Arch.des",
X ":dat:Barb.des",
X***************
X*** 362,370 ****
X register int i;
X
X SpinCursor(3);
X! for(i=0; i < TRAPNUM - 1; i++)
X if(!strcmp(s,trap_types[i].name))
X! return((int)trap_types[i].type);
X return ERR;
X }
X
X--- 363,371 ----
X register int i;
X
X SpinCursor(3);
X! for (i=0; trap_types[i].name; i++)
X if(!strcmp(s,trap_types[i].name))
X! return trap_types[i].type;
X return ERR;
X }
X
X*** /tmp/da23829 Mon Jul 12 18:16:00 1993
X--- util/makedefs.c Tue Jul 6 15:33:15 1993
X***************
X*** 24,34 ****
X # ifdef applec /* Means the MPW compiler, I hope */
X # define MPWTOOL
X # include <CursorCtl.h>
X # else /* MAC without MPWTOOL */
X # define MACsansMPWTOOL
X # endif
X- #include <string.h>
X- #include <ctype.h>
X #endif /* MAC */
X
X #ifndef MPWTOOL
X--- 24,34 ----
X # ifdef applec /* Means the MPW compiler, I hope */
X # define MPWTOOL
X # include <CursorCtl.h>
X+ # include <string.h>
X+ # include <ctype.h>
X # else /* MAC without MPWTOOL */
X # define MACsansMPWTOOL
X # endif
X #endif /* MAC */
X
X #ifndef MPWTOOL
X***************
X*** 59,65 ****
X #define WRMODE "w+"
X #define RDMODE "r"
X /* the quest.dat file is binary, while everything else is text... */
X! #if defined(MICRO) && !defined(AMIGA)
X # define WRBMODE "w+b"
X #else
X # define WRBMODE "w+"
X--- 59,65 ----
X #define WRMODE "w+"
X #define RDMODE "r"
X /* the quest.dat file is binary, while everything else is text... */
X! #if (defined(MICRO) && !defined(AMIGA)) || defined(THINK_C)
X # define WRBMODE "w+b"
X #else
X # define WRBMODE "w+"
X*** /tmp/da22538 Mon Jul 12 17:58:31 1993
X--- sys/unix/Makefile.src Fri Jul 9 15:33:33 1993
X***************
X*** 121,126 ****
X--- 121,127 ----
X # Systos needs -lcurses16 if you use -mshort
X # AIX 3.1 on RS/6000 likes -lcurses if TERMINFO defined in config.h
X # and -ltermcap otherwise
X+ # Linux uses -ltermcap
X #
X # libraries for tty ports
X # WINTTYLIB = -ltermcap
X***************
X*** 145,150 ****
X--- 146,155 ----
X # DPX/2's also use the malloc(3x) routines. In addition, if you are building
X # for X11, you must include libinet.a.
X # LIBS = -lmalloc -linet
X+ #
X+ # Linux NetHack uses some bsd style ioctl functions, thus it is necessary to
X+ # use the bsd libs.
X+ # LIBS = -lbsd
X LIBS =
X
X # make NetHack
X*** /tmp/da22635 Mon Jul 12 17:58:59 1993
X--- sys/unix/unixunix.c Wed Jul 7 16:57:08 1993
X***************
X*** 260,265 ****
X--- 260,268 ----
X register char *s;
X {
X register char *lp;
X+ #if defined(SYSV) && !defined(AIX_31) && defined(COMPRESS)
X+ int i;
X+ #endif
X
X while((lp=index(s, '.')) || (lp=index(s, '/')) || (lp=index(s,' ')))
X *lp = '_';
X***************
X*** 266,275 ****
X #if defined(SYSV) && !defined(AIX_31)
X /* avoid problems with 14 character file name limit */
X # ifdef COMPRESS
X! if(strlen(s) > 10)
X! /* leave room for .e from error and .Z from compress
X! * appended to save files */
X! s[10] = '\0';
X # else
X if(strlen(s) > 11)
X /* leave room for .nn appended to level files */
X--- 269,283 ----
X #if defined(SYSV) && !defined(AIX_31)
X /* avoid problems with 14 character file name limit */
X # ifdef COMPRESS
X! /* leave room for .e from error and .Z from compress appended to
X! * save files */
X! # ifdef COMPRESS_EXTENSION
X! i = 12 - strlen(COMPRESS_EXTENSION);
X! # else
X! i = 10; /* should never happen... */
X! # endif
X! if(strlen(s) > i)
X! s[i] = '\0';
X # else
X if(strlen(s) > 11)
X /* leave room for .nn appended to level files */
X*** /tmp/da23059 Mon Jul 12 18:00:48 1993
X--- win/tty/wintty.c Wed Jul 7 17:11:30 1993
X***************
X*** 14,19 ****
X--- 14,22 ----
X
X #ifdef MAC
X # define MICRO /* The Mac is a MICRO only for this file, not in general! */
X+ # ifdef THINK_C
X+ extern void msmsg(const char *,...);
X+ # endif
X #endif
X
X #ifndef NO_TERMS
X***************
X*** 1361,1367 ****
X #endif /* ASCIIGRAPH && !NO_TERMS */
X
X return;
X! };
X
X #ifdef CLIPPING
X void
X--- 1364,1370 ----
X #endif /* ASCIIGRAPH && !NO_TERMS */
X
X return;
X! }
X
X #ifdef CLIPPING
X void
END_OF_FILE
if test 31010 -ne `wc -c <'patches03g'`; then
echo shar: \"'patches03g'\" unpacked with wrong size!
fi
# end of 'patches03g'
echo shar: End of archive 16 \(of 18\).
cp /dev/null ark16isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 18 archives.
echo "Now execute ./patchit3.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