billr@saab.CNA.TEK.COM (Bill Randle) (11/23/89)
Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu> Posting-number: Volume 8, Issue 63 Archive-name: NetHack3/Patch6j Patch-To: NetHack3: Volume 7, Issue 56-93 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 10 (of 15)." # Contents: include/system.h patches06a # Wrapped by billr@saab on Wed Nov 22 10:50:17 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'include/system.h' -a "${1}" != "-c" ; then echo shar: clobbering existing file \"'include/system.h'\" fi echo shar: Extracting \"'include/system.h'\" \(6140 characters\) sed "s/^X//" >'include/system.h' <<'END_OF_FILE' X/* SCCS Id: @(#)system.h 3.0 88/10/10 */ X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X/* NetHack may be freely redistributed. See license for details. */ X X#ifndef SYSTEM_H X#define SYSTEM_H X X#define E extern X X#ifndef THINKC4 X# if defined(AMIGA) || defined(MACOS) X# define _SIZE_T 1 Xtypedef unsigned int size_t; X# else X# include <sys/types.h> X# endif X#endif X#if defined(AZTEC) || defined(THINKC4) Xtypedef long off_t; X#endif X X#ifdef ULTRIX X/* The Ultrix v3.0 <sys/types.h> seems to be very wrong. */ X# define off_t long X# define time_t long X#endif X X#if defined(TOS) && defined(__GNUC__) && !defined(_SIZE_T) X# define _SIZE_T X#endif X X/* some old <sys/types.h> may not define off_t and size_t; if your system is X * one of these, define them here X */ X#ifdef MSDOS X# ifndef _SIZE_T X# define _SIZE_T Xtypedef unsigned int size_t; X# endif X# ifdef __TURBOC__ Xtypedef long off_t; X# endif X#endif X X#ifdef VMS X# define off_t long X#endif X X/* You may want to change this to fit your system, as this is almost X * impossible to get right automatically. X * This is the type of signal handling functions. X */ X#if defined(__STDC__) || defined(ULTRIX) X /* also SVR3 and later, Sun4.0 and later */ X# define SIG_RET_TYPE void (*)() X#else X /* BSD, SIII, SVR2 and earlier, Sun3.5 and earlier */ X# define SIG_RET_TYPE int (*)() X#endif X X#if defined(BSD) || defined(ULTRIX) || defined(RANDOM) XE long random(); XE void FDECL(srandom, (unsigned int)); X#else XE long lrand48(); XE void srand48(); X#endif /* BSD || ULTRIX || RANDOM */ X X#if !defined(BSD) || defined(ultrix) X /* real BSD wants all these to return int */ X# ifndef MSDOS XE void FDECL(exit, (int)); X# endif /* MSDOS */ XE void FDECL(free, (genericptr_t)); X# ifndef MACOS XE void FDECL(perror, (const char *)); X# endif X#endif X X#if defined(BSD) || defined(ULTRIX) || (defined(MACOS) && !defined(THINKC4)) XE int qsort(); X#else XE void FDECL(qsort, (genericptr_t,size_t,size_t,int(*)(genericptr_t,genericptr_t))); X#endif X X#ifdef ULTRIX XE long FDECL(lseek, (int,off_t,int)); X /* Ultrix 3.0 man page mistakenly says it returns an int. */ XE int FDECL(write, (int,char *,int)); X#else XE long FDECL(lseek, (int,long,int)); XE int FDECL(write, (int,genericptr_t,unsigned)); X#endif /* ULTRIX */ XE int FDECL(unlink, (const char *)); X X#ifdef MSDOS XE int FDECL(close, (int)); XE int FDECL(read, (int,genericptr_t,unsigned int)); XE int FDECL(open, (const char *,int,...)); XE int FDECL(dup2, (int, int)); XE int FDECL(setmode, (int,int)); XE int FDECL(kbhit, (void)); XE int FDECL(chdir, (char *)); XE char *FDECL(getcwd, (char *,int)); X#endif X X/* both old & new versions of Ultrix want these, but real BSD does not */ X#ifdef ultrix XE void abort(); XE void bcopy(); X#endif X#ifdef MSDOS XE void FDECL(abort, (void)); XE void FDECL(_exit, (int)); XE int FDECL(system, (const char *)); X#endif X X#ifdef SYSV XE char *memcpy(); X#endif X#ifdef MSDOS X# if defined(TOS) && defined(__GNUC__) XE int FDECL(memcmp, (const char *,const char *,size_t)); XE char *FDECL(memcpy, (char *,const char *,size_t)); XE char *FDECL(memset, (char*,int,size_t)); X# else XE int FDECL(memcmp, (char *,char *,unsigned int)); XE char *FDECL(memcpy, (char *,char *,unsigned int)); XE char *FDECL(memset, (char*,int,int)); X# endif /* TOS */ X#endif X X#if defined(BSD) && defined(ultrix) /* i.e., old versions of Ultrix */ XE void sleep(); X#endif X#if defined(ULTRIX) || defined(SYSV) XE unsigned sleep(); X#endif X XE char *FDECL(getenv, (const char *)); XE char *getlogin(); XE int getpid(); X X/*# string(s).h #*/ X XE char *FDECL(strcpy, (char *,const char *)); XE char *FDECL(strncpy, (char *,const char *,size_t)); XE char *FDECL(strcat, (char *,const char *)); XE char *FDECL(strncat, (char *,const char *,size_t)); X X#if defined(SYSV) || (defined(MSDOS) && !defined(AMIGA)) || defined(THINK_C) XE char *FDECL(strchr, (const char *,int)); XE char *FDECL(strrchr, (const char *,int)); X#else /* BSD */ XE char *FDECL(index, (const char *,int)); XE char *FDECL(rindex, (const char *,int)); X#endif X X XE int FDECL(strcmp, (const char *,const char *)); XE int FDECL(strncmp, (const char *,const char *,size_t)); X#if defined(MSDOS) || defined(THINKC4) XE size_t FDECL(strlen, (const char *)); X#else XE int strlen(); X#endif X X/* Old varieties of BSD have char *sprintf(). X * Newer varieties of BSD have int sprintf() but allow for the old char *. X * Several varieties of SYSV and PC systems also have int sprintf(). X * If your system doesn't agree with this breakdown, you may want to change X * this declaration, especially if your machine treats the types differently. X */ X#if defined(BSD) || defined(ULTRIX) X# define OLD_SPRINTF XE char *sprintf(); X#else X# ifndef TOS /* problem with prototype mismatches with <stdio.h> */ XE int FDECL(sprintf, (char *,const char *,...)); X# endif X#endif X X#ifdef NEED_VARARGS X# if defined(USE_STDARG) || defined(USE_VARARGS) XE int FDECL(vsprintf, (char *, const char *, va_list)); XE int FDECL(vprintf, (const char *, va_list)); X# else X# define vprintf printf X# define vsprintf sprintf X# define vpline pline X# endif X#endif /* NEED_VARARGS */ X X#define Sprintf (void) sprintf X#define Strcat (void) strcat X#define Strcpy (void) strcpy X X#if defined(MACOS) && !defined(MAKEDEFS_C) X# undef printf X# undef puts X# undef putchar X# undef putc X# define printf (void) mprintf X# define puts mputs X# define putchar mputc X# define putc mputc X# define Printf (void) mprintf X#else X# define Printf (void) printf X#endif X X#ifdef NEED_VARARGS X# define Vprintf (void) vprintf X# define Vsprintf (void) vsprintf X#endif X XE int FDECL(tgetent, (char *,char *)); XE int FDECL(tgetnum, (char *)); XE int FDECL(tgetflag, (char *)); XE char *FDECL(tgetstr, (char *,char **)); XE char *FDECL(tgoto, (char *,int,int)); XE void FDECL(tputs, (char *,int,int (*)())); X XE genericptr_t FDECL(malloc, (size_t)); X X/* time functions */ X X#ifndef MACOS XE struct tm *FDECL(localtime, (const time_t *)); X X# if defined(ULTRIX) || defined(SYSV) || (defined(MSDOS) && !defined(AMIGA)) XE time_t FDECL(time, (time_t *)); X# else XE long FDECL(time, (time_t *)); X# endif /* ULTRIX */ X#endif X X#ifdef MSDOS XE int FDECL(abs, (int)); XE int FDECL(atoi, (char *)); X#endif X X#undef E X X#endif /* SYSTEM_H */ END_OF_FILE if test 6140 -ne `wc -c <'include/system.h'`; then echo shar: \"'include/system.h'\" unpacked with wrong size! fi # end of 'include/system.h' if test -f 'patches06a' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patches06a'\" else echo shar: Extracting \"'patches06a'\" \(53204 characters\) sed "s/^X//" >'patches06a' <<'END_OF_FILE' X*** ./Old/Files Sun Nov 19 12:13:06 1989 X--- ./Files Sun Nov 19 09:37:45 1989 X*************** X*** 27,40 **** X X others: X (files for MSDOS version) X! Make.ini Makefile.msc Makefile.pc Makefile.os2 Makefile.tcc X! Maketcc.ini NetHack.cnf termcap termcap.uu X (files for MSDOS, Amiga, and Atari versions) X pcmain.c pctty.c pcunix.c X (file for MSDOS and new Atari versions) X msdos.c X! (file for new Atari version) X! Makefile.st X (file for old Atari version) X oldtos.c X (Berkeley random number file, which may be included in any version) X--- 27,41 ---- X X others: X (files for MSDOS version) X! Make.ini Makefile.msc Makefile.os2 Makefile.ovl Makefile.pc X! Makefile.tcc Maketcc.ini NetHack.cnf ovlmgr.asm ovlmgr.doc X! ovlmgr.uu termcap termcap.uu trampoli.c X (files for MSDOS, Amiga, and Atari versions) X pcmain.c pctty.c pcunix.c X (file for MSDOS and new Atari versions) X msdos.c X! (files for new Atari version) X! Makefile.st atari.cnf atarifnt.uue X (file for old Atari version) X oldtos.c X (Berkeley random number file, which may be included in any version) X*************** X*** 50,81 **** X mkroom.h monattk.h mondata.h monflag.h monst.h X monsym.h msdos.h obj.h objclass.h patchlevel.h X pcconf.h permonst.h prop.h rm.h sp_lev.h X! spell.h system.h tosconf.h tradstdc.h trap.h X! trapname.h unixconf.h vault.h vmsconf.h wseg.h X! you.h youprop.h X (file for special level compiler (STRONGHOLD option)) X lev_comp.h X X src: X (files for all versions) X! alloc.c apply.c artifact.c attrib.c bones.c X! cmd.c dbridge.c decl.c demon.c do.c X! do_name.c do_wear.c dog.c dogmove.c dokick.c X! dothrow.c eat.c end.c engrave.c exper.c X! extralev.c fountain.c getline.c hack.c invent.c X! ioctl.c lock.c mail.c makedefs.c makemon.c X! mcastu.c mhitm.c mhitu.c mklev.c mkmaze.c X! mkobj.c mkroom.c mon.c mondata.c monmove.c X! monst.c mthrowu.c music.c o_init.c objects.c X! objnam.c options.c pager.c panic.c pickup.c X! polyself.c potion.c pray.c pri.c priest.c X! prisym.c read.c restore.c rip.c rnd.c X! rumors.c save.c search.c shk.c shknam.c X! sit.c sounds.c sp_lev.c spell.c steal.c X! termcap.c timeout.c topl.c topten.c track.c X! trap.c u_init.c uhitm.c vault.c version.c X! weapon.c were.c wield.c wizard.c worm.c X! worn.c write.c zap.c X (files for special level compiler (STRONGHOLD option)) X lev_comp.c lev_comp.l lev_comp.y lev_lex.c lev_main.c X (files for UNIX versions) X--- 51,82 ---- X mkroom.h monattk.h mondata.h monflag.h monst.h X monsym.h msdos.h obj.h objclass.h patchlevel.h X pcconf.h permonst.h prop.h rm.h sp_lev.h X! spell.h system.h termcap.h tosconf.h tradstdc.h X! trampoli.h trap.h trapname.h unixconf.h vault.h X! vmsconf.h wseg.h you.h youprop.h X (file for special level compiler (STRONGHOLD option)) X lev_comp.h X X src: X (files for all versions) X! allmain.c alloc.c apply.c artifact.c attrib.c X! bones.c cmd.c dbridge.c decl.c demon.c X! do.c do_name.c do_wear.c dog.c dogmove.c X! dokick.c dothrow.c eat.c end.c engrave.c X! exper.c extralev.c fountain.c getline.c hack.c X! invent.c ioctl.c lock.c mail.c makedefs.c X! makemon.c mcastu.c mhitm.c mhitu.c mklev.c X! mkmaze.c mkobj.c mkroom.c mon.c mondata.c X! monmove.c monst.c mthrowu.c music.c o_init.c X! objects.c objnam.c options.c pager.c panic.c X! pickup.c polyself.c potion.c pray.c pri.c X! priest.c prisym.c read.c restore.c rip.c X! rnd.c rumors.c save.c search.c shk.c X! shknam.c sit.c sounds.c sp_lev.c spell.c X! steal.c termcap.c timeout.c topl.c topten.c X! track.c trap.c u_init.c uhitm.c vault.c X! version.c weapon.c were.c wield.c wizard.c X! worm.c worn.c write.c zap.c X (files for special level compiler (STRONGHOLD option)) X lev_comp.c lev_comp.l lev_comp.y lev_lex.c lev_main.c X (files for UNIX versions) X*************** X*** 90,94 **** X X mac: X (files for Macintosh version) X! Install.mac Segments.mac mac.c macfile.c macinit.c X! makedefs.r nethack.r X--- 91,95 ---- X X mac: X (files for Macintosh version) X! Install.mac Makedefs.rma Nethack.rma Segments.mac hackfont.hqx X! mac.c macfile.c macinit.c makedefs.r nethack.r X*** ./Old/Install.unix Sun Nov 19 12:13:44 1989 X--- ./Install.unix Mon Oct 30 16:09:27 1989 X*************** X*** 51,59 **** X X 1. A number of systems, such as Xenix, support both the termcap and terminfo X terminal capability libraries. Make sure that the TERMINFO definition in X! unixconf.h and TERMLIB in the source Makefile correspond. X! If spurious characters appear on the screen while kicking, zapping, etc. X it is likely that you have linked the source to the wrong library. X X 2. No, your old save files and bones files will not work with NetHack 3.0. X Don't bother trying to keep them. The old score list will work fine; the X--- 51,61 ---- X X 1. A number of systems, such as Xenix, support both the termcap and terminfo X terminal capability libraries. Make sure that the TERMINFO definition in X! unixconf.h and the TERMLIB definition in the source Makefile correspond. X! If spurious characters appear on the screen while kicking, zapping, etc., X it is likely that you have linked the source to the wrong library. X+ If your terminal library does not provide suitable delays, NetHack will X+ try to fake its own if you set the nonull option. X X 2. No, your old save files and bones files will not work with NetHack 3.0. X Don't bother trying to keep them. The old score list will work fine; the X*** ./Old/README Sun Nov 19 12:14:19 1989 X--- ./README Sat Oct 21 18:37:36 1989 X*************** X*** 81,87 **** X Sun-3s running SunOS 4.0 X Encore Multimax running UMAX 4.2 X Bull XPS100 running System V R2.2 or R3.1 X! Bull DPX/2 100 running System V R3.1 X AT&T 3B4000 running System V X AT&T 3B1 running System V (3.51) X 286 box running Microport SysV/AT (not extensively tested) X--- 81,87 ---- X Sun-3s running SunOS 4.0 X Encore Multimax running UMAX 4.2 X Bull XPS100 running System V R2.2 or R3.1 X! Bull DPX/2 200 running System V R3.1 X AT&T 3B4000 running System V X AT&T 3B1 running System V (3.51) X 286 box running Microport SysV/AT (not extensively tested) X*** auxil/Old/Guidebook.mn Sun Nov 19 12:18:06 1989 X--- auxil/Guidebook.mn Fri Oct 20 13:30:13 1989 X*************** X*** 4,10 **** X .ds vr "NetHack Version 3.0 X .ds f0 "\*(vr X .ds f1 X! .ds f2 "September 6, 1989 X .mt X A Guide to the Mazes of Menace X .au X--- 4,10 ---- X .ds vr "NetHack Version 3.0 X .ds f0 "\*(vr X .ds f1 X! .ds f2 "October 19, 1989 X .mt X A Guide to the Mazes of Menace X .au X*************** X*** 231,239 **** X game will use default symbols. Here is a list of what the default X symbols mean: X .lp "- and | X! These form the walls of a room. X .lp . X! This is the floor of a room. X .lp # X This is a corridor, or possibly a kitchen sink or drawbridge (if your X dungeon has sinks or drawbridges). X--- 231,239 ---- X game will use default symbols. Here is a list of what the default X symbols mean: X .lp "- and | X! These form the walls of a room or an open door. X .lp . X! This is the floor of a room or a doorway. X .lp # X This is a corridor, or possibly a kitchen sink or drawbridge (if your X dungeon has sinks or drawbridges). X*************** X*** 264,270 **** X .lp * X A gem or rock (possibly valuable, possibly worthless). X .lp + X! A doorway, or a spell book containing a spell you can learn (if your X dungeon has spell books). X .lp ^ X A trap (once you detect it). X--- 264,270 ---- X .lp * X A gem or rock (possibly valuable, possibly worthless). X .lp + X! A closed door, or a spell book containing a spell you can learn (if your X dungeon has spell books). X .lp ^ X A trap (once you detect it). X*************** X*** 774,780 **** X Scrolls (`?') X .pg X Scrolls are labeled with various titles, probably chosen by ancient wizards X! for their amusement value (i.e. ``READ ME,'' or ``HOLY BIBLE'' backwards). X Scrolls disappear after you read them (except for blank ones, without X magic spells on them). X .pg X--- 774,780 ---- X Scrolls (`?') X .pg X Scrolls are labeled with various titles, probably chosen by ancient wizards X! for their amusement value (ex. ``READ ME,'' or ``HOLY BIBLE'' backwards). X Scrolls disappear after you read them (except for blank ones, without X magic spells on them). X .pg X*************** X*** 1010,1019 **** X wall, upper left corner, upper right corner, lower left corner, lower X right corner, cross wall, upward T wall, downward T wall, leftward T X wall, rightward T wall, vertical beam, horizontal beam, left slant, X! right slant, door, floor of a room, corridor, stairs up, stairs down, X! trap, web, pool or moat, fountain, kitchen sink, throne, altar, ladder X! up, ladder down, vertical drawbridge, horizontal drawbridge. You X! might want to use `+' for the corners and T walls for a more esthetic, X boxier display. Note that in the next release, new symbols may be X added, or the present ones rearranged. X X--- 1010,1020 ---- X wall, upper left corner, upper right corner, lower left corner, lower X right corner, cross wall, upward T wall, downward T wall, leftward T X wall, rightward T wall, vertical beam, horizontal beam, left slant, X! right slant, no door, vertical open door, horizontal open door, closed door, X! floor of a room, corridor, stairs up, stairs down,trap, web, pool or moat, X! fountain, kitchen sink, throne, altar, ladderup, ladder down, X! vertical drawbridge, horizontal drawbridge. X! You might want to use `+' for the corners and T walls for a more esthetic, X boxier display. Note that in the next release, new symbols may be X added, or the present ones rearranged. X X*************** X*** 1155,1160 **** X--- 1156,1165 ---- X \fBEric R. Smith\fP ported NetHack 3.0 to the Atari. X .pg X \fBTimo Hakulinen\fP ported NetHack 3.0 to OS/2. X+ .pg X+ \fBDavid Gentzel\fP ported NetHack 3.0 to VMS. X+ .pg X+ \fBJohnny Lee\fP ported NetHack 3.0 to the Macintosh. X .pg X The following folks have made significant contributions to the playability X of the game: X*** auxil/Old/castle.des Sun Nov 19 12:19:21 1989 X--- auxil/castle.des Mon Nov 13 21:19:04 1989 X*************** X*** 40,46 **** X # Random registers initialisation X RANDOM_OBJECTS:'[',')','*','%' X RANDOM_PLACES:(04,02),(58,02),(04,14),(58,14) X! RANDOM_MONSTERS:'l','n','E','H','M','O','R','T','X','Z' X # Doors X DOOR:closed,(07,03) X DOOR:closed,(55,03) X--- 40,46 ---- X # Random registers initialisation X RANDOM_OBJECTS:'[',')','*','%' X RANDOM_PLACES:(04,02),(58,02),(04,14),(58,14) X! RANDOM_MONSTERS:'L','N','E','H','M','O','R','T','X','Z' X # Doors X DOOR:closed,(07,03) X DOOR:closed,(55,03) X*** auxil/Old/data.base Sun Nov 19 12:19:45 1989 X--- auxil/data.base Wed Nov 8 17:40:23 1989 X*************** X*** 1,5 **** X NetHack data file - version 3.0 X! @ human; X These strange creatures live mostly on the surface of the X earth, gathering together in societies of various forms, but X occasionally a stray will descend into the depths and commit X--- 1,5 ---- X NetHack data file - version 3.0 X! @ a human; X These strange creatures live mostly on the surface of the X earth, gathering together in societies of various forms, but X occasionally a stray will descend into the depths and commit X*************** X*** 7,21 **** X resent the intrusion of such beasts. They are capable of X using weapons and magic, and it is even rumored that the X Wizard of Yendor is a member of this species. X! - a wall X! | a wall X! + a door X! . the floor of a room X! a dark part of a room (or a ghost) X! # a corridor X! < a way to the previous level X! > a way to the next level X! } water filled area X ) a weapon X [ a suit or piece of armor X % a piece of food X--- 7,14 ---- X resent the intrusion of such beasts. They are capable of X using weapons and magic, and it is even rumored that the X Wizard of Yendor is a member of this species. X! + a spell book X! a ghost X ) a weapon X [ a suit or piece of armor X % a piece of food X*************** X*** 35,42 **** X coin and jewelry. X [ Webster's New International Dictionary of the X English Language, Second Edition ] X! " an amulet (or a web) X! ^ a trap X 0 an iron ball X _ an iron chain X ` a boulder or statue X--- 28,34 ---- X coin and jewelry. X [ Webster's New International Dictionary of the X English Language, Second Edition ] X! " an amulet X 0 an iron ball X _ an iron chain X ` a boulder or statue X*************** X*** 92,97 **** X--- 84,90 ---- X The fairies of tradition often hover uneasily between the X ghostly and the diabolic state. X [Katharine Briggs, A Dictionary of Fairies] X+ j a jelly X k a kobold; X The race of kobolds are reputed to be an artificial creation X of a master wizard (demi-god?). They are about 3' tall with X*************** X*** 98,117 **** X a vaguely dog-like face. They bear a violent dislike of the X Elven race, and will go out of their way to cause trouble X for Elves at any time. X! l a lich; X! Once in a great while, an evil master wizard or priest will X! manage through use of great magics to extend his or her life X! far beyond the normal span of a human. The usual effect of X! this is to transform the human, over time, into an undead of X! great magical power. A Lich hates life in any form; even a X! touch from one of these creatures will cause a numbing cold X! in the victim. They all possess the capability to use magic. X m a mimic X! n a naga; X! The naga is a mystical creature with the body of a snake and X! the head of a man or woman. They will fiercely protect the X! territory they consider their own. Some nagas can be forced X! to serve as a guardian by a spell caster of great power. X o an orc X p a piercer; X Ye Piercer doth look like unto a stalactyte, and hangeth X--- 91,117 ---- X a vaguely dog-like face. They bear a violent dislike of the X Elven race, and will go out of their way to cause trouble X for Elves at any time. X! l a leprechaun; X! The Irish Leprechaun is the Faeries' shoemaker and is known X! under various names in different parts of Ireland: Cluri- X! caune in Cork, Lurican in Kerry, Lurikeen in Kildare and Lu- X! rigadaun in Tipperary. Although he works for the Faeries, X! the Leprechaun is not of the same species. He is small, has X! dark skin and wears strange clothes. His nature has some- X! thing of the manic-depressive about it: first he is quite X! happy, whistling merrily as he nails a sole on to a shoe; a X! few minutes later, he is sullen and morose, drunk on his X! home-made heather ale. The Leprechaun's two great loves are X! tobacco and whiskey, and he is a first-rate con-man, impos- X! sible to out-fox. No one, no matter how clever, has ever X! managed to cheat him out of his hidden pot of gold or his X! magic shilling. At the last minute he always thinks of some X! way to divert his captor's attention and vanishes in the X! twinkling of an eye. X! [A Field Guide to the Little People X! by Nancy Arrowsmith & George Moorse] X m a mimic X! n a nymph X o an orc X p a piercer; X Ye Piercer doth look like unto a stalactyte, and hangeth X*************** X*** 168,174 **** X knives are treated for storage. All are about 20 centime- X ters long. X [ Dune, by Frank Herbert ] X! x a xan; X They sent their friend the mosquito [xan] ahead of them to X find out what lay ahead. "Since you are the one who sucks X the blood of men walking along paths," they told the mosqui- X--- 168,174 ---- X knives are treated for storage. All are about 20 centime- X ters long. X [ Dune, by Frank Herbert ] X! x a xan or other mythical/fantastic insect; X They sent their friend the mosquito [xan] ahead of them to X find out what lay ahead. "Since you are the one who sucks X the blood of men walking along paths," they told the mosqui- X*************** X*** 247,275 **** X types of giants share a love for men - roasted, boiled, or X fried. Their table manners are legendary. X I an invisible stalker X! J a jelly X K a Keystone Kop X! L a leprechaun; X! The Irish Leprechaun is the Faeries' shoemaker and is known X! under various names in different parts of Ireland: Cluri- X! caune in Cork, Lurican in Kerry, Lurikeen in Kildare and Lu- X! rigadaun in Tipperary. Although he works for the Faeries, X! the Leprechaun is not of the same species. He is small, has X! dark skin and wears strange clothes. His nature has some- X! thing of the manic-depressive about it: first he is quite X! happy, whistling merrily as he nails a sole on to a shoe; a X! few minutes later, he is sullen and morose, drunk on his X! home-made heather ale. The Leprechaun's two great loves are X! tobacco and whiskey, and he is a first-rate con-man, impos- X! sible to out-fox. No one, no matter how clever, has ever X! managed to cheat him out of his hidden pot of gold or his X! magic shilling. At the last minute he always thinks of some X! way to divert his captor's attention and vanishes in the X! twinkling of an eye. X! [A Field Guide to the Little People X! by Nancy Arrowsmith & George Moorse] X M a mummy X! N a nymph X O an ogre X P a pudding or ooze; X These giant amoeboid creatures look like nothing more than X--- 247,283 ---- X types of giants share a love for men - roasted, boiled, or X fried. Their table manners are legendary. X I an invisible stalker X! J a jabberwock; X! "Beware the Jabberwock, my son! X! The jaws that bite, the claws that catch! X! Beware the Jubjub bird, and shun X! The frumious Bandersnatch!" X! X! He took his vorpal sword in hand; X! Long time the manxome foe he sought -- X! So rested he by the Tumtum tree, X! And stood awhile in thought. X! X! And, as in uffish thought he stood, X! The Jabberwock, with eyes of flame, X! Came whiffling through the tulgey wood, X! And burbled as it came! X! [Jabberwocky, by Lewis Carroll] X K a Keystone Kop X! L a lich; X! Once in a great while, an evil master wizard or priest will X! manage through use of great magics to extend his or her life X! far beyond the normal span of a human. The usual effect of X! this is to transform the human, over time, into an undead of X! great magical power. A Lich hates life in any form; even a X! touch from one of these creatures will cause a numbing cold X! in the victim. They all possess the capability to use magic. X M a mummy X! N a naga; X! The naga is a mystical creature with the body of a snake and X! the head of a man or woman. They will fiercely protect the X! territory they consider their own. Some nagas can be forced X! to serve as a guardian by a spell caster of great power. X O an ogre X P a pudding or ooze; X These giant amoeboid creatures look like nothing more than X*************** X*** 292,296 **** X Y a yeti X Z a zombie X & a demon X! : a chameleon X! ; a giant eel X--- 300,309 ---- X Y a yeti X Z a zombie X & a demon X! : a lizard X! ; a giant eel or other water creature X! ' a golem; X! These creatures, not quite living but not really nonliving X! either, are created from inanimate materials by powerful X! mages or priests. X! ~ the tail of a long worm X*** auxil/Old/endgame.des Sun Nov 19 12:20:11 1989 X--- auxil/endgame.des Mon Nov 13 21:19:10 1989 X*************** X*** 98,115 **** X MONSTER:'R',random,(22,04) X MONSTER:'R',random,(27,04) X # Liches in the second one X! MONSTER:'l',random,(22,06) X! MONSTER:'l',random,(27,06) X! MONSTER:'l',random,(22,08) X! MONSTER:'l',random,(27,08) X! MONSTER:'l',random,(22,10) X! MONSTER:'l',random,(27,10) X # Nagas in the 3rd one X! MONSTER:'n',random,(22,12) X! MONSTER:'n',random,(27,12) X! MONSTER:'n',random,(24,14) X! MONSTER:'n',random,(22,15) X! MONSTER:'n',random,(27,15) X # Dragons in the central one X MONSTER:'D',random,(12,02) X MONSTER:'D',random,(18,02) X--- 98,115 ---- X MONSTER:'R',random,(22,04) X MONSTER:'R',random,(27,04) X # Liches in the second one X! MONSTER:'L',random,(22,06) X! MONSTER:'L',random,(27,06) X! MONSTER:'L',random,(22,08) X! MONSTER:'L',random,(27,08) X! MONSTER:'L',random,(22,10) X! MONSTER:'L',random,(27,10) X # Nagas in the 3rd one X! MONSTER:'N',random,(22,12) X! MONSTER:'N',random,(27,12) X! MONSTER:'N',random,(24,14) X! MONSTER:'N',random,(22,15) X! MONSTER:'N',random,(27,15) X # Dragons in the central one X MONSTER:'D',random,(12,02) X MONSTER:'D',random,(18,02) X*** auxil/Old/help Sun Nov 19 12:20:24 1989 X--- auxil/help Fri Oct 20 13:30:18 1989 X*************** X*** 15,22 **** X X NetHack uses the following symbols: X X! - and | The walls of a room. X! . The floor of a room. X # A corridor, or kitchen sink (if your dungeon has sinks). X > A way to the next level. X < A way to the previous level. X--- 15,22 ---- X X NetHack uses the following symbols: X X! - and | The walls of a room, also open doors. X! . The floor of a room or a doorway. X # A corridor, or kitchen sink (if your dungeon has sinks). X > A way to the next level. X < A way to the previous level. X*************** X*** 31,37 **** X ( Some other useful object (pick-axe, key, lamp...) X $ A pile of gold. X * A gem or rock (possibly valuable, possibly worthless). X! + A doorway, or a spell book containing a spell X you can learn (if your dungeon has spell books). X ^ A trap (once you detect it). X " An amulet, or a spider web. X--- 31,37 ---- X ( Some other useful object (pick-axe, key, lamp...) X $ A pile of gold. X * A gem or rock (possibly valuable, possibly worthless). X! + A closed door, or a spell book containing a spell X you can learn (if your dungeon has spell books). X ^ A trap (once you detect it). X " An amulet, or a spider web. X*** auxil/Old/history Sun Nov 19 12:20:48 1989 X--- auxil/history Tue Nov 14 20:32:23 1989 X*************** X*** 18,28 **** X Mike Stephenson merged these various versions back together, incorporating X many of the added features, and produced NetHack version 1.4. He then X coordinated a cast of thousands in enhancing and debugging NetHack 1.4 and X! released NetHack versions 2.2 and 2.3. Later, he coordinated a major rewrite X! of the game, heading a team which included Ken Arromdee, Jean-Christophe X! Collet, Steve Creps, Eric Hendrickson, Izchak Miller, Eric S. Raymond, John X! Rupley, Mike Threepoint, and Janet Walz, to produce NetHack 3.0. X X Olaf Seibert ported NetHack 2.3 and 3.0 to the Amiga. X X Eric R. Smith ported NetHack 3.0 to the Atari. X--- 18,30 ---- X Mike Stephenson merged these various versions back together, incorporating X many of the added features, and produced NetHack version 1.4. He then X coordinated a cast of thousands in enhancing and debugging NetHack 1.4 and X! released NetHack versions 2.2 and 2.3. X X+ Later, Mike coordinated a major rewrite of the game, heading a team which X+ included Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson, X+ Izchak Miller, Eric S. Raymond, John Rupley, Mike Threepoint, and Janet Walz, X+ to produce NetHack 3.0. X+ X Olaf Seibert ported NetHack 2.3 and 3.0 to the Amiga. X X Eric R. Smith ported NetHack 3.0 to the Atari. X*************** X*** 31,42 **** X X David Gentzel ported NetHack 3.0 to VMS. X X! Johnny Lee ported NetHack 3.0 to Macintosh. X X From time to time, some depraved individual out there in netland sends a X particularly intriguing modification to help out with the game. The Gods of X the Dungeon sometimes make note of the names of the worst of these miscreants X in this, the list of Dungeoneers: X X Tom Almy Bruce Holloway Izchak Miller X Ken Arromdee Richard P. Hughey Gil Neiger X--- 33,49 ---- X X David Gentzel ported NetHack 3.0 to VMS. X X! Johnny Lee ported NetHack 3.0 to the Macintosh. X! X! Norm Meluch, Stephen Spackman and Pierre Martineau designed overlay code for X! PC NetHack 3.0. X X From time to time, some depraved individual out there in netland sends a X particularly intriguing modification to help out with the game. The Gods of X the Dungeon sometimes make note of the names of the worst of these miscreants X in this, the list of Dungeoneers: X+ X+ X X Tom Almy Bruce Holloway Izchak Miller X Ken Arromdee Richard P. Hughey Gil Neiger X*** auxil/Old/opthelp Sun Nov 19 12:21:36 1989 X--- auxil/opthelp Mon Oct 30 16:04:06 1989 X*************** X*** 32,37 **** X--- 32,39 ---- X X Boolean options if DGK was not set at compile time: X null allow nulls to be sent to your terminal [TRUE] X+ try turning this option off (forcing NetHack to use its own X+ delay code) if moving objects seem to teleport across rooms X standout use standout mode for --More-- on messages [FALSE] X X Boolean option if TEXTCOLOR was set at compile time: X*************** X*** 40,47 **** X Any Boolean option can be negated by prefixing it with a '!' or 'no'. X X X- X- X X Compound options are written as option_name:option_value. X Compound options which can be set during the game are: X--- 42,47 ---- X*************** X*** 77,83 **** X vwall hwall tlcorn trcorn blcorn brcorn (room boundaries) X crwall tuwall tdwall tlwall trwall (wallified maze characters) X vbeam hbeam lslant rslant (zap beams) X! door room corr upstair dnstair trap web pool X fountain sink throne altar X upladder dnladder vdbridge hdbridge] X X--- 77,84 ---- X vwall hwall tlcorn trcorn blcorn brcorn (room boundaries) X crwall tuwall tdwall tlwall trwall (wallified maze characters) X vbeam hbeam lslant rslant (zap beams) X! ndoor vodoor hodoor cdoor (no, vert-open, horiz-open, closed) X! room corr upstair dnstair trap web pool X fountain sink throne altar X upladder dnladder vdbridge hdbridge] X X*** mac/Old/Install.mac Sun Nov 19 12:22:38 1989 X--- mac/Install.mac Tue Nov 14 20:10:30 1989 X*************** X*** 22,35 **** X 4. Go to the include subdirectory and edit config.h according to the comments X to match your system and desired set of features. Similarly edit X macconf.h. COMPRESS and ZEROCOMP were undefined since I used the X! built-in Mac routines PackBits and UnpackBits. All the options except X! for STRONGHOLD were defined. BITFIELDS was defined in order to come in X! under the 32K global data limit. X X For compilers, you can select from LSC or THINKC4 (or AZTEC if you want to X do some work). If you select AZTEC or LSC (not THINKC4) you'll have to X! define KR1ED and SMALLDATA (AZTEC users might be able to get around it). X! This sets up a macro which allows older preprocessors to make use of the X defined() construct. (The options in part 4 of config.h have a 1 X following them to allow the defined() macro to work.) X X--- 22,36 ---- X 4. Go to the include subdirectory and edit config.h according to the comments X to match your system and desired set of features. Similarly edit X macconf.h. COMPRESS and ZEROCOMP were undefined since I used the X! built-in Mac routines PackBits and UnpackBits. All the options were X! defined. BITFIELDS was defined in order to come in under the 32K X! global data limit. X X For compilers, you can select from LSC or THINKC4 (or AZTEC if you want to X do some work). If you select AZTEC or LSC (not THINKC4) you'll have to X! define KR1ED. SMALLDATA should be defined (AZTEC users might be able X! to get around it). X! KR1ED uses up a macro which allows older preprocessors to make use of the X defined() construct. (The options in part 4 of config.h have a 1 X following them to allow the defined() macro to work.) X X*************** X*** 43,50 **** X "#include hack.h". X X Under the "Set Project Type..." menu, select Application, File type 'APPL', X! Creator 'nh30', Partition 700K, Separate STRS, and select Background Null X! Events and Suspend & Resume Events from the Multifinder Popup menu. X X An executable with all features set, except for STRONGHOLD, will be around X 600K in size. X--- 44,51 ---- X "#include hack.h". X X Under the "Set Project Type..." menu, select Application, File type 'APPL', X! Creator 'nh30', Partition 700K, Separate STRS, and select Multifinder- X! Aware and Suspend & Resume Events from the Multifinder Popup menu. X X An executable with all features set, except for STRONGHOLD, will be around X 600K in size. X*************** X*** 96,101 **** X--- 97,132 ---- X If you're industrious you might try working on the special files. X If you compiled in the special levels, make sure castle, tower?, and X perhaps endgame are there, too. The lev_comp file will create these. X+ You may use precompiled headers here. Just make sure they are the X+ first #include or #define in the lev*.c files. THINK C 4 users make sure X+ that stdio.h won't try to include itself twice by prepending X+ a #ifndef _H_stdio X+ #define _H_stdio X+ to the beginning of stdio.h and a corresponding #endif at the end of the X+ file. X+ A couple of changes needed in lev_lex.c which couldn't be incorporated into X+ lev_lex.l (at least not now) if SMALLDATA is used: X+ Change X+ int yyleng; extern char yytext[]; X+ int yymorfg; X+ extern char *yysptr, yysbuf[]; X+ to X+ int yyleng; extern char *yytext; X+ int yymorfg; X+ extern char *yysptr, *yysbuf; X+ Change X+ char yytext[YYLMAX]; X+ to X+ char *yytext; X+ Change X+ char yysbuf[YYLMAX]; X+ char *yysptr = yysbuf; X+ to X+ char *yysbuf; X+ char *yysptr; X+ You'll probably have to comment out the second #define NLSTATE if you're X+ using Think/Lightspeed C. X+ There is code in lev_main.c to handle the changes. X X Notes: X X*** /dev/null Sun Nov 19 12:22:59 1989 X--- mac/Makedefs.rma Mon Nov 13 22:23:03 1989 X*************** X*** 0 **** X--- 1,79 ---- X+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; X+ ;; X+ ;; Makedefs.rma X+ ;; Rmaker file for NetHack 3 for the Macintosh X+ ;; N.B. You also need the hackfont.hqx file X+ ;; X+ ;; Copyright 1989 by Johnny Lee X+ ;; X+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; X+ MD.rsrc ;; name of output file X+ X+ X+ Type DLOG X+ *findFile dialog X+ FindFile,128 X+ X+ 40 80 100 300 X+ Invisible NoGoAway X+ 1 X+ 0 X+ 128 X+ X+ Type DITL X+ *for findFile dlg 4 8 80 212 X+ ,128 X+ 1 X+ X+ statictext disabled X+ 4 8 80 212 X+ Please locate^0 file^1 ^2\Dor press Cancel to abort. X+ X+ Type DLOG X+ Which option?,200 X+ X+ 40 40 200 320 X+ visible noGoAway X+ 1 X+ 0 X+ 200 X+ X+ Type DITL X+ ,200 X+ 9 X+ X+ button X+ 116 51 136 111 X+ OK X+ X+ button X+ 116 158 136 218 X+ Cancel X+ X+ radioButton X+ 15 15 35 75 X+ data X+ X+ radioButton X+ 15 95 35 155 X+ date X+ X+ radioButton X+ 40 95 60 180 X+ permonst X+ X+ radioButton X+ 15 180 35 250 X+ rumors X+ X+ radioButton X+ 40 15 60 75 X+ traps X+ X+ radioButton X+ 65 15 85 125 X+ object names X+ X+ radioButton X+ 65 145 85 270 X+ monst resource X*** /dev/null Sun Nov 19 12:23:12 1989 X--- mac/Nethack.rma Tue Nov 14 20:07:00 1989 X*************** X*** 0 **** X--- 1,409 ---- X+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; X+ ;; X+ ;; Nethack.rma X+ ;; Rmaker file for NetHack 3 for the Macintosh X+ ;; N.B. You also need the hackfont.res file X+ ;; X+ ;; Copyright 1989 by Johnny Lee X+ ;; X+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; X+ NH3.rsrc ;; name of output file X+ X+ X+ Type ICN# = GNRL X+ ,129 (32) X+ .H X+ 4BBA91A8 6A12AA28 5B13BA30 4A12AA28 X+ 4B92A9A8 00000010 08000010 09818010 X+ 0983C010 0983E010 08C3C010 08C18010 X+ 0863DF90 0867FF90 083FFF90 081BDF90 X+ 0803DF90 0803DF90 0803CF10 0803C610 X+ 08000010 08E25710 09055410 08E75610 X+ 08155410 08E52710 04000020 03FFFFC0 X+ 00000000 00000000 00000000 00000000 X+ * X+ 7FFFFFFF 7FFFFFFF 7FFFFFFF 7FFFFFFF X+ 7FFFFFFF 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 07FFFFE0 03FFFFC0 X+ 00000000 00000000 00000000 00000000 X+ X+ Type ICN# = GNRL X+ ,128 (32) X+ .H X+ 00000000 00000000 4BBA91A8 6A12AA30 X+ 5B13BA28 4A12AA28 4B92A9A8 00000000 X+ 00000000 30000000 38018000 1C03C000 X+ 0E03E780 0703CF80 03E18880 01C3C880 X+ 01E7E880 013FF980 001BDB80 0003CE80 X+ 0003CC80 0003C880 0003E480 0003F380 X+ 0003B800 00071C00 001E0C00 001C0C00 X+ 00180E00 001C0F00 00000000 00000000 X+ * X+ 7FFFFFFE FFFFFFFF FFFFFFFD FFFFFFFD X+ FFFFFFFD FFFFFFFF FFFFFFFD FFFFFFFF X+ FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF X+ FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF X+ FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF X+ FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF X+ FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF X+ FFFFFF87 FFFFFFD7 FFFFFF93 FFFFFFFF X+ X+ Type ICN# = GNRL X+ ,130 (32) X+ .H X+ 4BBA91A8 6A12AA28 5B13BA30 4A12AA28 X+ 4B92A9A8 00000000 04000020 09818010 X+ 0983C010 0983E010 08C3C010 08C18010 X+ 0863DF90 0867FF90 083FFF90 081BDF90 X+ 0803DF90 0803CF10 0803C610 0803C010 X+ 08000010 08000010 04000020 00000000 X+ 7459099C 42951550 61191598 42911550 X+ 7451C95C 00000000 00000000 00000000 X+ * X+ 7FFFFFFE 7FFFFFFE 7FFFFFFE 7FFFFFFE X+ 7FFFFFFE 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 0FFFFFF0 X+ 0FFFFFF0 0FFFFFF0 0FFFFFF0 FFFFFFFE X+ FFFFFFFE FFFFFFFE FFFFFFFE FFFFFFFE X+ FFFFFFFE FFFFFFFE 00000000 00000000 X+ X+ X+ Type ICN# = GNRL X+ ,131 (32) X+ .H X+ 00000000 4BBA91A8 6A12AA28 5B13BA30 X+ 4A12AA28 4B92A9A8 00000000 0FFFC000 X+ 0FFFC000 01800000 3FFFFC00 3FFFFC00 X+ 0000C000 003FFFF0 003FFFF0 001800C0 X+ 0FFE00C0 0FFE00C0 018000C0 03FFFFFE X+ 03FFFFFE 00000C00 00000C00 00000000 X+ 023ABA00 0222A200 0232B200 0222A200 X+ 03B93B80 00000000 00000000 00000000 X+ * X+ FFFFFFFC FFFFFFFC FFFFFFFC FFFFFFFC X+ FFFFFFFC FFFFFFFC FFFFFFFC 1FFFE000 X+ 1FFFE000 7FFFFE00 7FFFFE00 7FFFFE00 X+ 7FFFFFF8 007FFFF8 007FFFF8 1FFFFFE0 X+ 1FFFFFE0 1FFFFFE0 0FFFFFFF 0FFFFFFF X+ 0FFFFFFF 0FFFFFFC 0FFFFFFC 0FFFFFFC X+ 0FFFFFFC 0FFFFFFC 0FFFFFFC 0FFFFFFC X+ 0FFFFFFC 0FFFFFFC 00000000 00000000 X+ X+ Type ICN# = GNRL X+ ,132 (32) X+ .H X+ 00000000 4BBA91A8 6A12AA28 5B13BA30 X+ 4A12AA28 4B92A9A8 00000000 00C00300 X+ 014FF280 02300C40 01A00580 00400200 X+ 00466200 00466200 00400200 00600600 X+ 00218400 00500A00 019BD980 02281440 X+ 024BD240 01442280 0083C100 00000000 X+ 0E325CE0 094B5100 0E4AD8C0 094A5020 X+ 0E325DC0 00000000 00000000 00000000 X+ * X+ FFFFFFFC FFFFFFFC FFFFFFFC FFFFFFFC X+ FFFFFFFC FFFFFFFC FFFFFFFC 01FFFF80 X+ 03FFFFC0 07FFFFE0 07FFFFE0 03FFFFC0 X+ 00FFFF00 00FFFF00 00FFFF00 00FFFF00 X+ 00FFFF00 01FFFF80 03FFFFC0 07FFFFE0 X+ 07FFFFE0 07FFFFE0 07FFFFE0 FFFFFFFF X+ FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF X+ FFFFFFFF FFFFFFFF 00000000 00000000 X+ X+ X+ Type nh30 = STR X+ ,0 X+ NetHack Version 3.0g for the Macintosh( X+ X+ Type HDTA = GNRL X+ Apple menu,201 X+ .H X+ 3F00 ;; ?. X+ X+ Type HDTA = GNRL X+ File menu,202 X+ .H X+ 4F760012 10005300 51 ;; Ov....S.Q X+ X+ Type HDTA = GNRL X+ Inventory menu,204 X+ .H X+ 69706444 2C402F43 ;; ipdD,@/C X+ X+ Type HDTA = GNRL X+ Actions menu,205 X+ .H X+ 61657172 747A5A ;; aeqrtzZ X+ X+ Type HDTA = GNRL X+ Preparations menu,206 X+ .H X+ 77505254 57295B3D 5C28 ;; wPRTW)[=\( X+ X+ Type HDTA = GNRL X+ Movement menu,207 X+ .H X+ 6F630473 3C3E142E 45 ;; oc.s<>..E X+ X+ Type HDTA = GNRL X+ Edit menu,203 X+ .H X+ 00000000 0000 X+ X+ Type HDTA = GNRL X+ Extended Commands,208 X+ .H X+ 6364666A 6C6D6E6F 70727374 7577 ;; cdfjlmnoprstuw X+ X+ Type HDTA = GNRL X+ graphics,102 X+ .H X+ 20BACDC9 BBC8BCCE CACBB9CC B3C45C2F X+ B0CDBAEF FAB03C3E 5E227D7B 235C5F3C X+ 3E232300 X+ X+ Type HDTA = GNRL X+ keymap,103 X+ .H X+ 2E6C0000 0068006A 00000070 6B6D0000 X+ 0069626A 6E686F6C 79006B75 0000E3E4 X+ E6EAECED CEEFF2F3 F4F5F78D B6C4C6C2 X+ B5F6BFA8 A7A0E8B7 0000686C 6A6B X+ X+ Type HDTA = GNRL X+ ,100 X+ .H X+ 00000002 00000009 064D6F6E 61636F X+ X+ Type FREF X+ Application,128 X+ APPL 0 X+ X+ Type FREF X+ Save Char File,129 X+ SAVE 1 X+ X+ Type FREF X+ Explore file,130 X+ XPLR 2 X+ X+ Type FREF X+ Level Temp File,131 X+ LEVL 3 X+ X+ Type FREF X+ Bones File,132 X+ BONE 4 X+ X+ Type BNDL X+ NetHack for Mac,128 X+ nh30 0 X+ ICN# X+ 0 128 1 129 2 130 3 131 4 132 X+ FREF X+ 0 128 1 129 2 130 3 131 4 132 X+ X+ Type DLOG X+ *findFile dialog X+ FindFile,128 X+ X+ 40 80 100 300 X+ Invisible NoGoAway X+ 1 X+ 0 X+ 128 X+ X+ Type DLOG X+ *findFile dialog X+ About NetHackI,129 X+ X+ 63 10 263 360 X+ Invisible NoGoAway X+ 1 X+ 0 X+ 129 X+ X+ Type DITL X+ *for findFile dlg 4 8 80 212 X+ ,128 X+ 1 X+ X+ statictext disabled X+ 4 8 80 212 X+ Please locate^0 file^1 ^2\Dor press Cancel to abort. X+ X+ Type DITL X+ ,129 X+ 8 X+ X+ button X+ 155 60 175 120 X+ OK X+ X+ button X+ 155 184 175 274 X+ More InfoI X+ X+ picItem X+ 10 28 26 310 X+ 100 X+ X+ staticText X+ 68 109 86 225 X+ See license for details. X+ X+ staticText X+ 36 64 52 291 X+ Copyright 1985, 1986, 1987, 1988, 1989. X+ X+ staticText X+ 51 37 69 323 X+ By Stichting Mathematisch Centrum and Mike Stephenson. X+ X+ staticText X+ 85 109 140 333 X+ Bug reports - email t-jlee@microsoft.UUCP or\DJohnny Lee\0D388 Cummer Ave.\DWillowdale, Ont. CANADA M2M 2G2 X+ X+ staticText X+ 97 16 116 110 X+ Macintosh port by: X+ X+ Type MENU X+ File,102 X+ File X+ Set options X+ Version number X+ Invert Screen X+ Redraw screen X+ Repeat last message X+ (- X+ Save game X+ (- X+ Quit X+ X+ Type MENU X+ Edit,103 X+ Edit X+ Undo /Z X+ (- X+ Cut /X X+ Copy /C X+ Paste /V X+ Clear X+ X+ Type MENU X+ Inventory,104 X+ Inventory X+ Do inventory X+ Pay bill X+ Drop object X+ Drop several objects X+ Pick up object X+ Toggle pickup X+ Identify object X+ Name monster X+ X+ Type MENU X+ Action,105 X+ Action X+ Apply/use object X+ Eat object X+ Quaff potion X+ Read scroll/book X+ Throw/shoot weapon X+ Zap wand X+ Cast spell X+ X+ Type MENU X+ Prep,106 X+ Prep X+ Wield weapon X+ Put on ring X+ Remove ring X+ Remove armor X+ Wear armor X+ Current weapon X+ Current armor X+ Current rings X+ Current amulet X+ Current tools X+ X+ Type MENU X+ Move,107 X+ Move X+ Open door X+ Close door X+ Kick door X+ Search X+ Go up stairs X+ Go down stairs X+ Teleport X+ Wait X+ Engrave message X+ X+ Type MENU X+ Extended Commands,108 X+ Extended X+ Chat X+ Dip object X+ Force chest lock X+ Jump X+ Loot box X+ Use monster ability X+ Name object X+ Offer sacrifice X+ Pray X+ Rub lamp X+ Sit down X+ Turn undead X+ Untrap object X+ Wipe face X+ X+ Type PICT = GNRL X+ ,100 X+ .H X+ 024C X+ 0020 0079 002E 0193 X+ 11 01 A0 00 82 A0 00 8E 01 00 0A 00 20 00 71 02 X+ D0 02 40 98 00 24 00 00 00 08 00 0E 01 28 00 00 X+ 00 08 00 0E 01 22 00 20 00 79 00 2E 01 93 00 01 X+ 21 0F F8 7E 00 00 7F 3F 80 00 01 E0 00 7E 00 3C X+ 00 1E FE 00 06 01 E0 00 00 3F 03 F0 FA 00 02 01 X+ E0 00 22 05 38 18 00 00 1C 0E FE 00 06 E0 00 E7 X+ 00 E7 00 3F FD 00 08 E0 00 00 0F 03 C0 00 00 1C X+ FC 00 01 E0 00 25 05 3C 18 00 1C 1C 0E FE 00 06 X+ E0 00 E3 80 E7 00 77 FE 00 0B 70 E0 00 00 0F 87 X+ C0 00 00 1C 00 07 FE 00 01 E0 00 24 05 3E 18 00 X+ 1C 1C 0E FE 00 06 E0 00 03 81 C3 80 70 FE 00 06 X+ 70 E0 00 00 0F 87 C0 FD 00 00 07 FE 00 01 E0 00 X+ 24 05 3F 18 00 1C 1C 0E FE 00 06 E0 00 03 81 C3 X+ 80 70 FE 00 06 70 E0 00 00 0F 87 C0 FD 00 00 07 X+ FE 00 01 E0 00 25 23 37 18 3E 3F 1C 0E 07 81 F0 X+ EF 80 07 01 C3 81 FC 7E 3D C0 FC FF 07 C0 0D CD X+ C0 F0 3E 3C FF 8F C7 E1 FC FF 00 25 23 33 98 77 X+ 1C 1F FE 1C C3 9C E6 00 3E 01 C3 80 70 E7 1F C0 X+ 70 F7 8E E0 0D CD C3 98 73 9C 7B C7 0E 73 9C F7 X+ 80 25 23 33 D8 E3 9C 1C 0E 1C E7 1C EC 00 07 01 X+ C3 80 71 C3 9E 00 70 E3 9C 70 0D CD C3 9C E3 9C X+ 71 C7 1C 3B 0C E3 80 25 23 31 D8 E3 9C 1C 0E 00 X+ E7 00 F8 00 03 81 C3 80 71 C3 9C 00 70 E3 9C 70 X+ 0C F9 C0 1C E0 1C 71 C7 1C 3B C0 E3 80 25 23 30 X+ F8 FF 9C 1C 0E 07 E7 00 F8 00 03 81 C3 80 71 C3 X+ 9C 00 70 E3 9F F0 0C F9 C0 FC E0 1C 71 C7 1C 39 X+ F8 E3 80 25 23 30 F8 E0 1C 1C 0E 1C E7 00 FC 00 X+ 03 81 C3 80 71 C3 9C 00 70 E3 9C 00 0C F9 C3 9C X+ E0 1C 71 C7 1C 38 3C E3 80 25 23 30 78 E1 9C 1C X+ 0E 38 E7 0C EE 01 C3 80 E7 00 71 C3 9C 00 70 E3 X+ 9C 30 0C 71 C7 1C E1 9C 71 C7 1C 3B 0C E3 80 25 X+ 23 30 38 73 9D 9C 0E 39 E3 9C E7 01 C7 1C E7 00 X+ 70 E7 1C 00 76 E3 8E 70 0C 71 C7 3C 73 9C 71 C7 X+ 6E 73 9C E3 80 25 23 FC 18 3F 0F 7F 3F 9F F1 F9 X+ FF C0 FE 1C 3C 00 F8 7E 3E 00 3D F7 C7 E0 3F 77 X+ F3 FE 3F 3E FB E3 C7 E3 F9 F7 C0 A0 00 8F A0 00 X+ 83 FF X*** mac/Old/Segments.mac Sun Nov 19 12:23:26 1989 X--- mac/Segments.mac Sat Nov 11 17:11:45 1989 X*************** X*** 21,26 **** X--- 21,27 ---- X getline.c X mac.c X macfile.c X+ MacTraps X pcmain.c X prisym.c X random.c X*************** X*** 31,37 **** X apply.c X attrib.c X do.c X- hack.c X X ===== Seg 3 ===== X dog.c X--- 32,37 ---- X*************** X*** 39,44 **** X--- 39,45 ---- X dokick.c X dothrow.c X do_name.c X+ hack.c X X ===== Seg 4 ===== X do_wear.c X*************** X*** 87,95 **** X pray.c X pri.c X priest.c X- read.c X X ===== Seg 12 ===== X restore.c X rumors.c X save.c X--- 88,96 ---- X pray.c X pri.c X priest.c X X ===== Seg 12 ===== X+ read.c X restore.c X rumors.c X save.c X*************** X*** 97,105 **** X sit.c X sounds.c X spell.c X- steal.c X X ===== Seg 13 ===== X timeout.c X topl.c X track.c X--- 98,107 ---- X sit.c X sounds.c X spell.c X X ===== Seg 13 ===== X+ sp_lev.c X+ steal.c X timeout.c X topl.c X track.c X*************** X*** 116,122 **** X zap.c X X ===== Seg 15 ===== X- MacTraps X stdio [LIB] X storage [LIB] X strings [LIB] X--- 118,123 ---- X*** /dev/null Sun Nov 19 12:23:41 1989 X--- mac/hackfont.hqx Fri Oct 27 21:04:33 1989 X*************** X*** 0 **** X--- 1,66 ---- X+ This is a binhexed copy of the font resources to be used X+ with Nethack 3.0 for the Macintosh. X+ Font courtesy of Dave Allverson. X+ X+ (This file must be converted with BinHex 4.0) X+ :#'C[ER3ZFQ9c!(*cFQ058d9%!3!!!!!!!!!,'ppf!!!!!!%!!!!+c!!!#F`!!!" X+ 2E2hbrq*q!@"'5'lrkMm(U!p#CbmZrqUS$6PIrI3pE2d)CQpZG#jbCA0Z!J!!!(* X+ cFQ058d9%!!!!J`!E!!!!!!!!FR0bBe*6483!!!#$!"X!!!!!!!!!!!!!!!!!!!! X+ !!!#KE8mb!!!!!!!!#a[HIJ&J9%KZrqSr"kJ23QF[,[rUU!djArhd2@cpp2rFI!& X+ J,%KXrF)[,[rU2`C1V3(k3QHTVdTICK*+V2h+C``[,[rU2bcp`NkY!J*54QN'['l X+ rh'r18NGT"VjZrpj[TL"&)+lrpKmm!!'TQb"V!&`J8#eS!"$rjLmV!'![+`"F6Ud X+ "!!!*L*!!!!!!!2i!"J!!rrF!"J!,!lX!#3!#!!!!2`!!!!!!!!!!!!!!!!!!!!! X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!E!!!!!!!!!SJJ!!!!! X+ !8S!!!'!!!$3!!!3`J!V@X4+!#d"5L%%!J!NUJ+!S!S3S!#S!+%%IJIrJ!r!!!!$ X+ R!%!!m!!!!%!!!"c!!!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! X+ !!!!!!!#!!!!!!!!!!!$J!+%3"$!)!J8"4!!)""%!!!$!!)*%*YJ!!!44!!!Vm4+ X+ !#d"5L%%!J!NUJ+!S!S3S!#S!+%%IJIrJ'K!!!!")J+!&"i!!#%!'!"-J!08jl%` X+ J!!A,R#qllR!!$R1mlhrZM`aK',[1mlmBaM(r'J)%!"!B)6#!!!!!"!!!!!&6AI) X+ T3NJ8S9Ujh`28SLL+G%%Sq)5)5dABJ!553!V@X4+!#d"5L%%!J!NUJ+!S!S3S!#S X+ !+%%IJIrJ*J"m!'cSZ)!+#%!N0%!*!"*"lGr@XT+T!!BmBQK!-BJJNBaM'-)4LJb X+ K[-BaM%NBa9%0$3%%!"!J)"#!!!!!"!!!!!&9Sr!!!$!!!!"'-!8!!!!!M%N&4)! X+ !!'CN!!98!!!Vm4+!#d"5L%%!J!NUJ+!S!S3S!#S!+%%IJIrJ4J!N!"0Ba%"k#(m X+ L9%JCF(+"*B95e#&a!!TS3Upi-BeI3HaM#-)3LJdK@XBaM!NBa*%8L!"rR2Gcr6, X+ kc[2XriaV'2e3)+FplhZFjb6'-(8FjdBaM&h2aFqG'eCNJ!+U`!V@XI+$qhr5q%% X+ !J!RUrlr[r[mVm#[`+r%IJIrZbJq4q4&IaGZAq%$jN!"!j[K6r5@2Z8JKVmq+U)d X+ Ja%k)J#+[r3MldrS1)4R(dI1*'-5+*)J!M'-BT'-dec'-F`5-DUL+###SaM'-BaL X+ Nrrk[SaM'-BaV!RL4Sac0f4rm-Y-J+rmHr%0#(irrrrrr,L!!)!!!r!rq6ra2rrr X+ rm8S&#LN4@-BePJPr)P"r%2L!(5@&&E8K)3!6+32`a*&iAd6dB`M#%BU0)4M'%BK X+ *'05%4%J!M'%IT'-meM'-B15-DNL48#$[aM'-2rqNaM$p)aM'-BaT$mL4SaM%!K! X+ )3q5DeV(bPrYlm(L!")!*kqrqlrlr!r+$qL[`Rrri%8B&%LN3k-BlTJK!*$"!i2k X+ !(58!9V)5!3!5+L)Sa*%)))#%BaM#%BU-S4M'%Ba*&@e%K%J!R'%B*'-beM'-B"5 X+ DUULK8#*)6R1F)3JNaM#P)aM1FBaV%Pb6ScM(rM!)J153!#[a%T4,5J!!J!5!#5J X+ S!UJ#J!"#J%SS3*rrq"&'"5BT%%LU)+8)I`!353"a!!%PJ$T0$!!3BFrF*cL1G3! X+ %G(c[IJk2G(mBZJk,L1*'*2iir'qHpk2M-GBZmq(MD48Ar9!F4l@YDplhT-Br[Gc X+ R0DpcRH*)MCcBa!(!!1$6+YDa%T4,5J!!J!5!#5JS!UJ#J!"#J%SS3*rrq!lD"Ah X+ 1N!$REF"iq%$rmN!!!3!"l3!3!!!!%#!!!!!!!!%!!!!!!!!!!!!!!!!"!!!!!!! X+ !)!!!!!!!3#!!!)"!!!!!!)$J"1!!!!%!!!!!!!!!!!!"!!J!$)!!!!!!!!!!!!! X+ Vm4+85dS!!)!%J!NS+!+S!S!!3S"++%#IrrJ!3!!!#!!!!!"!$m!!%N!!!!!!!!! X+ !!!!!)!!!!!!!!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$J-!!!)"!!!!!"`! X+ !#!!!!!)!!!!!!!!!!!!1!!!!!`!!!!!!!!!!!!V@X4+85dS!!)!%J!NS+!+S!S! X+ !3S"++%#IrrJ!!!!!#!!!!!#!!!!!%B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! X+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! X+ !!!%!"!!*!!i!%`!B!"S!(3!J!#8!+J!X!$%!-J!f!$X!23"#!%F!6!"4!&B!@`" X+ J!'8!CJ"S!'X!F!"c!(J!I3##!)F!M!#4!*B!Q`#J!+8!U!#Y!,)!Y`#m!-%!aJ$ X+ ,!0!!e3$D!0m!j!$T!1i!m`$i!2d!r`%$!38"#!%1!4!"&3%D!4m"*!%T!5d"-J% X+ h!6J"1`&!!8%"4J&,!9!"93&D!9m"C!&S!@d"FJ&h!A`"J3''!BN"LJ'0!C)"NJ' X+ A!C`"S3'Q!DX"X!'e!ES"[`(%!FN"c!(2!G%"eJ(E!H!"j3(U!Hm"p!(j!Ii#!`) X+ )!Jd#%J)A!K`#)3)Q!LX#-!)b!MF#2!*"!NB#5J*1!P-#@!*G!Q-#D3*U!Qm#G!* X+ j!Ri#J`+%!SJ#M!+4!TB#QJ+I!U)#T`+X!V%#Y3+j!V`#`J,)!XX#d3,A!YS#hJ, X+ L!ZB#l!,b![B#r!-#!`J$$J-8!aS$(J-K!b3$+!-Z!c3$1!-l!d%$4`0+!dd$8`0 X+ C!ei$C!0T!fi$G!0j!hm$K!1*!ii$N`1B!ji$T!1U!l!$Y31i!lX$[J2#!mF$c!2 X+ 3!p8$eJ2E!pm$i`2Q!q`!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J! X+ '!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'"JB#"J%'!!B!"J!'!!B#"J% X+ '!JB!"J!'!3B!"J)'!3B!"J)'!!B!"J!'!!B!"J!'!!B!"J)'!3B""J!'!3B!"J! X+ '!!B!"J!'!!B!"J!'!!B!"J%'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J! X+ '!!B!"J)'!3B#"J%'!!B""J!'!!B!"J!'!!B""J!'!!B#"J!'!!B#"J!'!!B!"J! X+ '!!B!"J!'!3B!"J!'!!B!"J!'!!B#"J)'!3B!"J!!!!B!"J!'!!B!"J!'!!B!"J! X+ '!!B!"J%'!3B""J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J!'!!B!"J! X+ '!JB!"J!'!!B!"J%'!3B!"J!'!!B!"J!'!`B!"J!'!!B!"J!'!`B!"J!'!!B!"J! X+ '!!B#"J!'!!B!"J!'!!B$"J!'!!B$"J!'!!B$"J)'!JB#"J!'!!B#"J!'!!B!"J! X+ '!!B!"J)'!`B$"J)'!!B!"J!'!`B!"J!'!!B$"J!'!!B!"J!'!!B!"J!'!!B!"J! X+ '!!B!"J!'!!B!"J!'!!B!"J!'!3B""J-'!!B!"J!'!3B!"J)'!!B!"J!'!3B!"[r X+ r!!!!2'!!!*F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! X+ !!!!!!!!!!!%!!!!*!!",L3!!!3!!!!V-!!!*c!!!!%m!*Pad"lJ!!!!F!%B!!8C X+ 26P3!!!!54Np14!!!!"j,LIrr)!!!!!!R!E`!P`!!"3!*M!!R!CJ)5'&MDdC[ER3 X+ 2'3: X*** mac/Old/mac.c Sun Nov 19 12:23:53 1989 X--- mac/mac.c Tue Nov 14 20:31:40 1989 X*************** X*** 62,67 **** X--- 62,68 ---- X GetPort(&oldPort); X SetPort(HackWindow); X while (!ch) { X+ keyCode = 0; X GetPort(&oldPort1); X SetPort((GrafPtr)HackWindow); X /* do cursor blinking */ X*************** X*** 436,442 **** X TextFont(t->fontNum); X TextSize(t->fontSize); X TextMode(srcCopy); X- macflags &= ~0x1000; X /* a termcap-type escape string */ X if (!strncmp(s, "\033[", 2)) { X switch(*(s + 2)) { X--- 437,442 ---- X*************** X*** 444,453 **** X if (t->inColor) { X temp = (short)(*(s + 3) - 'a'); X if (temp >= BLACK && temp < MAXCOLORS && X! (temp % (MAXCOLORS / 2) != GRAY)) /* set colour */ X ForeColor(t->color[temp % (MAXCOLORS / 2)]); X if (temp == GRAY) X! macflags |= 0x1000; X /* yellow fgnd hard to see on white bgnd */ X /* so change to green background */ X if (temp == YELLOW || temp == BROWN) X--- 444,453 ---- X if (t->inColor) { X temp = (short)(*(s + 3) - 'a'); X if (temp >= BLACK && temp < MAXCOLORS && X! (temp % (MAXCOLORS / 2) != GRAY)) /* set colour */ X ForeColor(t->color[temp % (MAXCOLORS / 2)]); X if (temp == GRAY) X! ForeColor(t->color[0]); X /* yellow fgnd hard to see on white bgnd */ X /* so change to green background */ X if (temp == YELLOW || temp == BROWN) X*************** X*** 532,538 **** X X if (sLen) { X while (stmp < (s + sLen)) { X! temp = (x + charleft - 1 < t->maxCol) ? sLen : t->maxCol - x; X savech = '\0'; X c1 = stmp + temp; /* point to the char after the end */ X c = index(stmp, '\n'); X--- 532,538 ---- X X if (sLen) { X while (stmp < (s + sLen)) { X! temp = (x + charleft - 1 < t->maxCol) ? charleft : t->maxCol - x; X savech = '\0'; X c1 = stmp + temp; /* point to the char after the end */ X c = index(stmp, '\n'); X*************** X*** 623,639 **** X SysBeep(1); X } else if ((c != '\n') && (c != '\r')) { X t->screen[y][x] = c; X- if (macflags & 0x1000) { X- eraseRect.top = cur.v -t->ascent; X- eraseRect.bottom = eraseRect.top + t->height; X- eraseRect.left = cur.h; X- eraseRect.right = cur.h + t->charWidth; X- GetPenState(&pnState); X- FillRect(&eraseRect, dkGray); X- SetPenState(&pnState); X- macflags &= ~0x1000; X- TextMode(srcOr); X- } X DrawText(&c, 0, 1); X if (!savech) X t->tcur_x++; X--- 623,628 ---- X*************** X*** 812,818 **** X } else { X while (!itemHit) { X if (GetNextEvent(everyEvent,&theEvent)) X! if (theEvent.what == mouseDown) X itemHit = OK_BUTTON; X } X } X--- 801,809 ---- X } else { X while (!itemHit) { X if (GetNextEvent(everyEvent,&theEvent)) X! if (theEvent.what == mouseDown || X! theEvent.what == keyDown || X! theEvent.what == autoKey) X itemHit = OK_BUTTON; X } X } X*** mac/Old/macfile.c Sun Nov 19 12:24:28 1989 X--- mac/macfile.c Tue Nov 14 20:31:44 1989 X*************** X*** 79,86 **** X */ X X FILE * X! openFile(fileName) X! char *fileName; X { X term_info *t; X SFReply reply; X--- 79,86 ---- X */ X X FILE * X! openFile(fileName, rdmode) X! char *fileName, *rdmode; X { X term_info *t; X SFReply reply; X*************** X*** 89,96 **** X t = (term_info *)GetWRefCon(HackWindow); X if (t->auxFileVRefNum) { X SetVol(0L,t->auxFileVRefNum); X! } X! fp = fopen(fileName,"r"); X if (!fp && findNamedFile(fileName,2,&reply)) { X if (reply.good) { X t->auxFileVRefNum = reply.vRefNum; X--- 89,99 ---- X t = (term_info *)GetWRefCon(HackWindow); X if (t->auxFileVRefNum) { X SetVol(0L,t->auxFileVRefNum); X! } else X! SetVol(0L, t->recordVRefNum); X! X! reply.good = false; X! fp = fopen(fileName, rdmode); X if (!fp && findNamedFile(fileName,2,&reply)) { X if (reply.good) { X t->auxFileVRefNum = reply.vRefNum; X*************** X*** 97,104 **** X } X } X if (!fp) X! fp = fopen(fileName,"r"); X! else if (!t->auxFileVRefNum) { X (void)GetVol((StringPtr)&reply.fName,&t->auxFileVRefNum); X } X return fp; X--- 100,107 ---- X } X } X if (!fp) X! fp = fopen(fileName, rdmode); X! else if (!t->auxFileVRefNum && reply.good) { X (void)GetVol((StringPtr)&reply.fName,&t->auxFileVRefNum); X } X return fp; X*** mac/Old/macinit.c Sun Nov 19 12:24:45 1989 X--- mac/macinit.c Tue Nov 7 14:26:00 1989 X*************** X*** 238,243 **** X--- 238,258 ---- X panic("Can't get MONST resource data."); X } X X+ temp = GetResource(HACK_DATA, OBJECT_DATA); X+ if (temp) { X+ DetachResource(temp); X+ MoveHHi(temp); X+ HLock(temp); X+ i = GetHandleSize(temp); X+ objects = (struct objclass *)(*temp); X+ for (j = 0; j< NROFOBJECTS+1; j++) { X+ objects[j].oc_name = sm_obj[j].oc_name; X+ objects[j].oc_descr = sm_obj[j].oc_descr; X+ } X+ } else { X+ panic("Can't get OBJECT resource data."); X+ } X+ X (void)aboutBox(0); X return 0; X } X*************** X*** 258,263 **** X--- 273,279 ---- X { X short i; X char *l; X+ extern char **Map; X X l = calloc(COLNO , sizeof(struct rm **)); X level.locations = (struct rm **)l; X*************** X*** 285,290 **** X--- 301,314 ---- X level.objlist = (struct obj *)0L; X level.monlist = (struct monst *)0L; X X+ l = calloc(COLNO, sizeof(char *)); X+ Map = (char **)l; X+ l = calloc(ROWNO * COLNO, sizeof(char)); X+ for (i = 0; i < COLNO; i++) { X+ Map[i] = X+ (char *)(l + (i * ROWNO * sizeof(char))); X+ } X+ X } X X /* Since NetHack usually exits before reaching end of main() */ X*** mac/Old/nethack.r Sun Nov 19 12:25:23 1989 X--- mac/nethack.r Mon Nov 13 22:25:21 1989 X*************** X*** 313,319 **** X X data 'HDTA' (102, "graphics") { X $"20 BA CD C9 BB C8 BC CE CA CB B9 CC B3 C4 5C 2F"/* :MI;H<NJK9L3D\/ */ X! $"EF FA B0 3C 3E 5E 22 7D 7B 23 5C 5F 3C 3E 23 23"/* ..0<>^"}{#\_<>## */ X }; X X data 'HDTA' (103, "keymap") { X--- 313,320 ---- X X data 'HDTA' (102, "graphics") { X $"20 BA CD C9 BB C8 BC CE CA CB B9 CC B3 C4 5C 2F"/* :MI;H<NJK9L3D\/ */ X! $"B0 CD BA EF FA B0 3C 3E 5E 22 7D 7B 23 5C 5F 3C"/* ..0<>^"}{#\_<>## */ X! $"3E 23 23 00" X }; X X data 'HDTA' (103, "keymap") { END_OF_FILE if test 53204 -ne `wc -c <'patches06a'`; then echo shar: \"'patches06a'\" unpacked with wrong size! fi # end of 'patches06a' fi echo shar: End of archive 10 \(of 15\). cp /dev/null ark10isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 15 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0