home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume7
/
nethack3
/
patch7t
/
patch7.16
Wrap
Text File
|
1990-02-26
|
53KB
|
1,726 lines
*** include/Old/artifact.h Mon Feb 19 22:05:53 1990
--- include/artifact.h Tue Jan 16 18:10:46 1990
***************
*** 26,32 ****
struct artifact {
unsigned otyp;
! char *name;
unsigned spfx;
unsigned long mtype; /* monster type, symbol, or flag */
struct attack attk, defn;
--- 26,32 ----
struct artifact {
unsigned otyp;
! const char *name;
unsigned spfx;
unsigned long mtype; /* monster type, symbol, or flag */
struct attack attk, defn;
*** include/Old/color.h Mon Feb 19 22:06:15 1990
--- include/color.h Thu Feb 8 17:39:31 1990
***************
*** 12,26 ****
#define BLUE 4
#define MAGENTA 5
#define CYAN 6
- #define WHITE 7
#define GRAY 7 /* lo-intensity white */
#define BRIGHT 8
#define ORANGE_COLORED 9
#define YELLOW 11
#define MAXCOLORS 16 /* 8 basic + 8 bright */
/* these can be configured */
- #define HI_MON RED + BRIGHT /* default flesh - red slaps! */
#define HI_OBJ MAGENTA
#define HI_METAL CYAN
#define HI_COPPER YELLOW
--- 12,25 ----
#define BLUE 4
#define MAGENTA 5
#define CYAN 6
#define GRAY 7 /* lo-intensity white */
#define BRIGHT 8
#define ORANGE_COLORED 9
#define YELLOW 11
+ #define WHITE 15
#define MAXCOLORS 16 /* 8 basic + 8 bright */
/* these can be configured */
#define HI_OBJ MAGENTA
#define HI_METAL CYAN
#define HI_COPPER YELLOW
***************
*** 33,38 ****
#define HI_PAPER WHITE
#define HI_GLASS CYAN + BRIGHT
#define HI_MINERAL GRAY
! #define HI_ZAP BLUE + BRIGHT /* blue zaps! */
#endif /* COLOR_H */
--- 32,37 ----
#define HI_PAPER WHITE
#define HI_GLASS CYAN + BRIGHT
#define HI_MINERAL GRAY
! #define HI_ZAP BLUE + BRIGHT
#endif /* COLOR_H */
*** include/Old/config.h Mon Feb 19 22:06:27 1990
--- include/config.h Mon Feb 19 18:16:29 1990
***************
*** 20,26 ****
#define MSDOS /* define for MS-DOS (in case compiler doesn't) */
#else
/* #define MSDOS /* define for MS-DOS and most other micros */
! /* #define AMIGA /* define for Commodore-Amiga */
/* #define TOS /* define for Atari 1040ST */
/* #define STUPID /* avoid some complicated expressions if
--- 20,34 ----
#define MSDOS /* define for MS-DOS (in case compiler doesn't) */
#else
/* #define MSDOS /* define for MS-DOS and most other micros */
! /* DO NOT define for AMIGA - MSDOS will be
! * automatically defined at the right place. */
! # ifdef AZTEC_C /* Manx 3.6 auto-defines this */
! # ifdef MCH_AMIGA /* Manx 3.6 auto-defines this for AMIGA */
! # ifndef AMIGA
! #define AMIGA /* define for Commodore-Amiga */
! # endif /* (Lattice auto-defines AMIGA) */
! # endif
! # endif
/* #define TOS /* define for Atari 1040ST */
/* #define STUPID /* avoid some complicated expressions if
***************
*** 34,53 ****
* library in the makefile */
/* #define MINIMAL_TERM /* if a terminal handles highlighting or tabs poorly,
try this define, used in pager.c and termcap.c */
! /* #define MACOS 1 /* define for Apple Macintosh */
#endif
#ifdef MACOS
! #define KR1ED 1 /* for compilers which can't handle defined() */
! #define LSC 1 /* for the Lighspeed 3.01p4 C compiler on the Mac */
! /* #define AZTEC 1 /* for the Manx Aztec C 3.6c compiler */
! /* #define THINKC4 /* for the Think C 4 compiler */
#define NEED_VARARGS /* if you're using precompiled headers */
! #define SMALLDATA 1 /* for Mac compilers with 32K global data limit */
!
! # ifdef KR1ED
! #define defined(x) (x<<1) /* Lightspeed & Aztec can't handle defined() yet */
# endif
#endif
--- 42,88 ----
* library in the makefile */
/* #define MINIMAL_TERM /* if a terminal handles highlighting or tabs poorly,
try this define, used in pager.c and termcap.c */
! /* #define MACOS /* define for Apple Macintosh */
! #endif
!
! #ifdef AMIGA
! #define NEED_VARARGS
! # ifdef AZTEC_C
! # define KR1ED /* Aztec 3.6 needs extra help for defined() */
! # endif
#endif
#ifdef MACOS
! /* #define KR1ED /* for compilers which can't handle defined() */
! /* Lightspeed & Aztec can't handle defined() yet */
! /* #define LSC /* for the Lightspeed 3.01p4 C compiler on the Mac */
! /* #define AZTEC /* for the Manx Aztec C 3.6c compiler */
! #define THINKC4 /* for the Think C 4 compiler */
! /* #define MAKEDEFS_C /* uncomment this ONLY while compiling makedefs */
! /* #define CUSTOM_IO /* uncomment only while compiling Nethack */
! # ifndef MAKEDEFS_C
! # ifndef NEED_VARARGS
#define NEED_VARARGS /* if you're using precompiled headers */
! # endif
# endif
+ #define SMALLDATA /* for Mac compilers with 32K global data limit */
+ #endif
+
+
+ #ifdef KR1ED /* For compilers which cannot handle defined() */
+ #define defined(x) (-x-1 != -1)
+ /* Because:
+ * #define FOO => FOO={} => defined( ) => (-1 != - - 1) => 1
+ * #define FOO 1 or on command-line -DFOO
+ * => defined(1) => (-1 != - 1 - 1) => 1
+ * if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1
+ * for -DFOO, oh well.
+ * => defined(0) => (-1 != - 0 - 1) => 0
+ *
+ * But:
+ * defined("") => (-1 != - "" - 1)
+ * [which is an unavoidable catastrophe.]
+ */
#endif
***************
*** 63,69 ****
# ifndef KR1ED
#define WIZARD "izchak" /* the person allowed to use the -D option */
# else
! #define WIZARD 1
#define WIZARD_NAME "johnny"
# endif
#endif
--- 98,104 ----
# ifndef KR1ED
#define WIZARD "izchak" /* the person allowed to use the -D option */
# else
! #define WIZARD
#define WIZARD_NAME "johnny"
# endif
#endif
***************
*** 78,90 ****
* smaller bones/level/save files, but require additional code and time.
*/
#define COMPRESS "/usr/local/compress" /* path name for 'compress' */
! #ifndef COMPRESS
#define ZEROCOMP /* Use only if COMPRESS is not used -- Olaf Seibert */
#endif
!
#define CHDIR /* delete if no chdir() available */
#ifdef CHDIR
/*
--- 113,128 ----
* smaller bones/level/save files, but require additional code and time.
*/
+ #ifndef MACOS
#define COMPRESS "/usr/local/compress" /* path name for 'compress' */
! # ifndef COMPRESS
#define ZEROCOMP /* Use only if COMPRESS is not used -- Olaf Seibert */
+ # endif
#endif
! #ifndef MACOS
#define CHDIR /* delete if no chdir() available */
+ #endif
#ifdef CHDIR
/*
***************
*** 173,218 ****
*/
/* game features */
! #define POLYSELF 1 /* Polymorph self code by Ken Arromdee */
! #define THEOLOGY 1 /* Smarter gods - The Unknown Hacker */
! #define SOUNDS 1 /* Add more life to the dungeon */
! #define KICK 1 /* Allow kicking things besides doors -Izchak Miller */
/* dungeon features */
! #define THRONES 1 /* Thrones and Courts by M. Stephenson */
! #define FOUNTAINS 1 /* Fountain code by SRT (+ GAN + EB) */
! #define SINKS 1 /* Kitchen sinks - Janet Walz */
! #define ALTARS 1 /* Sacrifice sites - Jean-Christophe Collet */
/* dungeon levels */
! #define WALLIFIED_MAZE 1 /* Fancy mazes - Jean-Christophe Collet */
! #define REINCARNATION 1 /* Rogue-like levels */
! #define STRONGHOLD 1 /* Challenging special levels - Jean-Christophe Collet*/
/* monsters & objects */
! #define ORACLE 1 /* Include another source of information */
! #define MEDUSA 1 /* Mirrors and the Medusa by Richard P. Hughey */
! #define KOPS 1 /* Keystone Kops by Scott R. Turner */
! #define ARMY 1 /* Soldiers, barracks by Steve Creps */
! #define WORM 1 /* Long worms */
! #define GOLEMS 1 /* Golems, by KAA */
! #define INFERNO 1 /* Demons & Demonlords */
#ifdef INFERNO
! #define SEDUCE 1 /* Succubi/incubi additions, by KAA, suggested by IM */
#endif
! #define TOLKIEN 1 /* More varieties of objects and monsters */
! #define PROBING 1 /* Wand of probing code by Gil Neiger */
! #define WALKIES 1 /* Leash code by M. Stephenson */
! #define SHIRT 1 /* Hawaiian shirt code by Steve Linhart */
! #define MUSIC 1 /* Musical instruments - Jean-Christophe Collet */
! #define TUTTI_FRUTTI 1 /* Fruits as in Rogue, but which work... -KAA */
! #define SPELLS 1 /* Spell casting by M. Stephenson */
! #define NAMED_ITEMS 1 /* Special named items handling */
/* difficulty */
! #define ELBERETH 1 /* Allow for disabling the E word - Mike 3point */
! #define EXPLORE_MODE 1 /* Allow non-scoring play with additional powers */
! #define HARD 1 /* Enhanced wizard code by M. Stephenson */
/* I/O */
! #define REDO 1 /* support for redoing last command - DGK */
! #define COM_COMPL 1 /* Command line completion by John S. Bien */
! #define CLIPPING 1 /* allow smaller screens -- ERS */
#ifdef REDO
#define DOAGAIN '\001' /* The "redo" key used in tty.c and cmd.c */
--- 211,258 ----
*/
/* game features */
! #define POLYSELF /* Polymorph self code by Ken Arromdee */
! #define THEOLOGY /* Smarter gods - The Unknown Hacker */
! #define SOUNDS /* Add more life to the dungeon */
! #define KICK /* Allow kicking things besides doors -Izchak Miller */
/* dungeon features */
! #define THRONES /* Thrones and Courts by M. Stephenson */
! #define FOUNTAINS /* Fountain code by SRT (+ GAN + EB) */
! #define SINKS /* Kitchen sinks - Janet Walz */
! #define ALTARS /* Sacrifice sites - Jean-Christophe Collet */
/* dungeon levels */
! #define WALLIFIED_MAZE /* Fancy mazes - Jean-Christophe Collet */
! #define REINCARNATION /* Rogue-like levels */
! #define STRONGHOLD /* Challenging special levels - Jean-Christophe Collet*/
/* monsters & objects */
! #define ORACLE /* Include another source of information */
! #define MEDUSA /* Mirrors and the Medusa by Richard P. Hughey */
! #define KOPS /* Keystone Kops by Scott R. Turner */
! #define ARMY /* Soldiers, barracks by Steve Creps */
! #define WORM /* Long worms */
! #define GOLEMS /* Golems, by KAA */
! #define INFERNO /* Demons & Demonlords */
#ifdef INFERNO
! #define SEDUCE /* Succubi/incubi additions, by KAA, suggested by IM */
#endif
! #define TOLKIEN /* More varieties of objects and monsters */
! #define PROBING /* Wand of probing code by Gil Neiger */
! #define WALKIES /* Leash code by M. Stephenson */
! #define SHIRT /* Hawaiian shirt code by Steve Linhart */
! #define MUSIC /* Musical instruments - Jean-Christophe Collet */
! #define TUTTI_FRUTTI /* Fruits as in Rogue, but which work... -KAA */
! #define SPELLS /* Spell casting by M. Stephenson */
! #define NAMED_ITEMS /* Special named items handling */
/* difficulty */
! #define ELBERETH /* Allow for disabling the E word - Mike 3point */
! #define EXPLORE_MODE /* Allow non-scoring play with additional powers */
! #define HARD /* Enhanced wizard code by M. Stephenson */
/* I/O */
! #define REDO /* support for redoing last command - DGK */
! #define COM_COMPL /* Command line completion by John S. Bien */
! #ifndef AMIGA
! #define CLIPPING /* allow smaller screens -- ERS */
! #endif
#ifdef REDO
#define DOAGAIN '\001' /* The "redo" key used in tty.c and cmd.c */
*** include/Old/decl.h Mon Feb 19 22:06:55 1990
--- include/decl.h Mon Feb 19 18:16:33 1990
***************
*** 20,26 ****
E char *catmore;
#endif /* DEF_PAGER */
E char SAVEF[];
! E char *hname;
E const char *hu_stat[]; /* defined in eat.c */
E int medusa_level;
E int bigroom_level;
--- 20,26 ----
E char *catmore;
#endif /* DEF_PAGER */
E char SAVEF[];
! E const char *hname;
E const char *hu_stat[]; /* defined in eat.c */
E int medusa_level;
E int bigroom_level;
***************
*** 73,91 ****
E int smeq[];
E int doorindex;
E char *save_cm;
! E char *killer;
E char inv_order[];
E char plname[PL_NSIZ];
E char dogname[];
E char catname[];
E const char sdir[], ndir[]; /* defined in hack.c */
! E char *occtxt; /* defined when occupation != NULL */
! E char *nomovemsg;
E const char nul[];
E char *HI, *HE, *AS, *AE; /* set up in termcap.c */
E char *CD; /* set up in termcap.c */
E int CO, LI; /* set up in termcap.c: COLNO and ROWNO+3 */
! E char *traps[];
#ifndef MAKEDEFS_C /* avoid conflict with lock() */
E char lock[];
#endif
--- 73,95 ----
E int smeq[];
E int doorindex;
E char *save_cm;
! #define KILLED_BY_AN 0
! #define KILLED_BY 1
! #define NO_KILLER_PREFIX 2
! E int killer_format;
! E const char *killer;
E char inv_order[];
E char plname[PL_NSIZ];
E char dogname[];
E char catname[];
E const char sdir[], ndir[]; /* defined in hack.c */
! E const char *occtxt; /* defined when occupation != NULL */
! E const char *nomovemsg;
E const char nul[];
E char *HI, *HE, *AS, *AE; /* set up in termcap.c */
E char *CD; /* set up in termcap.c */
E int CO, LI; /* set up in termcap.c: COLNO and ROWNO+3 */
! E const char *traps[];
#ifndef MAKEDEFS_C /* avoid conflict with lock() */
E char lock[];
#endif
***************
*** 130,136 ****
--- 134,144 ----
#ifndef COLOR_H
#include "color.h"
#endif
+ # ifdef TOS
+ E const char *hilites[MAXCOLORS];
+ # else
E char *hilites[MAXCOLORS];
+ # endif
#endif
#ifndef OBJ_H
***************
*** 189,194 ****
--- 197,210 ----
E const char nothing_happens[];
E const char thats_enough_tries[];
+
+ E const char monsyms[], objsyms[];
+ E const char *monexplain[], *objexplain[];
+
+ #ifdef NAMED_ITEMS
+ E const int artifact_num;
+ E boolean artiexist[];
+ #endif
#undef E
*** include/Old/def_os2.h Mon Feb 19 22:07:10 1990
--- include/def_os2.h Tue Nov 28 20:50:49 1989
***************
*** 106,108 ****
--- 106,109 ----
USHORT APIENTRY DosFindNext(HDIR, PFILEFINDBUF, USHORT, PUSHORT);
USHORT APIENTRY DosSelectDisk(USHORT);
USHORT APIENTRY VioGetMode(PVIOMODEINFO, HVIO);
+ USHORT APIENTRY VioSetCurPos(USHORT, USHORT, HVIO);
*** include/Old/flag.h Mon Feb 19 22:08:59 1990
--- include/flag.h Wed Jan 10 19:21:58 1990
***************
*** 62,67 ****
--- 62,70 ----
#endif
boolean rawio; /* Whether can use rawio (IOCTL call) */
#endif
+ #ifdef MACOS
+ boolean wantspace; /* Waiting for a space (as in --More--) */
+ #endif
};
extern struct flag flags;
*** include/Old/func_tab.h Mon Feb 19 22:09:13 1990
--- include/func_tab.h Tue Jan 16 18:11:08 1990
***************
*** 8,22 ****
struct func_tab {
char f_char;
! int (*f_funct)();
! char *f_text;
};
extern const struct func_tab cmdlist[];
struct ext_func_tab {
! char *ef_txt, *ef_desc;
! int (*ef_funct)();
};
extern const struct ext_func_tab extcmdlist[];
--- 8,22 ----
struct func_tab {
char f_char;
! int NDECL((*f_funct));
! const char *f_text;
};
extern const struct func_tab cmdlist[];
struct ext_func_tab {
! const char *ef_txt, *ef_desc;
! int NDECL((*ef_funct));
};
extern const struct ext_func_tab extcmdlist[];
*** include/Old/global.h Mon Feb 19 22:09:24 1990
--- include/global.h Mon Feb 19 18:16:29 1990
***************
*** 5,23 ****
#ifndef GLOBAL_H
#define GLOBAL_H
! #include <stdio.h>
/* #define BETA /* if a beta-test copy [MRS] */
! #define VERSION "3.0h" /* version number. */
/*
* Files expected to exist in the playground directory.
*/
! #define RECORD "record" /* the file containing the list of topscorers */
! #define HELP "help" /* the file containing command descriptions */
! #define SHELP "hh" /* abbreviated form of the same */
#define RUMORFILE "rumors" /* a file with fortune cookies */
#define ORACLEFILE "oracles" /* a file with oracular information */
#define DATAFILE "data" /* a file giving the meaning of symbols used */
--- 5,25 ----
#ifndef GLOBAL_H
#define GLOBAL_H
! #ifndef VMS
! # include <stdio.h>
! #endif
/* #define BETA /* if a beta-test copy [MRS] */
! #define VERSION "3.0i" /* version number. */
/*
* Files expected to exist in the playground directory.
*/
! #define RECORD "record" /* a file containing list of topscorers */
! #define HELP "help" /* a file containing command descriptions */
! #define SHELP "hh" /* abbreviated form of the same */
#define RUMORFILE "rumors" /* a file with fortune cookies */
#define ORACLEFILE "oracles" /* a file with oracular information */
#define DATAFILE "data" /* a file giving the meaning of symbols used */
***************
*** 25,31 ****
#define HISTORY "history" /* a file giving nethack's history */
#define LICENSE "license" /* file with license information */
#define OPTIONFILE "opthelp" /* a file explaining runtime options */
!
/* Assorted definitions that may depend on selections in config.h. */
--- 27,35 ----
#define HISTORY "history" /* a file giving nethack's history */
#define LICENSE "license" /* file with license information */
#define OPTIONFILE "opthelp" /* a file explaining runtime options */
! #ifdef MACOS
! #define MACHELP "MacHelp" /* file with Macintosh information */
! #endif
/* Assorted definitions that may depend on selections in config.h. */
***************
*** 55,64 ****
typedef schar xchar;
typedef xchar boolean; /* 0 or 1 */
! #ifndef MACOS /* defined in MacTypes.h(LSC) or Types.h(Aztec & MPW) */
#define TRUE ((boolean)1)
#define FALSE ((boolean)0)
#endif
#ifdef BITFIELDS
#define Bitfield(x,n) unsigned x:n
--- 59,70 ----
typedef schar xchar;
typedef xchar boolean; /* 0 or 1 */
! #ifndef MACOS
! #ifndef TRUE /* defined in some systems' native include files */
#define TRUE ((boolean)1)
#define FALSE ((boolean)0)
#endif
+ #endif
#ifdef BITFIELDS
#define Bitfield(x,n) unsigned x:n
***************
*** 74,80 ****
* prototypes for the ANSI compilers so people quit trying to fix the prototypes
* to match the standard and thus lose the typechecking.
*/
! #if defined(MSDOS) || defined(THINKC4) && !(defined(AMIGA) || defined(TOS))
# define CHAR_P char
# define SCHAR_P schar
# define UCHAR_P uchar
--- 80,86 ----
* prototypes for the ANSI compilers so people quit trying to fix the prototypes
* to match the standard and thus lose the typechecking.
*/
! #if (defined(MSDOS) && !defined(TOS)) || defined (AMIGA) || defined(THINKC4)
# define CHAR_P char
# define SCHAR_P schar
# define UCHAR_P uchar
***************
*** 122,127 ****
--- 128,134 ----
#if defined(VMS) && !defined(VMSCONF_H)
# include "vmsconf.h"
+ # include <stdio.h>
#endif
#if defined(UNIX) && !defined(UNIXCONF_H)
*** include/Old/hack.h Mon Feb 19 22:09:46 1990
--- include/hack.h Mon Feb 19 18:16:34 1990
***************
*** 75,80 ****
--- 75,85 ----
#include "rm.h"
#endif
+ #ifdef OVERLAY /* This doesn't belong here, but we have little choice */
+ #undef NDECL
+ #define NDECL(f) f()
+ #endif
+
#ifndef EXTERN_H
#include "extern.h"
#endif
***************
*** 117,121 ****
--- 122,151 ----
#define getuid() 1
#define getlogin() ((char *) NULL)
#endif /* MSDOS */
+
+ /* Macro for a few items that are only static if we're not overlaid.... */
+ #if defined(OVERLAY) && (defined(OVL0) || defined(OVL1) || defined(OVL2) || defined(OVLB))
+ # define OSTATIC extern
+ # define XSTATIC
+ # define OVERLAY_SPLIT
+ # ifdef OVLB
+ # define VSTATIC
+ # else
+ # define VSTATIC extern
+ # endif
+ #else
+ # define OSTATIC static
+ # define XSTATIC static
+ # define VSTATIC static
+ #endif
+
+ /* Unless explicit control is being taken of what is linked where, */
+ /* always compile everything */
+ #if !defined(OVERLAY) || (!defined(OVL0) && !defined(OVL1) && !defined(OVL2) && !defined(OVLB))
+ # define OVL0 /* Highest priority */
+ # define OVL1
+ # define OVL2 /* Lowest specified priority */
+ # define OVLB /* The base overlay segment */
+ #endif
#endif /* HACK_H /**/
*** include/Old/macconf.h Mon Feb 19 22:10:17 1990
--- include/macconf.h Fri Feb 16 19:15:36 1990
***************
*** 10,16 ****
* The following options are configurable:
*/
! #define RANDOM 1 /* have Berkeley random(3) */
#define PATHLEN 220 /* maximum pathlength */
#define FILENAME 31 /* maximum filename length (conservative) */
--- 10,16 ----
* The following options are configurable:
*/
! #define RANDOM /* have Berkeley random(3) */
#define PATHLEN 220 /* maximum pathlength */
#define FILENAME 31 /* maximum filename length (conservative) */
***************
*** 18,24 ****
#define glo(x) name_file(lock, x) /* name_file used for bones */
#include "msdos.h" /* contains necessary externs for [os_name].c */
extern char *configfile;
! #define NO_SIGNAL 1
#define perror(x)
/*
--- 18,24 ----
#define glo(x) name_file(lock, x) /* name_file used for bones */
#include "msdos.h" /* contains necessary externs for [os_name].c */
extern char *configfile;
! #define NO_SIGNAL
#define perror(x)
/*
***************
*** 55,60 ****
--- 55,62 ----
#include <types.h>
#include <io.h>
#define memcpy(x,y,j) movmem(y,x,j)
+ #define memset(x,y,j) setmem(x,j,y)
+ extern char *malloc();
extern char *calloc();
#else
#include <Fcntl.h>
***************
*** 70,75 ****
--- 72,78 ----
#endif
#endif
+ #include <pascal.h>
#include <Quickdraw.h>
#include <FontMgr.h>
#include <EventMgr.h>
***************
*** 101,108 ****
--- 104,117 ----
#ifdef AZTEC
#include <utime.h> /* AZTEC 3.6c */
#define curs(x,y) tcurs(x,y)
+ #include <Types.h>
+ #define CtoPstr ctop
+ #define PtoCstr ptoc
#else
#include <Time.h> /* MPW 3.0 */
+ #include <Strings.h>
+ #define CtoPstr c2pstr
+ #define PtoCstr p2cstr
#endif
***************
*** 141,151 ****
SysEnvRec system;
char *keyMap;
short color[8];
Handle shortMBarHandle,
fullMBarHandle;
} term_info;
! #define TEXTCOLOR 1
#define appleMenu 101
#define fileMenu 102
--- 150,161 ----
SysEnvRec system;
char *keyMap;
short color[8];
+ CursHandle cursor[8];
Handle shortMBarHandle,
fullMBarHandle;
} term_info;
! #define TEXTCOLOR
#define appleMenu 101
#define fileMenu 102
***************
*** 172,177 ****
--- 182,192 ----
#define LEFT_OFFSET 10
/* for macflags variable */
+ #define fScreenKluges 0x3000
+ #define fFullScrKluge 0x2000
+ #define fCornScrKluge 0x1000
+ #define fDisplayKluge 0x800
+ #define fMoveWRTMouse 0x400
#define fZoomOnContextSwitch 0x200
#define fUseCustomFont 0x100
#define fToggleNumPad 0x80
***************
*** 189,199 ****
--- 204,220 ----
#define BONES_TYPE 'BONE'
#define LEVEL_TYPE 'LEVL'
#define HACK_DATA 'HDTA'
+ #define AUXIL_TYPE 'AUXL'
+ #define TEXT_TYPE 'TEXT'
#define MONST_DATA 101
#define OBJECT_DATA 104
#define DEFAULT_DATA 100
#include "extern.h"
+
+ # ifndef MACALERT_H
+ # include "MacAlert.h"
+ # endif
#endif /* MACCONF_H /* */
#endif /* MACOS / */
*** include/Old/mfndpos.h Mon Feb 19 22:10:31 1990
--- include/mfndpos.h Tue Nov 28 21:10:41 1989
***************
*** 1,4 ****
! /* SCCS Id: @(#)mfndpos.h 3.0 88/10/15
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* mfndpos.h - version 1.0.2 */
--- 1,4 ----
! /* SCCS Id: @(#)mfndpos.h 3.0 89/11/22
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* mfndpos.h - version 1.0.2 */
***************
*** 6,26 ****
#ifndef MFNDPOS_H
#define MFNDPOS_H
! /* changed by GAN 02/06/87 to add nine extra bits for traps -
! * this because new traps make nine for traps insufficient
! */
!
! #define ALLOW_TRAPS 0777777L
! #define ALLOW_U 01000000L /* can attack you */
! #define ALLOW_M 02000000L /* can attack other monsters */
! #define ALLOW_TM 04000000L
! #define ALLOW_ALL (ALLOW_U | ALLOW_M | ALLOW_TM | ALLOW_TRAPS)
! #define ALLOW_SSM 010000000L /* ignores scare monster */
! #define ALLOW_ROCK 020000000L /* pushes rocks */
! #define NOTONL 040000000L /* stays off direct line to player */
! #define NOGARLIC 0100000000L /* hates garlic */
! #define ALLOW_WALL 0200000000L /* walks through walls */
! #define ALLOW_DIG 0400000000L /* digs */
! #define ALLOW_SANCT 01000000000L /* enters a temple */
#endif /* MFNDPOS_H /**/
--- 6,25 ----
#ifndef MFNDPOS_H
#define MFNDPOS_H
! #define ALLOW_TRAPS 0x0002FFFFL /* can enter 18 kinds of traps */
! #define ALLOW_U 0x00040000L /* can attack you */
! #define ALLOW_M 0x00080000L /* can attack other monsters */
! #define ALLOW_TM 0x00100000L /* can attack tame monsters */
! #define ALLOW_ALL (ALLOW_U | ALLOW_M | ALLOW_TM | ALLOW_TRAPS)
! #define NOTONL 0x00200000L /* avoids direct line to player */
! #define OPENDOOR 0x00400000L /* opens closed doors */
! #define UNLOCKDOOR 0x00800000L /* unlocks locked doors */
! #define BUSTDOOR 0x01000000L /* breaks any doors */
! #define ALLOW_ROCK 0x02000000L /* pushes rocks */
! #define ALLOW_WALL 0x04000000L /* walks thru walls */
! #define ALLOW_DIG 0x08000000L /* digs */
! #define ALLOW_SANCT 0x20000000L /* enters temples */
! #define ALLOW_SSM 0x40000000L /* ignores scare monster */
! #define NOGARLIC 0x80000000L /* hates garlic */
#endif /* MFNDPOS_H /**/
*** include/Old/mkroom.h Mon Feb 19 22:10:42 1990
--- include/mkroom.h Thu Jan 18 20:28:09 1990
***************
*** 13,19 ****
};
struct shclass {
! char *name; /* name of the shop type */
char symb; /* this identifies the shop type */
int prob; /* the shop type probability in % */
schar dist; /* artifact placement type */
--- 13,19 ----
};
struct shclass {
! const char *name; /* name of the shop type */
char symb; /* this identifies the shop type */
int prob; /* the shop type probability in % */
schar dist; /* artifact placement type */
*** include/Old/monattk.h Mon Feb 19 22:10:54 1990
--- include/monattk.h Mon Nov 20 20:44:37 1989
***************
*** 1,4 ****
! /* SCCS Id: @(#)monattk.h 3.0 89/06/15
/* NetHack may be freely redistributed. See license for details. */
/* Copyright 1988, M. Stephenson */
--- 1,4 ----
! /* SCCS Id: @(#)monattk.h 3.0 89/11/20
/* NetHack may be freely redistributed. See license for details. */
/* Copyright 1988, M. Stephenson */
***************
*** 72,77 ****
#define AD_SAMU 252 /* hits, may steal Amulet (Wizard) */
#define AD_CURS 253 /* random curse (ex. gremlin) */
- #define AD_CUSS 255 /* says nasty things about you */
#endif /* MONATTK_H /**/
--- 72,76 ----
*** include/Old/monst.h Mon Feb 19 22:11:43 1990
--- include/monst.h Fri Feb 2 18:24:36 1990
***************
*** 18,26 ****
#define MTSZ 4
coord mtrack[MTSZ]; /* monster track */
int mhp, mhpmax;
! char mappearance; /* nonzero for undetected 'M's and the Wizard */
! int mspec_used; /* monster's special ability attack timeout */
schar mtame; /* level of tameness, implies peaceful */
Bitfield(mimic,1); /* undetected mimic */
Bitfield(mdispl,1); /* mdx,mdy valid */
--- 18,33 ----
#define MTSZ 4
coord mtrack[MTSZ]; /* monster track */
int mhp, mhpmax;
! unsigned mappearance; /* for undetected mimics and the wiz */
! uchar m_ap_type; /* what mappearance is describing: */
! #define M_AP_NOTHING 0 /* mappearance is unused */
! #define M_AP_FURNITURE 1 /* stairs, a door, an altar, etc. */
! #define M_AP_OBJECT 2 /* an object */
! #define M_AP_MONSTER 3 /* a monster */
! #define M_AP_GOLD 4 /* a quantity (mappearance holds it) of gold */
!
schar mtame; /* level of tameness, implies peaceful */
+ int mspec_used; /* monster's special ability attack timeout */
Bitfield(mimic,1); /* undetected mimic */
Bitfield(mdispl,1); /* mdx,mdy valid */
***************
*** 33,59 ****
Bitfield(mflee,1); /* fleeing */
Bitfield(mfleetim,7); /* timeout for mflee */
Bitfield(msleep,1); /* sleeping */
- Bitfield(mfroz,1); /* frozen */
Bitfield(mstun,1); /* stunned (off balance) */
Bitfield(mconf,1); /* confused */
Bitfield(mcan,1); /* has been cancelled */
Bitfield(mpeaceful,1); /* does not attack unprovoked */
- Bitfield(mcansee,1); /* cansee 1, temp.blinded 0, blind 0 */
-
- Bitfield(mblinded,7); /* cansee 0, temp.blinded n, blind 0 */
Bitfield(mtrapped,1); /* trapped in a pit or bear trap */
!
Bitfield(isshk,1); /* is shopkeeper */
Bitfield(isgd,1); /* is guard */
#if defined(ALTARS) && defined(THEOLOGY)
Bitfield(ispriest,1); /* is a priest */
#endif
Bitfield(iswiz,1); /* is the Wizard of Yendor */
- Bitfield(mleashed,1); /* monster is on a leash */
#ifdef WORM
Bitfield(wormno,5); /* at most 31 worms on any level */
#endif
long mtrapseen; /* bitmap of traps we've been trapped in */
long mlstmv; /* prevent two moves at once */
struct obj *minvent;
--- 40,69 ----
Bitfield(mflee,1); /* fleeing */
Bitfield(mfleetim,7); /* timeout for mflee */
+ Bitfield(mcansee,1); /* cansee 1, temp.blinded 0, blind 0 */
+ Bitfield(mblinded,7); /* cansee 0, temp.blinded n, blind 0 */
+
+ Bitfield(mcanmove,1); /* paralysis, similar to mblinded */
+ Bitfield(mfrozen,7);
+
Bitfield(msleep,1); /* sleeping */
Bitfield(mstun,1); /* stunned (off balance) */
Bitfield(mconf,1); /* confused */
Bitfield(mcan,1); /* has been cancelled */
Bitfield(mpeaceful,1); /* does not attack unprovoked */
Bitfield(mtrapped,1); /* trapped in a pit or bear trap */
! Bitfield(mleashed,1); /* monster is on a leash */
Bitfield(isshk,1); /* is shopkeeper */
+
Bitfield(isgd,1); /* is guard */
#if defined(ALTARS) && defined(THEOLOGY)
Bitfield(ispriest,1); /* is a priest */
#endif
Bitfield(iswiz,1); /* is the Wizard of Yendor */
#ifdef WORM
Bitfield(wormno,5); /* at most 31 worms on any level */
#endif
+
long mtrapseen; /* bitmap of traps we've been trapped in */
long mlstmv; /* prevent two moves at once */
struct obj *minvent;
*** include/Old/msdos.h Mon Feb 19 22:12:06 1990
--- include/msdos.h Fri Dec 29 21:38:04 1989
***************
*** 10,15 ****
--- 10,18 ----
#endif
extern const char *alllevels, *allbones;
extern char levels[], bones[], permbones[], SAVEF[], hackdir[];
+ #ifdef MSDOS
+ extern char SAVEP[];
+ #endif
extern int ramdisk;
#if defined(DGK) && !defined(OLD_TOS)
extern int count_only;
*** include/Old/obj.h Mon Feb 19 22:12:17 1990
--- include/obj.h Thu Feb 8 17:17:26 1990
***************
*** 94,100 ****
#define is_sword(otmp) (otmp->otyp >= SHORT_SWORD && otmp->otyp <= KATANA)
#define bimanual(otmp) (otmp->olet == WEAPON_SYM && objects[otmp->otyp].oc_bimanual)
- #define is_flammable(otmp) (objects[otmp->otyp].oc_material == WOOD || objects[otmp->otyp].oc_material == 0)
#define is_rustprone(otmp) (objects[otmp->otyp].oc_material == METAL)
#define is_corrodeable(otmp) (objects[otmp->otyp].oc_material == COPPER)
# endif /* STUPID_CPP */
--- 94,99 ----
*** include/Old/objclass.h Mon Feb 19 22:12:33 1990
--- include/objclass.h Thu Jan 18 20:28:13 1990
***************
*** 8,16 ****
/* definition of a class of objects */
struct objclass {
! char *oc_name; /* actual name */
! char *oc_descr; /* description when name unknown */
! char *oc_uname; /* called by user */
Bitfield(oc_name_known,1);
Bitfield(oc_merge,1); /* merge otherwise equal objects */
Bitfield(oc_uses_known,1); /* obj->known affects full decription */
--- 8,16 ----
/* definition of a class of objects */
struct objclass {
! const char *oc_name; /* actual name */
! const char *oc_descr; /* description when name unknown */
! char *oc_uname; /* called by user */
Bitfield(oc_name_known,1);
Bitfield(oc_merge,1); /* merge otherwise equal objects */
Bitfield(oc_uses_known,1); /* obj->known affects full decription */
***************
*** 79,85 ****
/* definitions of all object-symbols */
#define RANDOM_SYM '\0' /* used for generating random objects */
! #define ILLOBJ_SYM '\\'
#define AMULET_SYM '"'
#define FOOD_SYM '%'
#define WEAPON_SYM ')'
--- 79,85 ----
/* definitions of all object-symbols */
#define RANDOM_SYM '\0' /* used for generating random objects */
! #define ILLOBJ_SYM ']' /* should be same as S_MIMIC_DEF */
#define AMULET_SYM '"'
#define FOOD_SYM '%'
#define WEAPON_SYM ')'
*** include/Old/patchlevel.h Mon Feb 19 22:12:47 1990
--- include/patchlevel.h Mon Feb 19 21:53:08 1990
***************
*** 66,69 ****
* teach '/' about configurable symbols
*/
! #define PATCHLEVEL 6
--- 66,87 ----
* teach '/' about configurable symbols
*/
! /*
! * Patch 7, February 19, 1990
! * refine overlay support to handle portions of .c files through OVLx
! * (courtesy above plus Kevin Smolkowski)
! * update and extend Amiga port and documentation (courtesy Richard Addison,
! * Jochen Erwied, Mark Gooderum, Ken Lorber, Greg Olson, Mike Passaretti,
! * and Gregg Wonderly)
! * refine and extend Macintosh port and documentation (courtesy Johnny Lee,
! * Kevin Sitze, Michael Sokolov, Andy Swanson, Jon Watte, and Tom West)
! * refine VMS documentation
! * continuing ANSIfication, this time of const usage
! * teach '/' about differences within monster classes
! * smarter eating code (yet again), death messages, and treatment of
! * non-animal monsters, monster unconsciousness, and naming
! * extended version command to give compilation options
! * and the usual bug fixes and hole plugs
! */
!
! #define PATCHLEVEL 7
*** include/Old/pcconf.h Mon Feb 19 22:12:59 1990
--- include/pcconf.h Thu Feb 15 19:05:44 1990
***************
*** 6,16 ****
#ifndef PCCONF_H
#define PCCONF_H
! /* #define OS2 /* define for OS/2 (Timo Hakulinen) */
! /* #define OS2_CODEVIEW /* define for OS/2 CodeView debugger,
! otherwise path searches may fail (TH) */
! #ifndef TOS
/*
* The following options are configurable:
*/
--- 6,18 ----
#ifndef PCCONF_H
#define PCCONF_H
! #if !defined(TOS) && !defined(AMIGA)
! /* #define MSC /* define for pre-ANSI Microsoft C compilers (ver. < 5.0). */
!
! /* #define OS2 /* define for OS/2 (Timo Hakulinen) */
! /* #define OS2_CODEVIEW /* define for OS/2 CodeView debugger versions earlier
! than 2.3, otherwise path searches may fail */
/*
* The following options are configurable:
*/
***************
*** 61,67 ****
--- 63,71 ----
#define index strchr
#define rindex strrchr
+ #ifndef AMIGA
#include <time.h>
+ #endif
#ifdef RANDOM
/* Use the high quality random number routines. */
***************
*** 95,101 ****
#define Getchar tgetch
#endif
! #ifndef TOS
# define TEXTCOLOR /* */
#endif
--- 99,105 ----
#define Getchar tgetch
#endif
! #if !defined(TOS) && !defined(AMIGA)
# define TEXTCOLOR /* */
#endif
*** include/Old/permonst.h Mon Feb 19 22:13:17 1990
--- include/permonst.h Tue Jan 16 18:11:23 1990
***************
*** 16,23 ****
* are set, they may have a special meaning. For example, if set
* for a blinding attack, they determine the amount of time blinded.
*/
- struct attack {
uchar aatyp;
uchar adtyp, damn, damd;
};
--- 16,23 ----
* are set, they may have a special meaning. For example, if set
* for a blinding attack, they determine the amount of time blinded.
*/
+ struct attack {
uchar aatyp;
uchar adtyp, damn, damd;
};
***************
*** 35,41 ****
#if defined(SMALLDATA) && !defined(MAKEDEFS_C)
char mname[24], mlet; /* full name and sym */
#else
! char *mname, mlet; /* full name and sym */
#endif
schar mlevel, /* base monster level */
mmove, /* move speed */
--- 35,42 ----
#if defined(SMALLDATA) && !defined(MAKEDEFS_C)
char mname[24], mlet; /* full name and sym */
#else
! const char *mname; /* full name */
! char mlet; /* symbol */
#endif
schar mlevel, /* base monster level */
mmove, /* move speed */
*** include/Old/rm.h Mon Feb 19 22:13:44 1990
--- include/rm.h Sat Feb 3 22:42:58 1990
***************
*** 68,74 ****
#define IS_STWALL(typ) ((typ) <= TRWALL) /* STONE <= (typ) <= TRWALL */
#define IS_ROCK(typ) ((typ) < POOL) /* absolutely nonaccessible */
#define IS_DOOR(typ) ((typ) == DOOR)
- #define IS_FLOOR(typ) ((typ) == ROOM)
#define ACCESSIBLE(typ) ((typ) >= DOOR) /* good position */
#define IS_ROOM(typ) ((typ) >= ROOM) /* ROOM, STAIRS, furniture.. */
#define ZAP_POS(typ) ((typ) >= POOL)
--- 68,73 ----
***************
*** 128,134 ****
typedef uchar symbol_array[MAXPCHARS];
extern symbol_array showsyms;
! extern char *explainsyms[MAXPCHARS]; /* tells what the characters are */
#ifdef REINCARNATION
extern symbol_array savesyms;
#endif
--- 127,133 ----
typedef uchar symbol_array[MAXPCHARS];
extern symbol_array showsyms;
! extern const char *explainsyms[MAXPCHARS]; /* tells what the characters are */
#ifdef REINCARNATION
extern symbol_array savesyms;
#endif
*** include/Old/tosconf.h Mon Feb 19 22:15:04 1990
--- include/tosconf.h Thu Feb 15 19:09:29 1990
***************
*** 8,36 ****
#define MSDOS /* must be defined to allow some inclusions */
! /* NOTE: if your TOS compiler is dumb, #define OLD_TOS and compile with
! oldtos.c to get a minimal configuration (you may need to do some
! tweaking); otherwise (e.g. GCC) don't do it. OLD_TOS corresponds
! most closely to LATTICE C, I think */
! /* #define OLD_TOS /* primitive C library */
! /* #define NO_SIGNAL /* compiler doesn't support signals */
! #ifdef __GNUC__
#define FCMASK 0666
#define O_BINARY 0
- #else
- #define FCMASK 0x8000
#endif
#ifdef UNIXDEBUG
- #define O_BINARY 0
#define remove(x) unlink(x)
- #endif
-
- #ifdef OLD_TOS
- #define Rand() rand()
- #define Srand() srand()
#endif
/* configurable options */
--- 8,30 ----
#define MSDOS /* must be defined to allow some inclusions */
! /*
! Adjust these options to suit your compiler. The default here is for
! GNU C with the latest version of the library.
! */
! /*#define NO_SIGNAL /* library doesn't support signals */
! /*#define NO_FSTAT /* library doesn't have fstat() call */
! #ifdef O_BINARY
! #define FCMASK O_BINARY
! #else
#define FCMASK 0666
#define O_BINARY 0
#endif
#ifdef UNIXDEBUG
#define remove(x) unlink(x)
#endif
/* configurable options */
*** include/Old/tradstdc.h Mon Feb 19 22:15:20 1990
--- include/tradstdc.h Tue Feb 6 18:45:05 1990
***************
*** 10,15 ****
--- 10,19 ----
#define void int
#endif
+ #ifdef APOLLO /* the Apollo C compiler claims to be __STDC__, but isn't */
+ #undef __STDC__
+ #endif
+
/*
* ANSI X3J11 detection.
* Makes substitutes for compatibility with the old C standard.
***************
*** 18,25 ****
/* Decide how to handle variable parameter lists:
* USE_STDARG means use the ANSI <stdarg.h> facilities (only ANSI compilers
* should do this, and only if the library supports it).
! * USE_VARARGS means use the <varargs.h> facilities. Again, this should only
! * be done if the library supports it. ANSI is *not* required for this.
* Otherwise, the kludgy old methods are used.
* The defaults are USE_STDARG for ANSI compilers, and USE_OLDARGS for
* others.
--- 22,29 ----
/* Decide how to handle variable parameter lists:
* USE_STDARG means use the ANSI <stdarg.h> facilities (only ANSI compilers
* should do this, and only if the library supports it).
! * USE_VARARGS means use the <varargs.h> facilities. Again, this should only
! * be done if the library supports it. ANSI is *not* required for this.
* Otherwise, the kludgy old methods are used.
* The defaults are USE_STDARG for ANSI compilers, and USE_OLDARGS for
* others.
***************
*** 28,35 ****
/* #define USE_VARARGS /* use <varargs.h> instead of <stdarg.h> */
/* #define USE_OLDARGS /* don't use any variable argument facilites */
! #ifdef __STDC__
! # if !(defined(AMIGA) || defined(USE_VARARGS) || defined(USE_OLDARGS))
# define USE_STDARG
# endif
#endif
--- 32,39 ----
/* #define USE_VARARGS /* use <varargs.h> instead of <stdarg.h> */
/* #define USE_OLDARGS /* don't use any variable argument facilites */
! #if defined(__STDC__) || defined(VMS)
! # if !(defined(AMIGA) && defined(AZTEC_C) || defined(USE_VARARGS) || defined(USE_OLDARGS))
# define USE_STDARG
# endif
#endif
***************
*** 71,88 ****
#endif
#endif /* NEED_VARARGS */
! #if (defined(__STDC__) || defined(MSDOS) || defined(THINKC4)) && !defined(AMIGA)
/* Used for robust ANSI parameter forward declarations:
* int VDECL(sprintf, (char *, const char *, ...));
*
* FDECL() is used for functions with a fixed number of arguments;
* VDECL() is used for functions with a variable number of arguments.
* Separate macros are needed because ANSI will mix old-style declarations
! * with prototypes, except in the case of varargs.
*/
# define FDECL(f,p) f p
# if defined(MSDOS) || defined(USE_STDARG)
# define VDECL(f,p) f p
# else
--- 75,98 ----
#endif
#endif /* NEED_VARARGS */
!
! #if defined(__STDC__) || defined(MSDOS) || defined(THINKC4)
/* Used for robust ANSI parameter forward declarations:
* int VDECL(sprintf, (char *, const char *, ...));
*
+ * NDECL() is used for functions with zero arguments;
* FDECL() is used for functions with a fixed number of arguments;
* VDECL() is used for functions with a variable number of arguments.
* Separate macros are needed because ANSI will mix old-style declarations
! * with prototypes, except in the case of varargs, and the OVERLAY-specific
! * trampoli.* mechanism conflicts with the ANSI <<f(void)>> syntax.
*/
+ # define NDECL(f) f(void) /* Must be overridden if OVERLAY set later */
+
# define FDECL(f,p) f p
+
# if defined(MSDOS) || defined(USE_STDARG)
# define VDECL(f,p) f p
# else
***************
*** 102,112 ****
#else /* __STDC__ */ /* a "traditional" C compiler */
# define FDECL(f,p) f()
# define VDECL(f,p) f()
# ifndef genericptr_t
! # ifdef AMIGA
typedef void * genericptr_t;
# else
typedef char * genericptr_t;
--- 112,123 ----
#else /* __STDC__ */ /* a "traditional" C compiler */
+ # define NDECL(f) f()
# define FDECL(f,p) f()
# define VDECL(f,p) f()
# ifndef genericptr_t
! # if defined(AMIGA) || defined(HPUX)
typedef void * genericptr_t;
# else
typedef char * genericptr_t;
*** include/Old/trampoli.h Mon Feb 19 22:15:37 1990
--- include/trampoli.h Mon Feb 5 18:45:30 1990
***************
*** 20,25 ****
--- 20,28 ----
#ifdef POLYSELF
#define domonability() domonability_()
#endif /* POLYSELF */
+ #ifdef EXPLORE_MODE
+ #define enter_explore_mode() enter_explore_mode_()
+ #endif /* EXPLORE_MODE */
#define timed_occupation() timed_occupation_()
#if defined(WIZARD) || defined(EXPLORE_MODE)
#define wiz_attributes() wiz_attributes_()
***************
*** 87,92 ****
--- 90,96 ----
/* ### end.c ### */
+ #define done1() done1_()
#define done2() done2_()
***************
*** 130,135 ****
--- 134,143 ----
#define picklock() picklock_()
+ /* ### mondata.c ### */
+ #define canseemon(x) canseemon_(x)
+
+
/* ### o_init.c ### */
#define dodiscovered() dodiscovered_()
***************
*** 156,162 ****
/* ### pickup.c ### */
! #define ck_bag() ck_bag_()
#define ck_container(x) ck_container_(x)
#define doloot() doloot_()
#define in_container(x) in_container_(x)
--- 164,170 ----
/* ### pickup.c ### */
! #define ck_bag(x) ck_bag_(x)
#define ck_container(x) ck_container_(x)
#define doloot() doloot_()
#define in_container(x) in_container_(x)
***************
*** 227,232 ****
--- 235,241 ----
/* ### version.c ### */
#define doversion() doversion_()
+ #define doextversion() doextversion_()
/* ### wield.c ### */
#define dowield() dowield_()
*** include/Old/unixconf.h Mon Feb 19 22:16:11 1990
--- include/unixconf.h Sat Feb 3 16:30:26 1990
***************
*** 16,33 ****
* index strchr
* rindex strrchr
*
- * Also, the code for suspend is only given for BSD
*/
/* #define BSD /* define for 4.n BSD */
! /* also for relatives like SunOS */
#define ULTRIX /* define for Ultrix v3.0 or higher (but not lower) */
/* Use BSD for < v3.0 */
/* "ULTRIX" not to be confused with "ultrix" */
/* #define SYSV /* define for System V */
/* #define NETWORK /* if running on a networked system */
/* e.g. Suns sharing a playground through NFS */
-
/* #define GENIX /* Yet Another Unix Clone */
/* #define HISX /* Bull Unix for XPS Machines */
/* #define UNIXPC /* use in addition to SYSV for AT&T 7300/3B1 */
--- 16,37 ----
* index strchr
* rindex strrchr
*
*/
+ /* define one of the following */
/* #define BSD /* define for 4.n BSD */
! /* also for relatives like SunOS and DG/UX */
#define ULTRIX /* define for Ultrix v3.0 or higher (but not lower) */
/* Use BSD for < v3.0 */
/* "ULTRIX" not to be confused with "ultrix" */
/* #define SYSV /* define for System V */
+ /* #define HPUX /* Hewlett-Packard's Unix, version 6.5 or higher */
+ /* use SYSV for < v6.5 */
+
+
+ /* define any of the following that are appropriate */
/* #define NETWORK /* if running on a networked system */
/* e.g. Suns sharing a playground through NFS */
/* #define GENIX /* Yet Another Unix Clone */
/* #define HISX /* Bull Unix for XPS Machines */
/* #define UNIXPC /* use in addition to SYSV for AT&T 7300/3B1 */
***************
*** 36,41 ****
--- 40,46 ----
/* #define PYRAMID_BUG /* avoid a bug on the Pyramid */
/* #define APOLLO /* same for the Apollo */
+ /* #define BSD_43_BUG /* for real 4.3BSD cc's without schain botch fix */
/* #define MICROPORT_BUG /* problems with large arrays in structs */
/* #define MICROPORT_286_BUG /* Changes needed in termcap.c to get it to
run with Microport Sys V/AT version 2.4.
***************
*** 66,99 ****
* #define DEF_PAGER ".../mydir/mypager"
*/
/*
* If you define MAIL, then the player will be notified of new mail
! * when it arrives. If you also define DEF_MAILREADER then this will
* be the default mail reader, and can be overridden by the environment
* variable MAILREADER; otherwise an internal pager will be used.
* A stat system call is done on the mailbox every MAILCKFREQ moves.
*/
! #define MAIL /* Deliver mail during the game */
! #ifdef MAIL
# if defined(BSD) || defined(ULTRIX)
#define DEF_MAILREADER "/usr/ucb/Mail"
! # else
! # if defined(SYSV) || defined(DGUX)
! # ifdef M_XENIX
#define DEF_MAILREADER "/usr/bin/mail"
- # else
- #define DEF_MAILREADER "/usr/bin/mailx"
- # endif
# else
! #define DEF_MAILREADER "/bin/mail"
# endif
# endif
#define MAILCKFREQ 50
#endif /* MAIL */
#ifdef COMPRESS
/* Some implementations of compress need a 'quiet' option.
* If you've got one of these versions, put -q here.
--- 71,133 ----
* #define DEF_PAGER ".../mydir/mypager"
*/
+
+
/*
* If you define MAIL, then the player will be notified of new mail
! * when it arrives. If you also define DEF_MAILREADER then this will
* be the default mail reader, and can be overridden by the environment
* variable MAILREADER; otherwise an internal pager will be used.
* A stat system call is done on the mailbox every MAILCKFREQ moves.
*/
! #define MAIL /* Deliver mail during the game */
!
! /* The Andrew Message System does mail a little differently from normal
! * UNIX. Mail is deposited in the user's own directory in ~/Mailbox
! * (another directory). MAILBOX is the element that will be added on to
! * the user's home directory path to generate the Mailbox path - just in
! * case other Andrew sites do it differently from CMU.
! *
! * dan lovinger
! * dl2n+@andrew.cmu.edu (dec 19 1989)
! */
!
! /* #define AMS /* use Andrew message system for mail */
!
! /* NO_MAILREADER is for kerberos authentcating filesystems where it is
! * essentially impossible to securely exec child proccesses, like mail
! * readers, when the game is running under a special token.
! *
! * dan
! */
!
! /* #define NO_MAILREADER /* have mail daemon just tell player of mail */
+ #ifdef MAIL
# if defined(BSD) || defined(ULTRIX)
+ # ifdef AMS
+ #define AMS_MAILBOX "/Mailbox"
+ # else
#define DEF_MAILREADER "/usr/ucb/Mail"
! # endif
! #else
! # if defined(SYSV) || defined(DGUX) || defined(HPUX)
! # ifdef M_XENIX
#define DEF_MAILREADER "/usr/bin/mail"
# else
! #define DEF_MAILREADER "/usr/bin/mailx"
# endif
+ # else
+ #define DEF_MAILREADER "/bin/mail"
# endif
+ #endif
#define MAILCKFREQ 50
#endif /* MAIL */
+
+
#ifdef COMPRESS
/* Some implementations of compress need a 'quiet' option.
* If you've got one of these versions, put -q here.
***************
*** 110,116 ****
* The remainder of the file should not need to be changed.
*/
! #if (defined(BSD) || defined(ULTRIX)) && !defined(MSDOS)
#include <sys/time.h>
#else
#include <time.h>
--- 144,161 ----
* The remainder of the file should not need to be changed.
*/
! /*
! * BSD/ULTRIX systems are normally the only ones that can suspend processes.
! * Suspending NetHack processes cleanly should be easy to add to other systems
! * that have SIGTSTP. Currently the only such system known to work is HPUX;
! * other systems will probably require tweaks to unixtty.c and ioctl.c.
! */
! #if defined(BSD) || defined(ULTRIX) || defined (HPUX)
! #define SUSPEND /* let ^Z suspend the game */
! #endif
!
!
! #if defined(BSD) || defined(ULTRIX)
#include <sys/time.h>
#else
#include <time.h>
***************
*** 130,138 ****
#include "system.h"
#if defined(BSD) || defined(ULTRIX)
! #define SUSPEND /* let ^Z suspend the game */
#define memcpy(d, s, n) bcopy(s, d, n)
#define memcmp(s1, s2, n) bcmp(s2, s1, n)
#else /* therefore SYSV */
#define index strchr
#define rindex strrchr
--- 175,184 ----
#include "system.h"
#if defined(BSD) || defined(ULTRIX)
! # ifndef DGUX
#define memcpy(d, s, n) bcopy(s, d, n)
#define memcmp(s1, s2, n) bcmp(s2, s1, n)
+ # endif
#else /* therefore SYSV */
#define index strchr
#define rindex strrchr
*** include/Old/vault.h Mon Feb 19 22:16:28 1990
--- include/vault.h Sun Feb 4 09:47:28 1990
***************
*** 13,22 ****
struct egd {
int fcbeg, fcend; /* fcend: first unused pos */
xchar gdx, gdy; /* goal of guard's walk */
unsigned gddone:1;
struct fakecorridor fakecorr[FCSIZ];
};
! #define EGD ((struct egd *)(&(guard->mextra[0])))
#endif /* VAULT_H /* */
--- 13,25 ----
struct egd {
int fcbeg, fcend; /* fcend: first unused pos */
xchar gdx, gdy; /* goal of guard's walk */
+ xchar ogx, ogy; /* guard's last position */
+ xchar gdlevel; /* level guard was created on */
+ xchar warncnt; /* number of warnings to follow */
unsigned gddone:1;
struct fakecorridor fakecorr[FCSIZ];
};
! #define EGD(mon) ((struct egd *)(&(mon->mextra[0])))
#endif /* VAULT_H /* */
*** include/Old/vmsconf.h Mon Feb 19 22:16:40 1990
--- include/vmsconf.h Tue Feb 6 18:45:10 1990
***************
*** 31,36 ****
--- 31,42 ----
* The remainder of the file should not need to be changed.
*/
+ /* GCC 1.36 (or maybe GAS) for VMS has a bug with extern const declarations.
+ Until it is fixed, eliminate const. */
+ #ifdef __GNUC__
+ # define const
+ #endif
+
#include <time.h>
#include <file.h>
***************
*** 59,69 ****
--- 65,79 ----
#define Srand(seed) srand(seed)
#endif
+ #define bcopy(s1,s2,sz) memcpy(s2,s1,sz)
#define unlink(x) delete(x)
#define exit(x) vms_exit(x)
#define getuid() vms_getuid()
#define abort() vms_abort()
#define creat(f,m) vms_creat(f,m)
+
+ /* VMS global names are case insensitive... */
+ #define An vms_an
#endif
#endif /* VMS /* */
*** include/Old/you.h Mon Feb 19 22:17:00 1990
--- include/you.h Mon Feb 19 18:16:33 1990
***************
*** 67,73 ****
struct prop uprops[LAST_PROP+1];
unsigned umconf;
! char *usick_cause;
/* For messages referring to hands, eyes, feet, etc... when polymorphed */
#define ARM 0
#define EYE 1
--- 67,73 ----
struct prop uprops[LAST_PROP+1];
unsigned umconf;
! const char *usick_cause;
/* For messages referring to hands, eyes, feet, etc... when polymorphed */
#define ARM 0
#define EYE 1
***************
*** 81,87 ****
#define LEG 9
#define LIGHT_HEADED 10
#define NECK 11
! #define TOE 12
#ifdef POLYSELF
int mh, mhmax, mtimedone, umonnum; /* for polymorph-self */
struct attribs macurr, /* for monster attribs */
--- 81,88 ----
#define LEG 9
#define LIGHT_HEADED 10
#define NECK 11
! #define SPINE 12
! #define TOE 13
#ifdef POLYSELF
int mh, mhmax, mtimedone, umonnum; /* for polymorph-self */
struct attribs macurr, /* for monster attribs */