billr@saab.CNA.TEK.COM (Bill Randle) (10/18/89)
Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu> Posting-number: Volume 8, Issue 53 Archive-name: NetHack3/Patch5f 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 6 (of 6)." # Contents: patches05f # Wrapped by billr@saab on Tue Oct 17 13:17:13 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'patches05f' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patches05f'\" else echo shar: Extracting \"'patches05f'\" \(42408 characters\) sed "s/^X//" >'patches05f' <<'END_OF_FILE' X*** src/Old/read.c Sun Oct 15 18:57:18 1989 X--- src/read.c Thu Oct 12 16:51:27 1989 X*************** X*** 52,57 **** X--- 52,58 ---- X pline("Being blind, you cannot read the formula on the scroll."); X return(0); X } X+ scroll->in_use = TRUE; /* now being read */ X #ifdef SPELLS X if(scroll->olet == SPBOOK_SYM) { X if(confused) { X*************** X*** 911,917 **** X return; X } X #ifdef POLYSELF X! else if ((how & REALLY) && ptr == &mons[u.umonnum]) rehumanize(); X #endif X ptr->geno |= G_GENOD; X for(mtmp = fmon; mtmp; mtmp = mtmp2) { X--- 912,918 ---- X return; X } X #ifdef POLYSELF X! else if (ptr == uasmon) rehumanize(); X #endif X ptr->geno |= G_GENOD; X for(mtmp = fmon; mtmp; mtmp = mtmp2) { X*** src/Old/restore.c Sun Oct 15 18:58:06 1989 X--- src/restore.c Sat Oct 14 22:42:55 1989 X*************** X*** 90,95 **** X--- 90,100 ---- X else otmp2->nobj = otmp; X mread(fd, (genericptr_t) otmp, (unsigned) xl + sizeof(struct obj)); X if(!otmp->o_id) otmp->o_id = flags.ident++; X+ /* Things that were marked "in_use" when the game was saved (eg. via X+ * the infamous "HUP" cheat get used up here. X+ */ X+ if(otmp->olet != ARMOR_SYM && otmp->olet != WEAPON_SYM X+ && otmp->otyp != PICK_AXE && otmp->in_use) useup(otmp); X #ifdef TUTTI_FRUTTI X if(ghostly && otmp->otyp == SLIME_MOLD) { X for(oldf=oldfruit; oldf; oldf=oldf->nextf) X*************** X*** 127,133 **** X off_t differ; X X mread(fd, (genericptr_t)&monbegin, sizeof(monbegin)); X! #if !defined(MSDOS) && !defined(M_XENIX) X differ = (genericptr_t)(&mons[0]) - (genericptr_t)(monbegin); X #else X differ = (long)(&mons[0]) - (long)(monbegin); X--- 132,138 ---- X off_t differ; X X mread(fd, (genericptr_t)&monbegin, sizeof(monbegin)); X! #if !defined(MSDOS) && !defined(M_XENIX) && !defined(THINKC4) X differ = (genericptr_t)(&mons[0]) - (genericptr_t)(monbegin); X #else X differ = (long)(&mons[0]) - (long)(monbegin); X*************** X*** 146,152 **** X mread(fd, (genericptr_t) mtmp, (unsigned) xl + sizeof(struct monst)); X if(!mtmp->m_id) X mtmp->m_id = flags.ident++; X! #if !defined(MSDOS) && !defined(M_XENIX) X /* ANSI type for differ is ptrdiff_t -- X * long may be wrong for segmented architecture -- X * may be better to cast pointers to (struct permonst *) X--- 151,157 ---- X mread(fd, (genericptr_t) mtmp, (unsigned) xl + sizeof(struct monst)); X if(!mtmp->m_id) X mtmp->m_id = flags.ident++; X! #if !defined(MSDOS) && !defined(M_XENIX) && !defined(THINKC4) X /* ANSI type for differ is ptrdiff_t -- X * long may be wrong for segmented architecture -- X * may be better to cast pointers to (struct permonst *) X*************** X*** 281,287 **** X #endif X X restnames(fd); X! #ifdef DGK X msmsg("\n"); X cl_end(); X msmsg("You got as far as level %d%s.\n", maxdlevel, X--- 286,295 ---- X #endif X X restnames(fd); X! #if defined(DGK) || defined(MACOS) X! # ifdef MACOS X! #define msmsg printf X! # endif X msmsg("\n"); X cl_end(); X msmsg("You got as far as level %d%s.\n", maxdlevel, X*************** X*** 299,311 **** X break; X getlev(fd, 0, ltmp, FALSE); X glo(ltmp); X! #ifdef DGK X msmsg("."); X #endif X #if defined(MSDOS) && !defined(TOS) X nfd = open(lock, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, FCMASK); X #else X nfd = creat(lock, FCMASK); X #endif X if (nfd < 0) panic("Cannot open temp file %s!\n", lock); X #if defined(DGK) && !defined(OLD_TOS) X--- 307,343 ---- X break; X getlev(fd, 0, ltmp, FALSE); X glo(ltmp); X! #if defined(DGK) || defined(MACOS) X msmsg("."); X #endif X #if defined(MSDOS) && !defined(TOS) X nfd = open(lock, O_WRONLY | O_BINARY | O_CREAT | O_TRUNC, FCMASK); X #else X+ # ifdef MACOS X+ { X+ Str255 fileName; X+ OSErr er; X+ struct term_info *t; X+ short oldVolume; X+ extern WindowPtr HackWindow; X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ (void)GetVol(&fileName, &oldVolume); X+ (void)SetVol(0L, t->system.sysVRefNum); X+ fileName[0] = (uchar)strlen(lock); X+ Strcpy((char *)&fileName[1], lock); X+ X+ if (er = Create(&fileName, 0, CREATOR, LEVEL_TYPE)) X+ SysBeep(1); X+ else { X+ msmsg("."); X+ nfd = open(lock, O_WRONLY | O_BINARY); X+ } X+ (void)SetVol(0L, oldVolume); X+ } X+ # else X nfd = creat(lock, FCMASK); X+ # endif /* MACOS */ X #endif X if (nfd < 0) panic("Cannot open temp file %s!\n", lock); X #if defined(DGK) && !defined(OLD_TOS) X*************** X*** 470,476 **** X--- 502,531 ---- X done(TRICKED); X } X X+ #if defined(SMALLDATA) && defined(MACOS) X+ { X+ /* this assumes that the size of a row of struct rm's is <128 */ X+ short i, length, j; X+ char *ptr, *src, *p, *d; X+ X+ d = calloc(ROWNO*COLNO, sizeof(struct rm)); X+ p = d; X+ mread(fd, (genericptr_t)&j, sizeof(short)); X+ mread(fd, (genericptr_t)d, j); X+ for (i = 0; i < COLNO; i++) { X+ length = (short)(*p++); X+ ptr = p; X+ src = (char *)&levl[i][0]; X+ UnpackBits(&ptr, &src, ROWNO * sizeof(struct rm)); X+ if ((ptr - p) != length) X+ panic("restore - corrupted file on unpacking\n"); X+ p = ptr; X+ } X+ free(d); X+ } X+ #else X mread(fd, (genericptr_t) levl, sizeof(levl)); X+ #endif X mread(fd, (genericptr_t) &osymbol, sizeof(osymbol)); X if (memcmp((genericptr_t) &osymbol, X (genericptr_t) &showsyms, sizeof (struct symbols)) X*************** X*** 635,641 **** X X /* regenerate animals while on another level */ X { long tmoves = (moves > omoves) ? moves-omoves : 0; X! register struct monst *mtmp, *mtmp2; X X for(mtmp = fmon; mtmp; mtmp = mtmp2) { X X--- 690,696 ---- X X /* regenerate animals while on another level */ X { long tmoves = (moves > omoves) ? moves-omoves : 0; X! register struct monst *mtmp2; X X for(mtmp = fmon; mtmp; mtmp = mtmp2) { X X*** src/Old/rumors.c Sun Oct 15 18:59:09 1989 X--- src/rumors.c Sat Oct 14 22:43:14 1989 X*************** X*** 111,117 **** X--- 111,123 ---- X Strcat(tmp,RUMORFILE); X if(rumors = fopen(tmp, "r")) { X #else X+ # ifdef MACOS X+ if(rumors = fopen(RUMORFILE, "r")) X+ rumors = openFile(RUMORFILE); X+ if (rumors) { X+ # else X if(rumors = fopen(RUMORFILE, "r")) { X+ # endif X #endif X if (!end_rumor_file) { /* if this is the first outrumor() */ X init_rumors(); X*************** X*** 169,175 **** X--- 175,187 ---- X Strcat(tmp,ORACLEFILE); X if(oracles = fopen(tmp, "r")) { X #else X+ # ifdef MACOS X+ if(oracles = fopen(ORACLEFILE, "r")) X+ oracles = openFile(ORACLEFILE); X+ if (oracles) { X+ # else X if(oracles = fopen(ORACLEFILE, "r")) { X+ # endif X #endif X if (!oracle_size) { /* if this is the first outrumor() */ X init_rumors(); X*** src/Old/save.c Sun Oct 15 18:59:27 1989 X--- src/save.c Sat Oct 14 22:44:55 1989 X*************** X*** 14,20 **** X #ifndef NO_SIGNAL X #include <signal.h> X #endif /* !NO_SIGNAL */ X! #if defined(EXPLORE_MODE) && !defined(O_RDONLY) X #include <fcntl.h> X #endif /* EXPLORE_MODE */ X X--- 14,20 ---- X #ifndef NO_SIGNAL X #include <signal.h> X #endif /* !NO_SIGNAL */ X! #if defined(EXPLORE_MODE) && !defined(LSC) && !defined(O_RDONLY) X #include <fcntl.h> X #endif /* EXPLORE_MODE */ X X*************** X*** 100,105 **** X--- 100,108 ---- X #ifdef COMPRESS X char cmd[80]; X #endif X+ #ifdef MACOS X+ short savenum; X+ #endif X X if (!SAVEF[0]) X return 0; X*************** X*** 107,113 **** X #if defined(UNIX) || defined(VMS) X (void) signal(SIGHUP, SIG_IGN); X #endif X! #if !defined(__TURBOC__) && !defined(OLD_TOS) X (void) signal(SIGINT, SIG_IGN); X #endif X X--- 110,116 ---- X #if defined(UNIX) || defined(VMS) X (void) signal(SIGHUP, SIG_IGN); X #endif X! #if !defined(__TURBOC__) && !defined(OLD_TOS) && !defined(NO_SIGNAL) X (void) signal(SIGINT, SIG_IGN); X #endif X X*************** X*** 144,150 **** X--- 147,185 ---- X } X } X # endif X+ # ifdef MACOS X+ { X+ Str255 fileName; X+ OSErr er; X+ OSType fileType; X+ Point where; X+ SFReply reply; X+ char *prompt; X+ X+ savenum = 0; X+ (void)GetVol(&fileName, &tmp); X+ Strcpy((char *)&fileName[1], SAVEF); X+ fileName[0] = strlen(SAVEF); X+ where.h = where.v = X+ (SCREEN_BITS.bounds.bottom - SCREEN_BITS.bounds.top) / 4; X+ prompt = "\022Save character in:"; X+ SFPutFile(where, prompt, fileName, 0L, &reply); X+ if (reply.good) { X+ SetVol(0L, savenum = reply.vRefNum); X+ strncpy(SAVEF, (char *)&reply.fName[1], X+ (short)reply.fName[0]); X+ SAVEF[(short)reply.fName[0]] = '\0'; X+ Strcpy((char *)fileName, (char *)reply.fName); X+ } X+ X+ fileType = (discover == TRUE) ? EXPLORE_TYPE : SAVE_TYPE; X+ if (er = Create(&fileName, 0, CREATOR, fileType)) X+ SysBeep(1); X+ } X+ fd = open(SAVEF, O_WRONLY | O_BINARY); X+ # else X fd = creat(SAVEF, FCMASK); X+ # endif /* MACOS */ X #endif /* MSDOS */ X if(fd < 0) { X if(!hu) pline("Cannot open save file."); X*************** X*** 151,156 **** X--- 186,194 ---- X (void) unlink(SAVEF); /* ab@unido */ X return(0); X } X+ #ifdef MACOS X+ (void)SetVol(0L,tmp); X+ #endif X if(flags.moonphase == FULL_MOON) /* ut-sally!fletcher */ X change_luck(-1); /* and unido!ab */ X home(); X*************** X*** 162,167 **** X--- 200,208 ---- X savelev(fd, dlevel, mode); X /* count_only will be set properly by savelev */ X #else X+ # ifdef MACOS X+ printf("Saving: "); X+ # endif X savelev(fd,dlevel); X #endif X saveobjchn(fd, invent); X*************** X*** 240,251 **** X if(ltmp == dlevel || !level_exists[ltmp]) continue; X #endif X glo(ltmp); X! #ifdef DGK X if(!hu) msmsg("."); X #endif X if((ofd = open(lock, OMASK)) < 0) { X if(!hu) pline("Error while saving: cannot read %s.", lock); X (void) close(fd); X (void) unlink(SAVEF); X if(!hu) done(TRICKED); X return(0); X--- 281,298 ---- X if(ltmp == dlevel || !level_exists[ltmp]) continue; X #endif X glo(ltmp); X! #if defined(DGK) || defined(MACOS) X! # ifdef MACOS X! #define msmsg printf X! # endif X if(!hu) msmsg("."); X #endif X if((ofd = open(lock, OMASK)) < 0) { X if(!hu) pline("Error while saving: cannot read %s.", lock); X (void) close(fd); X+ #ifdef MACOS X+ (void)SetVol(0L, savenum); X+ #endif X (void) unlink(SAVEF); X if(!hu) done(TRICKED); X return(0); X*************** X*** 349,355 **** X--- 396,427 ---- X #else X bwrite(fd,(genericptr_t) &lev,sizeof(lev)); X #endif X+ #if defined(SMALLDATA) && defined(MACOS) X+ /* asssumes ROWNO*sizeof(struct rm) < 128 bytes */ X+ { X+ short i; X+ char length; X+ char bufr[256],*ptr,*src,*d,*p; X+ X+ d = calloc(ROWNO*COLNO, sizeof(struct rm)); X+ p = d; X+ for (i = 0; i < COLNO; i++) { X+ ptr = &bufr[0]; X+ src = (char *)&levl[i][0]; X+ PackBits(&src, &ptr, ROWNO * sizeof(struct rm)); X+ length = (char)(ptr - &bufr[0]); X+ BlockMove(&length, p++, (Size)1); X+ BlockMove(bufr, p, (Size)length); X+ p += (long)length; X+ } X+ i = (short)(p - d); X+ bwrite(fd, (genericptr_t)&i, sizeof(short)); X+ bwrite(fd, (genericptr_t)d, i); X+ free(d); X+ } X+ #else X bwrite(fd,(genericptr_t) levl,sizeof(levl)); X+ #endif /* SMALLDATA */ X #ifdef REINCARNATION X if(dlevel == rogue_level && lev != rogue_level) X /* save the symbols actually used to represent the level, not X*** src/Old/shk.c Sun Oct 15 19:00:18 1989 X--- src/shk.c Sun Oct 15 17:25:15 1989 X*************** X*** 291,296 **** X--- 291,308 ---- X ESHK(mtmp)->shoplevel == dlevel)); X } X X+ boolean X+ tended_shop(roomno) X+ register int roomno; X+ { X+ register struct monst *mtmp; X+ X+ for(mtmp = fmon; mtmp; mtmp = mtmp->nmon) X+ if(mtmp->isshk && ESHK(mtmp)->shoproom == roomno X+ && inhishop(mtmp)) return(TRUE); X+ return(FALSE); X+ } X+ X static void X findshk(roomno) X register int roomno; X*************** X*** 703,712 **** X } X X if (invent) { X! for(otmp = invent; otmp; otmp = otmp->nobj) { X place_object(otmp, ox, oy); X- otmp->age = 0; X- } X X /* add to main object list at end so invent is X still good */ X--- 715,722 ---- X } X X if (invent) { X! for(otmp = invent; otmp; otmp = otmp->nobj) X place_object(otmp, ox, oy); X X /* add to main object list at end so invent is X still good */ X*************** X*** 925,931 **** X X if(!costly_spot(u.ux,u.uy)) X return; X! subfrombill(obj); X /* you dropped something of your own - probably want to sell it */ X if(shopkeeper->msleep || shopkeeper->mfroz || !inhishop(shopkeeper)) X return; X--- 935,944 ---- X X if(!costly_spot(u.ux,u.uy)) X return; X! if(obj->unpaid) { X! subfrombill(obj); X! return; X! } X /* you dropped something of your own - probably want to sell it */ X if(shopkeeper->msleep || shopkeeper->mfroz || !inhishop(shopkeeper)) X return; X*************** X*** 1044,1050 **** X case FOOD_SYM: X /* simpler hunger check, (2-4)*cost */ X if (u.uhs >= HUNGRY) tmp *= u.uhs; X! if (OEATEN(obj)) tmp /= 2; /* partly eaten */ X break; X case WAND_SYM: X if (obj->spe == -1) tmp = 0; X--- 1057,1063 ---- X case FOOD_SYM: X /* simpler hunger check, (2-4)*cost */ X if (u.uhs >= HUNGRY) tmp *= u.uhs; X! if (obj->oeaten) tmp /= 2; /* partly eaten */ X break; X case WAND_SYM: X if (obj->spe == -1) tmp = 0; X*** src/Old/sounds.c Sun Oct 15 19:01:49 1989 X--- src/sounds.c Tue Oct 3 21:46:49 1989 X*************** X*** 179,185 **** X } X break; X case SHOPBASE: X! switch (rn2(2)+hallu) { X case 0: X You("hear the chime of a cash register."); X break; X--- 179,186 ---- X } X break; X case SHOPBASE: X! if(tended_shop(croomno)) X! switch (rn2(2)+hallu) { X case 0: X You("hear the chime of a cash register."); X break; X*************** X*** 189,195 **** X case 2: X You("seem to hear Neiman and Marcus arguing!"); X break; X! } X break; X default: X break; X--- 190,196 ---- X case 2: X You("seem to hear Neiman and Marcus arguing!"); X break; X! } X break; X default: X break; X*** src/Old/steal.c Mon Oct 16 13:23:36 1989 X--- src/steal.c Mon Oct 16 13:16:26 1989 X*************** X*** 115,124 **** X } X X tmp = 0; X! for(otmp = invent; otmp; otmp = otmp->nobj) if(otmp != uarmc) X tmp += ((otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) ? 5 : 1); X tmp = rn2(tmp); X! for(otmp = invent; otmp; otmp = otmp->nobj) if(otmp != uarmc) X if((tmp -= ((otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) ? 5 : 1)) X < 0) break; X if(!otmp) { X--- 115,124 ---- X } X X tmp = 0; X! for(otmp = invent; otmp; otmp = otmp->nobj) if(!uarm || otmp != uarmc) X tmp += ((otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) ? 5 : 1); X tmp = rn2(tmp); X! for(otmp = invent; otmp; otmp = otmp->nobj) if(!uarm || otmp != uarmc) X if((tmp -= ((otmp->owornmask & (W_ARMOR | W_RING | W_AMUL | W_TOOL)) ? 5 : 1)) X < 0) break; X if(!otmp) { X*************** X*** 151,157 **** X break; X case ARMOR_SYM: X if(multi < 0 || otmp == uarms){ X! setworn((struct obj *) 0, otmp->owornmask & W_ARMOR); X break; X } X { int curssv = otmp->cursed; X--- 151,163 ---- X break; X case ARMOR_SYM: X if(multi < 0 || otmp == uarms){ X! if (otmp == uarm) (void) Armor_off(); X! else if (otmp == uarmc) (void) Cloak_off(); X! else if (otmp == uarmf) (void) Boots_off(); X! else if (otmp == uarmg) (void) Gloves_off(); X! else if (otmp == uarmh) (void) Helmet_off(); X! else if (otmp == uarms) (void) Shield_off(); X! else setworn((struct obj *)0, otmp->owornmask & W_ARMOR); X break; X } X { int curssv = otmp->cursed; X*************** X*** 229,234 **** X--- 235,241 ---- X mpickobj(mtmp,otmp); X pline("%s stole %s!", Monnam(mtmp), doname(otmp)); X rloc(mtmp); X+ return; X } X } X } X*** src/Old/termcap.c Sun Oct 15 19:03:02 1989 X--- src/termcap.c Sun Oct 15 13:05:24 1989 X*************** X*** 2,15 **** X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X- #include <ctype.h> /* for isdigit() */ X- X /* block some unused #defines to avoid overloading some cpp's */ X #define MONATTK_H X #include "hack.h" /* for ROWNO, COLNO, *HI, *HE, *AS, *AE */ X X #ifndef MSDOS X # define TERMLIB /* include termcap code */ X #endif X X #if !defined(SYSV) || defined(TOS) || defined(UNIXPC) X--- 2,17 ---- X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ X /* NetHack may be freely redistributed. See license for details. */ X X /* block some unused #defines to avoid overloading some cpp's */ X #define MONATTK_H X #include "hack.h" /* for ROWNO, COLNO, *HI, *HE, *AS, *AE */ X X+ #include <ctype.h> /* for isdigit() */ X+ X #ifndef MSDOS X+ # ifndef MACOS X # define TERMLIB /* include termcap code */ X+ # endif X #endif X X #if !defined(SYSV) || defined(TOS) || defined(UNIXPC) X*************** X*** 63,79 **** X startup() X { X #ifdef TERMLIB X! register char *term = getenv("TERM"); X register char *tptr; X char *tbufptr, *pc; X #endif X register int i; X X /* Set the default map symbols */ X (void) memcpy((genericptr_t) &showsyms, X (genericptr_t) &defsyms, sizeof(struct symbols)); X X! #if !defined(AMIGA) && !defined(TOS) X # if defined(TERMLIB) || !(defined(DECRAINBOW) || defined(OS2)) X # define IBMXASCII X # endif X--- 65,90 ---- X startup() X { X #ifdef TERMLIB X! register char *term; X register char *tptr; X char *tbufptr, *pc; X #endif X register int i; X X+ #ifdef TERMLIB X+ # ifdef VMS X+ term = getenv("EMACS_TERM"); X+ if (!term) X+ term = getenv("NETHACK_TERM"); X+ if (!term) X+ # endif X+ term = getenv("TERM"); X+ #endif X /* Set the default map symbols */ X (void) memcpy((genericptr_t) &showsyms, X (genericptr_t) &defsyms, sizeof(struct symbols)); X X! #if !defined(AMIGA) && !defined(TOS) && !defined(MACOS) X # if defined(TERMLIB) || !(defined(DECRAINBOW) || defined(OS2)) X # define IBMXASCII X # endif X*************** X*** 120,125 **** X--- 131,175 ---- X #if defined(TOS) && defined(__GNUC__) && defined(TERMLIB) X term = "st52"; /* library has a default */ X #else X+ # ifdef MACOS X+ /* dummy termcap for the Mac */ X+ HO = "\033[H"; X+ CL = "\033[2J"; /* a pseudo-ANSI termcap */ X+ CE = "\033[K"; X+ CM = "\033[%d;%dH"; /* not used */ X+ UP = "\033[A"; X+ ND = "\033[C"; X+ XD = "\033[B"; X+ BC = "\033[D"; X+ TI = TE = SE = UE = US = HE = "\033[0m"; X+ SO = "\033[1m"; X+ AS = VS = VE = AE = ""; X+ CO = COLNO; X+ LI = ROWNO + 3; X+ /* use special font ? */ X+ { X+ extern short macflags; X+ if (macflags & fUseCustomFont) X+ { X+ Handle theRes; X+ unsigned char *sym; X+ short i; X+ X+ sym = &showsyms.stone; X+ theRes = GetResource(HACK_DATA,102); X+ HLock(theRes); X+ strncpy((char *)sym,(char *)(*theRes),32); X+ HUnlock(theRes); X+ ReleaseResource(theRes); X+ } X+ } X+ # ifdef TEXTCOLOR X+ for (i = 0; i < MAXCOLORS; i++) { X+ hilites[i] = (char *) alloc(sizeof("E[cc")); X+ Sprintf(hilites[i], "\033[c%c", (char)(i+'a')); X+ } X+ # endif X+ # else /* MACOS */ X # ifdef ANSI_DEFAULT X # ifdef TOS X { X*************** X*** 190,195 **** X--- 240,246 ---- X # else X error("Can't get TERM."); X # endif /* ANSI_DEFAULT */ X+ # endif /* MACOS */ X #endif /* __GNUC__ */ X #ifdef TERMLIB X tptr = (char *) alloc(1024); X*************** X*** 401,407 **** X--- 452,462 ---- X cmov(x, y) X register int x, y; X { X+ #ifdef MACOS X+ mcurs(x-1, y-1); X+ #else X xputs(tgoto(CM, x-1, y-1)); X+ #endif X cury = y; X curx = x; X } X*************** X*** 410,416 **** X--- 465,475 ---- X xputc(c) X char c; X { X+ #ifdef MACOS X+ mputc(c); X+ #else X (void) fputc(c, stdout); X+ #endif X } X X void X*************** X*** 417,430 **** X xputs(s) X char *s; X { X! #ifndef TERMLIB X (void) fputs(s, stdout); X- #else X- # ifdef __STDC__ X- tputs(s, 1, (int (*)())xputc); X # else X tputs(s, 1, xputc); X # endif X #endif X } X X--- 476,493 ---- X xputs(s) X char *s; X { X! #ifndef MACOS X! # ifndef TERMLIB X (void) fputs(s, stdout); X # else X+ # ifdef __STDC__ X+ tputs(s, 1, (int (*)())xputc); X+ # else X tputs(s, 1, xputc); X+ # endif X # endif X+ #else X+ mputs(s); X #endif X } X X*************** X*** 534,540 **** X } X #endif X X! #ifndef MSDOS X # ifdef VMS X static const short tmspc10[] = { /* from termcap */ X 0, 2000, 1333, 909, 743, 666, 333, 166, 83, 55, 50, 41, 27, 20, 13, 10, X--- 597,603 ---- X } X #endif X X! #if !defined(MSDOS) && !defined(MACOS) X # ifdef VMS X static const short tmspc10[] = { /* from termcap */ X 0, 2000, 1333, 909, 743, 666, 333, 166, 83, 55, 50, 41, 27, 20, 13, 10, X*************** X*** 552,558 **** X /* delay 50 ms - could also use a 'nap'-system call */ X /* BUG: if the padding character is visible, as it is on the 5620 X then this looks terrible. */ X! #ifdef MSDOS X /* simulate the delay with "cursor here" */ X register int i; X for (i = 0; i < 3; i++) { X--- 615,621 ---- X /* delay 50 ms - could also use a 'nap'-system call */ X /* BUG: if the padding character is visible, as it is on the 5620 X then this looks terrible. */ X! #if defined(MSDOS) || defined(MACOS) X /* simulate the delay with "cursor here" */ X register int i; X for (i = 0; i < 3; i++) { X*************** X*** 559,576 **** X cmov(curx, cury); X (void) fflush(stdout); X } X! #else /* MSDOS /**/ X if(!flags.nonull) X! #ifdef TERMINFO X /* cbosgd!cbcephus!pds for SYS V R2 */ X! # ifdef __STDC__ X tputs("$<50>", 1, (int (*)())xputc); X! # else X tputs("$<50>", 1, xputc); X! # endif X! #else X tputs("50", 1, xputs); X! #endif X X else if(ospeed > 0 || ospeed < SIZE(tmspc10)) if(CM) { X /* delay by sending cm(here) an appropriate number of times */ X--- 622,639 ---- X cmov(curx, cury); X (void) fflush(stdout); X } X! #else /* MSDOS || MACOS */ X if(!flags.nonull) X! # ifdef TERMINFO X /* cbosgd!cbcephus!pds for SYS V R2 */ X! # ifdef __STDC__ X tputs("$<50>", 1, (int (*)())xputc); X! # else X tputs("$<50>", 1, xputc); X! # endif X! # else X tputs("50", 1, xputs); X! # endif X X else if(ospeed > 0 || ospeed < SIZE(tmspc10)) if(CM) { X /* delay by sending cm(here) an appropriate number of times */ X*************** X*** 582,588 **** X i -= cmlen*tmspc10[ospeed]; X } X } X! #endif /* MSDOS /**/ X } X X void X--- 645,651 ---- X i -= cmlen*tmspc10[ospeed]; X } X } X! #endif /* MSDOS || MACOS */ X } X X void X*** src/Old/timeout.c Sun Oct 15 19:03:33 1989 X--- src/timeout.c Tue Oct 3 21:54:02 1989 X*************** X*** 25,30 **** X--- 25,56 ---- X nomul(-3); X } X X+ /* He is getting sicker and sicker prior to vomiting */ X+ static const char *vomiting_texts[] = { X+ "You are feeling mildly nauseous.", /* 11 */ X+ "You feel slightly confused.", /* 8 */ X+ "You can't seem to think straight.", /* 5 */ X+ "You feel incredibly sick.", /* 2 */ X+ "You suddenly vomit!" /* 0 */ X+ }; X+ X+ static void X+ vomiting_dialogue() { X+ register long i = (Vomiting & TIMEOUT) / 3L; X+ X+ if(!((Vomiting & TIMEOUT) % 3L) && X+ i >= 0 && i < SIZE(vomiting_texts)) X+ pline(vomiting_texts[SIZE(vomiting_texts) - i]); X+ X+ switch(i) { X+ X+ case 0: vomit(); morehungry(20); break; X+ case 2: make_confused(HConfusion + d(2,4), FALSE); X+ case 3: make_stunned(HStun + d(2,4), FALSE); X+ default: break; X+ } X+ } X+ X static const char *choke_texts[] = { X "You find it hard to breathe.", X "You're gasping for air.", X*************** X*** 50,55 **** X--- 76,82 ---- X int sleeptime; X X if(Stoned) stoned_dialogue(); X+ if(Vomiting) vomiting_dialogue(); X if(Strangled) choke_dialogue(); X #ifdef POLYSELF X if(u.mtimedone) if(!--u.mtimedone) rehumanize(); X*************** X*** 80,85 **** X--- 107,115 ---- X case STONED: X if (!killer) killer = "cockatrice"; X done(STONING); X+ break; X+ case VOMITING: X+ make_vomiting(0L, TRUE); X break; X case SICK: X You("die from food poisoning."); X*** src/Old/topten.c Sun Oct 15 19:04:05 1989 X--- src/topten.c Sat Oct 14 22:46:36 1989 X*************** X*** 6,12 **** X--- 6,17 ---- X #define MONATTK_H X #include "hack.h" X X+ #ifndef MACOS X #include <errno.h> /* George Barbanis */ X+ #else X+ extern short macflags; X+ extern WindowPtr HackWindow; X+ #endif X #ifdef NO_FILE_LINKS X #include <fcntl.h> /* Ralf Brown */ X #endif X*************** X*** 73,84 **** X # endif /* UNIX or VMS */ X #endif /* LOGFILE */ X X! #ifdef MSDOS X #define HUP X #else X #define HUP if(!done_hup) X #endif X! X /* create a new 'topten' entry */ X t0 = newttentry(); X t0->level = dlevel; X--- 78,92 ---- X # endif /* UNIX or VMS */ X #endif /* LOGFILE */ X X! #if defined(MSDOS) || defined(MACOS) X #define HUP X #else X #define HUP if(!done_hup) X #endif X! #ifdef MACOS X! macflags &= ~fDoUpdate; X! uid = TickCount(); X! #endif X /* create a new 'topten' entry */ X t0 = newttentry(); X t0->level = dlevel; X*************** X*** 178,184 **** X--- 186,216 ---- X sleep(1); X } X #endif /* UNIX or VMS */ X+ #ifdef MACOS X+ { X+ term_info *t; X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ SetVol((StringPtr)0L, t->recordVRefNum); X+ if (!(rfile = fopen(recfile,"r"))) { X+ short i; X+ X+ rfile = openFile(recfile); X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ for (i = 0;i < t->maxRow; i++) { X+ MoveTo(Screen_Border, X+ t->ascent + (i * t->height) + Screen_Border); X+ DrawText(&t->screen[i][0], 0, t->maxCol); X+ } X+ ValidRect(&(**(*HackWindow).visRgn).rgnBBox); X+ } X+ } X+ X+ if (!rfile) { X+ #else X if(!(rfile = fopen(recfile,"r"))){ X+ #endif X HUP (void) puts("Cannot open record file!"); X goto unlock; X } X*************** X*** 337,347 **** X char linebuf[BUFSZ]; X register char *bp; X X! Strcpy(linebuf, " No Points Name"); X bp = eos(linebuf); X while(bp < linebuf + COLNO - 9) *bp++ = ' '; X Strcpy(bp, "Hp [max]"); X (void) puts(linebuf); X } X X /* so>0: standout line; so=0: ordinary line; so<0: no output, return lth */ X--- 369,382 ---- X char linebuf[BUFSZ]; X register char *bp; X X! Strcpy(linebuf, " No Points Name"); X bp = eos(linebuf); X while(bp < linebuf + COLNO - 9) *bp++ = ' '; X Strcpy(bp, "Hp [max]"); X (void) puts(linebuf); X+ #ifdef MACOS X+ putchar('\n'); X+ #endif X } X X /* so>0: standout line; so=0: ordinary line; so<0: no output, return lth */ X*************** X*** 423,429 **** X--- 458,468 ---- X if (lngr >= hppos) hppos = (2*COLNO) - 7 - strlen(hpbuf); X if(bp <= linebuf + hppos) { X /* pad any necessary blanks to the hit point entry */ X+ #ifdef MACOS X+ while(bp <= linebuf + hppos) *bp++ = ' '; X+ #else X while(bp < linebuf + hppos) *bp++ = ' '; X+ #endif X Strcpy(bp, hpbuf); X if(t1->maxhp < 10) X Sprintf(eos(bp), " [%d]", t1->maxhp); X*************** X*** 439,447 **** X--- 478,492 ---- X while(bp < linebuf + so) *bp++ = ' '; X *bp = 0; X standoutbeg(); X+ #ifdef MACOS X+ puts(linebuf); X+ #else X (void) fputs(linebuf,stdout); X+ #endif X standoutend(); X+ #ifndef MACOS X (void) putchar('\n'); X+ #endif X } X return(strlen(linebuf)); X } X*************** X*** 506,513 **** X #else X char *player0; X #endif X! X if(!(rfile = fopen(recfile,"r"))){ X (void) puts("Cannot open record file!"); X return; X } X--- 551,563 ---- X #else X char *player0; X #endif X! #ifdef MACOS X! if(!(rfile = fopen(recfile,"r"))) X! rfile = openFile(recfile); X! if (!rfile) { X! #else X if(!(rfile = fopen(recfile,"r"))){ X+ #endif X (void) puts("Cannot open record file!"); X return; X } X*************** X*** 679,686 **** X--- 729,743 ---- X X if (!otmp) return((struct obj *) 0); X X+ #ifdef MACOS X if(!(rfile = fopen(recfile,"r"))) X+ rfile = openFile(recfile); X+ if (!rfile) { X+ #else X+ if(!(rfile = fopen(recfile,"r"))){ X+ #endif X panic("Cannot open record file!"); X+ } X X tt = newttentry(); X rank = rnd(10); X*** src/Old/trap.c Sun Oct 15 19:04:46 1989 X--- src/trap.c Sat Oct 14 20:40:15 1989 X*************** X*** 287,293 **** X #endif X unsee(); X (void) fflush(stdout); X! goto_level(newlevel, FALSE); X #ifdef WALKIES X } X #endif X--- 287,293 ---- X #endif X unsee(); X (void) fflush(stdout); X! goto_level(newlevel, FALSE, TRUE); X #ifdef WALKIES X } X #endif X*************** X*** 695,701 **** X #ifdef WALKIES X if(teleport_pet(mtmp)) { X #endif X! rloc(mtmp); X if(in_sight && !cansee(mtmp->mx,mtmp->my)) X pline("%s suddenly disappears!", X Monnam(mtmp)); X--- 695,706 ---- X #ifdef WALKIES X if(teleport_pet(mtmp)) { X #endif X! /* Note: don't remove the trap if a vault. Other- X! * the monster will be stuck there, since the guard X! * isn't going to come for it... X! */ X! if (trap->once) vloc(mtmp); X! else rloc(mtmp); X if(in_sight && !cansee(mtmp->mx,mtmp->my)) X pline("%s suddenly disappears!", X Monnam(mtmp)); X*************** X*** 989,1006 **** X #endif X X trap = t_at(u.ux, u.uy); X! if (trap && (!trap->tseen || trap->ttyp != TELEP_TRAP || trap->once)) X trap = 0; X X! if (trap) X! You("jump onto the teleportation trap..."); X! else if(!Teleportation || X (u.ulevel < (pl_character[0] == 'W' ? 8 : 12) X #ifdef POLYSELF X && !can_teleport(uasmon) X #endif X ) X! ) { X #ifdef SPELLS X /* Try to use teleport away spell. */ X castit = objects[SPE_TELEPORT_AWAY].oc_name_known; X--- 994,1023 ---- X #endif X X trap = t_at(u.ux, u.uy); X! if (trap && (!trap->tseen || trap->ttyp != TELEP_TRAP)) X trap = 0; X X! if (trap) { X! if (trap->once) { X! pline("This is a vault teleport, usable once only."); X! pline("Jump in? "); X! if (yn() == 'n') X! trap = 0; X! else { X! deltrap(trap); X! newsym(u.ux, u.uy); X! } X! } X! if (trap) X! You("jump onto the teleportation trap..."); X! } X! if(!trap && (!Teleportation || X (u.ulevel < (pl_character[0] == 'W' ? 8 : 12) X #ifdef POLYSELF X && !can_teleport(uasmon) X #endif X ) X! )) { X #ifdef SPELLS X /* Try to use teleport away spell. */ X castit = objects[SPE_TELEPORT_AWAY].oc_name_known; X*************** X*** 1053,1059 **** X #ifdef WALKIES X if(next_to_u()) { X #endif X! tele(); X #ifdef WALKIES X (void) next_to_u(); X } else { X--- 1070,1077 ---- X #ifdef WALKIES X if(next_to_u()) { X #endif X! if (trap && trap->once) vtele(); X! else tele(); X #ifdef WALKIES X (void) next_to_u(); X } else { X*************** X*** 1073,1079 **** X impossible("Where are your chain and ball??"); X return; X } X! place_object(uball, u.ux, u.uy); X place_object(uchain, u.ux, u.uy); X if(attach){ X uchain->nobj = fobj; X--- 1091,1098 ---- X impossible("Where are your chain and ball??"); X return; X } X! if(!carried(uball)) X! place_object(uball, u.ux, u.uy); X place_object(uchain, u.ux, u.uy); X if(attach){ X uchain->nobj = fobj; X*************** X*** 1190,1196 **** X You("shudder for a moment..."); X else X #endif X! goto_level(newlevel, FALSE); X } X X void X--- 1209,1215 ---- X You("shudder for a moment..."); X else X #endif X! goto_level(newlevel, FALSE, FALSE); X } X X void X*** src/Old/uhitm.c Sun Oct 15 19:06:01 1989 X--- src/uhitm.c Sun Oct 15 17:25:18 1989 X*************** X*** 873,878 **** X--- 873,885 ---- X if (!Blind) pline("%s is frozen by you!", Monnam(mdef)); X mdef->mfroz = 1; X } X+ case AD_SLEE: X+ if (!resists_sleep(mdef->data) && !mdef->msleep && X+ !mdef->mfroz) { X+ if (!Blind) X+ pline("%s suddenly falls asleep!", Monnam(mdef)); X+ mdef->msleep = 1; X+ } X break; X default: tmp = 0; X break; X*** src/Old/unixmain.c Wed Sep 27 23:21:24 1989 X--- src/unixmain.c Mon Oct 16 22:34:33 1989 X*************** X*** 3,8 X /* NetHack may be freely redistributed. See license for details. */ X /* main.c - Unix NetHack */ X X #include <signal.h> X #include <pwd.h> X X X--- 3,10 ----- X /* NetHack may be freely redistributed. See license for details. */ X /* main.c - Unix NetHack */ X X+ #include "hack.h" X+ X #include <signal.h> X #include <pwd.h> X X*************** X*** 5,12 X X #include <signal.h> X #include <pwd.h> X- X- #include "hack.h" X X char SAVEF[PL_NSIZ + 11] = "save/"; /* save/99999player */ X X X--- 7,12 ----- X X #include <signal.h> X #include <pwd.h> X X char SAVEF[PL_NSIZ + 11] = "save/"; /* save/99999player */ X X*** src/Old/version.c Sun Oct 15 19:07:34 1989 X--- src/version.c Sat Oct 14 22:35:53 1989 X*************** X*** 35,40 **** X--- 35,43 ---- X # endif X # endif X #endif X+ #ifdef MACOS X+ "Macintosh", X+ #endif X #ifdef UNIX X "Unix", X #endif X*** src/Old/zap.c Sun Oct 15 19:09:13 1989 X--- src/zap.c Thu Oct 5 11:18:40 1989 X*************** X*** 1163,1169 **** X shieldeff(mon->mx, mon->my); X break; X } X! type = 0; /* so they don't get saving throws */ X } X tmp = mon->mhp+1; X break; X--- 1163,1172 ---- X shieldeff(mon->mx, mon->my); X break; X } X! type = -1; /* so they don't get saving throws */ X! } else if (resists_disint(mon->data)) { X! shieldeff(mon->mx, mon->my); X! break; X } X tmp = mon->mhp+1; X break; X*************** X*** 1535,1548 **** X break; X case 4: /* death */ X if(type == -24) { /* disintegration */ X! if(uarms) { X (void) destroy_arm(uarms); X! } else if (uarm) { X! if (Disint_resistance & WORN_ARMOR) X! Your("armor absorbs the blast!"); X! else (void) destroy_arm(uarm); X } X- break; X } X #ifdef POLYSELF X else if(is_undead(uasmon)) { X--- 1538,1553 ---- X break; X case 4: /* death */ X if(type == -24) { /* disintegration */ X! if (Disint_resistance) { X! You("are not disintegrated."); X! break; X! } else if(uarms) { X (void) destroy_arm(uarms); X! break; X! } else if (uarm) { X! (void) destroy_arm(uarm); X! break; X } X } X #ifdef POLYSELF X else if(is_undead(uasmon)) { X*** src/Old/Makefile.src Sun Oct 15 19:47:21 1989 X--- src/Makefile.src Wed Oct 4 11:04:24 1989 X*************** X*** 103,113 **** X X CSOURCES = $(HACKCSRC) $(TARGSRC) $(MAKESRC) $(SPLEVSRC) X X! HACKINCL = artifact.h attrib.h config.h coord.h decl.h edog.h epri.h eshk.h\ X! extern.h flag.h func_tab.h global.h gold.h hack.h lev.h mfndpos.h\ X! mkroom.h monattk.h mondata.h monflag.h monst.h monsym.h msdos.h\ X! obj.h objclass.h permonst.h prop.h rm.h sp_lev.h spell.h tradstdc.h\ X! trapname.h vault.h wseg.h you.h youprop.h X X # all .h files except date.h, onames.h, pm.h & trap.h which would cause X # dependency loops if run through "make depend". X--- 103,115 ---- X X CSOURCES = $(HACKCSRC) $(TARGSRC) $(MAKESRC) $(SPLEVSRC) X X! HACKINCL = amiconf.h artifact.h attrib.h color.h config.h coord.h decl.h\ X! def_os2.h edog.h epri.h eshk.h extern.h flag.h func_tab.h global.h\ X! gold.h hack.h lev.h mfndpos.h mkroom.h monattk.h mondata.h monflag.h\ X! monst.h monsym.h msdos.h obj.h objclass.h patchlevel.h pcconf.h\ X! permonst.h prop.h rm.h sp_lev.h spell.h system.h tosconf.h\ X! tradstdc.h trapname.h unixconf.h vault.h vmsconf.h wseg.h you.h\ X! youprop.h X X # all .h files except date.h, onames.h, pm.h & trap.h which would cause X # dependency loops if run through "make depend". X*************** X*** 290,306 **** X # ( /bin/grep '^#[ ]*include' $$i | sed -n \ X # -e 's,<\(.*\)>,"/usr/include/\1",' \ X # X # X for i in ${HACKCSRC}; do \ X ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ X -e 's/[^"]*"\([^"]*\)".*/\1/' \ X -e 's/.*\.h/..\/include\/&/' \ X -e H -e '$$g' -e '$$s/\n/ /g' \ X -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \ X >> makedep); done X for i in ${HACKINCL}; do \ X! ( /bin/grep '^#[ ]*include[ ]*"' ../include/$$i | sed -n \ X -e 's/[^"]*"\([^"]*\)".*/\1/' \ X -e 's/.*\.h/..\/include\/&/' \ X -e H -e '$$g' -e '$$s/\n/ /g' \ X -e '$$s/.*/..\/include\/'$$i': &\ X--- 292,318 ---- X # ( /bin/grep '^#[ ]*include' $$i | sed -n \ X # -e 's,<\(.*\)>,"/usr/include/\1",' \ X # X+ # extern.h is ignored, even though its declared function types may affect the X+ # compilation of all the .c files, since extern.h changes every time the X+ # type of an external function does, and we would spend all our time recompiling X+ # if we did not ignore it. the risk is minimal, as lint should pick up any X+ # calls to the modified function that were not modified accordingly. X # X+ # patchlev.h is the name MS-DOS uses to refer to patchlevel.h after it gets X+ # through truncating the name, but it does not really exist X+ # X for i in ${HACKCSRC}; do \ X ( /bin/grep '^#[ ]*include[ ]*"' $$i | sed -n \ X -e 's/[^"]*"\([^"]*\)".*/\1/' \ X+ -e 's/patchlev.h//' \ X -e 's/.*\.h/..\/include\/&/' \ X -e H -e '$$g' -e '$$s/\n/ /g' \ X -e '$$s/.*/'$$i': &/' -e '$$s/\.c:/.o:/p' \ X >> makedep); done X for i in ${HACKINCL}; do \ X! ( /bin/grep '^#[ ]*include[ ]*"' ../include/$$i | sed -n \ X -e 's/[^"]*"\([^"]*\)".*/\1/' \ X+ -e 's/extern.h//' \ X -e 's/.*\.h/..\/include\/&/' \ X -e H -e '$$g' -e '$$s/\n/ /g' \ X -e '$$s/.*/..\/include\/'$$i': &\ X*************** X*** 315,321 **** X @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile X @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile X @echo '# see make depend above' >> Makefile X! - diff Makefile Makefile.bak X @rm -f Makefile.bak X X # PC dependency for Systos that won't be made on a UNIX system X--- 327,333 ---- X @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile X @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile X @echo '# see make depend above' >> Makefile X! - diff Makefile.bak Makefile X @rm -f Makefile.bak X X # PC dependency for Systos that won't be made on a UNIX system X*************** X*** 363,373 **** X mon.o: ../include/hack.h ../include/mfndpos.h ../include/artifact.h ../include/wseg.h X mondata.o: ../include/hack.h ../include/eshk.h ../include/epri.h X monmove.o: ../include/hack.h ../include/mfndpos.h ../include/artifact.h X! monst.o: ../include/config.h ../include/permonst.h ../include/monsym.h ../include/eshk.h ../include/vault.h ../include/epri.h ../include/decl.h X mthrowu.o: ../include/hack.h X music.o: ../include/hack.h X o_init.o: ../include/hack.h X! objects.o: ../include/config.h ../include/obj.h ../include/objclass.h ../include/prop.h ../include/decl.h X objnam.o: ../include/hack.h X options.o: ../include/hack.h X pager.o: ../include/hack.h X--- 375,385 ---- X mon.o: ../include/hack.h ../include/mfndpos.h ../include/artifact.h ../include/wseg.h X mondata.o: ../include/hack.h ../include/eshk.h ../include/epri.h X monmove.o: ../include/hack.h ../include/mfndpos.h ../include/artifact.h X! monst.o: ../include/config.h ../include/permonst.h ../include/monsym.h ../include/eshk.h ../include/vault.h ../include/epri.h ../include/color.h X mthrowu.o: ../include/hack.h X music.o: ../include/hack.h X o_init.o: ../include/hack.h X! objects.o: ../include/config.h ../include/obj.h ../include/objclass.h ../include/prop.h ../include/color.h X objnam.o: ../include/hack.h X options.o: ../include/hack.h X pager.o: ../include/hack.h X*************** X*** 401,407 **** X u_init.o: ../include/hack.h X uhitm.o: ../include/hack.h ../include/artifact.h X vault.o: ../include/hack.h ../include/vault.h X! version.o: ../include/hack.h ../include/date.h ../include/patchlevel.h X weapon.o: ../include/hack.h X were.o: ../include/hack.h X wield.o: ../include/hack.h X--- 413,419 ---- X u_init.o: ../include/hack.h X uhitm.o: ../include/hack.h ../include/artifact.h X vault.o: ../include/hack.h ../include/vault.h X! version.o: ../include/hack.h ../include/date.h ../include/patchlevel.h X weapon.o: ../include/hack.h X were.o: ../include/hack.h X wield.o: ../include/hack.h X*************** X*** 410,425 **** X worn.o: ../include/hack.h X write.o: ../include/hack.h X zap.o: ../include/hack.h X ../include/config.h: ../include/tradstdc.h ../include/global.h X touch ../include/config.h X! ../include/decl.h: ../include/spell.h ../include/obj.h ../include/you.h ../include/onames.h ../include/pm.h X touch ../include/decl.h X ../include/global.h: ../include/coord.h ../include/vmsconf.h ../include/unixconf.h ../include/pcconf.h ../include/tosconf.h ../include/amiconf.h X touch ../include/global.h X! ../include/hack.h: ../include/config.h ../include/decl.h ../include/monsym.h ../include/mkroom.h ../include/objclass.h ../include/gold.h ../include/trap.h ../include/flag.h ../include/rm.h ../include/extern.h X touch ../include/hack.h X ../include/permonst.h: ../include/monattk.h ../include/monflag.h X touch ../include/permonst.h X ../include/you.h: ../include/attrib.h ../include/monst.h ../include/youprop.h X touch ../include/you.h X ../include/youprop.h: ../include/prop.h ../include/permonst.h ../include/mondata.h ../include/pm.h X--- 422,447 ---- X worn.o: ../include/hack.h X write.o: ../include/hack.h X zap.o: ../include/hack.h X+ ../include/amiconf.h: ../include/msdos.h ../include/pcconf.h X+ touch ../include/amiconf.h X ../include/config.h: ../include/tradstdc.h ../include/global.h X touch ../include/config.h X! ../include/decl.h: ../include/spell.h ../include/color.h ../include/obj.h ../include/you.h ../include/onames.h ../include/pm.h X touch ../include/decl.h X ../include/global.h: ../include/coord.h ../include/vmsconf.h ../include/unixconf.h ../include/pcconf.h ../include/tosconf.h ../include/amiconf.h X touch ../include/global.h X! ../include/hack.h: ../include/config.h ../include/decl.h ../include/monsym.h ../include/mkroom.h ../include/objclass.h ../include/gold.h ../include/trap.h ../include/flag.h ../include/rm.h X touch ../include/hack.h X+ ../include/pcconf.h: ../include/msdos.h ../include/system.h X+ touch ../include/pcconf.h X ../include/permonst.h: ../include/monattk.h ../include/monflag.h X touch ../include/permonst.h X+ ../include/tosconf.h: ../include/msdos.h ../include/pcconf.h X+ touch ../include/tosconf.h X+ ../include/unixconf.h: ../include/system.h X+ touch ../include/unixconf.h X+ ../include/vmsconf.h: ../include/system.h X+ touch ../include/vmsconf.h X ../include/you.h: ../include/attrib.h ../include/monst.h ../include/youprop.h X touch ../include/you.h X ../include/youprop.h: ../include/prop.h ../include/permonst.h ../include/mondata.h ../include/pm.h X END_OF_FILE if test 42408 -ne `wc -c <'patches05f'`; then echo shar: \"'patches05f'\" unpacked with wrong size! fi # end of 'patches05f' fi echo shar: End of archive 6 \(of 6\). cp /dev/null ark6isdone MISSING="" for I in 1 2 3 4 5 6 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 6 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0