home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
games
/
volume16
/
nethack31
/
patch1c
/
patches01k
next >
Wrap
Text File
|
1993-03-05
|
56KB
|
1,966 lines
*** /tmp/da10086 Thu Feb 25 21:29:09 1993
--- sys/vms/vmsbuild.com Thu Feb 25 20:46:18 1993
***************
*** 1,4 ****
! $ ! vms/vmsbuild.com -- compile and link NetHack 3.1 patchlevel 0 [pr]
$ !
$ ! usage:
$ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms]
--- 1,4 ----
! $ ! vms/vmsbuild.com -- compile and link NetHack 3.1 patchlevel 1 [pr]
$ !
$ ! usage:
$ ! $ set default [.src] !or [-.-.src] if starting from [.sys.vms]
***************
*** 183,189 ****
$!
$! miscellaneous special source file setup
$!
- $ if f$search("monst.c").eqs."" then copy/Concat monst.c1+.c2 monst.c
$ if f$search("random.c").eqs."" then copy [-.sys.share]random.c []*.*
$ if f$search("[-.util]lev_yacc.c").eqs."" then @[-.sys.vms]spec_lev.com
$!
--- 183,188 ----
***************
*** 203,209 ****
$ c_list = "#makedefs"
$ gosub compile_list
$ link makedefs.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="makedefs 3.1.0"
$ milestone "makedefs"
$! create some build-time files
$ makedefs -p !pm.h
--- 202,208 ----
$ c_list = "#makedefs"
$ gosub compile_list
$ link makedefs.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="makedefs 3.1.1"
$ milestone "makedefs"
$! create some build-time files
$ makedefs -p !pm.h
***************
*** 245,251 ****
$ milestone "<linking...>"
$ link/Exe=nethack 'nethacklib'/Lib/Incl=(vmsmain),'crtl''gnulib',-
sys$input:/Opt
! identification="NetHack 3.1.0"
$ milestone "NetHack"
$ if c_opt.eq.o_LINK then goto done !"LINK" only
$special:
--- 244,250 ----
$ milestone "<linking...>"
$ link/Exe=nethack 'nethacklib'/Lib/Incl=(vmsmain),'crtl''gnulib',-
sys$input:/Opt
! identification="NetHack 3.1.1"
$ milestone "NetHack"
$ if c_opt.eq.o_LINK then goto done !"LINK" only
$special:
***************
*** 262,278 ****
$ rename stdio.h lev_lex.*
$ link/exe=lev_comp lev_main,lev_yacc,lev_lex,-
panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="lev_comp 3.1.0"
$ milestone "lev_comp"
$ link/exe=dgn_comp dgn_main,dgn_yacc,dgn_lex,-
panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="dgn_comp 3.1.0"
$ milestone "dgn_comp"
$!
$ c_list = "#recover"
$ gosub compile_list
$ link/exe=[] recover.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="recover 3.1.0"
$ milestone "recover"
$!
$done:
--- 261,277 ----
$ rename stdio.h lev_lex.*
$ link/exe=lev_comp lev_main,lev_yacc,lev_lex,-
panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="lev_comp 3.1.1"
$ milestone "lev_comp"
$ link/exe=dgn_comp dgn_main,dgn_yacc,dgn_lex,-
panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="dgn_comp 3.1.1"
$ milestone "dgn_comp"
$!
$ c_list = "#recover"
$ gosub compile_list
$ link/exe=[] recover.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
! identification="recover 3.1.1"
$ milestone "recover"
$!
$done:
*** /tmp/da10110 Thu Feb 25 10:32:18 1993
--- sys/vms/vmsmain.c Wed Feb 24 15:02:23 1993
***************
*** 171,177 ****
(void) chmod(SAVEF,0); /* disallow parallel restores */
(void) signal(SIGINT, (SIG_RET_TYPE) done1);
#ifdef NEWS
! if(flags.news) display_file(NEWS, FALSE);
#endif
pline("Restoring save file...");
mark_synch(); /* flush output */
--- 171,180 ----
(void) chmod(SAVEF,0); /* disallow parallel restores */
(void) signal(SIGINT, (SIG_RET_TYPE) done1);
#ifdef NEWS
! if(flags.news) {
! display_file(NEWS, FALSE);
! flags.news = FALSE; /* in case dorecover() fails */
! }
#endif
pline("Restoring save file...");
mark_synch(); /* flush output */
*** /tmp/da07469 Thu Feb 25 10:20:00 1993
--- include/WindowP.h Wed Feb 24 16:09:53 1993
***************
*** 6,13 ****
--- 6,25 ----
#define _WindowP_h
#include "Window.h"
+
+ #ifndef SYSV
+ #define PRESERVE_NO_SYSV /* X11 include files may define SYSV */
+ #endif
+
/* include superclass private header file */
#include <X11/CoreP.h>
+
+ #ifdef PRESERVE_NO_SYSV
+ # ifdef SYSV
+ # undef SYSV
+ # endif
+ # undef PRESERVE_NO_SYSV
+ #endif
/* define unique representation types not found in <X11/StringDefs.h> */
*** /tmp/da07485 Thu Feb 25 10:20:04 1993
--- include/amiconf.h Thu Feb 25 09:03:39 1993
***************
*** 6,18 ****
#define AMICONF_H
#undef abs /* avoid using macro form of abs */
! #undef min /* this gets redefined */
! #undef max /* this gets redefined */
#include <time.h> /* get time_t defined before use! */
! #ifdef LATTICE /* since Lattice can prevent re-inclusion */
! # include <stdlib.h> /* and other things, including builtins */
#endif
#ifdef AZTEC_50
--- 6,21 ----
#define AMICONF_H
#undef abs /* avoid using macro form of abs */
! #ifndef __SASC_60
! # undef min /* this gets redefined */
! # undef max /* this gets redefined */
! #endif
#include <time.h> /* get time_t defined before use! */
! #ifdef __SASC_60 /* since SAS can prevent re-inclusion */
! # include <stdlib.h> /* general things, including builtins */
! # include <string.h>
#endif
#ifdef AZTEC_50
***************
*** 21,32 ****
# define NO_SIGNAL /* 5.0 signal handling doesn't like SIGINT... */
#endif
- #ifdef LATTICE /* Lattice defines DEBUG when you use -d1 which */
- # ifdef DEBUG /* we need for useful SnapShots, but DEBUG is */
- # undef DEBUG /* used in several files to turn on things we */
- # endif /* don't want (e.g. eat.c), so we get rid of */
- #endif /* DEBUG unless asked for in a particular file */
-
#ifdef _DCC
# include <stdlib.h>
# define _SIZE_T
--- 24,29 ----
***************
*** 72,91 ****
#define remove(x) unlink(x)
- #ifdef LATTICE
- #define FFLUSH(fp) _flsbf(-1, fp) /* Was fflush */
- #endif
-
#ifdef AZTEC_C
- #define FFLUSH(fp) flsh_(fp, -1) /* Was fflush */
extern FILE *FDECL(freopen, (const char *, const char *, FILE *));
extern char *FDECL(gets, (char *));
#endif
- #ifdef _DCC
- #define FFLUSH(fp) fflush(fp)
- #endif
-
#define msmsg raw_printf
/*
--- 69,79 ----
***************
*** 108,114 ****
/*#define AMIGA_WINDOWED_CORNLINE /* Use windows for pager, inventory, etc */
/* new window system options */
! #define AMIGA_INTUITION /* high power graphics interface */
#ifdef TEXTCOLOR
# define DEPTH 3
--- 96,102 ----
/*#define AMIGA_WINDOWED_CORNLINE /* Use windows for pager, inventory, etc */
/* new window system options */
! #define AMIGA_INTUITION /* high power graphics interface (amii) */
#ifdef TEXTCOLOR
# define DEPTH 3
***************
*** 119,123 ****
--- 107,116 ----
#define PORT_HELP "nethack:amii.hlp"
#undef TERMLIB
+
+ #define AMII_MUFFLED_VOLUME 40
+ #define AMII_SOFT_VOLUME 50
+ #define AMII_OKAY_VOLUME 60
+ #define AMII_LOUDER_VOLUME 80
#endif /* AMICONF_H */
*** /tmp/da07501 Thu Feb 25 10:20:07 1993
--- include/artilist.h Thu Feb 11 13:27:38 1993
***************
*** 26,32 ****
#define ELEC(a,b) {0,AD_ELEC,a,b} /* electrical shock */
#define STUN(a,b) {0,AD_STUN,a,b} /* magical attack */
! STATIC_OVL const struct artifact NEARDATA artilist[] = {
#endif /* MAKEDEFS_C */
/* dummy element #0, so that all interesting indices are non-zero */
--- 26,32 ----
#define ELEC(a,b) {0,AD_ELEC,a,b} /* electrical shock */
#define STUN(a,b) {0,AD_STUN,a,b} /* magical attack */
! STATIC_OVL NEARDATA const struct artifact artilist[] = {
#endif /* MAKEDEFS_C */
/* dummy element #0, so that all interesting indices are non-zero */
*** /tmp/da07525 Thu Feb 25 10:20:14 1993
--- include/config.h Thu Feb 25 09:03:40 1993
***************
*** 9,15 ****
/*
* Section 1: OS selection.
* Select the version of the OS you are using.
! * For "UNIX" select either SYSV or BSD in unixconf.h.
* A "VMS" option is not needed since the VMS C-compilers
* provide it (no need to change sec#1, vmsconf.h handles it).
*/
--- 9,15 ----
/*
* Section 1: OS selection.
* Select the version of the OS you are using.
! * For "UNIX" select BSD, ULTRIX, SYSV, or HPUX in unixconf.h.
* A "VMS" option is not needed since the VMS C-compilers
* provide it (no need to change sec#1, vmsconf.h handles it).
*/
***************
*** 57,70 ****
# ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */
# ifndef AMIGA
#define AMIGA /* define for Commodore-Amiga */
! # endif /* (Lattice auto-defines AMIGA) */
#define AZTEC_50 /* define for version 5.0 of manx */
# endif
#endif
! #ifdef LATTICE
# define NEARDATA __near /* put some data close */
# define NO_SCAN_BRACK /* scanf doesn't handle [] (this define available
* for any system with this problem) */
#else
# define NEARDATA
#endif
--- 57,71 ----
# ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */
# ifndef AMIGA
#define AMIGA /* define for Commodore-Amiga */
! # endif /* (SAS/C auto-defines AMIGA) */
#define AZTEC_50 /* define for version 5.0 of manx */
# endif
#endif
! #ifdef __SASC_60
# define NEARDATA __near /* put some data close */
# define NO_SCAN_BRACK /* scanf doesn't handle [] (this define available
* for any system with this problem) */
+ /* is this still true as of 6.2? (keni) */
#else
# define NEARDATA
#endif
***************
*** 89,94 ****
--- 90,105 ----
#endif
/*
+ * Windows NT Autodetection
+ */
+
+ #ifdef WIN32CON
+ # undef UNIX
+ # undef MSDOS
+ # define WIN32 /* need for ALL NT environs */
+ #endif
+
+ /*
* and other systems...
*/
***************
*** 201,206 ****
--- 212,218 ----
/* no options yet: Amiga also means Intuition windows */
#ifdef AMIGA
# undef TTY_GRAPHICS
+ # define AMII_GRAPHICS
# define DEFAULT_WINDOW_SYS "amii"
#endif
***************
*** 237,246 ****
* additional code and time. Currently, only UNIX fully implements
* COMPRESS; other ports should be able to uncompress save files a
* la unixmain.c if so inclined.
*/
#ifdef UNIX
! # define COMPRESS "/usr/ucb/compress" /* path name for 'compress' */
#endif
#ifndef COMPRESS
# define INTERNAL_COMP /* control use of NetHack's compression routines */
--- 249,267 ----
* additional code and time. Currently, only UNIX fully implements
* COMPRESS; other ports should be able to uncompress save files a
* la unixmain.c if so inclined.
+ * If you define COMPRESS, you must also define COMPRESS_EXTENSION
+ * as the extension your compressor appends to filenames after
+ * compression.
*/
#ifdef UNIX
! /* path and file name extension for compression program */
! # define COMPRESS "/usr/ucb/compress" /* Lempel-Ziv compression */
! # define COMPRESS_EXTENSION ".Z" /* compress's extension */
!
! /* An example of one alternative you might want to use: */
! /* # define COMPRESS "/usr/local/bin/gzip" /* FSF gzip compression */
! /* # define COMPRESS_EXTENSION ".z" /* normal gzip extension */
#endif
#ifndef COMPRESS
# define INTERNAL_COMP /* control use of NetHack's compression routines */
*** /tmp/da07541 Thu Feb 25 10:20:17 1993
--- include/decl.h Thu Feb 25 09:04:04 1993
***************
*** 1,4 ****
! /* SCCS Id: @(#)decl.h 3.1 92/12/11 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
--- 1,4 ----
! /* SCCS Id: @(#)decl.h 3.1 93/02/09 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
***************
*** 24,42 ****
E char SAVEP[];
#endif
! E int NEARDATA bases[];
! E int NEARDATA multi;
! E int NEARDATA warnlevel;
! E int NEARDATA nroom;
! E int NEARDATA nsubroom;
! E int NEARDATA occtime;
E int x_maze_max, y_maze_max;
E int otg_temp;
#ifdef REDO
! E int NEARDATA in_doagain;
#endif
E struct dgn_topology { /* special dungeon levels for speed */
--- 24,42 ----
E char SAVEP[];
#endif
! E NEARDATA int bases[];
! E NEARDATA int multi;
! E NEARDATA int warnlevel;
! E NEARDATA int nroom;
! E NEARDATA int nsubroom;
! E NEARDATA int occtime;
E int x_maze_max, y_maze_max;
E int otg_temp;
#ifdef REDO
! E NEARDATA int in_doagain;
#endif
E struct dgn_topology { /* special dungeon levels for speed */
***************
*** 102,126 ****
#define knox_level (dungeon_topology.d_knox_level)
#endif
! E stairway NEARDATA dnstair, NEARDATA upstair; /* stairs up and down. */
#define xdnstair (dnstair.sx)
#define ydnstair (dnstair.sy)
#define xupstair (upstair.sx)
#define yupstair (upstair.sy)
! E stairway NEARDATA dnladder, NEARDATA upladder; /* ladders up and down. */
#define xdnladder (dnladder.sx)
#define ydnladder (dnladder.sy)
#define xupladder (upladder.sx)
#define yupladder (upladder.sy)
! E stairway NEARDATA sstairs;
! E dest_area NEARDATA updest, NEARDATA dndest; /* level-change dest. areas */
! E coord NEARDATA inv_pos;
! E dungeon NEARDATA dungeons[];
! E s_level NEARDATA *sp_levchn;
#define dunlev_reached(x) (dungeons[(x)->dnum].dunlev_ureached)
#ifdef MULDGN
--- 102,126 ----
#define knox_level (dungeon_topology.d_knox_level)
#endif
! E NEARDATA stairway dnstair, upstair; /* stairs up and down. */
#define xdnstair (dnstair.sx)
#define ydnstair (dnstair.sy)
#define xupstair (upstair.sx)
#define yupstair (upstair.sy)
! E NEARDATA stairway dnladder, upladder; /* ladders up and down. */
#define xdnladder (dnladder.sx)
#define ydnladder (dnladder.sy)
#define xupladder (upladder.sx)
#define yupladder (upladder.sy)
! E NEARDATA stairway sstairs;
! E NEARDATA dest_area updest, dndest; /* level-change dest. areas */
! E NEARDATA coord inv_pos;
! E NEARDATA dungeon dungeons[];
! E NEARDATA s_level *sp_levchn;
#define dunlev_reached(x) (dungeons[(x)->dnum].dunlev_ureached)
#ifdef MULDGN
***************
*** 128,190 ****
E struct q_score quest_status;
#endif
! E int NEARDATA done_stopprint;
! E int NEARDATA done_hup;
! E char NEARDATA pl_character[PL_CSIZ];
#ifdef TUTTI_FRUTTI
! E char NEARDATA pl_fruit[PL_FSIZ];
! E int NEARDATA current_fruit;
! E struct fruit NEARDATA *ffruit;
#endif
! E char NEARDATA tune[6];
! E const char NEARDATA quitchars[];
! E const char NEARDATA vowels[];
! E const char NEARDATA ynchars[];
! E const char NEARDATA ynqchars[];
! E const char NEARDATA ynaqchars[];
! E const char NEARDATA ynNaqchars[];
! E long NEARDATA yn_number;
! E int NEARDATA smeq[];
! E int NEARDATA doorindex;
! E char NEARDATA *save_cm;
#define KILLED_BY_AN 0
#define KILLED_BY 1
#define NO_KILLER_PREFIX 2
! E int NEARDATA killer_format;
! E const char NEARDATA *killer;
E const char *configfile;
! E char NEARDATA plname[PL_NSIZ];
! E char NEARDATA dogname[];
! E char NEARDATA catname[];
E char preferred_pet;
! E const char NEARDATA *occtxt; /* defined when occupation != NULL */
! E const char NEARDATA *nomovemsg;
! E const char NEARDATA nul[];
E const char *traps[];
E char lock[];
! E const char NEARDATA sdir[], NEARDATA ndir[];
! E const schar NEARDATA xdir[], NEARDATA ydir[], zdir[];
! E schar NEARDATA tbx, NEARDATA tby; /* set in mthrowu.c */
! E int NEARDATA dig_effort; /* apply.c, hack.c */
! E d_level NEARDATA dig_level;
! E coord NEARDATA dig_pos;
! E boolean NEARDATA dig_down;
! E long NEARDATA moves, NEARDATA monstermoves;
! E long NEARDATA wailmsg;
! E boolean NEARDATA in_mklev;
! E boolean NEARDATA stoned;
! E boolean NEARDATA unweapon;
! E boolean NEARDATA mrg_to_wielded;
#ifdef KOPS
! E boolean NEARDATA allow_kops;
#endif
E const int shield_static[];
--- 128,190 ----
E struct q_score quest_status;
#endif
! E NEARDATA int done_stopprint;
! E NEARDATA int done_hup;
! E NEARDATA char pl_character[PL_CSIZ];
#ifdef TUTTI_FRUTTI
! E NEARDATA char pl_fruit[PL_FSIZ];
! E NEARDATA int current_fruit;
! E NEARDATA struct fruit *ffruit;
#endif
! E NEARDATA char tune[6];
! E NEARDATA const char quitchars[];
! E NEARDATA const char vowels[];
! E NEARDATA const char ynchars[];
! E NEARDATA const char ynqchars[];
! E NEARDATA const char ynaqchars[];
! E NEARDATA const char ynNaqchars[];
! E NEARDATA long yn_number;
! E NEARDATA int smeq[];
! E NEARDATA int doorindex;
! E NEARDATA char *save_cm;
#define KILLED_BY_AN 0
#define KILLED_BY 1
#define NO_KILLER_PREFIX 2
! E NEARDATA int killer_format;
! E NEARDATA const char *killer;
E const char *configfile;
! E NEARDATA char plname[PL_NSIZ];
! E NEARDATA char dogname[];
! E NEARDATA char catname[];
E char preferred_pet;
! E NEARDATA const char *occtxt; /* defined when occupation != NULL */
! E NEARDATA const char *nomovemsg;
! E NEARDATA const char nul[];
E const char *traps[];
E char lock[];
! E NEARDATA const char sdir[], ndir[];
! E NEARDATA const schar xdir[], ydir[], zdir[];
! E NEARDATA schar tbx, tby; /* set in mthrowu.c */
! E NEARDATA int dig_effort; /* apply.c, hack.c */
! E NEARDATA d_level dig_level;
! E NEARDATA coord dig_pos;
! E NEARDATA boolean dig_down;
! E NEARDATA long moves, monstermoves;
! E NEARDATA long wailmsg;
! E NEARDATA boolean in_mklev;
! E NEARDATA boolean stoned;
! E NEARDATA boolean unweapon;
! E NEARDATA boolean mrg_to_wielded;
#ifdef KOPS
! E NEARDATA boolean allow_kops;
#endif
E const int shield_static[];
***************
*** 192,198 ****
#ifndef SPELLS_H
#include "spell.h"
#endif
! E struct spell NEARDATA spl_book[]; /* sized in decl.c */
#ifdef TEXTCOLOR
# ifndef COLOR_H
--- 192,198 ----
#ifndef SPELLS_H
#include "spell.h"
#endif
! E NEARDATA struct spell spl_book[]; /* sized in decl.c */
#ifdef TEXTCOLOR
# ifndef COLOR_H
***************
*** 207,251 ****
E uchar monsyms[MAXMCLASSES]; /* current class symbols */
#ifndef OBJ_H
! #include "obj.h"
#endif
! E struct obj NEARDATA *invent, NEARDATA *uarm, NEARDATA *uarmc,
! NEARDATA *uarmh, NEARDATA *uarms, NEARDATA *uarmg, NEARDATA *uarmf,
#ifdef TOURIST
! NEARDATA *uarmu, /* under-wear, so to speak */
#endif
#ifdef POLYSELF
! NEARDATA *uskin,
#endif
! NEARDATA *uamul, NEARDATA *uleft, NEARDATA *uright, NEARDATA *ublindf,
! NEARDATA *uwep;
! E struct obj NEARDATA *uchain; /* defined only when punished */
! E struct obj NEARDATA *uball;
! E struct obj NEARDATA *migrating_objs;
! E struct obj NEARDATA *billobjs;
! E struct obj NEARDATA zeroobj; /* init'd and defined in decl.c */
#ifndef YOU_H
! #include "you.h"
#endif
! E struct you NEARDATA u;
#ifndef ONAMES_H
! #include "onames.h"
#endif
#ifndef PM_H
! #include "pm.h"
#endif
! E struct permonst NEARDATA playermon, NEARDATA *uasmon;
/* also decl'd extern in permonst.h */
/* init'd in monst.c */
! E struct monst NEARDATA youmonst; /* init'd and defined in decl.c */
! E struct monst NEARDATA *mydogs, NEARDATA *migrating_mons;
E struct c_color_names {
char const *const c_black, *const c_amber, *const c_golden,
--- 207,253 ----
E uchar monsyms[MAXMCLASSES]; /* current class symbols */
#ifndef OBJ_H
! # include "obj.h"
#endif
! E NEARDATA struct obj *invent, *uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf,
#ifdef TOURIST
! *uarmu, /* under-wear, so to speak */
#endif
#ifdef POLYSELF
! *uskin,
#endif
! *uamul, *uleft, *uright, *ublindf, *uwep;
! E NEARDATA struct obj *uchain; /* defined only when punished */
! E NEARDATA struct obj *uball;
! E NEARDATA struct obj *migrating_objs;
! E NEARDATA struct obj *billobjs;
! E NEARDATA struct obj zeroobj; /* init'd and defined in decl.c */
+ E NEARDATA const char *he[3];
+ E NEARDATA const char *him[3];
+ E NEARDATA const char *his[3];
+
#ifndef YOU_H
! # include "you.h"
#endif
! E NEARDATA struct you u;
#ifndef ONAMES_H
! # include "onames.h"
#endif
#ifndef PM_H
! # include "pm.h"
#endif
! E NEARDATA struct permonst playermon, *uasmon;
/* also decl'd extern in permonst.h */
/* init'd in monst.c */
! E NEARDATA struct monst youmonst; /* init'd and defined in decl.c */
! E NEARDATA struct monst *mydogs, *migrating_mons;
E struct c_color_names {
char const *const c_black, *const c_amber, *const c_golden,
***************
*** 274,285 ****
#define shudder_for_moment c_common_strings.c_shudder_for_moment
/* Vision */
! E boolean NEARDATA vision_full_recalc; /* TRUE if need vision recalc */
! E char NEARDATA **viz_array; /* could see/in sight row pointers */
/* Window system stuff */
! E winid NEARDATA WIN_MESSAGE, NEARDATA WIN_STATUS;
! E winid NEARDATA WIN_MAP, NEARDATA WIN_INVEN;
E char toplines[];
#ifndef TERMCAP_H
E struct tc_gbl_data { /* also declared in termcap.h */
--- 276,287 ----
#define shudder_for_moment c_common_strings.c_shudder_for_moment
/* Vision */
! E NEARDATA boolean vision_full_recalc; /* TRUE if need vision recalc */
! E NEARDATA char **viz_array; /* could see/in sight row pointers */
/* Window system stuff */
! E NEARDATA winid WIN_MESSAGE, WIN_STATUS;
! E NEARDATA winid WIN_MAP, WIN_INVEN;
E char toplines[];
#ifndef TERMCAP_H
E struct tc_gbl_data { /* also declared in termcap.h */
***************
*** 295,301 ****
/* xxxexplain[] is in drawing.c */
E const char *monexplain[], *objexplain[], *oclass_names[];
! E const char NEARDATA *pl_classes;
#undef E
--- 297,303 ----
/* xxxexplain[] is in drawing.c */
E const char *monexplain[], *objexplain[], *oclass_names[];
! E NEARDATA const char *pl_classes;
#undef E
*** /tmp/da07565 Thu Feb 25 10:20:23 1993
--- include/display.h Tue Feb 16 16:32:17 1993
***************
*** 64,70 ****
* is considered irrelevant for this special case.
*/
#define canspotmon(mon) \
! (mon && (Blind ? sensemon(mon) : (!mon->minvis || See_invisible)))
/*
* is_safepet(mon)
--- 64,70 ----
* is considered irrelevant for this special case.
*/
#define canspotmon(mon) \
! (mon && ((!Blind && (!mon->minvis || See_invisible)) || sensemon(mon)))
/*
* is_safepet(mon)
*** /tmp/da07621 Thu Feb 25 10:20:35 1993
--- include/extern.h Tue Feb 23 16:31:54 1993
***************
*** 1,4 ****
! /* SCCS Id: @(#)extern.h 3.1 93/01/24 */
/* Copyright (c) Steve Creps, 1988. */
/* NetHack may be freely redistributed. See license for details. */
--- 1,4 ----
! /* SCCS Id: @(#)extern.h 3.1 93/02/16 */
/* Copyright (c) Steve Creps, 1988. */
/* NetHack may be freely redistributed. See license for details. */
***************
*** 70,75 ****
--- 70,76 ----
E boolean FDECL(exist_artifact, (int,const char *));
E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P));
E int NDECL(nartifact_exist);
+ E void FDECL(artifact_unexist, (struct obj *));
E boolean FDECL(spec_ability, (struct obj *,unsigned));
E boolean FDECL(restrict_name, (struct obj *,const char *));
E boolean FDECL(defends, (int,struct obj *));
***************
*** 122,127 ****
--- 123,131 ----
E int FDECL(xlev_to_rank, (int));
E int FDECL(title_to_mon, (const char *,int *,int *));
E void NDECL(max_rank_sz);
+ #ifdef SCORE_ON_BOTL
+ E long NDECL(botl_score);
+ #endif
E const char *FDECL(rank_of, (unsigned,CHAR_P,BOOLEAN_P));
E void NDECL(bot);
***************
*** 168,173 ****
--- 172,178 ----
E int FDECL(getdir, (const char *));
E void NDECL(confdir);
E int FDECL(isok, (int,int));
+ E int FDECL(click_to_cmd, (int,int,int));
E char NDECL(readchar);
/* ### dbridge.c ### */
***************
*** 346,351 ****
--- 351,357 ----
E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P));
E int FDECL(dogfood, (struct monst *,struct obj *));
E struct monst *FDECL(tamedog, (struct monst *,struct obj *));
+ E void FDECL(abuse_dog, (struct monst *));
/* ### dogmove.c ### */
***************
*** 366,371 ****
--- 372,378 ----
/* ### dothrow.c ### */
E int NDECL(dothrow);
+ E void FDECL(hitfloor, (struct obj *));
E void FDECL(hurtle, (int,int,int));
E int FDECL(throwit, (struct obj *));
E int FDECL(thitmonst, (struct monst *,struct obj *));
***************
*** 394,400 ****
E branch *FDECL(Is_branchlev, (d_level *));
E xchar FDECL(ledger_no, (d_level *));
E xchar NDECL(maxledgerno);
! E xchar FDECL(depth, (d_level *));
E xchar FDECL(dunlev, (d_level *));
E xchar FDECL(dunlevs_in_dungeon, (d_level *));
E xchar FDECL(ledger_to_dnum, (XCHAR_P));
--- 401,407 ----
E branch *FDECL(Is_branchlev, (d_level *));
E xchar FDECL(ledger_no, (d_level *));
E xchar NDECL(maxledgerno);
! E schar FDECL(depth, (d_level *));
E xchar FDECL(dunlev, (d_level *));
E xchar FDECL(dunlevs_in_dungeon, (d_level *));
E xchar FDECL(ledger_to_dnum, (XCHAR_P));
***************
*** 565,570 ****
--- 572,578 ----
E boolean FDECL(revive_nasty, (int,int,const char*));
E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P));
E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P));
+ E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P));
E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P));
E void NDECL(domove);
E void NDECL(spoteffects);
***************
*** 683,688 ****
--- 691,697 ----
E int NDECL(forcelock);
E int NDECL(picklock);
#endif
+ E boolean FDECL(picking_lock, (int *,int *));
E boolean FDECL(picking_at, (int,int));
E void NDECL(reset_pick);
E int FDECL(pick_lock, (struct obj *));
***************
*** 735,746 ****
/* ### macwin.c ### */
E void FDECL(addToKeyQueue, (int,Boolean));
- /* ### maccurs.c ### */
-
- E int FDECL(clickSector, (int,int,int,int));
-
-
#endif /* MAC */
/* ### mail.c ### */
--- 744,751 ----
/* ### macwin.c ### */
E void FDECL(addToKeyQueue, (int,Boolean));
+ E void FDECL(lock_mouse_cursor, (Boolean));
#endif /* MAC */
/* ### mail.c ### */
***************
*** 790,795 ****
--- 795,801 ----
#endif
E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P));
E int FDECL(mattacku, (struct monst *));
+ E int FDECL(gazemu, (struct monst *,struct attack *));
E void FDECL(mdamageu, (struct monst *,int));
E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *));
#ifdef SEDUCE
***************
*** 802,811 ****
E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P));
E int FDECL(demon_talk, (struct monst *));
E long FDECL(bribe, (struct monst *));
! E int NDECL(dprince);
! E int NDECL(dlord);
E int NDECL(llord);
! E int NDECL(ndemon);
E int NDECL(lminion);
/* ### mklev.c ### */
--- 808,817 ----
E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P));
E int FDECL(demon_talk, (struct monst *));
E long FDECL(bribe, (struct monst *));
! E int FDECL(dprince, (ALIGNTYP_P));
! E int FDECL(dlord, (ALIGNTYP_P));
E int NDECL(llord);
! E int FDECL(ndemon, (ALIGNTYP_P));
E int NDECL(lminion);
/* ### mklev.c ### */
***************
*** 959,964 ****
--- 965,971 ----
E boolean FDECL(webmaker, (struct permonst *));
#endif
E int FDECL(gender, (struct monst *));
+ E int FDECL(pronoun_gender, (struct monst *));
E boolean FDECL(levl_follower, (struct monst *));
E struct permonst *NDECL(player_mon);
E int FDECL(little_to_big, (int));
***************
*** 996,1004 ****
#ifdef MICRO
! /* ### msdos.c,os2.c,tos.c ### */
E int NDECL(tgetch);
# ifndef TOS
E char NDECL(switchar);
# endif
--- 1003,1013 ----
#ifdef MICRO
! /* ### msdos.c,os2.c,tos.c,winnt.c ### */
+ # ifndef WIN32
E int NDECL(tgetch);
+ # endif
# ifndef TOS
E char NDECL(switchar);
# endif
***************
*** 1014,1020 ****
E void NDECL(disable_ctrlP);
E void NDECL(enable_ctrlP);
# endif
! # if defined(MICRO) && !defined(AMIGA)
E void NDECL(get_scr_size);
# ifndef TOS
E void FDECL(gotoxy, (int,int));
--- 1023,1029 ----
E void NDECL(disable_ctrlP);
E void NDECL(enable_ctrlP);
# endif
! # if defined(MICRO) && !defined(AMIGA) && !defined(WINNT)
E void NDECL(get_scr_size);
# ifndef TOS
E void FDECL(gotoxy, (int,int));
***************
*** 1029,1034 ****
--- 1038,1046 ----
E int NDECL(dosuspend);
# endif
# endif /* TOS */
+ # ifdef WIN32
+ E void FDECL(nt_regularize, (char *));
+ # endif /* WIN32 */
#endif /* MICRO */
***************
*** 1066,1071 ****
--- 1078,1093 ----
E void NDECL(awaken_soldiers);
E int FDECL(do_play_instrument, (struct obj *));
+ /* ### nttty.c ### */
+
+ #ifdef WIN32CON
+ E void NDECL(get_scr_size);
+ E int NDECL(kbhit);
+ E void NDECL(nttty_open);
+ E void NDECL(nttty_rubout);
+ E int NDECL(tgetch);
+ #endif
+
/* ### o_init.c ### */
E int FDECL(letindex, (CHAR_P));
***************
*** 1268,1273 ****
--- 1290,1297 ----
E boolean FDECL(in_your_sanctuary, (XCHAR_P,XCHAR_P));
E void FDECL(ghod_hitsu, (struct monst *));
E void NDECL(angry_priest);
+ E void NDECL(clearpriests);
+ E void FDECL(restpriest, (struct monst *,BOOLEAN_P));
#ifdef MULDGN
/* ### quest.c ### */
***************
*** 1393,1399 ****
E void FDECL(shkgone, (struct monst *));
E void FDECL(set_residency, (struct monst *,BOOLEAN_P));
E void FDECL(replshk, (struct monst *,struct monst *));
! E void FDECL(restshk, (struct monst *));
E int FDECL(inhishop, (struct monst *));
#ifdef SOUNDS
E boolean FDECL(tended_shop, (struct mkroom *));
--- 1417,1423 ----
E void FDECL(shkgone, (struct monst *));
E void FDECL(set_residency, (struct monst *,BOOLEAN_P));
E void FDECL(replshk, (struct monst *,struct monst *));
! E void FDECL(restshk, (struct monst *,BOOLEAN_P));
E int FDECL(inhishop, (struct monst *));
#ifdef SOUNDS
E boolean FDECL(tended_shop, (struct mkroom *));
***************
*** 1523,1528 ****
--- 1547,1553 ----
E void FDECL(seetrap, (struct trap *));
E int FDECL(mintrap, (struct monst *));
E void FDECL(selftouch, (const char *));
+ E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P));
E void NDECL(float_up);
E void FDECL(fill_pit, (int,int));
E int NDECL(float_down);
***************
*** 1530,1536 ****
E void FDECL(teleds, (int,int));
E int NDECL(dotele);
E void NDECL(level_tele);
! E void FDECL(water_damage, (struct obj *,BOOLEAN_P));
E boolean NDECL(drown);
E void FDECL(drain_en, (int));
E int NDECL(dountrap);
--- 1555,1561 ----
E void FDECL(teleds, (int,int));
E int NDECL(dotele);
E void NDECL(level_tele);
! E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P));
E boolean NDECL(drown);
E void FDECL(drain_en, (int));
E int NDECL(dountrap);
*** /tmp/da07629 Thu Feb 25 10:20:38 1993
--- include/flag.h Sun Feb 21 16:41:09 1993
***************
*** 43,48 ****
--- 43,51 ----
boolean nopick; /* do not pickup objects (as when running) */
boolean null; /* OK to send nulls to the terminal */
boolean num_pad; /* use numbers for movement commands */
+ #ifdef MAC
+ boolean page_wait; /* put up a --More-- after a page of messages */
+ #endif
boolean pickup; /* whether you pickup or move and look */
#ifdef MAC
boolean popup_dialog; /* put queries in pop up dialogs instead of
***************
*** 88,95 ****
boolean MACgraphics; /* use Macintosh extended character set, as
as defined in the special font HackFont */
#endif
};
! extern struct flag NEARDATA flags;
#endif /* FLAG_H */
--- 91,101 ----
boolean MACgraphics; /* use Macintosh extended character set, as
as defined in the special font HackFont */
#endif
+ #ifdef AMII_GRAPHICS
+ unsigned short amii_curmap[8]; /* colormap */
+ #endif
};
! extern NEARDATA struct flag flags;
#endif /* FLAG_H */
*** /tmp/da07645 Thu Feb 25 10:20:42 1993
--- include/global.h Thu Feb 25 09:03:40 1993
***************
*** 61,67 ****
#endif
#ifndef STRNCMPI
! # define strcmpi(a,b) strncmpi((a),(b),-1)
#endif
/* comment out to test effects of each #define -- these will probably
--- 61,69 ----
#endif
#ifndef STRNCMPI
! # ifndef __SASC_60 /* SAS/C already shifts to stricmp */
! # define strcmpi(a,b) strncmpi((a),(b),-1)
! # endif
#endif
/* comment out to test effects of each #define -- these will probably
***************
*** 168,173 ****
--- 170,179 ----
# include "macconf.h"
#endif
+ #if defined(WIN32) && !defined(NTCONF_H)
+ # include "ntconf.h"
+ #endif
+
/* Displayable name of this port; don't redefine if defined in *conf.h */
#ifndef PORT_ID
# ifdef AMIGA
***************
*** 190,195 ****
--- 196,204 ----
# endif
# ifdef VMS
# define PORT_ID "VMS"
+ # endif
+ # ifdef WIN32CON
+ # define PORT_ID "NT-Console"
# endif
#endif
*** /tmp/da07653 Thu Feb 25 10:20:45 1993
--- include/hack.h Thu Feb 25 09:04:05 1993
***************
*** 71,77 ****
#include "decl.h"
#endif
! extern coord bhitpos; /* place where thrown weapon falls to the ground */
/* types of calls to bhit() */
#define ZAPPED_WAND 0
--- 71,77 ----
#include "decl.h"
#endif
! NEARDATA extern coord bhitpos; /* place where thrown weapon falls to the ground */
/* types of calls to bhit() */
#define ZAPPED_WAND 0
*** /tmp/da07669 Thu Feb 25 10:20:48 1993
--- include/macconf.h Wed Feb 24 16:18:07 1993
***************
*** 37,42 ****
--- 37,50 ----
# include <fonts.h>
/*
+ * Turn off the Macsbug calls for the production version.
+ */
+ #undef Debugger
+ #undef DebugStr
+ #define Debugger()
+ #define DebugStr(aStr)
+
+ /*
* We could use the PSN under sys 7 here ...
*/
# define getpid() 1
***************
*** 168,174 ****
void ( * cursorFunc ) ( EventRecord * , WindowPtr , RgnHandle ) ;
Handle windowText ;
long windowTextLen ;
- long textBase ;
Point cursor ; /* In CHARS / LINES */
short leading ;
short charHeight ;
--- 176,181 ----
***************
*** 175,180 ****
--- 182,189 ----
short charWidth ;
short fontNum ;
short fontSize ;
+ short last_more_lin ; /* Used by message window */
+ short save_lin ; /* Used by message window */
short lin ; /* Used by menus */
short wid ; /* Used by menus */
char itemChars [ NUM_MENU_ITEMS ] ;
*** /tmp/da07701 Thu Feb 25 10:20:55 1993
--- include/mkroom.h Tue Feb 16 16:21:32 1993
***************
*** 34,41 ****
const char **shknms; /* list of shopkeeper names for this type */
};
! extern struct mkroom rooms[(MAXNROFROOMS+1)*2];
! extern struct mkroom* subrooms;
/* the normal rooms on the current level are described in rooms[0..n] for
* some n<MAXNROFROOMS
* the vault, if any, is described by rooms[n+1]
--- 34,41 ----
const char **shknms; /* list of shopkeeper names for this type */
};
! extern NEARDATA struct mkroom rooms[(MAXNROFROOMS+1)*2];
! extern NEARDATA struct mkroom* subrooms;
/* the normal rooms on the current level are described in rooms[0..n] for
* some n<MAXNROFROOMS
* the vault, if any, is described by rooms[n+1]
***************
*** 45,51 ****
extern struct mkroom *dnstairs_room, *upstairs_room, *sstairs_room;
! extern coord doors[DOORMAX];
/* values for rtype in the room definition structure */
#define OROOM 0 /* ordinary room */
--- 45,51 ----
extern struct mkroom *dnstairs_room, *upstairs_room, *sstairs_room;
! extern NEARDATA coord doors[DOORMAX];
/* values for rtype in the room definition structure */
#define OROOM 0 /* ordinary room */
*** /tmp/da07725 Thu Feb 25 10:21:00 1993
--- include/monflag.h Mon Feb 1 11:18:52 1993
***************
*** 131,136 ****
--- 131,139 ----
#define M3_WANTSCAND 0x08 /* wants the candelabrum */
#ifdef MULDGN
#define M3_WANTSARTI 0x10 /* wants the quest artifact */
+ #define M3_WANTSALL 0x1f /* wants any major artifact */
+ #else
+ #define M3_WANTSALL 0x0f /* wants any major artifact */
#endif
#define M3_WAITFORU 0x40 /* waits to see you or get attacked */
#define M3_CLOSE 0x80 /* lets you close unless attacked */
*** /tmp/da07749 Thu Feb 25 10:21:05 1993
--- include/ntconf.h Tue Feb 2 09:53:40 1993
***************
*** 0 ****
--- 1,58 ----
+ /* SCCS Id: @(#)ntconf.h 3.1 93/01/31 */
+ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
+ /* NetHack may be freely redistributed. See license for details. */
+
+ #ifndef NTCONF_H
+ #define NTCONF_H
+
+ #define MICRO /* always define this! */
+
+ #define SHELL
+
+ #define RANDOM /* have Berkeley random(3) */
+
+ #define TEXTCOLOR /* Color text */
+
+ #define PATHLEN 64 /* maximum pathlength */
+ #define FILENAME 80 /* maximum filename length (conservative) */
+ #ifndef MICRO_H
+ #include "micro.h" /* contains necessary externs for [os_name].c */
+ #endif
+
+
+ /*
+ * The remaining code shouldn't need modification.
+ */
+
+ #ifndef SYSTEM_H
+ #include "system.h"
+ #endif
+ #define index strchr
+ #define rindex strrchr
+
+ #include <time.h>
+
+ #ifdef RANDOM
+ /* Use the high quality random number routines. */
+ #define Rand() random()
+ #else
+ #define Rand() rand()
+ #endif
+
+ #define FCMASK 0660 /* file creation mask */
+
+ #include <fcntl.h>
+ #include <io.h>
+ #include <direct.h>
+ #include <conio.h>
+ #undef kbhit /* Use our special NT kbhit */
+
+ #define exit msexit /* do chdir first */
+
+ #ifndef REDO
+ #undef Getchar
+ #define Getchar nhgetch
+ #endif
+
+
+ #endif /* NTCONF_H */
*** /tmp/da07757 Thu Feb 25 10:21:07 1993
--- include/obj.h Mon Feb 8 14:04:40 1993
***************
*** 24,30 ****
marks your eggs, spinach tins
indicates statues have spellbooks inside
tells which fruit a fruit is
- marks diluted potions
special for uball and amulet %% BAH */
char oclass; /* object class */
char invlet; /* designation in inventory */
--- 24,29 ----
***************
*** 42,47 ****
--- 41,47 ----
Bitfield(oeroded,2); /* rusted/corroded/burnt/rotted weapon/armor */
#define MAX_ERODE 3
#define orotten oeroded /* rotten food */
+ #define odiluted oeroded /* diluted potions */
Bitfield(oerodeproof,1); /* erodeproof weapon/armor */
Bitfield(olocked,1); /* object is locked */
#define recharged olocked /* recharged once */
*** /tmp/da07765 Thu Feb 25 10:21:09 1993
--- include/objclass.h Tue Feb 23 15:12:23 1993
***************
*** 20,25 ****
--- 20,26 ----
Bitfield(oc_magic,1); /* inherently magical object */
Bitfield(oc_charged,1); /* may have +n or (n) charges */
Bitfield(oc_unique,1); /* special one-of-a-kind object */
+ Bitfield(oc_nowish,1); /* cannot wish for this object */
Bitfield(oc_big,1);
#define oc_bimanual oc_big /* for weapons */
#define oc_bulky oc_big /* for armor */
***************
*** 89,96 ****
const char *oc_descr; /* description when name unknown */
};
! extern struct objclass NEARDATA objects[];
! extern struct objdescr NEARDATA obj_descr[];
/*
* All objects have a class. Make sure that all classes have a corresponding
--- 90,97 ----
const char *oc_descr; /* description when name unknown */
};
! extern NEARDATA struct objclass objects[];
! extern NEARDATA struct objdescr obj_descr[];
/*
* All objects have a class. Make sure that all classes have a corresponding
*** /tmp/da07773 Thu Feb 25 10:21:11 1993
--- include/os2conf.h Thu Feb 25 09:03:39 1993
***************
*** 21,26 ****
--- 21,27 ----
*/
#define OS2_USESYSHEADERS /* use compiler's own system headers */
+ /* #define OS2_HPFS /* use OS/2 High Performance File System */
#if defined(OS2_GCC) || defined(OS2_CSET2)
# define OS2_32BITAPI /* enable for compilation in OS/2 2.0 */
*** /tmp/da07781 Thu Feb 25 10:21:12 1993
--- include/patchlevel.h Wed Feb 24 21:36:39 1993
***************
*** 134,137 ****
* directory rearrangement (dat, doc, sys, win, util)
*/
! #define PATCHLEVEL 0
--- 134,144 ----
* directory rearrangement (dat, doc, sys, win, util)
*/
! /*
! * Patch 1, February 25, 1993
! * add Windows NT console port (courtesy Michael Allison)
! * polishing of Amiga, Mac, and X11 windowing
! * fixing many small bugs, including the infamous 3.0 nurse relmon bug
! */
!
! #define PATCHLEVEL 1
*** /tmp/da07789 Thu Feb 25 10:21:15 1993
--- include/pcconf.h Thu Feb 25 09:01:34 1993
***************
*** 17,41 ****
* or greater.
*/
! #if !defined (__GO32__) && !defined(__BORLANDC__) && !defined(AMIGA)
! #define OVERLAY /* MS DOS overlay manager - PGM */
/* #define MOVERLAY /* Microsoft's MOVE overlay system (MSC >= 7.0) */
! #endif
! #ifndef __GO32__
! #define MFLOPPY /* Support for floppy drives and ramdisks by dgk */
! #define SHELL /* via exec of COMMAND.COM */
! #endif
# define TERMLIB /* enable use of termcap file /etc/termcap */
/* or ./termcap for MSDOS (SAC) */
/* compile and link in Fred Fish's termcap library, */
/* enclosed in TERMCAP.ARC, to use this */
! #define ANSI_DEFAULT /* allows NetHack to run without a ./termcap */
! #define RANDOM /* have Berkeley random(3) */
#endif /* MSDOS configuration stuff */
--- 17,41 ----
* or greater.
*/
! # if !defined (__GO32__) && !defined(__BORLANDC__) && !defined(AMIGA)
! # define OVERLAY /* MS DOS overlay manager - PGM */
/* #define MOVERLAY /* Microsoft's MOVE overlay system (MSC >= 7.0) */
! # endif
! # ifndef __GO32__
! # define MFLOPPY /* Support for floppy drives and ramdisks by dgk */
! # endif
+ # define SHELL /* via exec of COMMAND.COM */
# define TERMLIB /* enable use of termcap file /etc/termcap */
/* or ./termcap for MSDOS (SAC) */
/* compile and link in Fred Fish's termcap library, */
/* enclosed in TERMCAP.ARC, to use this */
! # define ANSI_DEFAULT /* allows NetHack to run without a ./termcap */
! # define RANDOM /* have Berkeley random(3) */
#endif /* MSDOS configuration stuff */
***************
*** 43,56 ****
#define PATHLEN 64 /* maximum pathlength */
#define FILENAME 80 /* maximum filename length (conservative) */
#ifndef MICRO_H
! #include "micro.h" /* contains necessary externs for [os_name].c */
#endif
#ifdef MFLOPPY
! #define FROMPERM 1 /* for ramdisk use */
! #define TOPERM 2 /* for ramdisk use */
! #define ACTIVE 1
! #define SWAPPED 2
struct finfo {
int where;
--- 43,56 ----
#define PATHLEN 64 /* maximum pathlength */
#define FILENAME 80 /* maximum filename length (conservative) */
#ifndef MICRO_H
! # include "micro.h" /* contains necessary externs for [os_name].c */
#endif
#ifdef MFLOPPY
! # define FROMPERM 1 /* for ramdisk use */
! # define TOPERM 2 /* for ramdisk use */
! # define ACTIVE 1
! # define SWAPPED 2
struct finfo {
int where;
***************
*** 58,64 ****
long size;
};
extern struct finfo fileinfo[];
! #define ZFINFO { 0, 0L, 0L }
#endif /* MFLOPPY */
--- 58,64 ----
long size;
};
extern struct finfo fileinfo[];
! # define ZFINFO { 0, 0L, 0L }
#endif /* MFLOPPY */
***************
*** 67,90 ****
*/
#ifndef SYSTEM_H
! #include "system.h"
#endif
- #define index strchr
- #define rindex strrchr
#ifndef AMIGA
! #include <time.h>
#endif
#ifdef RANDOM
/* Use the high quality random number routines. */
! #define Rand() random()
#else
! #define Rand() rand()
#endif
#ifndef TOS
! #define FCMASK 0660 /* file creation mask */
#endif
#include <fcntl.h>
--- 67,95 ----
*/
#ifndef SYSTEM_H
! # include "system.h"
#endif
+ #ifndef index
+ # define index strchr
+ #endif
+ #ifndef rindex
+ # define rindex strrchr
+ #endif
+
#ifndef AMIGA
! # include <time.h>
#endif
#ifdef RANDOM
/* Use the high quality random number routines. */
! # define Rand() random()
#else
! # define Rand() rand()
#endif
#ifndef TOS
! # define FCMASK 0660 /* file creation mask */
#endif
#include <fcntl.h>
***************
*** 92,103 ****
#define exit msexit /* do chdir first */
#ifndef REDO
! #undef Getchar
! #define Getchar nhgetch
#endif
#ifdef MSDOS
! # define TEXTCOLOR /* */
#endif
#endif /* PCCONF_H */
--- 97,112 ----
#define exit msexit /* do chdir first */
#ifndef REDO
! # undef Getchar
! # define Getchar nhgetch
#endif
#ifdef MSDOS
! # define TEXTCOLOR /* */
! #endif
!
! #ifdef MSC7_WARN /* define with cl /DMSC7_WARN */
! #pragma warning(disable:4131)
#endif
#endif /* PCCONF_H */
*** /tmp/da07797 Thu Feb 25 10:21:17 1993
--- include/permonst.h Tue Feb 16 16:17:29 1993
***************
*** 1,4 ****
! /* SCCS Id: @(#)permonst.h 3.1 92/11/21 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
--- 1,4 ----
! /* SCCS Id: @(#)permonst.h 3.1 93/02/14 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
***************
*** 55,61 ****
uchar msize; /* physical size (3 bits) */
uchar mresists; /* resistances */
uchar mconveys; /* conveyed by eating */
! long mflags1, /* boolean bitflags */
mflags2; /* more boolean bitflags */
uchar mflags3; /* yet more boolean bitflags */
# ifdef TEXTCOLOR
--- 55,61 ----
uchar msize; /* physical size (3 bits) */
uchar mresists; /* resistances */
uchar mconveys; /* conveyed by eating */
! unsigned long mflags1, /* boolean bitflags */
mflags2; /* more boolean bitflags */
uchar mflags3; /* yet more boolean bitflags */
# ifdef TEXTCOLOR
***************
*** 63,71 ****
# endif
};
! extern struct permonst
! NEARDATA mons[]; /* the master list of monster types */
! extern struct permonst NEARDATA playermon, NEARDATA *uasmon;
/* you in the same terms */
#endif /* PERMONST_H */
--- 63,71 ----
# endif
};
! extern NEARDATA struct permonst
! mons[]; /* the master list of monster types */
! extern NEARDATA struct permonst playermon, *uasmon;
/* you in the same terms */
#endif /* PERMONST_H */
*** /tmp/da07837 Thu Feb 25 10:21:26 1993
--- include/rm.h Mon Feb 22 12:31:49 1993
***************
*** 1,4 ****
! /* SCCS Id: @(#)rm.h 3.1 92/09/01 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
--- 1,4 ----
! /* SCCS Id: @(#)rm.h 3.1 93/02/21 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
***************
*** 224,229 ****
--- 224,236 ----
#define F_WARNED 2
/*
+ * Doors are even worse :-) The special warning has a side effect
+ * of instantly trapping the door, and if it was defined as trapped,
+ * the guards consider that you have already been warned!
+ */
+ #define D_WARNED 16
+
+ /*
* Sinks have 3 different types of loot that shouldn't be abused
*/
#define S_LPUDDING 1
***************
*** 254,259 ****
--- 261,267 ----
#define W_DIGGABLE 0
#define W_NONDIGGABLE 1
#define W_REPAIRED 2
+ #define W_NONPASSWALL 4
/*
* Ladders (in Vlad's tower) may be up or down.
***************
*** 321,326 ****
--- 329,335 ----
Bitfield(nommap,1);
Bitfield(hero_memory,1); /* hero has memory */
Bitfield(shortsighted,1); /* monsters are shortsighted */
+ Bitfield(graveyard,1); /* has_morgue, but remains set */
Bitfield(is_maze_lev,1);
Bitfield(is_cavernous_lev,1);
};
*** /tmp/da07845 Thu Feb 25 10:21:28 1993
--- include/sp_lev.h Wed Feb 17 09:52:50 1993
***************
*** 164,169 ****
--- 164,171 ----
walk **walks;
char ndig;
digpos **digs;
+ char npass;
+ digpos **passs;
char nlad;
lad **lads;
char nstair;
*** /tmp/da07861 Thu Feb 25 10:21:31 1993
--- include/system.h Wed Feb 24 16:17:03 1993
***************
*** 50,59 ****
* impossible to get right automatically.
* This is the type of signal handling functions.
*/
! #if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(MSDOS) || defined(__DECC)
! # define SIG_RET_TYPE void (*)()
#endif
#ifndef SIG_RET_TYPE
# if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4)
/* SVR3 is defined automatically by some systems */
# define SIG_RET_TYPE void (*)()
--- 50,64 ----
* impossible to get right automatically.
* This is the type of signal handling functions.
*/
! #if defined(MOVERLAY)
! # define SIG_RET_TYPE void (__cdecl *)(int)
#endif
#ifndef SIG_RET_TYPE
+ # if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(__DECC)
+ # define SIG_RET_TYPE void (*)()
+ # endif
+ #endif
+ #ifndef SIG_RET_TYPE
# if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4)
/* SVR3 is defined automatically by some systems */
# define SIG_RET_TYPE void (*)()
***************
*** 235,241 ****
E long NDECL(fork);
#endif
! #if defined(SYSV) || defined(VMS) || defined(MAC) || defined(SUNOS4)
# if defined(NHSTDC) || defined(POSIX_TYPES) || (defined(VMS) && !defined(ANCIENT_VAXC))
# if !(defined(SUNOS4) && defined(__STDC__)) /* Solaris unbundled cc (acc) */
E int FDECL(memcmp, (const void *,const void *,size_t));
--- 240,246 ----
E long NDECL(fork);
#endif
! #if defined(SYSV) || defined(VMS) || defined(MAC) || defined(SUNOS4) || defined(POSIX_TYPES)
# if defined(NHSTDC) || defined(POSIX_TYPES) || (defined(VMS) && !defined(ANCIENT_VAXC))
# if !(defined(SUNOS4) && defined(__STDC__)) /* Solaris unbundled cc (acc) */
E int FDECL(memcmp, (const void *,const void *,size_t));
***************
*** 243,257 ****
E void *FDECL(memset, (void *, int, size_t));
# endif
# else
E int memcmp();
! E char *memcpy(), *memset();
# endif
! #endif
!
! #ifdef HPUX
E int FDECL(memcmp, (char *,char *,int));
E void *FDECL(memcpy, (char *,char *,int));
E void *FDECL(memset, (char*,int,int));
#endif
#if defined(MICRO) && !defined(LATTICE)
--- 248,269 ----
E void *FDECL(memset, (void *, int, size_t));
# endif
# else
+ # ifndef memcmp /* some systems seem to macro these back to b*() */
E int memcmp();
! # endif
! # ifndef memcpy
! E char *memcpy();
! # endif
! # ifndef memset
! E char *memset();
! # endif
# endif
! #else
! # ifdef HPUX
E int FDECL(memcmp, (char *,char *,int));
E void *FDECL(memcpy, (char *,char *,int));
E void *FDECL(memset, (char*,int,int));
+ # endif
#endif
#if defined(MICRO) && !defined(LATTICE)
*** /tmp/da07869 Thu Feb 25 10:21:33 1993
--- include/termcap.h Thu Feb 11 13:26:48 1993
***************
*** 49,55 ****
# ifdef TOS
extern const char *hilites[MAXCOLORS];
# else
! extern char NEARDATA *hilites[MAXCOLORS];
# endif
#endif
--- 49,55 ----
# ifdef TOS
extern const char *hilites[MAXCOLORS];
# else
! extern NEARDATA char *hilites[MAXCOLORS];
# endif
#endif
*** /tmp/da07909 Thu Feb 25 10:21:42 1993
--- include/unixconf.h Wed Feb 24 16:18:06 1993
***************
*** 222,229 ****
--- 222,233 ----
#define memcmp(s1, s2, n) bcmp(s2, s1, n)
# endif
#else /* therefore SYSV */
+ # ifndef index /* some systems seem to do this for you */
#define index strchr
+ # endif
+ # ifndef rindex
#define rindex strrchr
+ # endif
#endif
/* A safety check for BOS and AUX */
*** /tmp/da07941 Thu Feb 25 10:21:50 1993
--- include/winX.h Sun Feb 21 16:57:49 1993
***************
*** 185,190 ****
--- 185,191 ----
E struct xwindow window_list[MAX_WINDOWS];
E XtAppContext app_context; /* context of application */
E Widget toplevel; /* toplevel widget */
+ E Atom wm_delete_window; /* delete window protocol */
E boolean exit_x_event; /* exit condition for event loop */
#define EXIT_ON_KEY_PRESS 0 /* valid values for exit_x_event */
#define EXIT_ON_KEY_OR_BUTTON_PRESS 1
***************
*** 217,223 ****
E void FDECL(SetDialogPrompt,(Widget, String));
E String FDECL(GetDialogResponse,(Widget));
E void FDECL(SetDialogResponse,(Widget, String));
! E void FDECL(positionpopup,(Widget));
/* ### winX.c ### */
E struct xwindow *FDECL(find_widget,(Widget));
--- 218,224 ----
E void FDECL(SetDialogPrompt,(Widget, String));
E String FDECL(GetDialogResponse,(Widget));
E void FDECL(SetDialogResponse,(Widget, String));
! E void FDECL(positionpopup,(Widget,BOOLEAN_P));
/* ### winX.c ### */
E struct xwindow *FDECL(find_widget,(Widget));
***************
*** 228,234 ****
E void NDECL(win_X11_init);
/* ### winmesg.c ### */
- E void FDECL(set_message_height, (struct xwindow*, DIMENSION_P));
E void FDECL(set_message_slider, (struct xwindow*));
E void FDECL(create_message_window,(struct xwindow*, BOOLEAN_P, Widget));
E void FDECL(destroy_message_window,(struct xwindow*));
--- 229,234 ----
***************
*** 240,246 ****
E void FDECL(check_cursor_visibility,(struct xwindow*));
E void FDECL(display_map_window,(struct xwindow*));
E void FDECL(clear_map_window,(struct xwindow*));
! E void FDECL(extern_map_input,(XEvent*));
E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P));
E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget));
E void FDECL(destroy_map_window,(struct xwindow*));
--- 240,246 ----
E void FDECL(check_cursor_visibility,(struct xwindow*));
E void FDECL(display_map_window,(struct xwindow*));
E void FDECL(clear_map_window,(struct xwindow*));
! E void FDECL(map_input, (Widget, XEvent*, String*, Cardinal*));
E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P));
E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget));
E void FDECL(destroy_map_window,(struct xwindow*));
***************
*** 247,252 ****
--- 247,253 ----
E int FDECL(x_event,(int));
/* ### winmenu.c ### */
+ E void FDECL(menu_delete, (Widget, XEvent*, String*, Cardinal*));
E void FDECL(menu_key,(Widget, XEvent*, String*, Cardinal*));
E void FDECL(create_menu_window,(struct xwindow*));
E void FDECL(destroy_menu_window,(struct xwindow*));
***************
*** 253,258 ****
--- 254,260 ----
/* ### winmisc.c ### */
E void FDECL(ps_key,(Widget, XEvent*, String*, Cardinal*)); /* player selection action */
+ E void FDECL(ec_delete, (Widget, XEvent*, String*, Cardinal*));
E void FDECL(ec_key,(Widget, XEvent*, String*, Cardinal*)); /* extended command action */
E void NDECL(init_extended_commands_popup);
***************
*** 264,269 ****
--- 266,272 ----
E void NDECL(check_turn_events);
/* ### wintext.c ### */
+ E void FDECL(delete_text, (Widget, XEvent*, String*, Cardinal*));
E void FDECL(dismiss_text,(Widget, XEvent*, String*, Cardinal*));
E void FDECL(key_dismiss_text,(Widget, XEvent*, String*, Cardinal*));
E void FDECL(add_to_text_window,(struct xwindow*, int, const char*));
*** /tmp/da07957 Thu Feb 25 10:21:54 1993
--- include/winprocs.h Thu Feb 11 13:27:44 1993
***************
*** 51,57 ****
void NDECL((*win_end_screen));
};
! extern struct window_procs NEARDATA windowprocs;
/*
* If you wish to only support one window system and not use procedure
--- 51,57 ----
void NDECL((*win_end_screen));
};
! extern NEARDATA struct window_procs windowprocs;
/*
* If you wish to only support one window system and not use procedure
*** /tmp/da07965 Thu Feb 25 10:21:56 1993
--- include/wintty.h Mon Feb 8 14:03:47 1993
***************
*** 43,48 ****
--- 43,49 ----
int rawprint; /* number of raw_printed lines since synch */
int inmore; /* non-zero if more() is active */
int inread; /* non-zero if reading a character */
+ int intr; /* non-zero if inread was interrupted */
winid lastwin; /* last window used for I/O */
};