[comp.sources.games] v10i101: nethack3p9 - display oriented dungeons & dragons

billr@saab.CNA.TEK.COM (Bill Randle) (07/14/90)

Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 10, Issue 101
Archive-name: nethack3p9/Part56
Supersedes: 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 56 (of 56)."
# Contents:  READ_1ST UPDATE1 UPDATE2 UPDATE3 UPDATE4 UPDATE7 UPDATE8
#   UPDATE9 amiga/amifont.uu
#   amiga/amitty.c auxil/nethack.sh include/MacAlert.h
#   include/attrib.h include/color.h include/coord.h include/edog.h
#   include/epri.h include/eshk.h include/gold.h include/lev.h
#   include/lev_comp.h include/mfndpos.h include/spell.h
#   include/termcap.h include/tosconf.h include/trap.h include/vault.h
#   include/wseg.h mac/MD.rsrc.hqx others/Makefile.lib others/pctty.c
#   src/track.c vms/lev_lex.h vms/spec_lev.com vms/vmsmisc.c
# Wrapped by billr@saab on Wed Jul 11 17:12:24 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'READ_1ST' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'READ_1ST'\"
else
echo shar: Extracting \"'READ_1ST'\" \(794 characters\)
sed "s/^X//" >'READ_1ST' <<'END_OF_FILE'
XThe files on this disk are all compressed tar files. This was the easiest way
Xfor me to do it. In each directory is a file that contains the files that
Xshould be in that directory. The easiest way to extract everything is:
X(from csh)
X	% zcat top_t.Z | tar xvf -
X	% foreach i (amiga auxil include mac others src vms)
X	? echo unpacking $i
X	? cd $i
X	? zcat * | tar xvf -
X	? cd ..
X	? end
X	% 
XIn case you don't have compress/uncompress, I've included a copy of it (uncompressed
Xof course) on this disk, too. To extract it, just type: "sh <compress.shr".
X
XThis is all assuming you've copied the files off of the floppy and onto the
XSparcStation. The files were copied onto the disk using the 'mtools' package,
Xso it should be in MS-DOS format.
X
X	-Bill Randle
X	Tektronix, Inc.
X	billr@saab.CNA.TEK.COM
END_OF_FILE
if test 794 -ne `wc -c <'READ_1ST'`; then
    echo shar: \"'READ_1ST'\" unpacked with wrong size!
fi
# end of 'READ_1ST'
fi
if test -f 'UPDATE1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE1'\"
else
echo shar: Extracting \"'UPDATE1'\" \(1418 characters\)
sed "s/^X//" >'UPDATE1' <<'END_OF_FILE'
X--------
XUPDATE 1
X--------
X
XAs things have mostly settled down to rediscoveries of fixed bugs, 
Xit is time to distribute the first batch of patches and ports.
X
XChanges made:
X
XEric Smith provided a port to the Atari using gcc; the older Lattice C 
Xvestiges moved to different preprocessor options and remain untested.
X
XRalf Brown adapted NetHack to the Andrew File System.
X
XThe fruit naming code was enclosed in a new option, TUTTI_FRUTTI, which 
Xallows another 3K of object code to be defined out.
X
XVarious tweaks, rewritings, and reshufflings to get the code to get along
Xwith various compilers and preprocessors, including Microport SysV/AT 2.4,
XGould UTX/32, HP-UX, and of course Turbo C.
X
XVarious suggested changes in behavior, none major.
X
XDistribution of termcap.uu, the uuencoded termcap.arc for PCs that was
Xpreviously distributed with NetHack 2.2 and 2.3.
X
XExplicit instructions to short-circuit common installation mistakes.
X
X
XBug fixes:
X
XVarious segmentation faults no longer exist, including the popular dropping
Xitems in shops.
X
XVortices can no longer disappear through solid walls when they disgorge you
Xover a moat.
X
XYou now get credit for food when engulfing monsters.
X
XA few more spelling errors that fell through the cracks.
X
X
XSuggestion for overflowing compiler tables:  follow the SysV-AT trail in the
Xsrc Makefile with -DDUMB and DUMB.Setup.  It appears that many SVR2 3Bs will
Xneed to do this.
X
X
END_OF_FILE
if test 1418 -ne `wc -c <'UPDATE1'`; then
    echo shar: \"'UPDATE1'\" unpacked with wrong size!
fi
# end of 'UPDATE1'
fi
if test -f 'UPDATE2' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE2'\"
else
echo shar: Extracting \"'UPDATE2'\" \(2880 characters\)
sed "s/^X//" >'UPDATE2' <<'END_OF_FILE'
X-------
XUPDATE2
X-------
X
XThis patch kit upgrades NetHack to version 3.0f.  The kit should
Xbe applied to the original release, patched with patchlevel 1.
X
XMany of the diffs included here are bugfixes to bugs reported to 
Xus by players.  We are very grateful for these reports.
X  
XThere were questions about our netnews usage.  We use the good
Xoffices of comp.sources.games because, unlike rec.games.hack, it 
Xis archived.  It is the only way to secure the availability of 
Xthe source code and the official patches for future users.  For 
Xthis reason, comp.sources.games will remain the only place where 
Xthe official NetHack patches are posted.
X
XOccasionally we may see a need to post a semi-official stopgap patch 
Xsuch as the one for the 'killer' bug posted just after Patch 1 in
Xrec.games.hack and in comp.sources.games.bugs.  These stopgap patches
Xwill always be included in the next official patch kit.  The 'killer'
Xbugfix is, indeed, included here.
X
XThe above two newsgroups often contain many bug reports and unofficial
Xfixes.  We read these groups, and thus we get the reports.  But it
Xwill be helpful if you mailed nethack-bugs a copy of your posting.
XIf your site gets these newsgroups, you may want to check them for 
Xmentions of bugs before reporting the same bug to nethack-bugs (or
Xto the same newsgroups, for that matter -- unless you have additional 
Xinformation).
X
X
X
XNow, on to the main changes.
X
XObjects were rearranged slightly, so the cautious may want to throw 
Xout saved games and bones files.
X
XTimo Hakulinen provided an OS/2 port.
X
XVarious people convinced various OS versions to be better about 
Xsensing the available screen size at start-up.
X
XThe game tries now to be smarter about guessing defaults for players 
Xwho don't set environment variables of interest to NetHack.
X
XEric Raymond extended the PC color code slightly to allow its use by 
XSVR3.2 machines with color information from terminfo, and also allowed 
Xmany extended commands to be available via a meta key under SYSV.
X
XPaul Gyugyi provided a better makefile for MicroSoft C.
X
XThe MSDOS terminal problems, including always needing TERMLIB, are
X(hopefully) fixed.
X
XThe '/' command now allows multiple identifications, and more things 
Xmay be usefully identified.
X
XMore code was shuffled and rewritten to satisfy compiler and preprocessor
Xconstraints.
X
XStarving dogs again eat people food.
X
XCredit cards can no longer lock things.
X
XDoors have been toned down slightly, but are in no danger of being removed.
X
XThe gods' ranking of player troubles was revised.
X
XWizards can no longer start with certain useless items.
X
XVarious code, including game ending, seduction, and monster attack, is
Xconsiderably cleaner.
X
XAbove all: scores of bugs were fixed.
X
X
XPlease continue testing the game and reporting to nethack-bugs.  Your
Xresponse has been wonderful, and it has made this effort worth while.
X
X
END_OF_FILE
if test 2880 -ne `wc -c <'UPDATE2'`; then
    echo shar: \"'UPDATE2'\" unpacked with wrong size!
fi
# end of 'UPDATE2'
fi
if test -f 'UPDATE3' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE3'\"
else
echo shar: Extracting \"'UPDATE3'\" \(1256 characters\)
sed "s/^X//" >'UPDATE3' <<'END_OF_FILE'
X--------
XUPDATE 3
X--------
X
XThe main changes included in patch kit 3 are as follows:
X
XA few new objects were added to objects.c, so old save/bones files 
Xshould be thrown out.
X
XPrototypes were adapted to satisfy ANSI C.  Hopefully, we will not see
Xanymore postings which helpfully fix prototypes for ANSI, while breaking
Xthem for the MSDOS compilers they were, originally, set up for.
X
XUse of $(MAKE), and a better use of $PAGER, in scripts.
X
XImprovements to OS/2 and TOS code, including their Makefiles.
X
XGraphics setting was centralized.
X
XAlignment was added to artifacts, and their suitability was improved.
X
XDiscover mode games no longer use up bones files.
X
XSome excess 'register's that were giving Xenix trouble were removed.
X
XWe settled an (amusing) argument over "rights" to available bits which
Xwas responsible (unintentionally) for ring-wielding bestowing
Xlong-lasting intrinsic attributes.  
X
XIn addition, many bugs were fixed.  Among those were the problems
Xwith polymorphing creatures that swallowed you, finishing with
Xcontainers, having chains eaten, external pagers, statue weights, wishing
Xloopholes, parsing endgame options, and monsters growing up.
X
XIn other words, this is a nuts and bolts patch, nothing dramatic but
Xlots of cleanup.
X
END_OF_FILE
if test 1256 -ne `wc -c <'UPDATE3'`; then
    echo shar: \"'UPDATE3'\" unpacked with wrong size!
fi
# end of 'UPDATE3'
fi
if test -f 'UPDATE4' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE4'\"
else
echo shar: Extracting \"'UPDATE4'\" \(1539 characters\)
sed "s/^X//" >'UPDATE4' <<'END_OF_FILE'
X-------
XUPDATE4
X-------
X
XNOTICE:  The changes which were made in the code make all save and bones 
Xfiles absolete.  Once Patch 4 is applied, all the old save and bones files
Xmust be thrown out.
X
X
XHere is a list of the main changes:
X
XObject and monster types got a new field specifying their color, so things 
Xcan now appear in "living color" instead having one color for all monsters,
Xone for all weapons, and so on.
X
XReferences to monsters and objects on the floor were moved to new structures,
Xwhich support the better color handling as well as provide yet faster access.
X
XDavid Gentzel provided a port for VMS.  Although extensively tested by
XDavid and others, and found to be sound, it probably needs further
Xrefinements.  We are appealing to those of you who know VMS (none of us
Xdoes..) to join David in his efforts to refine the VMS code.
X
XMuch of the *main.c code was moved to a new file, to avoid having to update
Xthat common code in three different *main.c files.
X
XVARARG handling was ifdef'd to satisfy ANSI compilers.
X
XAlmost all grey creatures now join the other gray creatures.
X
XMonsters will no longer be created in the same room as the player, and should
Xno longer want to end up in the SE corner of the dungeon.
X
XLycanthropy is now considered a "major problem" (allowing for appeal to the
Xgods through prayer), some artifacts are associated with particular character
Xclasses, various oddities involving statues, digging, iron balls, and 
Xthrowing have been removed, and many other bugs, both major and minor, were
Xfixed.
X
END_OF_FILE
if test 1539 -ne `wc -c <'UPDATE4'`; then
    echo shar: \"'UPDATE4'\" unpacked with wrong size!
fi
# end of 'UPDATE4'
fi
if test -f 'UPDATE7' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE7'\"
else
echo shar: Extracting \"'UPDATE7'\" \(1624 characters\)
sed "s/^X//" >'UPDATE7' <<'END_OF_FILE'
X--------
XUPDATE 7
X--------
X
XSorry this one took so long.  We think just about every computer and network
Xwe depend on has broken sometime in last few weeks.
X
XWork on the PC overlay mechanism continues, with Kevin Smolkowski joining
XPierre Martineau, Stephen Spackman, and Norm Meluch.  Breaking each .c file
Xinto separately-swapped pieces should help performance considerably.  More
Xchanges to the overlay manager are brewing, and will be distributed in the
Xunfortunately required Patch 8.
X
XThe Amiga port was brought up to date and extended by Richard Addison,
XJochen Erwied, Mark Gooderum, Ken Lorber, Greg Olson, Mike Passaretti, and
XGregg Wonderly.
X
XThe Macintosh port was futher extended by Kevin Sitze, Andy Swanson, Jon
XWatte, and Tom West, working with Johnny Lee.
X
XSupport for recent versions of HP-UX was added by Steve Creps.
X
XWe believe all major various platforms and compilers are working properly now.
X
X
XIn other news, '/' now distinguishes among monsters of a given class, named
Xobjects (including artifacts) are handled better, an extended version command
Xgives compilation options, monster colors should show up better, more
Xoccupations are being stopped appropriately, unconscious and non-animal
Xmonsters are handled better, and the eating behavior and ending messages have
Xbeen overhauled again.
X
XVarious display nuisances have been fixed and the "worm segment", "nymph
Xfreeinv", and combined nymph/succubus/polymorphing bugs are gone, along with
Xa large number of less notorious problems.  A few more fun loopholes no longer
Xexist.
X
XIn all, we think this is the stablest and most balanced version yet.
X
END_OF_FILE
if test 1624 -ne `wc -c <'UPDATE7'`; then
    echo shar: \"'UPDATE7'\" unpacked with wrong size!
fi
# end of 'UPDATE7'
fi
if test -f 'UPDATE8' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE8'\"
else
echo shar: Extracting \"'UPDATE8'\" \(1510 characters\)
sed "s/^X//" >'UPDATE8' <<'END_OF_FILE'
X--------
XUPDATE 8
X--------
X
XThis patch is devoted to bugfixes and accommodations for more versions of
Xthe newer ports.
X
XThe VMS port should now compile with both VAXC and GNUC and install more
Xeasily under a variety of OS versions, thanks to Joshua Delahunty and Pat
XRankin.
X
XA number of strange interactions in the Macintosh-specific code have been
Xcleaned up.
X
XThe MSDOS overlay manager was debugged, and the overlay assignments and macro
Xnames straightened out, so the result should be both faster and more stable
Xthan previous versions.  See the new file Install.ovl and various files in
Xthe others directory for more information.
X
XThe Amiga port now specifies addressing modes for many external variables,
Xwhich should make its executable smaller and faster as well.
X
X
XThe biggest externally visible change separates DECgraphics and IBMgraphics
Xfrom the general graphics-setting code, and makes them selectable on the
Xcommand line.
X
XOnce again, existing saved games and bones files should be discarded (or the
Xupdate postponed until they are gone).
X
XA number of reasonably simple bugs are no more, although some screen update
Xoddities are postponed to 3.1.  Among the dead are problems with shops on
Xbones levels, renaming artifacts, kicking non-objects, winning gem treatment,
Xlevel bounds checking and monster filling, mimic appearances, taking items
Xout of containers, monster interiors and inventories, and guard behavior.
XVarious other things were changed to be consistent with similar situations.
X
X
END_OF_FILE
if test 1510 -ne `wc -c <'UPDATE8'`; then
    echo shar: \"'UPDATE8'\" unpacked with wrong size!
fi
# end of 'UPDATE8'
fi
if test -f 'UPDATE9' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'UPDATE9'\"
else
echo shar: Extracting \"'UPDATE9'\" \(508 characters\)
sed "s/^X//" >'UPDATE9' <<'END_OF_FILE'
X--------
XUPDATE 9
X--------
X
XPatchlevel 9 is in fact an amendment patch to Patchlevel 8.  It
Xcontains fixes to some deadly bugs discovered thus far in the Pl8
Xcode.  
X
XAmong the bugs fixed are a 0 dereference bug in the Amiga code, a
Xbug in the tins code, a bug in the inventory weight code, a level
Xfiles bug in the Mac code, an ST display bug, a bug in the maze's
Xbones level, a bug with chest traps, a bug in the restoring code, a
Xvault guard bug, a PC collapsing dungeon bug, and other more minor
Xbugs. 
X
END_OF_FILE
if test 508 -ne `wc -c <'UPDATE9'`; then
    echo shar: \"'UPDATE9'\" unpacked with wrong size!
fi
# end of 'UPDATE9'
fi
if test -f 'amiga/amifont.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'amiga/amifont.uu'\"
else
echo shar: Extracting \"'amiga/amifont.uu'\" \(407 characters\)
sed "s/^X//" >'amiga/amifont.uu' <<'END_OF_FILE'
X
Xbegin 644 hack.font
XM#P```4YE=$AA8VLZ:&%C:R\X````````````````````````````````````F
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XG````````````````````````````````````````````````"`!`(
X``
Xend
Xsize 264
END_OF_FILE
if test 407 -ne `wc -c <'amiga/amifont.uu'`; then
    echo shar: \"'amiga/amifont.uu'\" unpacked with wrong size!
fi
# end of 'amiga/amifont.uu'
fi
if test -f 'amiga/amitty.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'amiga/amitty.c'\"
else
echo shar: Extracting \"'amiga/amitty.c'\" \(1142 characters\)
sed "s/^X//" >'amiga/amitty.c' <<'END_OF_FILE'
X/*    SCCS Id: @(#)amitty.c     3.0    89/04/26
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X/* tty.c - (Amiga) version */
X
X
X#define NEED_VARARGS
X#include "hack.h"
X
Xextern int Enable_Abort;
X
Xchar erase_char, kill_char;
X
X/*
X * Get initial state of terminal, set ospeed (for termcap routines)
X * and switch off tab expansion if necessary.
X * Called by startup() in termcap.c and after returning from ! or ^Z
X */
Xvoid gettty()
X{
X    erase_char = 127;	    /* DEL */
X    kill_char = 21;	    /* cntl-U */
X    flags.cbreak = TRUE;
X    Enable_Abort = 0;
X    curx = 1;
X    cury = 1;
X}
X
X/* reset terminal to original state */
Xvoid settty(s)
Xchar *s;
X{
X    end_screen();
X    if (s) {
X	printf(s);
X    }
X    (void) fflush(stdout);
X    /* Do not close the screen, that is done in msexit() */
X}
X
X
X/* fatal error */
X/*VARARGS1*/
Xvoid error VA_DECL(char *, s)
X	VA_START(s);
X	VA_INIT(s, char *);
X	end_screen();
X	putchar('\n');
X
X        {char buf[180];
X	vsprintf(buf,s,VA_ARGS);
X        printf(buf);
X        }	/* Overloaded */
X	putchar('\n');
X	VA_END();
X	Abort(0L);
X}
END_OF_FILE
if test 1142 -ne `wc -c <'amiga/amitty.c'`; then
    echo shar: \"'amiga/amitty.c'\" unpacked with wrong size!
fi
# end of 'amiga/amitty.c'
fi
if test -f 'auxil/nethack.sh' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'auxil/nethack.sh'\"
else
echo shar: Extracting \"'auxil/nethack.sh'\" \(1111 characters\)
sed "s/^X//" >'auxil/nethack.sh' <<'END_OF_FILE'
X#!/bin/sh
X#	SCCS Id: @(#)nethack.sh	3.0	89/08/11
X
XHACKDIR=/usr/games/lib/nethackdir
XHACK=$HACKDIR/nethack
XMAXNROFPLAYERS=4
X
X# see if we can find the full path name of PAGER, so help files work properly
X# assume that if someone sets up a special variable (HACKPAGER) for NetHack,
X# it will already be in a form acceptable to NetHack
X# ideas from brian@radio.astro.utoronto.ca
Xif test \( "xxx$PAGER" != xxx \) -a \( "xxx$HACKPAGER" = xxx \)
Xthen
X
X	HACKPAGER=$PAGER
X
X#	use only the first word of the pager variable
X#	this prevents problems when looking for file names with trailing
X#	options, but also makes the options unavailable for later use from
X#	NetHack
X	for i in $HACKPAGER
X	do
X		HACKPAGER=$i
X		break
X	done
X
X	if test ! -f $HACKPAGER
X	then
X		IFS=:
X		for i in $PATH
X		do
X			if test -f $i/$HACKPAGER
X			then
X				HACKPAGER=$i/$HACKPAGER
X				export HACKPAGER
X				break
X			fi
X		done
X		IFS=' 	'
X	fi
X	if test ! -f $HACKPAGER
X	then
X		echo Cannot find $PAGER -- unsetting PAGER.
X		unset HACKPAGER
X		unset PAGER
X	fi
Xfi
X
X
Xcd $HACKDIR
Xcase $1 in
X	-s*)
X		exec $HACK $@
X		;;
X	*)
X		exec $HACK $@ $MAXNROFPLAYERS
X		;;
Xesac
END_OF_FILE
if test 1111 -ne `wc -c <'auxil/nethack.sh'`; then
    echo shar: \"'auxil/nethack.sh'\" unpacked with wrong size!
fi
# end of 'auxil/nethack.sh'
fi
if test -f 'include/MacAlert.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/MacAlert.h'\"
else
echo shar: Extracting \"'include/MacAlert.h'\" \(1376 characters\)
sed "s/^X//" >'include/MacAlert.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)MacAlert.h		3.0	90/01/06
X/*      Copyright (c) Jon Watte  1989		*/ 
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef MACALERT_H
X#define MACALERT_H
X
X#define MAtype 'MAlt'
X
X
Xtypedef struct Malrt {
X	int width;
X	int height;
X	int PICTno;
X	char text[256];
X	char but1[32];
X	char but2[32];
X	char but3[32];
X	char but4[32];
X	int def;
X	int esc;
X} MAlrt, * MAlrtPtr, ** MAlrtHandle;
X
X
Xextern int UseMacAlert(int MAno);
Xextern int UseMacAlertText(int MAno, char * txt);
Xextern int MacAlert(int width, int height, int PICTno, char * text,
X	char * but1, char * but2, char * but3, char * but4, int def, int esc);
Xextern int TrackThem(Rect * b_rect, char * hi_lite, int no_butts);
Xextern int mac_more(FILE * fp, int strip);
X
X/* Minimum values to which given values will be justified if lower */
X
X#define MIN_WIDTH 170
X#define MIN_HEIGHT 100
X
X/* Good values for a "normal" alert */
X
X#define WIDTH 250
X#define HEIGHT 200
X
X/* Constants to tweak how to draw the buttons */
X
X#define BUT_HEIGHT 20
X#define BUT_WIDTH 50
X#define BUT_SPACING 10
X#define BUT_MARGIN 5
X#define BUT_CORNER 10
X
X/* Frame around the default button */
X
X#define FRAME_WIDTH 3
X#define FRAME_OFFSET 1
X#define FRAME_CORNER 16
X
X/* How to draw the border */
X
X#define BORDER_PAT 5
X#define BORDER_WIDTH 3
X
X/* How long to mark the pressed ? */
X
X#define FLASH_TIME 10 /* In ticks */
X
X
X#endif
END_OF_FILE
if test 1376 -ne `wc -c <'include/MacAlert.h'`; then
    echo shar: \"'include/MacAlert.h'\" unpacked with wrong size!
fi
# end of 'include/MacAlert.h'
fi
if test -f 'include/attrib.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/attrib.h'\"
else
echo shar: Extracting \"'include/attrib.h'\" \(786 characters\)
sed "s/^X//" >'include/attrib.h' <<'END_OF_FILE'
X/*
X *	attrib.h - Header file for character class processing.
X *
X *	Copyright 1988, M. Stephenson
X */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef ATTRIB_H
X#define ATTRIB_H
X
X#define	A_STR	0
X#define	A_INT	1
X#define	A_WIS	2
X#define	A_DEX	3
X#define	A_CON	4
X#define	A_CHA	5
X
X#define A_MAX	6	/* used in rn2() selection of attrib */
X
X#define	ABASE(x)	(u.acurr.a[x])
X#define ABON(x)		(u.abon.a[x])
X#define ACURR(x)	(schar) acurr(x)
X/* should be: */
X/* #define	ACURR(x)	(ABON(x) + ATEMP(x) + (u.umonnum == -1) ? ABASE(x) : MBASE(x)) */
X#define	MCURR(x)	(u.macurr.a[x])
X#define	AMAX(x)		(u.amax.a[x])
X#define	MMAX(x)		(u.mamax.a[x])
X
X#define	ATEMP(x)	(u.atemp.a[x])
X#define	ATIME(x)	(u.atime.a[x])
X
Xstruct	attribs {
X
X	schar	a[A_MAX];
X};
X
X#endif /* ATTRIB_H /* */
END_OF_FILE
if test 786 -ne `wc -c <'include/attrib.h'`; then
    echo shar: \"'include/attrib.h'\" unpacked with wrong size!
fi
# end of 'include/attrib.h'
fi
if test -f 'include/color.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/color.h'\"
else
echo shar: Extracting \"'include/color.h'\" \(897 characters\)
sed "s/^X//" >'include/color.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)color.h	3.0	89/09/30
X/* Copyright (c) Steve Linhart, Eric Raymond, 1989. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef COLOR_H
X#define COLOR_H
X
X#define BLACK		0
X#define RED		1
X#define GREEN		2
X#define BROWN		3	/* on IBM, lo-intensity yellow is brown */
X#define BLUE		4
X#define MAGENTA 	5
X#define CYAN		6
X#define GRAY		7	/* lo-intensity white */
X#define BRIGHT		8
X#define ORANGE_COLORED	9
X#define YELLOW		11
X#define WHITE		15
X#define MAXCOLORS	16	/* 8 basic + 8 bright */
X
X/* these can be configured */
X#define HI_OBJ		MAGENTA
X#define HI_METAL	CYAN
X#define HI_COPPER	YELLOW
X#define HI_SILVER	GRAY
X#define HI_GOLD 	YELLOW
X#define HI_LEATHER	BROWN
X#define HI_CLOTH	BROWN
X#define HI_ORGANIC	GREEN
X#define HI_WOOD 	BROWN
X#define HI_PAPER	WHITE
X#define HI_GLASS	CYAN + BRIGHT
X#define HI_MINERAL	GRAY
X#define HI_ZAP		BLUE + BRIGHT
X
X#endif /* COLOR_H */
END_OF_FILE
if test 897 -ne `wc -c <'include/color.h'`; then
    echo shar: \"'include/color.h'\" unpacked with wrong size!
fi
# end of 'include/color.h'
fi
if test -f 'include/coord.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/coord.h'\"
else
echo shar: Extracting \"'include/coord.h'\" \(272 characters\)
sed "s/^X//" >'include/coord.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)coord.h	3.0	88/04/25
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef COORD_H
X#define COORD_H
X
Xtypedef struct {
X	xchar x,y;
X} coord;
X
X#endif /* COORD_H /* */
END_OF_FILE
if test 272 -ne `wc -c <'include/coord.h'`; then
    echo shar: \"'include/coord.h'\" unpacked with wrong size!
fi
# end of 'include/coord.h'
fi
if test -f 'include/edog.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/edog.h'\"
else
echo shar: Extracting \"'include/edog.h'\" \(745 characters\)
sed "s/^X//" >'include/edog.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)edog.h	3.0	88/10/08
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef EDOG_H
X#define EDOG_H
X
X/*	various types of food, the lower, the better liked.	*/
X
X#define	DOGFOOD	0
X#define	CADAVER	1
X#define	ACCFOOD	2
X#define	MANFOOD	3
X#define	APPORT	4
X#define	POISON	5
X#define	UNDEF	6
X#define	TABU	7
X
Xstruct edog {
X	long droptime;			/* moment dog dropped object */
X	unsigned dropdist;		/* dist of drpped obj from @ */
X	unsigned apport;		/* amount of training */
X	long whistletime;		/* last time he whistled */
X	long hungrytime;		/* will get hungry at this time */
X};
X#define	EDOG(mp)	((struct edog *)(&(mp->mextra[0])))
X
X#endif /* EDOG_H /**/
END_OF_FILE
if test 745 -ne `wc -c <'include/edog.h'`; then
    echo shar: \"'include/edog.h'\" unpacked with wrong size!
fi
# end of 'include/edog.h'
fi
if test -f 'include/epri.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/epri.h'\"
else
echo shar: Extracting \"'include/epri.h'\" \(537 characters\)
sed "s/^X//" >'include/epri.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)epri.h	3.0	88/04/25
X/* 	Copyright (c) 	Izchak Miller, 1989. 		*/
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef EPRI_H
X#define EPRI_H
X
X#if defined(ALTARS) && defined(THEOLOGY)
Xstruct epri {
X	schar shroom;		/* index in rooms */
X	schar shralign;		/* alignment of priest's shrine */
X	coord shrpos;		/* position of shrine */
X	int shrlevel;		/* level of shrine */
X	boolean ismale;
X	char deitynam[PL_NSIZ];
X};
X
X#define	EPRI(mon)	((struct epri *)(&(mon->mextra[0])))
X#endif
X
X#endif /* EPRI_H /**/
END_OF_FILE
if test 537 -ne `wc -c <'include/epri.h'`; then
    echo shar: \"'include/epri.h'\" unpacked with wrong size!
fi
# end of 'include/epri.h'
fi
if test -f 'include/eshk.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/eshk.h'\"
else
echo shar: Extracting \"'include/eshk.h'\" \(1051 characters\)
sed "s/^X//" >'include/eshk.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)eshk.h	3.0	88/04/25
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef ESHK_H
X#define ESHK_H
X
X#define	BILLSZ	200
X
Xstruct bill_x {
X	unsigned bo_id;
X	unsigned price;		/* price per unit */
X	Bitfield(useup,1);
X	Bitfield(bquan,7);
X};
X
Xstruct eshk {
X	long int robbed;	/* amount stolen by most recent customer */
X	long int credit;	/* amount credited to customer */
X	long int debit;		/* amount of debt for using unpaid items */
X	boolean following;	/* following customer since he owes us sth */
X	schar shoproom;		/* index in rooms; set by inshop() */
X	coord shk;		/* usual position shopkeeper */
X	coord shd;		/* position shop door */
X	int shoplevel;		/* level of his shop */
X	int billct;
X	struct bill_x bill[BILLSZ];
X	int visitct;		/* nr of visits by most recent customer */
X	char customer[PL_NSIZ];	/* most recent customer */
X	boolean ismale;
X	char shknam[PL_NSIZ];
X};
X
X#define	ESHK(mon)	((struct eshk *)(&(mon->mextra[0])))
X#endif /* ESHK_H /**/
END_OF_FILE
if test 1051 -ne `wc -c <'include/eshk.h'`; then
    echo shar: \"'include/eshk.h'\" unpacked with wrong size!
fi
# end of 'include/eshk.h'
fi
if test -f 'include/gold.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/gold.h'\"
else
echo shar: Extracting \"'include/gold.h'\" \(384 characters\)
sed "s/^X//" >'include/gold.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)gold.h	3.0	88/08/08
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef GOLD_H
X#define GOLD_H
X
Xstruct gold {
X	struct gold *ngold;
X	xchar gx,gy;
X	long amount;
X};
X
Xextern struct gold *fgold;
X#define newgold()	(struct gold *) alloc(sizeof(struct gold))
X
X#endif /* GOLD_H /**/
END_OF_FILE
if test 384 -ne `wc -c <'include/gold.h'`; then
    echo shar: \"'include/gold.h'\" unpacked with wrong size!
fi
# end of 'include/gold.h'
fi
if test -f 'include/lev.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/lev.h'\"
else
echo shar: Extracting \"'include/lev.h'\" \(430 characters\)
sed "s/^X//" >'include/lev.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)lev.h	3.0	88/08/05
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X/*	Common include file for save.c and restore.c */
X
X#ifndef LEV_H
X#define LEV_H
X
X#ifndef OLD_TOS
X# ifdef MACOS
X#define OMASK	0x8000	/* O_BINARY */
X# else
X#define OMASK	0
X# endif
X#else
X#define msmsg	cprintf
X#define OMASK	0x8000
X#endif
X
X#endif /* LEV_H /**/
END_OF_FILE
if test 430 -ne `wc -c <'include/lev.h'`; then
    echo shar: \"'include/lev.h'\" unpacked with wrong size!
fi
# end of 'include/lev.h'
fi
if test -f 'include/lev_comp.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/lev_comp.h'\"
else
echo shar: Extracting \"'include/lev_comp.h'\" \(906 characters\)
sed "s/^X//" >'include/lev_comp.h' <<'END_OF_FILE'
X
Xtypedef union 
X{
X	int	i;
X	char*	map;
X} YYSTYPE;
Xextern YYSTYPE yylval;
X# define CHAR 257
X# define INTEGER 258
X# define MAZE_ID 259
X# define LEVEL_ID 260
X# define GEOMETRY_ID 261
X# define OBJECT_ID 262
X# define MONSTER_ID 263
X# define TRAP_ID 264
X# define DOOR_ID 265
X# define DRAWBRIDGE_ID 266
X# define MAZEWALK_ID 267
X# define REGION_ID 268
X# define RANDOM_OBJECTS_ID 269
X# define RANDOM_MONSTERS_ID 270
X# define RANDOM_PLACES_ID 271
X# define ALTAR_ID 272
X# define LADDER_ID 273
X# define NON_DIGGABLE_ID 274
X# define ROOM_ID 275
X# define DOOR_STATE 276
X# define LIGHT_STATE 277
X# define DIRECTION 278
X# define RANDOM_TYPE 279
X# define O_REGISTER 280
X# define M_REGISTER 281
X# define P_REGISTER 282
X# define A_REGISTER 283
X# define ALIGNMENT 284
X# define LEFT_OR_RIGHT 285
X# define CENTER 286
X# define TOP_OR_BOT 287
X# define ALTAR_TYPE 288
X# define UP_OR_DOWN 289
X# define STRING 290
X# define MAP_ID 291
END_OF_FILE
if test 906 -ne `wc -c <'include/lev_comp.h'`; then
    echo shar: \"'include/lev_comp.h'\" unpacked with wrong size!
fi
# end of 'include/lev_comp.h'
fi
if test -f 'include/mfndpos.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/mfndpos.h'\"
else
echo shar: Extracting \"'include/mfndpos.h'\" \(1105 characters\)
sed "s/^X//" >'include/mfndpos.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)mfndpos.h	3.0	89/11/22
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X/* mfndpos.h - version 1.0.2 */
X 
X#ifndef MFNDPOS_H
X#define MFNDPOS_H
X
X#define ALLOW_TRAPS	0x0002FFFFL	/* can enter 18 kinds of traps */
X#define ALLOW_U 	0x00040000L	/* can attack you */
X#define ALLOW_M 	0x00080000L	/* can attack other monsters */
X#define ALLOW_TM	0x00100000L	/* can attack tame monsters */
X#define ALLOW_ALL	(ALLOW_U | ALLOW_M | ALLOW_TM | ALLOW_TRAPS)
X#define NOTONL		0x00200000L	/* avoids direct line to player */
X#define OPENDOOR	0x00400000L	/* opens closed doors */
X#define UNLOCKDOOR	0x00800000L	/* unlocks locked doors */
X#define BUSTDOOR	0x01000000L	/* breaks any doors */
X#define ALLOW_ROCK	0x02000000L	/* pushes rocks */
X#define ALLOW_WALL	0x04000000L	/* walks thru walls */
X#define ALLOW_DIG	0x08000000L	/* digs */
X#define ALLOW_SANCT	0x20000000L	/* enters temples */
X#define ALLOW_SSM	0x40000000L	/* ignores scare monster */
X#define NOGARLIC	0x80000000L	/* hates garlic */
X
X#endif /* MFNDPOS_H /**/
END_OF_FILE
if test 1105 -ne `wc -c <'include/mfndpos.h'`; then
    echo shar: \"'include/mfndpos.h'\" unpacked with wrong size!
fi
# end of 'include/mfndpos.h'
fi
if test -f 'include/spell.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/spell.h'\"
else
echo shar: Extracting \"'include/spell.h'\" \(376 characters\)
sed "s/^X//" >'include/spell.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)spell.h	2.1	87/10/18
X/*	Copyright 1986, M. Stephenson */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef SPELL_H
X#define SPELL_H
X
Xstruct	spell  {
X
X	int	sp_id;			/* spell id */
X	int	sp_lev;			/* power level */
X	int	sp_flags;		/* spfx flags */
X#ifdef HARD
X	int 	sp_uses;		/* uses left to spell */
X#endif
X};
X
X#endif /* SPELL_H /**/
X
END_OF_FILE
if test 376 -ne `wc -c <'include/spell.h'`; then
    echo shar: \"'include/spell.h'\" unpacked with wrong size!
fi
# end of 'include/spell.h'
fi
if test -f 'include/termcap.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/termcap.h'\"
else
echo shar: Extracting \"'include/termcap.h'\" \(485 characters\)
sed "s/^X//" >'include/termcap.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)termcap.h	3.0	89/10/27
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1989. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X/* common #defines for pri.c and termcap.c */
X
X#ifndef MSDOS
X# ifndef MACOS
X#  define TERMLIB	/* include termcap code */
X# endif
X#endif
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
END_OF_FILE
if test 485 -ne `wc -c <'include/termcap.h'`; then
    echo shar: \"'include/termcap.h'\" unpacked with wrong size!
fi
# end of 'include/termcap.h'
fi
if test -f 'include/tosconf.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/tosconf.h'\"
else
echo shar: Extracting \"'include/tosconf.h'\" \(1179 characters\)
sed "s/^X//" >'include/tosconf.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)tosconf.h	3.0	88/07/21
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifdef TOS
X#ifndef TOSCONF_H
X#define TOSCONF_H
X
X#define MSDOS		/* must be defined to allow some inclusions */
X
X/*
X   Adjust these options to suit your compiler. The default here is for
X   GNU C with the latest version of the library.
X*/
X
X/*#define NO_SIGNAL 		/* library doesn't support signals	*/
X/*#define NO_FSTAT		/* library doesn't have fstat() call	*/
X
X#ifdef O_BINARY
X#define FCMASK 	O_BINARY
X#else
X#define FCMASK	0666
X#define O_BINARY 0
X#endif
X
X#ifdef UNIXDEBUG
X#define remove(x)	unlink(x)
X#endif
X
X/* configurable options */
X#define DGK			/* lots of enhancements 	*/
X#define RANDOM			/* improved random numbers 	*/
X#define SHELL			/* allow spawning of shell 	*/
X#define TEXTCOLOR		/* allow color 			*/
X#define TERMLIB			/* use termcap			*/
X
X#ifndef TERMLIB
X#define ANSI_DEFAULT		/* use vt52 by default		*/
X#endif
X
X#ifndef MSDOS_H
X#include "msdos.h"
X#endif
X#ifndef PCCONF_H
X#include "pcconf.h"	 	 /* remainder of stuff is same as the PC */
X#endif
X
X#endif /* TOSCONF_H /* */
X#endif /* TOS /* */
END_OF_FILE
if test 1179 -ne `wc -c <'include/tosconf.h'`; then
    echo shar: \"'include/tosconf.h'\" unpacked with wrong size!
fi
# end of 'include/tosconf.h'
fi
if test -f 'include/trap.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/trap.h'\"
else
echo shar: Extracting \"'include/trap.h'\" \(1165 characters\)
sed "s/^X//" >'include/trap.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)trap.h	3.0	88/06/19
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef TRAP_H
X#define TRAP_H
X
Xstruct trap {
X	struct trap *ntrap;
X	xchar tx,ty;
X	Bitfield(ttyp,5);
X	Bitfield(tseen,1);
X	Bitfield(once,1);
X	unsigned pm;		/* monster type for (MONST | STATUE)_TRAP */
X};
X
Xextern struct trap *ftrap;
X#define newtrap()	(struct trap *) alloc(sizeof(struct trap))
X
X/* Standard Hack traps. */
X#define NO_TRAP         0
X#define MONST_TRAP      1
X#define STATUE_TRAP     2
X#define BEAR_TRAP       3
X#define ARROW_TRAP      4
X#define DART_TRAP       5
X#define TRAPDOOR        6
X#define TELEP_TRAP      7
X#define PIT             8
X#define SLP_GAS_TRAP    9
X
X/* Defines below this line are automatically added by makedefs (-t option) */
X/* if you add any additional code below the next line, it will disappear.  */
X/* DO NOT REMOVE THIS LINE */
X
X#define	MGTRP		10
X#define	SQBRD		11
X#define	WEB		12
X#define	SPIKED_PIT	13
X#define	LEVEL_TELEP	14
X#define	ANTI_MAGIC	15
X#define	RUST_TRAP	16
X#define	POLY_TRAP	17
X#define	LANDMINE	18
X
X#define	TRAPNUM	19
X
X#endif /* TRAP_H /**/
END_OF_FILE
if test 1165 -ne `wc -c <'include/trap.h'`; then
    echo shar: \"'include/trap.h'\" unpacked with wrong size!
fi
# end of 'include/trap.h'
fi
if test -f 'include/vault.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/vault.h'\"
else
echo shar: Extracting \"'include/vault.h'\" \(721 characters\)
sed "s/^X//" >'include/vault.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)vault.h	3.0	88/04/25
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X
X#ifndef VAULT_H
X#define VAULT_H
X
X#define	FCSIZ	(ROWNO+COLNO)
Xstruct fakecorridor {
X	xchar fx,fy,ftyp;
X};
X
Xstruct egd {
X	int fcbeg, fcend;	/* fcend: first unused pos */
X	xchar gdx, gdy;		/* goal of guard's walk */
X	xchar ogx, ogy;		/* guard's last position */
X	xchar gdlevel;		/* level guard was created on */
X	xchar warncnt;		/* number of warnings to follow */
X	int vroom;		/* room number of the vault */
X	unsigned gddone:1;
X	struct fakecorridor fakecorr[FCSIZ];
X};
X
X#define	EGD(mon)	((struct egd *)(&(mon->mextra[0])))
X
X#endif /* VAULT_H /* */
END_OF_FILE
if test 721 -ne `wc -c <'include/vault.h'`; then
    echo shar: \"'include/vault.h'\" unpacked with wrong size!
fi
# end of 'include/vault.h'
fi
if test -f 'include/wseg.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'include/wseg.h'\"
else
echo shar: Extracting \"'include/wseg.h'\" \(516 characters\)
sed "s/^X//" >'include/wseg.h' <<'END_OF_FILE'
X/*	SCCS Id: @(#)wseg.h	3.0	88/10/15
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X/* wseg.h - version 1.0.2 */
X
X#ifndef WSEG_H
X#define WSEG_H
X
X# ifdef WORM
X/* worm structure */
Xstruct wseg {
X	struct wseg *nseg;
X	xchar wx,wy;
X	Bitfield(wdispl,1);
X};
X
X#define newseg()	(struct wseg *) alloc(sizeof(struct wseg))
X
Xextern struct wseg *wsegs[32], *wheads[32], *m_atseg;
Xextern long wgrowtime[32];
X
X# endif
X
X#endif /* WSEG_H /**/
END_OF_FILE
if test 516 -ne `wc -c <'include/wseg.h'`; then
    echo shar: \"'include/wseg.h'\" unpacked with wrong size!
fi
# end of 'include/wseg.h'
fi
if test -f 'mac/MD.rsrc.hqx' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mac/MD.rsrc.hqx'\"
else
echo shar: Extracting \"'mac/MD.rsrc.hqx'\" \(1117 characters\)
sed "s/^X//" >'mac/MD.rsrc.hqx' <<'END_OF_FILE'
X(This file must be converted with BinHex 4.0)
X
X:%QeKDf9NC@Cc,R"bEfSZFR0bB`#3%30JdL`!N!3"!*!$![3!!!(d!*!$E(-k!*!
X$&!!4+P)k5@jME(9NCA-k)!#3"")!%5T61NN5E@&VC@4PCR-ZF(*[DLjbFh*MDJ)
X!N"B"!3`"m!#3%3+L-D)A!*!'!f$-*!(B!*!$(!0L!!a$6d4&!!)!DP"0Bh3!"J#
X14%P86!!2!1*"6&*8!!m"SNP$6di!!!*L689193!#!Qj69&)J!!B#NN019%`!!!,
XQ5801)`!"![*568Y5!!!$#NC548B!!3-@3Nj%6!!!!bj3394)!!!$1J!!rrmJ!*!
X&be`!!3#3!a8!+!!S!-J"3!!"rrm!N!I)!*!%cJ!)!*!&G!!c!)J!E`3#6dX!N!9
Xd!*i!L!$D"!C$B@jMC@`!N!82!!m!(`"("J4NBA4K!*!&%!")!#!!H!B%C'&dC3#
X3"5J!5!!i!+!'#("PFQe[ER0d!*!&%!#J!#!!k!B'FR9YEh*c!*!&+!!2!$J!4`B
X&G(*KF(0"!*!&+!#K!$J"%3B-Ef*UC@0d)'jKE@9c!*!&3!!3!&!!m!BGE@pZFh3
XJFQ9cEh9bBf8JB@jN)'CTE'8JD@0[ER02!*!$&3#3"!%%!AF!!3#3#2"J!*!%l!!
X+!*!&[`%H!0%"EJ3%6h"PEJ#3"J)l!&!#633'5'PNC'9Z!*!&fJ%I!1`"E`3'3f&
XZBf9X!*!&*`%D!$S"Fi!!N!C%!5!!9J&`"!9&DQ9MG&m!N!9G!5!!E`&`"!9%FQP
XfCH!!N!9$!!`!p3%A!*!(!`"Y!"8!R3#3"jB"'`#A!A1!!*!(!K3!C3*dL!#3"J)
X!-!!Q!8B)-e"XC@&cC5"XEf0KG'9H-#"QD@aPAM%JAM)0Eh)JF(*PFh-J3f&ZBf9
XX)(4[)'&LEh*d,YF!!!%!N!-#p!!!!I3!N!0X!%%[G!@%!*!$(!"H!!&%6%p(!!%
X!%N4*9%`!!3!U!-J!N!G"e+6`B2rr!*!$k`""e03!b2rr!*!$'3#3"2"Jrrm!!!%
X%!%(8Z!eAD'PMD#"[F(4TEfirk"m:
END_OF_FILE
if test 1117 -ne `wc -c <'mac/MD.rsrc.hqx'`; then
    echo shar: \"'mac/MD.rsrc.hqx'\" unpacked with wrong size!
fi
# end of 'mac/MD.rsrc.hqx'
fi
if test -f 'others/Makefile.lib' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'others/Makefile.lib'\"
else
echo shar: Extracting \"'others/Makefile.lib'\" \(447 characters\)
sed "s/^X//" >'others/Makefile.lib' <<'END_OF_FILE'
X#	SCCS Id: @(#)Makefile.lib	3.0	90/02/17
X#	Nethack makefile for Fred fish termlib -- Norman Meluch
X#
XCC	= cl /c
XMODEL	= L
XCFLAGS	= /A$(MODEL) /Os /Oa /Gs /Zp1 /W0
X#
X# Termcap routines.
XTERMLIB = termlib.lib
X#
XTL_LOBJECTS =	tgetent.o	tgetflag.o 	tgetnum.o	\
X		tgetstr.o	tgoto.o		tputs.o		\
X		isdigit.o	fgetlr.o
X#
X.SUFFIXES: .exe .o .c .obj .asm
X#
X.c.o:
X	$(CC) $(CFLAGS) /Fo$*.o $*.c
X#
X$(TERMLIB):	$(TL_LOBJECTS)
X	lib $(TERMLIB) -+ $(TL_LOBJECTS);
X
END_OF_FILE
if test 447 -ne `wc -c <'others/Makefile.lib'`; then
    echo shar: \"'others/Makefile.lib'\" unpacked with wrong size!
fi
# end of 'others/Makefile.lib'
fi
if test -f 'others/pctty.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'others/pctty.c'\"
else
echo shar: Extracting \"'others/pctty.c'\" \(1123 characters\)
sed "s/^X//" >'others/pctty.c' <<'END_OF_FILE'
X/*	SCCS Id: @(#)pctty.c	3.0	87/05/03
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X/* tty.c - (PC) version */
X
X#define NEED_VARARGS /* Uses ... */	/* comment line for pre-compiled headers */
X#include "hack.h"
X
Xchar erase_char, kill_char;
X
X/*
X * Get initial state of terminal, set ospeed (for termcap routines)
X * and switch off tab expansion if necessary.
X * Called by startup() in termcap.c and after returning from ! or ^Z
X */
Xvoid
Xgettty(){
X	erase_char = '\b';
X	kill_char = 21;		/* cntl-U */
X	flags.cbreak = TRUE;
X#if !defined(TOS) && !defined(MACOS)
X	disable_ctrlP();	/* turn off ^P processing */
X#endif
X}
X
X/* reset terminal to original state */
Xvoid
Xsettty(s)
Xconst char *s;
X{
X	end_screen();
X	if(s) Printf(s);
X	(void) fflush(stdout);
X#if !defined(TOS) && !defined(MACOS)
X	enable_ctrlP();		/* turn on ^P processing */
X#endif
X}
X
X/* fatal error */
X/*VARARGS1*/
X
Xvoid
Xerror VA_DECL(const char *,s)
X	VA_START(s);
X	VA_INIT(s, const char *);
X	end_screen();
X	putchar('\n');
X	Vprintf(s,VA_ARGS);
X	putchar('\n');
X	VA_END();
X	exit(1);
X}
END_OF_FILE
if test 1123 -ne `wc -c <'others/pctty.c'`; then
    echo shar: \"'others/pctty.c'\" unpacked with wrong size!
fi
# end of 'others/pctty.c'
fi
if test -f 'src/track.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'src/track.c'\"
else
echo shar: Extracting \"'src/track.c'\" \(911 characters\)
sed "s/^X//" >'src/track.c' <<'END_OF_FILE'
X/*	SCCS Id: @(#)track.c	3.0	87/08/08
X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
X/* NetHack may be freely redistributed.  See license for details. */
X/* track.c - version 1.0.2 */
X
X#include "hack.h"
X
X#define	UTSZ	50
X
XSTATIC_VAR int NEARDATA utcnt, NEARDATA utpnt;
XSTATIC_VAR coord NEARDATA utrack[UTSZ];
X
X#ifdef OVLB
Xvoid
Xinitrack(){
X	utcnt = utpnt = 0;
X}
X#endif /* OVLB */
X
X#ifdef OVL1
X
X/* add to track */
Xvoid
Xsettrack(){
X	if(utcnt < UTSZ) utcnt++;
X	if(utpnt == UTSZ) utpnt = 0;
X	utrack[utpnt].x = u.ux;
X	utrack[utpnt].y = u.uy;
X	utpnt++;
X}
X
X#endif /* OVL1 */
X#ifdef OVL0
X
Xcoord *
Xgettrack(x, y)
Xregister int x, y;
X{
X	register int i, cnt, ndist;
X	coord tc;
X	cnt = utcnt;
X	for(i = utpnt-1; cnt--; i--){
X		if(i == -1) i = UTSZ-1;
X		tc = utrack[i];
X		ndist = dist2(x,y,tc.x,tc.y);
X		if(ndist < 3)
X			return(ndist ? (coord *)&(utrack[i]) : 0);
X	}
X	return (coord *)0;
X}
X
X#endif /* OVL0 */
END_OF_FILE
if test 911 -ne `wc -c <'src/track.c'`; then
    echo shar: \"'src/track.c'\" unpacked with wrong size!
fi
# end of 'src/track.c'
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.9"
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
if test -f 'vms/spec_lev.com' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vms/spec_lev.com'\"
else
echo shar: Extracting \"'vms/spec_lev.com'\" \(1123 characters\)
sed "s/^X//" >'vms/spec_lev.com' <<'END_OF_FILE'
X$ ! vms/spec_lev.com -- preprocess nethack's special level compiler code
X$ !
X$ ! This operation is optional.  If you are able to perform it and choose
X$ ! to do so, you should do it prior to executing vmsbuild.com.
X$ !
X$
X$ ! setup yacc/bison and lex/flex;
X$ !	  (uncomment the alternatives appropriate for your site)
X$     ! yacc := bison/def			!native bison (w/ DCL CLD)
X$     ! yacc := $bison$dir:bison -y -d		!'foreign' bison (w/o CLD)
X$	yacc := $shell$exe:yacc -d		!yacc from DECshell
X$     ! lex  := $flex$dir:flex			!flex
X$	lex  := $shell$exe:lex			!lex from DECshell
X$ ! additional setup
X$	rename := rename/new_vers
X$	! start from a known location -- [.vms], then move to [-.src]
X$	cur_dir = f$environment("DEFAULT")
X$	set default 'f$parse(f$environment("PROCEDURE"),,,"DIRECTORY")'
X$	set default [-.src]	!move to source directory
X$
X$ ! process lev_comp.y into lev_comp.c and ../include/lev_comp.h
X$  yacc lev_comp.y
X$  rename y_tab.c lev_comp.c
X$  rename y_tab.h [-.include]lev_comp.h
X$
X$ ! process lev_comp.l into lev_lex.c
X$  lex lev_comp.l
X$  rename lex_yy.c lev_lex.c
X$
X$ ! done
X$  set default 'cur_dir'
X$ exit
END_OF_FILE
if test 1123 -ne `wc -c <'vms/spec_lev.com'`; then
    echo shar: \"'vms/spec_lev.com'\" unpacked with wrong size!
fi
# end of 'vms/spec_lev.com'
fi
if test -f 'vms/vmsmisc.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'vms/vmsmisc.c'\"
else
echo shar: Extracting \"'vms/vmsmisc.c'\" \(386 characters\)
sed "s/^X//" >'vms/vmsmisc.c' <<'END_OF_FILE'
X/*	SCCS Id: @(#)vmsmisc.c	3.0	90/22/02
X/* NetHack may be freely redistributed.  See license for details. */
X
X#include <ssdef.h>
X#include <stsdef.h>
X
Xvoid
Xvms_exit(status)
Xint status;
X{
X    exit(status ? (SS$_ABORT | STS$M_INHIB_MSG) : SS$_NORMAL);
X}
X
Xvoid
Xvms_abort()
X{
X    (void) LIB$SIGNAL(SS$_DEBUG);
X}
X
X#ifdef VERYOLD_VMS
X#include "oldcrtl.c"        /* "[-.vms]oldcrtl.c" */
X#endif
END_OF_FILE
if test 386 -ne `wc -c <'vms/vmsmisc.c'`; then
    echo shar: \"'vms/vmsmisc.c'\" unpacked with wrong size!
fi
# end of 'vms/vmsmisc.c'
fi
echo shar: End of archive 56 \(of 56\).
cp /dev/null ark56isdone
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 56 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
    echo Building monst.c from monst.c1 and monst.c2
    cat src/monst.c1 src/monst.c2 > src/monst.c
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0