home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!news.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v16i114: nethack31 - display oriented dungeons & dragons (Ver. 3.1), Part106/108
- Message-ID: <4479@master.CNA.TEK.COM>
- Date: 5 Feb 93 22:04:08 GMT
- Sender: news@master.CNA.TEK.COM
- Lines: 1756
- Approved: billr@saab.CNA.TEK.COM
- Xref: uunet comp.sources.games:1665
-
- Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
- Posting-number: Volume 16, Issue 114
- Archive-name: nethack31/Part106
- Supersedes: nethack3p9: Volume 10, Issue 46-108
- Environment: Amiga, Atari, Mac, MS-DOS, OS2, Unix, VMS, X11
-
-
-
- #! /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 106 (of 108)."
- # Contents: UPDATE0 dat/oracle.des include/artifact.h
- # include/permonst.h include/qtext.h include/quest.h
- # include/termcap.h include/tosconf.h include/winami.h src/rnd.c
- # src/windows.c sys/amiga/NHinfo.uu sys/amiga/amii.hlp
- # sys/amiga/dflticon.uu sys/amiga/hackwb.hlp sys/amiga/wbstruct.h
- # sys/mac/macsnd.c sys/msdos/setup.bat sys/share/lev_comp.h
- # sys/unix/Makefile.dat sys/vms/Makefile.doc util/panic.c
- # Wrapped by billr@saab on Wed Jan 27 16:09:33 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'UPDATE0' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'UPDATE0'\"
- else
- echo shar: Extracting \"'UPDATE0'\" \(2374 characters\)
- sed "s/^X//" >'UPDATE0' <<'END_OF_FILE'
- XNetHack 3.1 is a product of two years of intensive work by the NetHack
- XDevelopment Team and its Amiga, Atari, Macintosh, OS/2, MSDOS, and VMS
- Xports sub-teams. These include over thirty members from different
- Xcountries. The team wishes to express its gratitude to the management
- Xof linc.cis.upenn.edu for its generous support of this unique development
- Xactivity.
- X
- XNetHack 3.1 is a new generation of NetHack. Here is a list of some of
- Xits main new features:
- X
- X* Unlike 3.0, NetHack 3.1 is a multi-dungeon game. New dungeons "branch"
- X off the main dungeon at different locations.
- X
- X* A unifying mythology was adopted for the game. There are tasks which
- X must be completed in various dungeons before the main task of capturing
- X the Amulet can be undertaken. There are different quests for the
- X different character classes.
- X
- X* There is a new multi-level endgame full of surprises.
- X
- X* Many of the monsters in NetHack 3.1 now can wield weapons, zap wands,
- X read scrolls, and cast spells. Fighting them must take these special
- X abilities into consideration.
- X
- X* The game's display was completely re-written. It is now based on a
- X line-of-sight principle, and it gives a new "feel" to the game. The
- X new display was written with a standardized window interface, which
- X allows easy substitution and addition of windowing systems independent
- X of operating system. For example, the UNIX port now supports X11 as
- X well as the traditional tty.
- X
- X* Numerous local changes were made, and many new monsters, objects, and
- X intelligent artifacts were added.
- X
- XYou will discover the details and the rest of the changes for yourselves.
- X
- XAs we did with 3.0, we will periodically release patchlevel revisions of
- XNetHack 3.1, which will include bug fixes and further development results.
- XAvoid applying free-lanced patches, if you want to take advantage of these
- Xpatchlevel updates.
- X
- XDespite our effort, there are, no doubt, many bugs still in the code.
- XThe Amiga and Macintosh ports, in particular, still have rough edges due
- Xto time constraints on their port-team members. A port to Windows NT is
- Xunderway but is not suitable for release at this time. We call upon you
- Xto help in debugging both the game and the ports. The address of the
- XNetHack development team remains nethack-bugs@linc.cis.upenn.edu.
- X
- XAs always, your comments and suggestions will be appreciated. Enjoy.
- X
- END_OF_FILE
- if test 2374 -ne `wc -c <'UPDATE0'`; then
- echo shar: \"'UPDATE0'\" unpacked with wrong size!
- fi
- # end of 'UPDATE0'
- fi
- if test -f 'dat/oracle.des' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'dat/oracle.des'\"
- else
- echo shar: Extracting \"'dat/oracle.des'\" \(1446 characters\)
- sed "s/^X//" >'dat/oracle.des' <<'END_OF_FILE'
- X#
- X# Oracle level
- X#
- X
- XLEVEL: "oracle"
- X
- XROOM: "ordinary" , lit, (3,3), (center,center), (11,9)
- XNAME: "central"
- XOBJECT:'`',"statue",(0,0),"forest centaur",0
- XOBJECT:'`',"statue",(0,8),"mountain centaur",0
- XOBJECT:'`',"statue",(10,0),"mountain centaur",0
- XOBJECT:'`',"statue",(10,8),"forest centaur",0
- XOBJECT:'`',"statue",(5,1),"plains centaur",0
- XOBJECT:'`',"statue",(5,7),"plains centaur",0
- XOBJECT:'`',"statue",(2,4),"plains centaur",0
- XOBJECT:'`',"statue",(8,4),"plains centaur",0
- XMONSTER: random, random, random
- XMONSTER: random, random, random
- X
- XSUBROOM: "delphi" , lit , (4,3) , (3,3), "central"
- XFOUNTAIN: (0, 1)
- XFOUNTAIN: (1, 0)
- XFOUNTAIN: (1, 2)
- XFOUNTAIN: (2, 1)
- XMONSTER: '@', "oracle", (1,1)
- XDOOR: false , nodoor , random, random
- X
- XROOM: "ordinary" , random, random, random, random
- XSTAIR: random, up
- XOBJECT: random,random,random
- X
- XROOM: "ordinary" , random, random, random, random
- XSTAIR: random, down
- XOBJECT: random, random, random
- XTRAP: random, random
- XMONSTER: random, random, random
- XMONSTER: random, random, random
- X
- XROOM: "ordinary" , random, random, random, random
- XOBJECT: random, random, random
- XOBJECT: random, random, random
- XMONSTER: random, random, random
- X
- XROOM: "ordinary" , random, random, random, random
- XOBJECT: random, random, random
- XTRAP: random, random
- XMONSTER: random, random, random
- X
- XROOM: "ordinary" , random, random, random, random
- XOBJECT: random, random, random
- XTRAP: random, random
- XMONSTER: random, random, random
- X
- XRANDOM_CORRIDORS
- END_OF_FILE
- if test 1446 -ne `wc -c <'dat/oracle.des'`; then
- echo shar: \"'dat/oracle.des'\" unpacked with wrong size!
- fi
- # end of 'dat/oracle.des'
- fi
- if test -f 'include/artifact.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/artifact.h'\"
- else
- echo shar: Extracting \"'include/artifact.h'\" \(2729 characters\)
- sed "s/^X//" >'include/artifact.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)artifact.h 3.1 92/11/01 */
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifndef ARTIFACT_H
- X#define ARTIFACT_H
- X
- X#define SPFX_NONE 0x0000000 /* no special effects, just a bonus */
- X#define SPFX_NOGEN 0x0000001 /* item is special, bequeathed by gods */
- X#define SPFX_RESTR 0x0000002 /* item is restricted - can't be named */
- X#define SPFX_INTEL 0x0000004 /* item is self-willed - intelligent */
- X#define SPFX_SPEEK 0x0000008 /* item can speak */
- X#define SPFX_SEEK 0x0000010 /* item helps you search for things */
- X#define SPFX_WARN 0x0000020 /* item warns you of danger */
- X#define SPFX_ATTK 0x0000040 /* item has a special attack (attk) */
- X#define SPFX_DEFN 0x0000080 /* item has a special defence (defn) */
- X#define SPFX_DRLI 0x0000100 /* drains a level from monsters */
- X#define SPFX_SEARCH 0x0000200 /* helps searching */
- X#define SPFX_BEHEAD 0x0000400 /* beheads monsters */
- X#define SPFX_HALRES 0x0000800 /* blocks hallucinations */
- X#define SPFX_ESP 0x0001000 /* ESP (like amulet of ESP) */
- X#define SPFX_STLTH 0x0002000 /* Stealth */
- X#define SPFX_REGEN 0x0004000 /* Regeneration */
- X#define SPFX_EREGEN 0x0008000 /* Energy Regeneration */
- X#define SPFX_HSPDAM 0x0010000 /* 1/2 spell damage (on player) in combat */
- X#define SPFX_HPHDAM 0x0020000 /* 1/2 physical damage (on player) in combat */
- X#define SPFX_TCTRL 0x0040000 /* Teleportation Control */
- X#define SPFX_LUCK 0x0080000 /* Increase Luck (like Luckstone) */
- X#define SPFX_DMONS 0x0100000 /* attack bonus on one monster type */
- X#define SPFX_DCLAS 0x0200000 /* attack bonus on monsters w/ symbol mtype */
- X#define SPFX_DFLAG1 0x0400000 /* attack bonus on monsters w/ mflags1 flag */
- X#define SPFX_DFLAG2 0x0800000 /* attack bonus on monsters w/ mflags2 flag */
- X#define SPFX_DALIGN 0x1000000 /* attack bonus on non-aligned monsters */
- X
- X#define SPFX_DBONUS 0x1F00000 /* attack bonus mask */
- X
- Xstruct artifact {
- X unsigned otyp;
- X const char *name;
- X unsigned long spfx; /* special effect from wielding/wearing */
- X unsigned long cspfx; /* special effect just from carrying obj */
- X unsigned long mtype; /* monster type, symbol, or flag */
- X struct attack attk, defn, cary;
- X uchar inv_prop; /* property obtained by invoking artifact */
- X aligntyp alignment; /* alignment of bequeathing gods */
- X char class; /* character class associated with */
- X};
- X
- X/* invoked properties with special powers */
- X#define TAMING (LAST_PROP+1)
- X#define HEALING (LAST_PROP+2)
- X#define ENERGY_BOOST (LAST_PROP+3)
- X#define UNTRAP (LAST_PROP+4)
- X#define CHARGE_OBJ (LAST_PROP+5)
- X#define LEV_TELE (LAST_PROP+6)
- X#define CREATE_PORTAL (LAST_PROP+7)
- X
- X#endif /* ARTIFACT_H */
- END_OF_FILE
- if test 2729 -ne `wc -c <'include/artifact.h'`; then
- echo shar: \"'include/artifact.h'\" unpacked with wrong size!
- fi
- # end of 'include/artifact.h'
- fi
- if test -f 'include/permonst.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/permonst.h'\"
- else
- echo shar: Extracting \"'include/permonst.h'\" \(2130 characters\)
- sed "s/^X//" >'include/permonst.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)permonst.h 3.1 92/11/21 */
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifndef PERMONST_H
- X#define PERMONST_H
- X
- X/* This structure covers all attack forms.
- X * aatyp is the gross attack type (eg. claw, bite, breath, ...)
- X * adtyp is the damage type (eg. physical, fire, cold, spell, ...)
- X * damn is the number of hit dice of damage from the attack.
- X * damd is the number of sides on each die.
- X *
- X * Some attacks can do no points of damage. Additionally, some can
- X * have special effects *and* do damage as well. If damn and damd
- X * are set, they may have a special meaning. For example, if set
- X * for a blinding attack, they determine the amount of time blinded.
- X */
- X
- Xstruct attack {
- X uchar aatyp;
- X uchar adtyp, damn, damd;
- X};
- X
- X/* Max # of attacks for any given monster.
- X */
- X
- X#define NATTK 6
- X
- X/* Weight of a human body
- X */
- X
- X#define WT_HUMAN 1450
- X
- X#include "monattk.h"
- X#include "monflag.h"
- X#ifndef ALIGN_H
- X#include "align.h"
- X#endif
- X
- Xstruct permonst {
- X const char *mname; /* full name */
- X char mlet; /* symbol */
- X schar mlevel, /* base monster level */
- X mmove, /* move speed */
- X ac, /* (base) armor class */
- X mr; /* (base) magic resistance */
- X aligntyp maligntyp; /* basic monster alignment */
- X unsigned geno; /* creation/geno mask value */
- X struct attack mattk[NATTK]; /* attacks matrix */
- X unsigned short cwt, /* weight of corpse */
- X cnutrit; /* its nutritional value */
- X short pxlth; /* length of extension */
- X uchar msound; /* noise it makes (6 bits) */
- X uchar msize; /* physical size (3 bits) */
- X uchar mresists; /* resistances */
- X uchar mconveys; /* conveyed by eating */
- X long mflags1, /* boolean bitflags */
- X mflags2; /* more boolean bitflags */
- X uchar mflags3; /* yet more boolean bitflags */
- X# ifdef TEXTCOLOR
- X uchar mcolor; /* color to use */
- X# endif
- X};
- X
- Xextern struct permonst
- X NEARDATA mons[]; /* the master list of monster types */
- Xextern struct permonst NEARDATA playermon, NEARDATA *uasmon;
- X /* you in the same terms */
- X
- X#endif /* PERMONST_H */
- END_OF_FILE
- if test 2130 -ne `wc -c <'include/permonst.h'`; then
- echo shar: \"'include/permonst.h'\" unpacked with wrong size!
- fi
- # end of 'include/permonst.h'
- fi
- if test -f 'include/qtext.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/qtext.h'\"
- else
- echo shar: Extracting \"'include/qtext.h'\" \(2273 characters\)
- sed "s/^X//" >'include/qtext.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)qtext.h 3.1 92/01/22 */
- X/* Copyright (c) Mike Stephenson 1991. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifdef MULDGN
- X#ifndef QTEXT_H
- X#define QTEXT_H
- X
- X#define N_HDR 13 /* number of classes + 1 */
- X#define COMMON_ID '-' /* common message id value */
- X
- Xstruct qtmsg {
- X int msgnum;
- X char delivery;
- X long offset,
- X size;
- X};
- X
- X#ifdef MAKEDEFS_C
- X
- X#define N_MSG 100 /* arbitrary */
- X
- Xstruct msghdr {
- X int n_msg;
- X struct qtmsg qt_msg[N_MSG];
- X};
- X
- Xstruct qthdr {
- X int n_hdr;
- X char id[N_HDR];
- X long offset[N_HDR];
- X};
- X
- X/* Error message macros */
- X#define CREC_IN_MSG "Control record encountered during message - line %d\n"
- X#define DUP_MSG "Duplicate message number at line %d\n"
- X#define END_NOT_IN_MSG "End record encountered before message - line %d\n"
- X#define UNREC_CREC "Unrecognized Control record at line %d\n"
- X#define OUT_OF_HEADERS "Too many message types (line %d)\nAdjust N_HDR in qtext.h and recompile.\n"
- X#define OUT_OF_MESSAGES "Too many messages in class (line %d)\nAdjust N_MSG in qtext.h and recompile.\n"
- X
- X#else /* !MAKEDEFS_C */
- X
- Xstruct qtlists {
- X struct qtmsg *common,
- X *chclass;
- X};
- X
- X
- X/*
- X * Quest message defines. Used in quest.c to trigger off "realistic"
- X * dialogue to the player.
- X */
- X#define QT_FIRSTTIME 1
- X#define QT_NEXTTIME 2
- X#define QT_OTHERTIME 3
- X
- X#define QT_GUARDTALK 5 /* 5 random things for guards to say */
- X
- X#define QT_FIRSTLEADER 10
- X#define QT_NEXTLEADER 11
- X#define QT_OTHERLEADER 12
- X#define QT_LASTLEADER 13
- X#define QT_BADLEVEL 14
- X#define QT_BADALIGN 15
- X#define QT_ASSIGNQUEST 16
- X
- X#define QT_ENCOURAGE 20 /* 1-10 random encouragement messages */
- X
- X#define QT_FIRSTLOCATE 30
- X#define QT_NEXTLOCATE 31
- X
- X#define QT_FIRSTGOAL 40
- X#define QT_NEXTGOAL 41
- X
- X#define QT_FIRSTNEMESIS 50
- X#define QT_NEXTNEMESIS 51
- X#define QT_OTHERNEMESIS 52
- X#define QT_NEMWANTSIT 53 /* you somehow got the artifact */
- X
- X#define QT_DISCOURAGE 60 /* 1-10 random maledictive messages */
- X
- X#define QT_GOTIT 70
- X
- X#define QT_KILLEDNEM 80
- X#define QT_OFFEREDIT 81
- X
- X#define QT_POSTHANKS 90
- X#define QT_HASAMULET 91
- X
- X/*
- X * Message defines for common text used in maledictions.
- X */
- X#define QT_ANGELIC 10
- X#define QTN_ANGELIC 10
- X
- X#define QT_DEMONIC 30
- X#define QTN_DEMONIC 20
- X
- X#endif /* MAKEDEFS_C */
- X
- X#endif /* QTEXT_H */
- X#endif /* MULDGN */
- END_OF_FILE
- if test 2273 -ne `wc -c <'include/qtext.h'`; then
- echo shar: \"'include/qtext.h'\" unpacked with wrong size!
- fi
- # end of 'include/qtext.h'
- fi
- if test -f 'include/quest.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/quest.h'\"
- else
- echo shar: Extracting \"'include/quest.h'\" \(1577 characters\)
- sed "s/^X//" >'include/quest.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)quest.h 3.1 92/11/15 */
- X/* Copyright (c) Mike Stephenson 1991. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifdef MULDGN
- X#ifndef QUEST_H
- X#define QUEST_H
- X
- Xstruct q_score { /* Quest "scorecard" */
- X Bitfield(first_start,1); /* only set the first time */
- X Bitfield(met_leader,1); /* has met the leader */
- X Bitfield(not_ready,3); /* rejected due to alignment, etc. */
- X Bitfield(pissed_off,1); /* got the leader angry */
- X Bitfield(got_quest,1); /* got the quest assignment */
- X
- X Bitfield(first_locate,1); /* only set the first time */
- X Bitfield(met_intermed,1); /* used if the locate is a person. */
- X Bitfield(got_final,1); /* got the final quest assignment */
- X
- X Bitfield(made_goal,3); /* # of times on goal level */
- X Bitfield(met_nemesis,1); /* has met the nemesis before */
- X Bitfield(killed_nemesis,1); /* set when the nemesis is killed */
- X Bitfield(in_battle,1); /* set when nemesis fighting you */
- X
- X Bitfield(cheater,1); /* set if cheating detected */
- X Bitfield(touched_artifact,1); /* for a special message */
- X Bitfield(offered_artifact,1); /* offered to leader */
- X Bitfield(got_thanks,1); /* final message from leader */
- X};
- X
- X#define MAX_QUEST_TRIES 7 /* exceed this and you "fail" */
- X#define MIN_QUEST_ALIGN 20 /* at least this align.record to start */
- X /* note: align 20 matches "pious" as reported by enlightenment (cmd.c) */
- X#define MIN_QUEST_LEVEL 14 /* at least this u.ulevel to start */
- X /* note: exp.lev. 14 is threshold level for 5th rank (class title, botl.c) */
- X
- X#endif /* QUEST_H */
- X#endif /* MULDGN */
- END_OF_FILE
- if test 1577 -ne `wc -c <'include/quest.h'`; then
- echo shar: \"'include/quest.h'\" unpacked with wrong size!
- fi
- # end of 'include/quest.h'
- fi
- if test -f 'include/termcap.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/termcap.h'\"
- else
- echo shar: Extracting \"'include/termcap.h'\" \(1489 characters\)
- sed "s/^X//" >'include/termcap.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)termcap.h 3.1 92/10/21 */
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1989. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X/* common #defines for print.c and termcap.c */
- X
- X#ifndef TERMCAP_H
- X#define TERMCAP_H
- X
- X#ifndef MICRO
- X# define TERMLIB /* include termcap code */
- X#endif
- X
- X/* might display need graphics code? */
- X#if !defined(AMIGA) && !defined(TOS)
- X# if defined(TERMLIB) || defined(OS2) || defined(MSDOS)
- X# define ASCIIGRAPH
- X# endif
- X#endif
- X
- X#ifndef DECL_H
- Xextern struct tc_gbl_data { /* also declared in decl.h; defined in decl.c */
- X char *tc_AS, *tc_AE; /* graphics start and end (tty font swapping) */
- X int tc_LI, tc_CO; /* lines and columns */
- X} tc_gbl_data;
- X#define AS tc_gbl_data.tc_AS
- X#define AE tc_gbl_data.tc_AE
- X#define LI tc_gbl_data.tc_LI
- X#define CO tc_gbl_data.tc_CO
- X#endif
- X
- Xextern struct tc_lcl_data { /* defined and set up in termcap.c */
- X char *tc_CM, *tc_ND, *tc_CD;
- X char *tc_HI, *tc_HE, *tc_US, *tc_UE;
- X boolean tc_ul_hack;
- X} tc_lcl_data;
- X#define CM tc_lcl_data.tc_CM
- X#define ND tc_lcl_data.tc_ND
- X#define CD tc_lcl_data.tc_CD
- X#define HI tc_lcl_data.tc_HI
- X#define HE tc_lcl_data.tc_HE
- X#define US tc_lcl_data.tc_US
- X#define UE tc_lcl_data.tc_UE
- X#define ul_hack tc_lcl_data.tc_ul_hack
- X
- Xextern short ospeed; /* set up in termcap.c */
- X
- X#ifdef TEXTCOLOR
- X# ifdef TOS
- Xextern const char *hilites[MAXCOLORS];
- X# else
- Xextern char NEARDATA *hilites[MAXCOLORS];
- X# endif
- X#endif
- X
- X#endif /* TERMCAP_H */
- END_OF_FILE
- if test 1489 -ne `wc -c <'include/termcap.h'`; then
- echo shar: \"'include/termcap.h'\" unpacked with wrong size!
- fi
- # end of 'include/termcap.h'
- fi
- if test -f 'include/tosconf.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/tosconf.h'\"
- else
- echo shar: Extracting \"'include/tosconf.h'\" \(1892 characters\)
- sed "s/^X//" >'include/tosconf.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)tosconf.h 3.1 90/22/02 */
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifdef TOS
- X#ifndef TOSCONF_H
- X#define TOSCONF_H
- X
- X#define MICRO /* must be defined to allow some inclusions */
- X
- X/*
- X Adjust these options to suit your compiler. The default here is for
- X GNU C with the MiNT library.
- X*/
- X
- X/*#define NO_SIGNAL /* library doesn't support signals */
- X/*#define NO_FSTAT /* library doesn't have fstat() call */
- X#define MINT /* library supports MiNT extensions to TOS */
- X
- X#ifdef __MINT__
- X#define MINT
- X#endif
- X
- X#ifdef O_BINARY
- X#define FCMASK O_BINARY
- X#else
- X#define FCMASK 0660
- X#define O_BINARY 0
- X#endif
- X
- X#ifdef UNIXDEBUG
- X#define remove(x) unlink(x)
- X#endif
- X
- X/* configurable options */
- X#define MFLOPPY /* floppy support */
- X#define RANDOM /* improved random numbers */
- X#define SHELL /* allow spawning of shell */
- X#define TERMLIB /* use termcap */
- X#define TEXTCOLOR /* allow color */
- X#ifdef MINT
- X#define SUSPEND /* allow suspending the game */
- X#endif
- X
- X#ifndef TERMLIB
- X#define ANSI_DEFAULT /* use vt52 by default */
- X#endif
- X
- X#if defined(__GNUC__) || defined(__TURBOC__) || defined(__MINT__)
- X/* actually, only more recent GNU C libraries have strcmpi
- X * on the other hand, they're free -- if yours is out of
- X * date, grab the most recent from atari.archive.umich.edu
- X */
- X#define STRNCMPI
- X#undef strcmpi
- Xextern int FDECL(strcmpi,(const char *, const char *));
- Xextern int FDECL(strncmpi,(const char *, const char *, size_t));
- X#endif
- X
- X#ifndef MICRO_H
- X#include "micro.h"
- X#endif
- X#ifndef PCCONF_H
- X#include "pcconf.h" /* remainder of stuff is same as the PC */
- X#endif
- X
- X#ifdef TEXTCOLOR
- Xextern boolean colors_changed; /* in tos.c */
- X#endif
- X
- X#ifdef __GNUC__
- X#define GCC_BUG /* correct a gcc bug involving double for loops */
- X#endif
- X
- X#endif /* TOSCONF_H */
- X#endif /* TOS */
- END_OF_FILE
- if test 1892 -ne `wc -c <'include/tosconf.h'`; then
- echo shar: \"'include/tosconf.h'\" unpacked with wrong size!
- fi
- # end of 'include/tosconf.h'
- fi
- if test -f 'include/winami.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'include/winami.h'\"
- else
- echo shar: Extracting \"'include/winami.h'\" \(2745 characters\)
- sed "s/^X//" >'include/winami.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)winami.h 3.1 93/01/17 */
- X/* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991. */
- X/* Copyright (c) Gregg Wonderly, Naperville, Illinois, 1992, 1993. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#ifndef WINAMI_H
- X#define WINAMI_H
- X
- X/* descriptor for Amiga Intuition-based windows. If we decide to cope with
- X * tty-style windows also, then things will need to change. */
- X/* per-window data */
- Xstruct WinDesc {
- X xchar type; /* type of window */
- X boolean active; /* true if window is active */
- X xchar offx, offy; /* offset from topleft of display */
- X short rows, cols; /* dimensions */
- X short curx, cury; /* current cursor position */
- X short maxrow, maxcol; /* the maximum size used -- for INVEN wins */
- X /* maxcol is also used by WIN_MESSAGE for */
- X /* tracking the ^P command */
- X char **data; /* window data [row][column] */
- X char *resp; /* valid menu responses (for NHW_INVEN) */
- X char *canresp; /* cancel responses; 1st is the return value */
- X char *morestr; /* string to display instead of default */
- X/* amiga stuff */
- X struct Window *win; /* Intuition window pointer */
- X#ifdef INTUI_NEW_LOOK
- X struct ExtNewWindow *newwin; /* NewWindow alloc'd */
- X#else
- X struct NewWindow *newwin; /* ExtNewWindow alloc'd */
- X#endif
- X#define FLMAP_INGLYPH 1 /* An NHW_MAP window is in glyph mode */
- X#define FLMAP_CURSUP 2 /* An NHW_MAP window has the cursor displayed */
- X long flags;
- X short cursx, cursy; /* Where the cursor is displayed at */
- X short curs_apen, /* Color cursor is displayed in */
- X curs_bpen;
- X};
- X
- X/* descriptor for intuition-based displays -- all the per-display data */
- X/* this is a generic thing - think of it as Screen level */
- X
- Xstruct DisplayDesc {
- X/* we need this for Screen size (which will vary with display mode) */
- X uchar rows, cols; /* width & height of display in text units */
- X short xpix, ypix; /* width and height of display in pixels */
- X int toplin; /* flag for topl stuff */
- X int rawprint; /* number of raw_printed lines since synch */
- X winid lastwin; /* last window used for I/O */
- X};
- X
- Xtypedef enum {
- X WEUNK, WEKEY, WEMOUSE, WEMENU,
- X} WETYPE;
- X
- Xtypedef struct WEVENT
- X{
- X WETYPE type;
- X union {
- X int key;
- X struct {
- X int x, y;
- X int qual;
- X } mouse;
- X long menucode;
- X } u;
- X} WEVENT;
- X
- X#define MAXWIN 20 /* maximum number of windows, cop-out */
- X
- X/* port specific variable declarations */
- Xextern winid WIN_BASE;
- X#define NHW_BASE 6
- X
- Xextern struct WinDesc *wins[MAXWIN + 1];
- X
- Xextern struct DisplayDesc *amiIDisplay; /* the Amiga Intuition descriptor */
- X
- Xextern char morc; /* last character typed to xwaitforspace */
- Xextern char defmorestr[]; /* default --more-- prompt */
- X
- X#endif /* WINAMI_H */
- END_OF_FILE
- if test 2745 -ne `wc -c <'include/winami.h'`; then
- echo shar: \"'include/winami.h'\" unpacked with wrong size!
- fi
- # end of 'include/winami.h'
- fi
- if test -f 'src/rnd.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/rnd.c'\"
- else
- echo shar: Extracting \"'src/rnd.c'\" \(2028 characters\)
- sed "s/^X//" >'src/rnd.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)rnd.c 3.1 90/22/02
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#include "hack.h"
- X
- X#if defined(LINT) && defined(UNIX) /* rand() is long... */
- Xextern int NDECL(rand);
- X#define RND(x) (rand() % x)
- X#else /* LINT */
- X/* rand() is either random() or lrand48() - see config.h. */
- X#ifdef UNIX
- X#define RND(x) (int)(Rand() % (long)(x))
- X#else
- X/* Good luck: the bottom order bits are cyclic. */
- X#define RND(x) (int)((Rand()>>3) % (x))
- X#endif
- X#endif /* LINT */
- X
- X#ifdef OVL0
- X
- Xint
- Xrn2(x) /* 0 <= rn2(x) < x */
- Xregister int x;
- X{
- X#ifdef DEBUG
- X if (x == 0) {
- X impossible("rn2(0) attempted");
- X return(0);
- X }
- X#endif
- X return(RND(x));
- X}
- X
- X#endif /* OVL0 */
- X#ifdef OVLB
- X
- Xint
- Xrnl(x) /* 0 <= rnl(x) < x; sometimes subtracting Luck */
- Xregister int x; /* good luck approaches 0, bad luck approaches (x-1) */
- X{
- X register int i;
- X
- X#ifdef DEBUG
- X if (x == 0) {
- X impossible("rnl(0) attempted");
- X return(0);
- X }
- X#endif
- X i = RND(x);
- X
- X if (Luck && rn2(50 - Luck)) {
- X i -= (x <= 15 && Luck >= -5 ? Luck/3 : Luck);
- X if (i < 0) i = 0;
- X else if (i >= x) i = x-1;
- X }
- X
- X return i;
- X}
- X
- X#endif /* OVLB */
- X#ifdef OVL0
- X
- Xint
- Xrnd(x) /* 1 <= rnd(x) <= x */
- Xregister int x;
- X{
- X#ifdef DEBUG
- X if (x == 0) {
- X impossible("rnd(0) attempted");
- X return(1);
- X }
- X#endif
- X return(RND(x)+1);
- X}
- X
- X#endif /* OVL0 */
- X#ifdef OVL1
- X
- Xint
- Xd(n,x) /* n <= d(n,x) <= (n*x) */
- Xregister int n, x;
- X{
- X register int tmp = n;
- X
- X#ifdef DEBUG
- X if (x == 0) {
- X impossible("d(n,0) attempted");
- X return(1);
- X }
- X#endif
- X while(n--) tmp += RND(x);
- X return(tmp); /* Alea iacta est. -- J.C. */
- X}
- X
- X#endif /* OVL1 */
- X#ifdef OVLB
- X
- Xint
- Xrne(x) /* by stewr 870807 */
- Xregister int x;
- X{
- X register int tmp = 1;
- X while(!rn2(x)) tmp++;
- X return(min(tmp,(u.ulevel < 15) ? 5 : (int)u.ulevel/3));
- X}
- X
- Xint
- Xrnz(i)
- Xint i;
- X{
- X#ifdef LINT
- X int x = i;
- X int tmp = 1000;
- X#else
- X register long x = i;
- X register long tmp = 1000;
- X#endif
- X tmp += rn2(1000);
- X tmp *= rne(4);
- X if (rn2(2)) { x *= tmp; x /= 1000; }
- X else { x *= 1000; x /= tmp; }
- X return((int)x);
- X}
- X
- X#endif /* OVLB */
- X
- X/*rnd.c*/
- END_OF_FILE
- if test 2028 -ne `wc -c <'src/rnd.c'`; then
- echo shar: \"'src/rnd.c'\" unpacked with wrong size!
- fi
- # end of 'src/rnd.c'
- fi
- if test -f 'src/windows.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/windows.c'\"
- else
- echo shar: Extracting \"'src/windows.c'\" \(1473 characters\)
- sed "s/^X//" >'src/windows.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)windows.c 3.1 93/01/08 */
- X/* Copyright (c) D. Cohrs, 1993. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X#include "hack.h"
- X#ifdef TTY_GRAPHICS
- X#include "wintty.h"
- X#endif
- X#ifdef X11_GRAPHICS
- X/* cannot just blindly include winX.h without including all of X11 stuff */
- X/* and must get the order of include files right. Don't bother */
- Xextern struct window_procs X11_procs;
- Xextern void NDECL(win_X11_init);
- X#endif
- X#ifdef MAC
- Xextern struct window_procs mac_procs ;
- X#endif
- X#ifdef AMIGA_INTUITION
- Xextern struct window_procs amii_procs ;
- X#endif
- X
- Xstruct window_procs NEARDATA windowprocs;
- X
- Xstatic
- Xstruct win_choices {
- X struct window_procs *procs;
- X void NDECL((*ini_routine)); /* optional (can be 0) */
- X} winchoices[] = {
- X#ifdef TTY_GRAPHICS
- X { &tty_procs, win_tty_init },
- X#endif
- X#ifdef X11_GRAPHICS
- X { &X11_procs, win_X11_init },
- X#endif
- X#ifdef MAC
- X { & mac_procs , NULL } ,
- X#endif
- X#ifdef AMIGA_INTUITION
- X { & amii_procs , NULL } ,
- X#endif
- X { 0, 0 } /* must be last */
- X};
- X
- Xvoid
- Xchoose_windows(s)
- Xconst char *s;
- X{
- X register int i;
- X
- X for(i=0; winchoices[i].procs; i++)
- X if (!strcmpi(s, winchoices[i].procs->name)) {
- X windowprocs = *winchoices[i].procs;
- X if (winchoices[i].ini_routine) (*winchoices[i].ini_routine)();
- X return;
- X }
- X
- X raw_printf("Window type %s not recognized. Choices are:", s);
- X for(i=0; winchoices[i].procs; i++)
- X raw_printf(" %s", winchoices[i].procs->name);
- X}
- X
- X/*windows.c*/
- END_OF_FILE
- if test 1473 -ne `wc -c <'src/windows.c'`; then
- echo shar: \"'src/windows.c'\" unpacked with wrong size!
- fi
- # end of 'src/windows.c'
- fi
- if test -f 'sys/amiga/NHinfo.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/amiga/NHinfo.uu'\"
- else
- echo shar: Extracting \"'sys/amiga/NHinfo.uu'\" \(2167 characters\)
- sed "s/^X//" >'sys/amiga/NHinfo.uu' <<'END_OF_FILE'
- Xbegin 777 NetHack.info
- XMXQ```0``````=@`^`%``(@`&`0L``0`DT>``)4KX``````````````````0`
- XM```!!!@`)-O@`"69&(````"``````````````````)Q```````!0`"$``@`"
- XM_0@#```````````````````!`````````````P````````````,`````````
- XM```#`````````````P````````````,``!__@``````#``!U57```````P`!
- XMJJJH``````,``5557``````#``:JJJH``````P`%??WU``````,`!OJ[^P``
- XM```#``5O_=4``````P`&JJJK`````/L`!575U0'_[/_[``:OOJO_____XP`%
- XM5554>^```!L#_JZJJT%4F*=3'\5UWO7224```S`&N^^K!EPE]TL"M55556K6
- XMHL`#)6?___\#4Z^``SJG____X@`*E-,<D?____H#5*W3("L?___XR`<`<RO]
- XM[___Z.ZGW#,H(8#___.`>H(#%"$#?__`+`!-BP!!&/@/0`,D0!,V"`P,<WQX
- XM``9+*`%F`X!CG#F`ZW_________________________^P````````````,0!
- XM\$`(`````$#`#X`$``0`@!``P#\``$`@`@"``,!^`$``((``@(#$?A__L```
- XM`0``Q'_U57`!P````,(_JJJH8`@``0#`'5557`!`1```P`:JJJH!```"`,`5
- XM`0`%`````0#$1H**"R$#!@``Q@4!`%4``"```,`6JJJK`>@.LP#$%455%1``
- XM$P``P`:JHHH``````,$E5554``````#(!*JJJP``````P`4U`!4``````,`&
- XMJ`BK``````#`!5555```````P`?___\``````,````````````#`````````
- XM````P````````````,````````````#`````````````P````````````,``
- XM``````````#`````````````P````````````(```````````````````%``
- XM(0`"``1:T`,``````/_____________`````````````P````````````,``
- XM``````````#`````````````P````````````,````````````#`````````
- XM````P````````````,````````````#```/G@```````P`!^_>```````,``
- XM]SOX``````#``:_]W```````P`>JJJX`````^,`%5=74`?_L__C`!J^^JW__
- XM___@P`55551[X```&,-^KJJK0528IU#>!77>]=))0```\8:[[ZL&3"6W2,+5
- XM5555:M8BP`#D1____P-`#H``^V?____"``J4T-U!____Z@,4K=#@*Q___\B(
- XM!@!PZ]WH_\P([B?<,.@A@,$$<X!R``#4(`-$*T`D`$V(P$$8^`%``R1`$/8(
- XM#`QS;'@`!DCH`68#@&.<.8#H@```````````````````````````````````
- XM```#!`?X0`@`````0P`?_@0`!`"`$`,`/_\`0"`"`(`#`'__@``@@`"`@P1_
- XM_X`````!``,$?_^```'````#`C__``!@"``!`P`?_@```$!$``,`!_/G@`$`
- XM``(#`!!^_&`````!`P1`]PHX(0,&``,&`8$`7```(``#`!>JJJX!Z`ZS`P05
- XM1544$``3``,`!JJBB@`````#`255550``````P@$JJJK````"`,`!34`%0``
- XM```#``:H"*L```!``P`%5554`````(,`!____P`(`$`#````````$````P`0
- XM``````!```,````````!```#`"```````````P```````````@,``P````!"
- XM"``#`````````````P````````````,````````````#?____________P``
- XM`!!(86-K17AE.DYE=$AA8VL`````%````!%(04-+1$E2/4YE=$AA8VLZ````
- XM`!9,159%3%,]3F5T:&%C:SIL979E;',`````$E-!5D4]3F5T:&%C:SIS879E
- X3``````Y0051(/4YE=$AA8VLZ`'9E
- X`
- Xend
- END_OF_FILE
- if test 2167 -ne `wc -c <'sys/amiga/NHinfo.uu'`; then
- echo shar: \"'sys/amiga/NHinfo.uu'\" unpacked with wrong size!
- fi
- # end of 'sys/amiga/NHinfo.uu'
- fi
- if test -f 'sys/amiga/amii.hlp' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/amiga/amii.hlp'\"
- else
- echo shar: Extracting \"'sys/amiga/amii.hlp'\" \(2105 characters\)
- sed "s/^X//" >'sys/amiga/amii.hlp' <<'END_OF_FILE'
- X Amiga specific help file for NetHack 3.1
- X
- XThe Amiga port of NetHack supports a number of additional commands
- Xand facilities specific to the Amiga. Listed below are the things
- Xwhich are either specific to the Amiga port or might not appear
- Xin other ports.
- X
- XWhile playing NetHack you can press:
- X
- X ALT-HELP To activate the palette editing
- X requester. Saved games include
- X these settings of the pens to allow
- X the game to be resumed with the
- X same palette at a later date.
- X
- XAmiga-specific run-time option:
- X flush throw away keyboard type-ahead
- X
- XRecognized ToolTypes entries include the following:
- X
- X NAME= Character name.
- X SCORES Scores for all players.
- X SCORE= Scores for specified players.
- X CHARACTER= Class of player (e.g. Rogue).
- X PENS=xxx,xxx,... 8 pen settings for game palette.
- X PATH= PATH for locating files.
- X OPTIONS= Comma separated list of options.
- X HACKDIR= Directory to play game in.
- X LEVELS= Where to store/create per level
- X data files.
- X SAVE= Where to save games.
- X SCREEN=LACE|NOLACE Whether or not to play on
- X an interlaced screen.
- X CMDLINE= CLI command line options
- X can be specified here.
- X
- XCommand line options recognized are
- X
- X -n No News at game startup.
- X -X Play in discovery mode.
- X -W Play as wizard.
- X -L Interlaced screen.
- X -l Never Interlaced screen.
- X -u Play as player given as
- X an argument.
- X -? Gives command line usage.
- X
- END_OF_FILE
- if test 2105 -ne `wc -c <'sys/amiga/amii.hlp'`; then
- echo shar: \"'sys/amiga/amii.hlp'\" unpacked with wrong size!
- fi
- # end of 'sys/amiga/amii.hlp'
- fi
- if test -f 'sys/amiga/dflticon.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/amiga/dflticon.uu'\"
- else
- echo shar: Extracting \"'sys/amiga/dflticon.uu'\" \(1567 characters\)
- sed "s/^X//" >'sys/amiga/dflticon.uu' <<'END_OF_FILE'
- Xbegin 777 default.icon
- XMXQ```0``````"@`/`%``&0`&`0H``0`V>1``-GJH``````````````````8`
- XM```!!,P`(VS8`",5F(````"``````````````````,-0``````!0`!@``@``
- XM;Z0#```````````````````!`````````````P````````````,'_@``````
- XM```##_\&,`!'```'`P__!S``PP```P,/_P>QX?-AX>,S#_\&\S##L#,S8P_^
- XM!G/PPS#S`\,#_`8S`-,S,S-C`?@&,>!G,=GG,P#_``````````,`?X``````
- XM```#``?P`&&>``P``P``/@!ALP`<``,`_`<`,P,`#``#`_^'@#,.``P``P<`
- XM`X`>`P`,``,#@`.`'C,,#``#`?Q_``P>##\``P`?_@````````,`````````
- XM```#`````````````W_________________________^P````````````,``
- XM``````````#`````````````P````````````,/\``````````#.9P``````
- XM````SY\``````````,_^``````````###```````````P?@``````````,#_
- XM``````````#`?X``````````P`?P`````````,``/@````````#`5`<`````
- XM````PU0'@````````,<``X````````##@`.`````````P?Q_`````````,`?
- XM_@````````#`````````````P````````````(```````````````````%``
- XM&``"``/D3`,``````/____________[`````````````P````````````,``
- XM``````````#```8P`$<```<`P/@',`##```#`,<SA['A\V'AXS#'SX;S,,.P
- XM,S-@Q_\&<_##,/,#P,&,!C,`TS,S,V#`P`8QX&<QV><PP'```````````,`C
- XM@`````````#`!_``89X`#```P%`^`&&S`!P``,-4!P`S`P`,``##``>`,PX`
- XM#```QP`#@!X#``P``,.``X`>,PP,``#!_'\`#!X,/P``P!_^`````````,``
- XM``````````#`````````````@`````````````````````````$`````````
- XM```#`````````````P/_``````````,'_X`````````#!_^``````````P?_
- XM@`````````,'_X`````````#!_\``````````P'\``````````,`_P``````
- XM```#`'_@`````````P`_@`````````,`%_`````````#`/N^`````````P/_
- XMAP````````,#``>````````#!P`#@````````P.``X````````,!_'\`````
- XM```#`!_^`````````P````````````,````````````#?____________P``
- XD``DO;F5T:&%C:P`````(````$4A!0TM$25(]3F5T2&%C:SH`
- X`
- Xend
- END_OF_FILE
- if test 1567 -ne `wc -c <'sys/amiga/dflticon.uu'`; then
- echo shar: \"'sys/amiga/dflticon.uu'\" unpacked with wrong size!
- fi
- # end of 'sys/amiga/dflticon.uu'
- fi
- if test -f 'sys/amiga/hackwb.hlp' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/amiga/hackwb.hlp'\"
- else
- echo shar: Extracting \"'sys/amiga/hackwb.hlp'\" \(2704 characters\)
- sed "s/^X//" >'sys/amiga/hackwb.hlp' <<'END_OF_FILE'
- XThe front end to NetHack, HackWB, provides a graphical
- Xinterface to starting NetHack. Through some special features
- Xprovided by 'splitter', HackWB also provides a faster game
- Xrestart after the first game.
- X
- XWhen HackWB is first started, it will load the
- XNetHack:NewGame.info icon and any icons in the SAVE
- Xdirectory specified in the nethack.cnf file. To play, you
- Xcan simply double click on the NewGame icon, or one of the
- Xsaved game icons.
- X
- XThe NewGame icon can be populated with tooltypes entries
- Xto tell NetHack how to configure the game for you.
- XThe Project menu contains 2 things useful for configuring
- XNetHack. There is an "Edit Configuration" menu item
- Xwhich allows you to override what is in the NetHack.cnf
- Xfile. The data in the requester brought up by this menu
- Xitem is copied to the TOOLSTYPE entries of the NewGame
- Xicon for subsequent games that are started by double
- Xclicking on the NewGame icon.
- X
- XThe "Edit Default Game" selection is used to create new
- Xcharacter preferences for subsequent games started by
- Xdouble clicking on the NewGame icon. The initial requester
- Xuses the "Player's Name:" string gadget contents to create
- Xa file name which is <contents>.def. When the game
- Xfirst starts, WBDefaults.def is loaded. When you type in
- Xa character name and hit return, the definition associated
- Xwith that file is loaded.
- X
- XFrom this requester, you can set the character's class
- X(species, origin, whatever-your-term-is) by using the
- XCharacter menu provided. The selected 'class' is
- Xdisplayed on the requester. The options which are
- Xusually selected in the OPTIONS= line in nethack.cnf
- Xare accessed by clicking on the "Edit Options" gadget.
- XSelect all of the various settings desired and close
- Xthe requester by selecting Okay. Exit back out of
- Xthese two requesters and any time that you double click
- Xon the NewGame icon, the selected character and options
- Xwill be copied into the NewGame icon. That icon will
- Xbe updated on disk and then passed to NetHack to tell
- Xit how to configure the game.
- X
- XExisting games can be edited by selecting an icon with
- Xa single click. The "Game" menu will then become
- Xungreyed. The Game Menu has icon editing actions which
- Xare...
- X
- XInfo to browse through the icons tooltype
- X information.
- XChange Comment to edit the file comment.
- XSet Options to edit the OPTIONS string with the
- X requester.
- XCopy Options to create a new icon without a save file
- X which will allow you to play a similar
- X game under another name.
- XDiscard to remove the saved game/icon.
- XRename to change the icon name.
- X
- XOn the Project menu, there are other selections which
- Xshould be self explanatory.
- END_OF_FILE
- if test 2704 -ne `wc -c <'sys/amiga/hackwb.hlp'`; then
- echo shar: \"'sys/amiga/hackwb.hlp'\" unpacked with wrong size!
- fi
- # end of 'sys/amiga/hackwb.hlp'
- fi
- if test -f 'sys/amiga/wbstruct.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/amiga/wbstruct.h'\"
- else
- echo shar: Extracting \"'sys/amiga/wbstruct.h'\" \(1950 characters\)
- sed "s/^X//" >'sys/amiga/wbstruct.h' <<'END_OF_FILE'
- X/* SCCS Id: @(#)wbstruct.h 3.1 93/01/08
- X/* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X/*
- X * The NetHack WorkBench's typedef/struct definitions.
- X */
- Xtypedef unsigned char flag;
- X
- Xtypedef struct GAMEITEM
- X{
- X struct DiskObject *dobj; /* Icon structure pointer */
- X char
- X *gname, /* Process name running this game */
- X *name, /* name of icon without .info */
- X *dname, /* Directory where save file is */
- X *fname; /* File name on disk with .sav */
- X struct GAMEITEM *nextwgad; /* Next in list current visible */
- X struct GAMEITEM *next; /* Next in complete list */
- X struct Process *prc; /* Process running this game */
- X struct MsgPort *port; /* Port to send message to */
- X struct MsgPort *prcport; /* Port for process termination */
- X long secs, mics; /* Double click times */
- X long oact, oflag; /* orig Flags and activation for diskobj */
- X struct WBStartup *wbs; /* WorkBench startup message to send */
- X struct WBArg *wba; /* WorkBench args */
- X char **otools; /* Original dobj->do_ToolTypes pointer */
- X BPTR lock; /* Lock on game file */
- X int toolcnt; /* Number of pointers allocated in dobj */
- X BPTR seglist; /* Seglist of loaded game */
- X flag talloc; /* ToolTypes have been reallocated */
- X flag active; /* Is this game active */
- X} GAMEITEM, *GPTR;
- X
- Xtypedef struct OPTIONS
- X{
- X char optval; /* Options current boolean value */
- X char defval; /* The default boolean value nethack assumes */
- X char *name; /* Name of the option. */
- X char *optstr; /* Options current string value or "" */
- X int id; /* GadgetID of gadget manipulating this
- X * options value.
- X */
- X} OPTIONS, *OPTR;
- X
- Xtypedef struct DEFAULTS
- X{
- X int pltype; /* Character class */
- X char *plname; /* Players name */
- X char *options; /* Preferred options string */
- X} DEFAULTS;
- END_OF_FILE
- if test 1950 -ne `wc -c <'sys/amiga/wbstruct.h'`; then
- echo shar: \"'sys/amiga/wbstruct.h'\" unpacked with wrong size!
- fi
- # end of 'sys/amiga/wbstruct.h'
- fi
- if test -f 'sys/mac/macsnd.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/mac/macsnd.c'\"
- else
- echo shar: Extracting \"'sys/mac/macsnd.c'\" \(2302 characters\)
- sed "s/^X//" >'sys/mac/macsnd.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)macsnd.c 3.1 92/11/28 */
- X/* Copyright (c) 1992 by Jon Watte */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X/*
- X * This file contains music playing code.
- X *
- X * If we were REALLY determinated, we would make the sound play
- X * asynchronously, but I'll save that one for a rainy day...
- X *
- X * This may break A/UX, since it defines MAC but we need to
- X * check that the toolbox is booted. I'll defer that one too.
- X *
- X * - h+ 921128
- X */
- X
- X#include "hack.h"
- X#include <Sound.h>
- X#include <Resources.h>
- X
- X#define SND_BUFFER(s) (&(*s)[20])
- X#define SND_LEN(s) (GetHandleSize(s)-42)
- X
- Xvoid mac_speaker ( struct obj * instr , char * melody ) ;
- X
- Xvoid
- Xmac_speaker ( struct obj * instr , char * melody )
- X{
- X SndChannelPtr theChannel = NULL ;
- X SndCommand theCmd ;
- X Handle theSound ;
- X unsigned char theName [ 32 ] ;
- X char * n = ( char * ) & theName [ 1 ] ;
- X int typ = instr -> otyp ;
- X const char * actualn = OBJ_NAME ( objects [ typ ] ) ;
- X
- X /*
- X * First: are we in the library ?
- X *
- X */
- X if ( flags . silent ) {
- X
- X return ;
- X }
- X
- X /*
- X * Is this a known instrument ?
- X *
- X */
- X strcpy ( n , actualn ) ;
- X theName [ 0 ] = strlen ( n ) ;
- X theSound = GetNamedResource ( 'snd ' , theName ) ;
- X if ( ! theSound ) {
- X
- X return ;
- X }
- X HLock ( theSound ) ;
- X
- X /*
- X * Set up the synth
- X *
- X */
- X if ( itworked ( SndNewChannel ( & theChannel , sampledSynth , initMono +
- X initNoInterp , ( void * ) NULL ) ) ) {
- X
- X char midi_note [ ] = { 57 , 59 , 60 , 62 , 64 , 65 , 67 } ;
- X
- X short err ;
- X short snd_len = SND_LEN ( theSound ) / 18 ;
- X
- X theCmd . cmd = soundCmd ;
- X theCmd . param1 = 0 ;
- X theCmd . param2 = SND_BUFFER ( theSound ) ;
- X err = SndDoCommand ( theChannel , & theCmd , false ) ;
- X
- X /*
- X * We rack 'em up all in a row
- X * The mac will play them correctly and then end, since
- X * we do a sync close below.
- X *
- X */
- X while ( * melody && ! err ) {
- X
- X while ( * melody > 'G' ) {
- X
- X * melody -= 8 ;
- X }
- X while ( * melody < 'A' ) {
- X
- X * melody += 8 ;
- X }
- X theCmd . cmd = freqDurationCmd ;
- X theCmd . param1 = snd_len ;
- X theCmd . param2 = midi_note [ * melody - 'A' ] ;
- X err = SndDoCommand ( theChannel , & theCmd , false ) ;
- X melody ++ ;
- X }
- X SndDisposeChannel ( theChannel , false ) ;
- X /* Sync wait for completion */
- X ReleaseResource ( theSound ) ;
- X
- X mustwork ( err ) ;
- X }
- X}
- END_OF_FILE
- if test 2302 -ne `wc -c <'sys/mac/macsnd.c'`; then
- echo shar: \"'sys/mac/macsnd.c'\" unpacked with wrong size!
- fi
- # end of 'sys/mac/macsnd.c'
- fi
- if test -f 'sys/msdos/setup.bat' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/msdos/setup.bat'\"
- else
- echo shar: Extracting \"'sys/msdos/setup.bat'\" \(2012 characters\)
- sed "s/^X//" >'sys/msdos/setup.bat' <<'END_OF_FILE'
- Xecho off
- XREM SCCS Id: @(#)setup.bat 93/01/18
- XREM Copyright (c) NetHack PC Development Team 1990, 1991, 1992, 1993
- X
- XREM NetHack may be freely redistributed. See license for details.
- X
- XREM setup batch file for msdos, see Install.dos for details.
- X
- Xif not %1 .==. goto ok_parm
- Xgoto err_set
- X
- X:ok_parm
- Xecho Checking to see if directories are set up properly ...
- Xif not exist ..\..\include\hack.h goto err_dir
- Xif not exist ..\..\src\hack.c goto err_dir
- Xif not exist ..\..\dat\wizard.des goto err_dir
- Xif not exist ..\..\util\makedefs.c goto err_dir
- Xif not exist ..\share\lev_yacc.c goto err_dir
- Xecho Directories OK.
- X
- Xif %1 == MSC goto ok_msc
- Xif %1 == msc goto ok_msc
- Xif %1 == GCC goto ok_gcc
- Xif %1 == gcc goto ok_gcc
- Xgoto err_set
- X
- X:ok_gcc
- Xecho Copying Makefiles.
- Xecho "MakeGCC.src -> ..\..\src\makefile"
- Xcopy makegcc.src ..\..\src\makefile
- Xecho "MakeGCC.utl -> ..\..\util\makefile"
- Xcopy makegcc.utl ..\..\util\makefile
- Xecho "Makefile.dat -> ..\..\dat\makefile"
- Xcopy makefile.dat ..\..\dat\makefile
- Xgoto done
- X
- X:ok_msc
- Xecho Setting Environment variables for Compiler.
- Xset CL= /AL /G2 /Oo /Gs /Gt18 /Zp1 /W0 /I..\include /nologo /DMOVERLAY
- Xecho Copying Makefiles.
- Xecho "MakeMSC.src -> ..\..\dat\makefile"
- Xcopy makemsc.src ..\..\src\makefile
- Xecho "MakeMSC.utl -> ..\..\dat\makefile"
- Xcopy makemsc.utl ..\..\util\makefile
- Xecho "Makefile.dat -> ..\..\dat\makefile"
- Xcopy makefile.dat ..\..\dat\makefile
- Xecho Copying in dungeon compiler files.
- Xcopy ..\share\*.h ..\..\include
- Xcopy ..\share\lev*.c ..\..\util
- Xcopy ..\share\dgn*.c ..\..\util
- Xgoto done
- X
- X:err_set
- Xecho Usage:
- Xecho "%0 <MSC | GCC>"
- Xecho - Run this batch file with either MSC or GCC as the argument
- Xecho depending on which compiler you are using.
- Xecho Currently no support for the Borland set of compilers.
- Xgoto end
- X
- X:err_dir
- Xecho/
- Xecho Your directories are not set up properly, please re-read the
- Xecho Install.dos and README documentation.
- Xgoto end
- X
- X:done
- Xecho Setup Done!
- Xecho Please continue with next step from Install.dos.
- X
- X:end
- END_OF_FILE
- if test 2012 -ne `wc -c <'sys/msdos/setup.bat'`; then
- echo shar: \"'sys/msdos/setup.bat'\" unpacked with wrong size!
- fi
- # end of 'sys/msdos/setup.bat'
- fi
- if test -f 'sys/share/lev_comp.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/share/lev_comp.h'\"
- else
- echo shar: Extracting \"'sys/share/lev_comp.h'\" \(1648 characters\)
- sed "s/^X//" >'sys/share/lev_comp.h' <<'END_OF_FILE'
- X
- Xtypedef union
- X{
- X int i;
- X char* map;
- X struct {
- X xchar room;
- X xchar wall;
- X xchar door;
- X } corpos;
- X} YYSTYPE;
- Xextern YYSTYPE yylval;
- X# define CHAR 257
- X# define INTEGER 258
- X# define BOOLEAN 259
- X# define MESSAGE_ID 260
- X# define MAZE_ID 261
- X# define LEVEL_ID 262
- X# define LEV_INIT_ID 263
- X# define GEOMETRY_ID 264
- X# define NOMAP_ID 265
- X# define OBJECT_ID 266
- X# define MONSTER_ID 267
- X# define TRAP_ID 268
- X# define DOOR_ID 269
- X# define DRAWBRIDGE_ID 270
- X# define MAZEWALK_ID 271
- X# define WALLIFY_ID 272
- X# define REGION_ID 273
- X# define FILLING 274
- X# define RANDOM_OBJECTS_ID 275
- X# define RANDOM_MONSTERS_ID 276
- X# define RANDOM_PLACES_ID 277
- X# define ALTAR_ID 278
- X# define LADDER_ID 279
- X# define STAIR_ID 280
- X# define NON_DIGGABLE_ID 281
- X# define ROOM_ID 282
- X# define PORTAL_ID 283
- X# define TELEPRT_ID 284
- X# define BRANCH_ID 285
- X# define LEV 286
- X# define CHANCE_ID 287
- X# define CORRIDOR_ID 288
- X# define GOLD_ID 289
- X# define ENGRAVING_ID 290
- X# define FOUNTAIN_ID 291
- X# define POOL_ID 292
- X# define SINK_ID 293
- X# define NONE 294
- X# define RAND_CORRIDOR_ID 295
- X# define DOOR_STATE 296
- X# define LIGHT_STATE 297
- X# define CURSE_TYPE 298
- X# define ENGRAVING_TYPE 299
- X# define DIRECTION 300
- X# define RANDOM_TYPE 301
- X# define O_REGISTER 302
- X# define M_REGISTER 303
- X# define P_REGISTER 304
- X# define A_REGISTER 305
- X# define ALIGNMENT 306
- X# define LEFT_OR_RIGHT 307
- X# define CENTER 308
- X# define TOP_OR_BOT 309
- X# define ALTAR_TYPE 310
- X# define UP_OR_DOWN 311
- X# define SUBROOM_ID 312
- X# define NAME_ID 313
- X# define FLAGS_ID 314
- X# define FLAG_TYPE 315
- X# define MON_ATTITUDE 316
- X# define MON_ALERTNESS 317
- X# define MON_APPEARANCE 318
- X# define STRING 319
- X# define MAP_ID 320
- END_OF_FILE
- if test 1648 -ne `wc -c <'sys/share/lev_comp.h'`; then
- echo shar: \"'sys/share/lev_comp.h'\" unpacked with wrong size!
- fi
- # end of 'sys/share/lev_comp.h'
- fi
- if test -f 'sys/unix/Makefile.dat' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/unix/Makefile.dat'\"
- else
- echo shar: Extracting \"'sys/unix/Makefile.dat'\" \(1837 characters\)
- sed "s/^X//" >'sys/unix/Makefile.dat' <<'END_OF_FILE'
- X# NetHack Makefile.
- X# SCCS Id: @(#)Makefile.dat 3.1 92/09/18
- X
- XVARDAT = data rumors quest.dat oracles options
- X
- Xall: $(VARDAT) spec_levs quest_levs dungeon
- X
- X../util/makedefs:
- X (cd ../util ; make makedefs)
- X
- X../util/dgn_comp:
- X (cd ../util ; make dgn_comp)
- X
- X../util/lev_comp:
- X (cd ../util ; make lev_comp)
- X
- Xdata: data.base ../util/makedefs
- X ../util/makedefs -d
- X
- Xrumors: rumors.tru rumors.fal ../util/makedefs
- X ../util/makedefs -r
- X
- Xquest.dat: quest.txt ../util/makedefs
- X ../util/makedefs -q
- X
- Xoracles: oracles.txt ../util/makedefs
- X ../util/makedefs -h
- X
- X# note: 'options' should have already been made when include/date.h was created
- Xoptions: ../util/makedefs
- X ../util/makedefs -v
- X
- X
- Xspec_levs: ../util/lev_comp \
- X bigroom.des castle.des endgame.des gehennom.des knox.des medusa.des \
- X mines.des oracle.des tower.des yendor.des
- X ../util/lev_comp bigroom.des
- X ../util/lev_comp castle.des
- X ../util/lev_comp endgame.des
- X ../util/lev_comp gehennom.des
- X ../util/lev_comp knox.des
- X ../util/lev_comp medusa.des
- X ../util/lev_comp mines.des
- X ../util/lev_comp oracle.des
- X ../util/lev_comp tower.des
- X ../util/lev_comp yendor.des
- X touch spec_levs
- X
- Xquest_levs: ../util/lev_comp \
- X Arch.des Barb.des Caveman.des Elf.des Healer.des Knight.des \
- X Priest.des Rogue.des Samurai.des Tourist.des Valkyrie.des Wizard.des
- X ../util/lev_comp Arch.des
- X ../util/lev_comp Barb.des
- X ../util/lev_comp Caveman.des
- X ../util/lev_comp Elf.des
- X ../util/lev_comp Healer.des
- X ../util/lev_comp Knight.des
- X ../util/lev_comp Priest.des
- X ../util/lev_comp Rogue.des
- X ../util/lev_comp Samurai.des
- X ../util/lev_comp Tourist.des
- X ../util/lev_comp Valkyrie.des
- X ../util/lev_comp Wizard.des
- X touch quest_levs
- X
- Xdungeon: dungeon.def ../util/makedefs ../util/dgn_comp
- X ../util/makedefs -e
- X ../util/dgn_comp dungeon.pdf
- X
- Xspotless:
- X -rm -f spec_levs quest_levs *.lev $(VARDAT) dungeon dungeon.pdf
- END_OF_FILE
- if test 1837 -ne `wc -c <'sys/unix/Makefile.dat'`; then
- echo shar: \"'sys/unix/Makefile.dat'\" unpacked with wrong size!
- fi
- # end of 'sys/unix/Makefile.dat'
- fi
- if test -f 'sys/vms/Makefile.doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'sys/vms/Makefile.doc'\"
- else
- echo shar: Extracting \"'sys/vms/Makefile.doc'\" \(2248 characters\)
- sed "s/^X//" >'sys/vms/Makefile.doc' <<'END_OF_FILE'
- X# NetHack Makefile (VMS) - for the [Unix] documentation.
- X# SCCS Id: @(#)Makefile.doc 3.1 93/01/06
- X
- X# Copy this file to [.doc]Makefile. and edit it if needed.
- X
- XGUIDEBOOK = Guidebook. # regular ASCII file
- X#GUIDEBOOK = Guidebook.ps # PostScript file
- X#GUIDEBOOK = Guidebook.dvi # TeX device-independent file
- X
- XALLDOCS = $(GUIDEBOOK)
- X#ALLDOCS = $(GUIDEBOOK) manpages
- X
- XNOOP = !
- X
- XGuidebook : $(GUIDEBOOK)
- X $(NOOP)
- X
- X# the basic guidebook
- X#Guidebook. : Guidebook.mn
- X# #tbl tmac.n Guidebook.mn | nroff | col > Guidebook
- X# write sys$output "Guidebook.mn cannot be processed under VMS."
- XGuidebook. : Guidebook.txt # distributed version of plain text
- X copy Guidebook.txt Guidebook.
- X
- X# Fancier output for those with ditroff, psdit and a PostScript printer.
- X#Guidebook.ps : Guidebook.mn
- X# #tbl tmac.n Guidebook.mn | ditroff | psdit > Guidebook.ps
- X# write sys$output "Guidebook.mn cannot be processed under VMS."
- XGuidebook.ps : Guidebook.dvi # generated with LaTeX
- X dvi2ps Guidebook
- X
- X# Guidebook.tex is the same as Guidebook.mn but formatted with LaTeX.
- X# - The invocation command for LaTeX may vary in different installations.
- X# - To print Guidebook.dvi you need to use a suitable dvi-driver.
- XGuidebook.dvi : Guidebook.tex
- X latex Guidebook.tex
- X
- Xall : $(ALLDOCS)
- X $(NOOP)
- X
- XGAME = nethack
- XMANDIR = HACKDIR:
- XMANEXT = man
- X#MANDIR = /usr/man/man6
- X#MANEXT = 6
- X
- X# manual non-installation; raw man pages may be better than nothing
- XGAMEMANCREATE = copy nethack.6
- XLEVMANCREATE = copy lev_comp.6
- XDGNMANCREATE = copy dgn_comp.6
- XRCVRMANCREATE = copy recover.6
- X# GAMEMANCREATE = nroff -man nethack.6 >
- X# LEVMANCREATE = nroff -man lev_comp.6 >
- X# DGNMANCREATE = nroff -man dgn_comp.6 >
- X# RCVRMANCREATE = nroff -man recover.6 >
- X
- Xmanpages :
- X - $(GAMEMANCREATE) $(MANDIR)$(GAME).$(MANEXT)
- X - $(LEVMANCREATE) $(MANDIR)lev_comp.$(MANEXT)
- X - $(DGNMANCREATE) $(MANDIR)dgn_comp.$(MANEXT)
- X - $(RCVRMANCREATE) $(MANDIR)recover.$(MANEXT)
- X
- Xspotless :
- X - if f$search("Guidebook.") .nes."" then delete Guidebook.;*
- X - if f$search("Guidebook.ps") .nes."" then delete Guidebook.ps;*
- X - if f$search("Guidebook.dvi").nes."" then delete Guidebook.dvi;*
- X - if f$search("Guidebook.aux").nes."" then delete Guidebook.aux;*
- X - if f$search("Guidebook.log").nes."" then delete Guidebook.log;*
- END_OF_FILE
- if test 2248 -ne `wc -c <'sys/vms/Makefile.doc'`; then
- echo shar: \"'sys/vms/Makefile.doc'\" unpacked with wrong size!
- fi
- # end of 'sys/vms/Makefile.doc'
- fi
- if test -f 'util/panic.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'util/panic.c'\"
- else
- echo shar: Extracting \"'util/panic.c'\" \(1677 characters\)
- sed "s/^X//" >'util/panic.c' <<'END_OF_FILE'
- X/* SCCS Id: @(#)panic.c 3.1 93/01/07 */
- X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X/* NetHack may be freely redistributed. See license for details. */
- X
- X/*
- X * This code was adapted from the code in end.c to run in a standalone
- X * mode for the makedefs / drg code.
- X */
- X
- X#define NEED_VARARGS
- X#include "config.h"
- X
- X#ifdef MICRO
- X#undef exit
- Xextern void FDECL(exit, (int));
- X#endif
- X#ifdef AZTEC
- X#define abort() exit()
- X#endif
- X#ifdef VMS
- Xextern void NDECL(vms_abort);
- X#endif
- X
- X/*VARARGS1*/
- Xboolean panicking;
- Xvoid VDECL(panic, (char *,...));
- X
- Xvoid
- Xpanic VA_DECL(char *,str)
- X VA_START(str);
- X VA_INIT(str, char *);
- X if(panicking++)
- X#ifdef SYSV
- X (void)
- X#endif
- X abort(); /* avoid loops - this should never happen*/
- X
- X (void) fputs(" ERROR: ", stderr);
- X Vfprintf(stderr, str, VA_ARGS);
- X (void) fflush(stderr);
- X#if defined(UNIX) || defined(VMS)
- X# ifdef SYSV
- X (void)
- X# endif
- X abort(); /* generate core dump */
- X#endif
- X VA_END();
- X exit(1); /* redundant */
- X return;
- X}
- X
- X#ifdef ALLOCA_HACK
- Xextern long *alloc();
- X/*
- X * In case bison generated foo_yacc.c tries to use alloca(); if we don't
- X * have it then just use malloc() instead. This may not work on some
- X * systems, but they should either use yacc or get a real alloca routine.
- X */
- Xlong *alloca(cnt)
- Xunsigned cnt;
- X{
- X static long dummy;
- X /*
- X * Assumption: result returned by alloca() will never be freed.
- X * alloca(0) may be used as a trigger to release memory; we cant
- X * oblige it, and we don't want to attempt to allocate 0 bytes
- X * or return a NULL pointer, so return pointer to `dummy' rather
- X * than allocating at least one byte.
- X */
- X return cnt ? alloc(cnt) : &dummy;
- X}
- X#endif
- X
- X/*panic.c*/
- END_OF_FILE
- if test 1677 -ne `wc -c <'util/panic.c'`; then
- echo shar: \"'util/panic.c'\" unpacked with wrong size!
- fi
- # end of 'util/panic.c'
- fi
- echo shar: End of archive 106 \(of 108\).
- cp /dev/null ark106isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
- 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
- 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 \
- 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 \
- 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 \
- 101 102 103 104 105 106 107 108 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 108 archives.
- echo "Now execute 'rebuild.sh'"
- rm -f ark10[0-8]isdone 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
-