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