home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / games / volume16 / nethack31 / patch1c / patches01k next >
Text File  |  1993-03-05  |  56KB  |  1,966 lines

  1. *** /tmp/da10086    Thu Feb 25 21:29:09 1993
  2. --- sys/vms/vmsbuild.com    Thu Feb 25 20:46:18 1993
  3. ***************
  4. *** 1,4 ****
  5. ! $ ! vms/vmsbuild.com -- compile and link NetHack 3.1 patchlevel 0    [pr]
  6.   $ !
  7.   $ ! usage:
  8.   $ !   $ set default [.src]    !or [-.-.src] if starting from [.sys.vms]
  9. --- 1,4 ----
  10. ! $ ! vms/vmsbuild.com -- compile and link NetHack 3.1 patchlevel 1    [pr]
  11.   $ !
  12.   $ ! usage:
  13.   $ !   $ set default [.src]    !or [-.-.src] if starting from [.sys.vms]
  14. ***************
  15. *** 183,189 ****
  16.   $!
  17.   $! miscellaneous special source file setup
  18.   $!
  19. - $ if f$search("monst.c").eqs."" then  copy/Concat monst.c1+.c2 monst.c
  20.   $ if f$search("random.c").eqs."" then  copy [-.sys.share]random.c []*.*
  21.   $ if f$search("[-.util]lev_yacc.c").eqs."" then  @[-.sys.vms]spec_lev.com
  22.   $!
  23. --- 183,188 ----
  24. ***************
  25. *** 203,209 ****
  26.   $ c_list = "#makedefs"
  27.   $ gosub compile_list
  28.   $ link makedefs.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  29. ! identification="makedefs 3.1.0"
  30.   $ milestone "makedefs"
  31.   $! create some build-time files
  32.   $ makedefs -p    !pm.h
  33. --- 202,208 ----
  34.   $ c_list = "#makedefs"
  35.   $ gosub compile_list
  36.   $ link makedefs.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  37. ! identification="makedefs 3.1.1"
  38.   $ milestone "makedefs"
  39.   $! create some build-time files
  40.   $ makedefs -p    !pm.h
  41. ***************
  42. *** 245,251 ****
  43.   $ milestone "<linking...>"
  44.   $ link/Exe=nethack 'nethacklib'/Lib/Incl=(vmsmain),'crtl''gnulib',-
  45.       sys$input:/Opt
  46. ! identification="NetHack 3.1.0"
  47.   $ milestone "NetHack"
  48.   $     if c_opt.eq.o_LINK then  goto done    !"LINK" only
  49.   $special:
  50. --- 244,250 ----
  51.   $ milestone "<linking...>"
  52.   $ link/Exe=nethack 'nethacklib'/Lib/Incl=(vmsmain),'crtl''gnulib',-
  53.       sys$input:/Opt
  54. ! identification="NetHack 3.1.1"
  55.   $ milestone "NetHack"
  56.   $     if c_opt.eq.o_LINK then  goto done    !"LINK" only
  57.   $special:
  58. ***************
  59. *** 262,278 ****
  60.   $ rename stdio.h lev_lex.*
  61.   $ link/exe=lev_comp lev_main,lev_yacc,lev_lex,-
  62.       panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  63. ! identification="lev_comp 3.1.0"
  64.   $ milestone "lev_comp"
  65.   $ link/exe=dgn_comp dgn_main,dgn_yacc,dgn_lex,-
  66.       panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  67. ! identification="dgn_comp 3.1.0"
  68.   $ milestone "dgn_comp"
  69.   $!
  70.   $ c_list = "#recover"
  71.   $ gosub compile_list
  72.   $ link/exe=[] recover.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  73. ! identification="recover 3.1.0"
  74.   $ milestone "recover"
  75.   $!
  76.   $done:
  77. --- 261,277 ----
  78.   $ rename stdio.h lev_lex.*
  79.   $ link/exe=lev_comp lev_main,lev_yacc,lev_lex,-
  80.       panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  81. ! identification="lev_comp 3.1.1"
  82.   $ milestone "lev_comp"
  83.   $ link/exe=dgn_comp dgn_main,dgn_yacc,dgn_lex,-
  84.       panic.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  85. ! identification="dgn_comp 3.1.1"
  86.   $ milestone "dgn_comp"
  87.   $!
  88.   $ c_list = "#recover"
  89.   $ gosub compile_list
  90.   $ link/exe=[] recover.obj,'nethacklib'/Lib,'crtl''gnulib',sys$input:/Opt
  91. ! identification="recover 3.1.1"
  92.   $ milestone "recover"
  93.   $!
  94.   $done:
  95. *** /tmp/da10110    Thu Feb 25 10:32:18 1993
  96. --- sys/vms/vmsmain.c    Wed Feb 24 15:02:23 1993
  97. ***************
  98. *** 171,177 ****
  99.           (void) chmod(SAVEF,0);    /* disallow parallel restores */
  100.           (void) signal(SIGINT, (SIG_RET_TYPE) done1);
  101.   #ifdef NEWS
  102. !         if(flags.news) display_file(NEWS, FALSE);
  103.   #endif
  104.           pline("Restoring save file...");
  105.           mark_synch();    /* flush output */
  106. --- 171,180 ----
  107.           (void) chmod(SAVEF,0);    /* disallow parallel restores */
  108.           (void) signal(SIGINT, (SIG_RET_TYPE) done1);
  109.   #ifdef NEWS
  110. !         if(flags.news) {
  111. !             display_file(NEWS, FALSE);
  112. !             flags.news = FALSE; /* in case dorecover() fails */
  113. !         }
  114.   #endif
  115.           pline("Restoring save file...");
  116.           mark_synch();    /* flush output */
  117.  
  118. *** /tmp/da07469    Thu Feb 25 10:20:00 1993
  119. --- include/WindowP.h    Wed Feb 24 16:09:53 1993
  120. ***************
  121. *** 6,13 ****
  122. --- 6,25 ----
  123.   #define _WindowP_h
  124.   
  125.   #include "Window.h"
  126. + #ifndef SYSV
  127. + #define PRESERVE_NO_SYSV    /* X11 include files may define SYSV */
  128. + #endif
  129.   /* include superclass private header file */
  130.   #include <X11/CoreP.h>
  131. + #ifdef PRESERVE_NO_SYSV
  132. + # ifdef SYSV
  133. + #  undef SYSV
  134. + # endif
  135. + # undef PRESERVE_NO_SYSV
  136. + #endif
  137.   
  138.   /* define unique representation types not found in <X11/StringDefs.h> */
  139.   
  140. *** /tmp/da07485    Thu Feb 25 10:20:04 1993
  141. --- include/amiconf.h    Thu Feb 25 09:03:39 1993
  142. ***************
  143. *** 6,18 ****
  144.   #define AMICONF_H
  145.   
  146.   #undef abs        /* avoid using macro form of abs */
  147. ! #undef min        /* this gets redefined */
  148. ! #undef max        /* this gets redefined */
  149.   
  150.   #include <time.h>    /* get time_t defined before use! */
  151.   
  152. ! #ifdef LATTICE        /* since Lattice can prevent re-inclusion */
  153. ! # include <stdlib.h>    /* and other things, including builtins */
  154.   #endif
  155.   
  156.   #ifdef AZTEC_50
  157. --- 6,21 ----
  158.   #define AMICONF_H
  159.   
  160.   #undef abs        /* avoid using macro form of abs */
  161. ! #ifndef __SASC_60
  162. ! # undef min        /* this gets redefined */
  163. ! # undef max        /* this gets redefined */
  164. ! #endif
  165.   
  166.   #include <time.h>    /* get time_t defined before use! */
  167.   
  168. ! #ifdef __SASC_60    /* since SAS can prevent re-inclusion */
  169. ! # include <stdlib.h>    /* general things, including builtins */
  170. ! # include <string.h>
  171.   #endif
  172.   
  173.   #ifdef AZTEC_50
  174. ***************
  175. *** 21,32 ****
  176.   # define NO_SIGNAL    /* 5.0 signal handling doesn't like SIGINT...   */
  177.   #endif
  178.   
  179. - #ifdef LATTICE        /* Lattice defines DEBUG when you use -d1 which */
  180. - # ifdef DEBUG        /* we need for useful SnapShots, but DEBUG is   */
  181. - #  undef DEBUG        /* used in several files to turn on things we   */
  182. - # endif            /* don't want (e.g. eat.c), so we get rid of    */
  183. - #endif            /* DEBUG unless asked for in a particular file  */
  184.   #ifdef _DCC
  185.   # include <stdlib.h>
  186.   # define _SIZE_T
  187. --- 24,29 ----
  188. ***************
  189. *** 72,91 ****
  190.   
  191.   #define remove(x)       unlink(x)
  192.   
  193. - #ifdef LATTICE
  194. - #define FFLUSH(fp) _flsbf(-1, fp)    /* Was fflush */
  195. - #endif
  196.   #ifdef AZTEC_C
  197. - #define FFLUSH(fp) flsh_(fp, -1)     /* Was fflush */
  198.   extern FILE *FDECL(freopen, (const char *, const char *, FILE *));
  199.   extern char *FDECL(gets, (char *));
  200.   #endif
  201.   
  202. - #ifdef _DCC
  203. - #define FFLUSH(fp) fflush(fp)
  204. - #endif
  205.   #define msmsg        raw_printf
  206.   
  207.   /*
  208. --- 69,79 ----
  209. ***************
  210. *** 108,114 ****
  211.   /*#define AMIGA_WINDOWED_CORNLINE /* Use windows for pager, inventory, etc */
  212.   
  213.   /* new window system options */
  214. ! #define AMIGA_INTUITION        /* high power graphics interface */
  215.   
  216.   #ifdef    TEXTCOLOR
  217.   # define    DEPTH    3
  218. --- 96,102 ----
  219.   /*#define AMIGA_WINDOWED_CORNLINE /* Use windows for pager, inventory, etc */
  220.   
  221.   /* new window system options */
  222. ! #define AMIGA_INTUITION        /* high power graphics interface (amii) */
  223.   
  224.   #ifdef    TEXTCOLOR
  225.   # define    DEPTH    3
  226. ***************
  227. *** 119,123 ****
  228. --- 107,116 ----
  229.   #define PORT_HELP    "nethack:amii.hlp"
  230.   
  231.   #undef    TERMLIB
  232. + #define    AMII_MUFFLED_VOLUME    40
  233. + #define    AMII_SOFT_VOLUME    50
  234. + #define    AMII_OKAY_VOLUME    60
  235. + #define    AMII_LOUDER_VOLUME    80
  236.   
  237.   #endif /* AMICONF_H */
  238. *** /tmp/da07501    Thu Feb 25 10:20:07 1993
  239. --- include/artilist.h    Thu Feb 11 13:27:38 1993
  240. ***************
  241. *** 26,32 ****
  242.   #define     ELEC(a,b)    {0,AD_ELEC,a,b}        /* electrical shock */
  243.   #define     STUN(a,b)    {0,AD_STUN,a,b}        /* magical attack */
  244.   
  245. ! STATIC_OVL const struct artifact NEARDATA artilist[] = {
  246.   #endif    /* MAKEDEFS_C */
  247.   
  248.   /*  dummy element #0, so that all interesting indices are non-zero */
  249. --- 26,32 ----
  250.   #define     ELEC(a,b)    {0,AD_ELEC,a,b}        /* electrical shock */
  251.   #define     STUN(a,b)    {0,AD_STUN,a,b}        /* magical attack */
  252.   
  253. ! STATIC_OVL NEARDATA const struct artifact artilist[] = {
  254.   #endif    /* MAKEDEFS_C */
  255.   
  256.   /*  dummy element #0, so that all interesting indices are non-zero */
  257. *** /tmp/da07525    Thu Feb 25 10:20:14 1993
  258. --- include/config.h    Thu Feb 25 09:03:40 1993
  259. ***************
  260. *** 9,15 ****
  261.   /*
  262.    * Section 1:    OS selection.
  263.    *        Select the version of the OS you are using.
  264. !  *        For "UNIX" select either SYSV or BSD in unixconf.h.
  265.    *        A "VMS" option is not needed since the VMS C-compilers
  266.    *        provide it (no need to change sec#1, vmsconf.h handles it).
  267.    */
  268. --- 9,15 ----
  269.   /*
  270.    * Section 1:    OS selection.
  271.    *        Select the version of the OS you are using.
  272. !  *        For "UNIX" select BSD, ULTRIX, SYSV, or HPUX in unixconf.h.
  273.    *        A "VMS" option is not needed since the VMS C-compilers
  274.    *        provide it (no need to change sec#1, vmsconf.h handles it).
  275.    */
  276. ***************
  277. *** 57,70 ****
  278.   # ifdef MCH_AMIGA    /* Manx auto-defines this for AMIGA */
  279.   #  ifndef AMIGA
  280.   #define AMIGA        /* define for Commodore-Amiga */
  281. ! #  endif        /* (Lattice auto-defines AMIGA) */
  282.   #define AZTEC_50    /* define for version 5.0 of manx */
  283.   # endif
  284.   #endif
  285. ! #ifdef LATTICE
  286.   # define NEARDATA __near /* put some data close */
  287.   # define NO_SCAN_BRACK    /* scanf doesn't handle [] (this define available
  288.                * for any system with this problem) */
  289.   #else
  290.   # define NEARDATA
  291.   #endif
  292. --- 57,71 ----
  293.   # ifdef MCH_AMIGA    /* Manx auto-defines this for AMIGA */
  294.   #  ifndef AMIGA
  295.   #define AMIGA        /* define for Commodore-Amiga */
  296. ! #  endif        /* (SAS/C auto-defines AMIGA) */
  297.   #define AZTEC_50    /* define for version 5.0 of manx */
  298.   # endif
  299.   #endif
  300. ! #ifdef __SASC_60
  301.   # define NEARDATA __near /* put some data close */
  302.   # define NO_SCAN_BRACK    /* scanf doesn't handle [] (this define available
  303.                * for any system with this problem) */
  304. +             /* is this still true as of 6.2? (keni) */
  305.   #else
  306.   # define NEARDATA
  307.   #endif
  308. ***************
  309. *** 89,94 ****
  310. --- 90,105 ----
  311.   #endif
  312.   
  313.   /*
  314. +  * Windows NT Autodetection
  315. +  */
  316. + #ifdef WIN32CON
  317. + # undef UNIX
  318. + # undef MSDOS
  319. + # define WIN32              /* need for ALL NT environs */
  320. + #endif
  321. + /*
  322.    * and other systems...
  323.    */
  324.   
  325. ***************
  326. *** 201,206 ****
  327. --- 212,218 ----
  328.   /* no options yet: Amiga also means Intuition windows */
  329.   #ifdef AMIGA
  330.   # undef TTY_GRAPHICS
  331. + # define AMII_GRAPHICS
  332.   # define DEFAULT_WINDOW_SYS "amii"
  333.   #endif
  334.   
  335. ***************
  336. *** 237,246 ****
  337.    *    additional code and time.  Currently, only UNIX fully implements
  338.    *    COMPRESS; other ports should be able to uncompress save files a
  339.    *    la unixmain.c if so inclined.
  340.    */
  341.   
  342.   #ifdef UNIX
  343. ! # define COMPRESS "/usr/ucb/compress"  /* path name for 'compress' */
  344.   #endif
  345.   #ifndef COMPRESS
  346.   # define INTERNAL_COMP    /* control use of NetHack's compression routines */
  347. --- 249,267 ----
  348.    *    additional code and time.  Currently, only UNIX fully implements
  349.    *    COMPRESS; other ports should be able to uncompress save files a
  350.    *    la unixmain.c if so inclined.
  351. +  *    If you define COMPRESS, you must also define COMPRESS_EXTENSION
  352. +  *    as the extension your compressor appends to filenames after
  353. +  *    compression.
  354.    */
  355.   
  356.   #ifdef UNIX
  357. ! /* path and file name extension for compression program */
  358. ! # define COMPRESS "/usr/ucb/compress"         /* Lempel-Ziv compression */
  359. ! # define COMPRESS_EXTENSION ".Z"         /* compress's extension */
  360. ! /* An example of one alternative you might want to use: */
  361. ! /* # define COMPRESS "/usr/local/bin/gzip"   /* FSF gzip compression */
  362. ! /* # define COMPRESS_EXTENSION ".z"         /* normal gzip extension */
  363.   #endif
  364.   #ifndef COMPRESS
  365.   # define INTERNAL_COMP    /* control use of NetHack's compression routines */
  366. *** /tmp/da07541    Thu Feb 25 10:20:17 1993
  367. --- include/decl.h    Thu Feb 25 09:04:04 1993
  368. ***************
  369. *** 1,4 ****
  370. ! /*    SCCS Id: @(#)decl.h    3.1    92/12/11    */
  371.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  372.   /* NetHack may be freely redistributed.  See license for details. */
  373.   
  374. --- 1,4 ----
  375. ! /*    SCCS Id: @(#)decl.h    3.1    93/02/09    */
  376.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  377.   /* NetHack may be freely redistributed.  See license for details. */
  378.   
  379. ***************
  380. *** 24,42 ****
  381.   E char SAVEP[];
  382.   #endif
  383.   
  384. ! E int NEARDATA bases[];
  385.   
  386. ! E int NEARDATA multi;
  387. ! E int NEARDATA warnlevel;
  388. ! E int NEARDATA nroom;
  389. ! E int NEARDATA nsubroom;
  390. ! E int NEARDATA occtime;
  391.   
  392.   E int x_maze_max, y_maze_max;
  393.   E int otg_temp;
  394.   
  395.   #ifdef REDO
  396. ! E int NEARDATA in_doagain;
  397.   #endif
  398.   
  399.   E struct dgn_topology {    /* special dungeon levels for speed */
  400. --- 24,42 ----
  401.   E char SAVEP[];
  402.   #endif
  403.   
  404. ! E NEARDATA int bases[];
  405.   
  406. ! E NEARDATA int multi;
  407. ! E NEARDATA int warnlevel;
  408. ! E NEARDATA int nroom;
  409. ! E NEARDATA int nsubroom;
  410. ! E NEARDATA int occtime;
  411.   
  412.   E int x_maze_max, y_maze_max;
  413.   E int otg_temp;
  414.   
  415.   #ifdef REDO
  416. ! E NEARDATA int in_doagain;
  417.   #endif
  418.   
  419.   E struct dgn_topology {    /* special dungeon levels for speed */
  420. ***************
  421. *** 102,126 ****
  422.   #define knox_level        (dungeon_topology.d_knox_level)
  423.   #endif
  424.   
  425. ! E stairway NEARDATA dnstair, NEARDATA upstair; /* stairs up and down. */
  426.   #define xdnstair    (dnstair.sx)
  427.   #define ydnstair    (dnstair.sy)
  428.   #define xupstair    (upstair.sx)
  429.   #define yupstair    (upstair.sy)
  430.   
  431. ! E stairway NEARDATA dnladder, NEARDATA upladder; /* ladders up and down. */
  432.   #define xdnladder    (dnladder.sx)
  433.   #define ydnladder    (dnladder.sy)
  434.   #define xupladder    (upladder.sx)
  435.   #define yupladder    (upladder.sy)
  436.   
  437. ! E stairway NEARDATA sstairs;
  438.   
  439. ! E dest_area NEARDATA updest, NEARDATA dndest; /* level-change dest. areas */
  440.   
  441. ! E coord NEARDATA inv_pos;
  442. ! E dungeon NEARDATA dungeons[];
  443. ! E s_level NEARDATA *sp_levchn;
  444.   #define dunlev_reached(x)    (dungeons[(x)->dnum].dunlev_ureached)
  445.   
  446.   #ifdef MULDGN
  447. --- 102,126 ----
  448.   #define knox_level        (dungeon_topology.d_knox_level)
  449.   #endif
  450.   
  451. ! E NEARDATA stairway dnstair, upstair; /* stairs up and down. */
  452.   #define xdnstair    (dnstair.sx)
  453.   #define ydnstair    (dnstair.sy)
  454.   #define xupstair    (upstair.sx)
  455.   #define yupstair    (upstair.sy)
  456.   
  457. ! E NEARDATA stairway dnladder, upladder; /* ladders up and down. */
  458.   #define xdnladder    (dnladder.sx)
  459.   #define ydnladder    (dnladder.sy)
  460.   #define xupladder    (upladder.sx)
  461.   #define yupladder    (upladder.sy)
  462.   
  463. ! E NEARDATA stairway sstairs;
  464.   
  465. ! E NEARDATA dest_area updest, dndest; /* level-change dest. areas */
  466.   
  467. ! E NEARDATA coord inv_pos;
  468. ! E NEARDATA dungeon dungeons[];
  469. ! E NEARDATA s_level *sp_levchn;
  470.   #define dunlev_reached(x)    (dungeons[(x)->dnum].dunlev_ureached)
  471.   
  472.   #ifdef MULDGN
  473. ***************
  474. *** 128,190 ****
  475.   E struct q_score     quest_status;
  476.   #endif
  477.   
  478. ! E int NEARDATA done_stopprint;
  479. ! E int NEARDATA done_hup;
  480.   
  481. ! E char NEARDATA pl_character[PL_CSIZ];
  482.   #ifdef TUTTI_FRUTTI
  483. ! E char NEARDATA pl_fruit[PL_FSIZ];
  484. ! E int NEARDATA current_fruit;
  485. ! E struct fruit NEARDATA *ffruit;
  486.   #endif
  487.   
  488. ! E char NEARDATA tune[6];
  489.   
  490. ! E const char NEARDATA quitchars[];
  491. ! E const char NEARDATA vowels[];
  492. ! E const char NEARDATA ynchars[];
  493. ! E const char NEARDATA ynqchars[];
  494. ! E const char NEARDATA ynaqchars[];
  495. ! E const char NEARDATA ynNaqchars[];
  496. ! E long NEARDATA yn_number;
  497. ! E int NEARDATA smeq[];
  498. ! E int NEARDATA doorindex;
  499. ! E char NEARDATA *save_cm;
  500.   #define KILLED_BY_AN     0
  501.   #define KILLED_BY     1
  502.   #define NO_KILLER_PREFIX 2
  503. ! E int NEARDATA killer_format;
  504. ! E const char NEARDATA *killer;
  505.   E const char *configfile;
  506. ! E char NEARDATA plname[PL_NSIZ];
  507. ! E char NEARDATA dogname[];
  508. ! E char NEARDATA catname[];
  509.   E char preferred_pet;
  510. ! E const char NEARDATA *occtxt;        /* defined when occupation != NULL */
  511. ! E const char NEARDATA *nomovemsg;
  512. ! E const char NEARDATA nul[];
  513.   E const char *traps[];
  514.   E char lock[];
  515.   
  516. ! E const char NEARDATA sdir[], NEARDATA ndir[];
  517. ! E const schar NEARDATA xdir[], NEARDATA ydir[], zdir[];
  518.   
  519. ! E schar NEARDATA tbx, NEARDATA tby;        /* set in mthrowu.c */
  520. ! E int NEARDATA dig_effort;    /* apply.c, hack.c */
  521. ! E d_level NEARDATA dig_level;
  522. ! E coord NEARDATA dig_pos;
  523. ! E boolean NEARDATA dig_down;
  524.   
  525. ! E long NEARDATA moves, NEARDATA monstermoves;
  526. ! E long NEARDATA wailmsg;
  527.   
  528. ! E boolean NEARDATA in_mklev;
  529. ! E boolean NEARDATA stoned;
  530. ! E boolean NEARDATA unweapon;
  531. ! E boolean NEARDATA mrg_to_wielded;
  532.   
  533.   #ifdef KOPS
  534. ! E boolean NEARDATA allow_kops;
  535.   #endif
  536.   
  537.   E const int shield_static[];
  538. --- 128,190 ----
  539.   E struct q_score     quest_status;
  540.   #endif
  541.   
  542. ! E NEARDATA int done_stopprint;
  543. ! E NEARDATA int done_hup;
  544.   
  545. ! E NEARDATA char pl_character[PL_CSIZ];
  546.   #ifdef TUTTI_FRUTTI
  547. ! E NEARDATA char pl_fruit[PL_FSIZ];
  548. ! E NEARDATA int current_fruit;
  549. ! E NEARDATA struct fruit *ffruit;
  550.   #endif
  551.   
  552. ! E NEARDATA char tune[6];
  553.   
  554. ! E NEARDATA const char quitchars[];
  555. ! E NEARDATA const char vowels[];
  556. ! E NEARDATA const char ynchars[];
  557. ! E NEARDATA const char ynqchars[];
  558. ! E NEARDATA const char ynaqchars[];
  559. ! E NEARDATA const char ynNaqchars[];
  560. ! E NEARDATA long yn_number;
  561. ! E NEARDATA int smeq[];
  562. ! E NEARDATA int doorindex;
  563. ! E NEARDATA char *save_cm;
  564.   #define KILLED_BY_AN     0
  565.   #define KILLED_BY     1
  566.   #define NO_KILLER_PREFIX 2
  567. ! E NEARDATA int killer_format;
  568. ! E NEARDATA const char *killer;
  569.   E const char *configfile;
  570. ! E NEARDATA char plname[PL_NSIZ];
  571. ! E NEARDATA char dogname[];
  572. ! E NEARDATA char catname[];
  573.   E char preferred_pet;
  574. ! E NEARDATA const char *occtxt;        /* defined when occupation != NULL */
  575. ! E NEARDATA const char *nomovemsg;
  576. ! E NEARDATA const char nul[];
  577.   E const char *traps[];
  578.   E char lock[];
  579.   
  580. ! E NEARDATA const char sdir[], ndir[];
  581. ! E NEARDATA const schar xdir[], ydir[], zdir[];
  582.   
  583. ! E NEARDATA schar tbx, tby;        /* set in mthrowu.c */
  584. ! E NEARDATA int dig_effort;    /* apply.c, hack.c */
  585. ! E NEARDATA d_level dig_level;
  586. ! E NEARDATA coord dig_pos;
  587. ! E NEARDATA boolean dig_down;
  588.   
  589. ! E NEARDATA long moves, monstermoves;
  590. ! E NEARDATA long wailmsg;
  591.   
  592. ! E NEARDATA boolean in_mklev;
  593. ! E NEARDATA boolean stoned;
  594. ! E NEARDATA boolean unweapon;
  595. ! E NEARDATA boolean mrg_to_wielded;
  596.   
  597.   #ifdef KOPS
  598. ! E NEARDATA boolean allow_kops;
  599.   #endif
  600.   
  601.   E const int shield_static[];
  602. ***************
  603. *** 192,198 ****
  604.   #ifndef SPELLS_H
  605.   #include "spell.h"
  606.   #endif
  607. ! E struct spell NEARDATA spl_book[];    /* sized in decl.c */
  608.   
  609.   #ifdef TEXTCOLOR
  610.   # ifndef COLOR_H
  611. --- 192,198 ----
  612.   #ifndef SPELLS_H
  613.   #include "spell.h"
  614.   #endif
  615. ! E NEARDATA struct spell spl_book[];    /* sized in decl.c */
  616.   
  617.   #ifdef TEXTCOLOR
  618.   # ifndef COLOR_H
  619. ***************
  620. *** 207,251 ****
  621.   E uchar monsyms[MAXMCLASSES];        /* current class symbols */
  622.   
  623.   #ifndef OBJ_H
  624. ! #include "obj.h"
  625.   #endif
  626.   
  627. ! E struct obj NEARDATA *invent, NEARDATA *uarm, NEARDATA *uarmc,
  628. !     NEARDATA *uarmh, NEARDATA *uarms, NEARDATA *uarmg, NEARDATA *uarmf,
  629.   #ifdef TOURIST
  630. !     NEARDATA *uarmu, /* under-wear, so to speak */
  631.   #endif
  632.   #ifdef POLYSELF
  633. !     NEARDATA *uskin,
  634.   #endif
  635. !     NEARDATA *uamul, NEARDATA *uleft, NEARDATA *uright, NEARDATA *ublindf,
  636. !     NEARDATA *uwep;
  637.   
  638. ! E struct obj NEARDATA *uchain;    /* defined only when punished */
  639. ! E struct obj NEARDATA *uball;
  640. ! E struct obj NEARDATA *migrating_objs;
  641. ! E struct obj NEARDATA *billobjs;
  642. ! E struct obj NEARDATA zeroobj;        /* init'd and defined in decl.c */
  643.   
  644.   #ifndef YOU_H
  645. ! #include "you.h"
  646.   #endif
  647.   
  648. ! E struct you NEARDATA u;
  649.   
  650.   #ifndef ONAMES_H
  651. ! #include "onames.h"
  652.   #endif
  653.   #ifndef PM_H
  654. ! #include "pm.h"
  655.   #endif
  656.   
  657. ! E struct permonst NEARDATA playermon, NEARDATA *uasmon;
  658.                       /* also decl'd extern in permonst.h */
  659.                       /* init'd in monst.c */
  660.   
  661. ! E struct monst NEARDATA youmonst;    /* init'd and defined in decl.c */
  662. ! E struct monst NEARDATA *mydogs, NEARDATA *migrating_mons;
  663.   
  664.   E struct c_color_names {
  665.       char const    *const c_black, *const c_amber, *const c_golden,
  666. --- 207,253 ----
  667.   E uchar monsyms[MAXMCLASSES];        /* current class symbols */
  668.   
  669.   #ifndef OBJ_H
  670. ! # include "obj.h"
  671.   #endif
  672.   
  673. ! E NEARDATA struct obj *invent, *uarm, *uarmc, *uarmh, *uarms, *uarmg, *uarmf,
  674.   #ifdef TOURIST
  675. !     *uarmu, /* under-wear, so to speak */
  676.   #endif
  677.   #ifdef POLYSELF
  678. !     *uskin,
  679.   #endif
  680. !     *uamul, *uleft, *uright, *ublindf, *uwep;
  681.   
  682. ! E NEARDATA struct obj *uchain;    /* defined only when punished */
  683. ! E NEARDATA struct obj *uball;
  684. ! E NEARDATA struct obj *migrating_objs;
  685. ! E NEARDATA struct obj *billobjs;
  686. ! E NEARDATA struct obj zeroobj;        /* init'd and defined in decl.c */
  687.   
  688. + E NEARDATA const char *he[3];
  689. + E NEARDATA const char *him[3];
  690. + E NEARDATA const char *his[3];
  691.   #ifndef YOU_H
  692. ! # include "you.h"
  693.   #endif
  694.   
  695. ! E NEARDATA struct you u;
  696.   
  697.   #ifndef ONAMES_H
  698. ! # include "onames.h"
  699.   #endif
  700.   #ifndef PM_H
  701. ! # include "pm.h"
  702.   #endif
  703.   
  704. ! E NEARDATA struct permonst playermon, *uasmon;
  705.                       /* also decl'd extern in permonst.h */
  706.                       /* init'd in monst.c */
  707.   
  708. ! E NEARDATA struct monst youmonst;    /* init'd and defined in decl.c */
  709. ! E NEARDATA struct monst *mydogs, *migrating_mons;
  710.   
  711.   E struct c_color_names {
  712.       char const    *const c_black, *const c_amber, *const c_golden,
  713. ***************
  714. *** 274,285 ****
  715.   #define shudder_for_moment c_common_strings.c_shudder_for_moment
  716.   
  717.   /* Vision */
  718. ! E boolean NEARDATA vision_full_recalc;    /* TRUE if need vision recalc */
  719. ! E char NEARDATA **viz_array;    /* could see/in sight row pointers */
  720.   
  721.   /* Window system stuff */
  722. ! E winid NEARDATA WIN_MESSAGE, NEARDATA WIN_STATUS;
  723. ! E winid NEARDATA WIN_MAP, NEARDATA WIN_INVEN;
  724.   E char toplines[];
  725.   #ifndef TERMCAP_H
  726.   E struct tc_gbl_data {    /* also declared in termcap.h */
  727. --- 276,287 ----
  728.   #define shudder_for_moment c_common_strings.c_shudder_for_moment
  729.   
  730.   /* Vision */
  731. ! E NEARDATA boolean vision_full_recalc;    /* TRUE if need vision recalc */
  732. ! E NEARDATA char **viz_array;    /* could see/in sight row pointers */
  733.   
  734.   /* Window system stuff */
  735. ! E NEARDATA winid WIN_MESSAGE, WIN_STATUS;
  736. ! E NEARDATA winid WIN_MAP, WIN_INVEN;
  737.   E char toplines[];
  738.   #ifndef TERMCAP_H
  739.   E struct tc_gbl_data {    /* also declared in termcap.h */
  740. ***************
  741. *** 295,301 ****
  742.   /* xxxexplain[] is in drawing.c */
  743.   E const char *monexplain[], *objexplain[], *oclass_names[];
  744.   
  745. ! E const char NEARDATA *pl_classes;
  746.   
  747.   #undef E
  748.   
  749. --- 297,303 ----
  750.   /* xxxexplain[] is in drawing.c */
  751.   E const char *monexplain[], *objexplain[], *oclass_names[];
  752.   
  753. ! E NEARDATA const char *pl_classes;
  754.   
  755.   #undef E
  756.   
  757. *** /tmp/da07565    Thu Feb 25 10:20:23 1993
  758. --- include/display.h    Tue Feb 16 16:32:17 1993
  759. ***************
  760. *** 64,70 ****
  761.    * is considered irrelevant for this special case.
  762.    */
  763.   #define canspotmon(mon)    \
  764. !     (mon && (Blind ? sensemon(mon) : (!mon->minvis || See_invisible)))
  765.   
  766.   /*
  767.    * is_safepet(mon)
  768. --- 64,70 ----
  769.    * is considered irrelevant for this special case.
  770.    */
  771.   #define canspotmon(mon)    \
  772. !     (mon && ((!Blind && (!mon->minvis || See_invisible)) || sensemon(mon)))
  773.   
  774.   /*
  775.    * is_safepet(mon)
  776. *** /tmp/da07621    Thu Feb 25 10:20:35 1993
  777. --- include/extern.h    Tue Feb 23 16:31:54 1993
  778. ***************
  779. *** 1,4 ****
  780. ! /*    SCCS Id: @(#)extern.h    3.1    93/01/24    */
  781.   /* Copyright (c) Steve Creps, 1988.                  */
  782.   /* NetHack may be freely redistributed.  See license for details. */
  783.   
  784. --- 1,4 ----
  785. ! /*    SCCS Id: @(#)extern.h    3.1    93/02/16    */
  786.   /* Copyright (c) Steve Creps, 1988.                  */
  787.   /* NetHack may be freely redistributed.  See license for details. */
  788.   
  789. ***************
  790. *** 70,75 ****
  791. --- 70,76 ----
  792.   E boolean FDECL(exist_artifact, (int,const char *));
  793.   E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P));
  794.   E int NDECL(nartifact_exist);
  795. + E void FDECL(artifact_unexist, (struct obj *));
  796.   E boolean FDECL(spec_ability, (struct obj *,unsigned));
  797.   E boolean FDECL(restrict_name, (struct obj *,const char *));
  798.   E boolean FDECL(defends, (int,struct obj *));
  799. ***************
  800. *** 122,127 ****
  801. --- 123,131 ----
  802.   E int FDECL(xlev_to_rank, (int));
  803.   E int FDECL(title_to_mon, (const char *,int *,int *));
  804.   E void NDECL(max_rank_sz);
  805. + #ifdef SCORE_ON_BOTL
  806. + E long NDECL(botl_score);
  807. + #endif
  808.   E const char *FDECL(rank_of, (unsigned,CHAR_P,BOOLEAN_P));
  809.   E void NDECL(bot);
  810.   
  811. ***************
  812. *** 168,173 ****
  813. --- 172,178 ----
  814.   E int FDECL(getdir, (const char *));
  815.   E void NDECL(confdir);
  816.   E int FDECL(isok, (int,int));
  817. + E int FDECL(click_to_cmd, (int,int,int));
  818.   E char NDECL(readchar);
  819.   
  820.   /* ### dbridge.c ### */
  821. ***************
  822. *** 346,351 ****
  823. --- 351,357 ----
  824.   E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P));
  825.   E int FDECL(dogfood, (struct monst *,struct obj *));
  826.   E struct monst *FDECL(tamedog, (struct monst *,struct obj *));
  827. + E void FDECL(abuse_dog, (struct monst *));
  828.   
  829.   /* ### dogmove.c ### */
  830.   
  831. ***************
  832. *** 366,371 ****
  833. --- 372,378 ----
  834.   /* ### dothrow.c ### */
  835.   
  836.   E int NDECL(dothrow);
  837. + E void FDECL(hitfloor, (struct obj *));
  838.   E void FDECL(hurtle, (int,int,int));
  839.   E int FDECL(throwit, (struct obj *));
  840.   E int FDECL(thitmonst, (struct monst *,struct obj *));
  841. ***************
  842. *** 394,400 ****
  843.   E branch *FDECL(Is_branchlev, (d_level *));
  844.   E xchar FDECL(ledger_no, (d_level *));
  845.   E xchar NDECL(maxledgerno);
  846. ! E xchar FDECL(depth, (d_level *));
  847.   E xchar FDECL(dunlev, (d_level *));
  848.   E xchar FDECL(dunlevs_in_dungeon, (d_level *));
  849.   E xchar FDECL(ledger_to_dnum, (XCHAR_P));
  850. --- 401,407 ----
  851.   E branch *FDECL(Is_branchlev, (d_level *));
  852.   E xchar FDECL(ledger_no, (d_level *));
  853.   E xchar NDECL(maxledgerno);
  854. ! E schar FDECL(depth, (d_level *));
  855.   E xchar FDECL(dunlev, (d_level *));
  856.   E xchar FDECL(dunlevs_in_dungeon, (d_level *));
  857.   E xchar FDECL(ledger_to_dnum, (XCHAR_P));
  858. ***************
  859. *** 565,570 ****
  860. --- 572,578 ----
  861.   E boolean FDECL(revive_nasty, (int,int,const char*));
  862.   E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P));
  863.   E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P));
  864. + E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P));
  865.   E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P));
  866.   E void NDECL(domove);
  867.   E void NDECL(spoteffects);
  868. ***************
  869. *** 683,688 ****
  870. --- 691,697 ----
  871.   E int NDECL(forcelock);
  872.   E int NDECL(picklock);
  873.   #endif
  874. + E boolean FDECL(picking_lock, (int *,int *));
  875.   E boolean FDECL(picking_at, (int,int));
  876.   E void NDECL(reset_pick);
  877.   E int FDECL(pick_lock, (struct obj *));
  878. ***************
  879. *** 735,746 ****
  880.   /* ### macwin.c ### */
  881.   
  882.   E void FDECL(addToKeyQueue, (int,Boolean));
  883.   
  884. - /* ### maccurs.c ### */
  885. - E int FDECL(clickSector, (int,int,int,int));
  886.   #endif /* MAC */
  887.   
  888.   /* ### mail.c ### */
  889. --- 744,751 ----
  890.   /* ### macwin.c ### */
  891.   
  892.   E void FDECL(addToKeyQueue, (int,Boolean));
  893. + E void FDECL(lock_mouse_cursor, (Boolean));
  894.   
  895.   #endif /* MAC */
  896.   
  897.   /* ### mail.c ### */
  898. ***************
  899. *** 790,795 ****
  900. --- 795,801 ----
  901.   #endif
  902.   E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P));
  903.   E int FDECL(mattacku, (struct monst *));
  904. + E int FDECL(gazemu, (struct monst *,struct attack *));
  905.   E void FDECL(mdamageu, (struct monst *,int));
  906.   E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *));
  907.   #ifdef SEDUCE
  908. ***************
  909. *** 802,811 ****
  910.   E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P));
  911.   E int FDECL(demon_talk, (struct monst *));
  912.   E long FDECL(bribe, (struct monst *));
  913. ! E int NDECL(dprince);
  914. ! E int NDECL(dlord);
  915.   E int NDECL(llord);
  916. ! E int NDECL(ndemon);
  917.   E int NDECL(lminion);
  918.   
  919.   /* ### mklev.c ### */
  920. --- 808,817 ----
  921.   E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P));
  922.   E int FDECL(demon_talk, (struct monst *));
  923.   E long FDECL(bribe, (struct monst *));
  924. ! E int FDECL(dprince, (ALIGNTYP_P));
  925. ! E int FDECL(dlord, (ALIGNTYP_P));
  926.   E int NDECL(llord);
  927. ! E int FDECL(ndemon, (ALIGNTYP_P));
  928.   E int NDECL(lminion);
  929.   
  930.   /* ### mklev.c ### */
  931. ***************
  932. *** 959,964 ****
  933. --- 965,971 ----
  934.   E boolean FDECL(webmaker, (struct permonst *));
  935.   #endif
  936.   E int FDECL(gender, (struct monst *));
  937. + E int FDECL(pronoun_gender, (struct monst *));
  938.   E boolean FDECL(levl_follower, (struct monst *));
  939.   E struct permonst *NDECL(player_mon);
  940.   E int FDECL(little_to_big, (int));
  941. ***************
  942. *** 996,1004 ****
  943.   
  944.   #ifdef MICRO
  945.   
  946. ! /* ### msdos.c,os2.c,tos.c ### */
  947.   
  948.   E int NDECL(tgetch);
  949.   #  ifndef TOS
  950.   E char NDECL(switchar);
  951.   #  endif
  952. --- 1003,1013 ----
  953.   
  954.   #ifdef MICRO
  955.   
  956. ! /* ### msdos.c,os2.c,tos.c,winnt.c ### */
  957.   
  958. + #  ifndef WIN32
  959.   E int NDECL(tgetch);
  960. + #  endif
  961.   #  ifndef TOS
  962.   E char NDECL(switchar);
  963.   #  endif
  964. ***************
  965. *** 1014,1020 ****
  966.   E void NDECL(disable_ctrlP);
  967.   E void NDECL(enable_ctrlP);
  968.   # endif
  969. ! # if defined(MICRO) && !defined(AMIGA)
  970.   E void NDECL(get_scr_size);
  971.   #  ifndef TOS
  972.   E void FDECL(gotoxy, (int,int));
  973. --- 1023,1029 ----
  974.   E void NDECL(disable_ctrlP);
  975.   E void NDECL(enable_ctrlP);
  976.   # endif
  977. ! # if defined(MICRO) && !defined(AMIGA) && !defined(WINNT)
  978.   E void NDECL(get_scr_size);
  979.   #  ifndef TOS
  980.   E void FDECL(gotoxy, (int,int));
  981. ***************
  982. *** 1029,1034 ****
  983. --- 1038,1046 ----
  984.   E int NDECL(dosuspend);
  985.   #  endif
  986.   # endif /* TOS */
  987. + # ifdef WIN32
  988. + E void FDECL(nt_regularize, (char *));
  989. + # endif /* WIN32 */
  990.   
  991.   #endif /* MICRO */
  992.   
  993. ***************
  994. *** 1066,1071 ****
  995. --- 1078,1093 ----
  996.   E void NDECL(awaken_soldiers);
  997.   E int FDECL(do_play_instrument, (struct obj *));
  998.   
  999. + /* ### nttty.c ### */
  1000. + #ifdef WIN32CON
  1001. + E void NDECL(get_scr_size);
  1002. + E int NDECL(kbhit);
  1003. + E void NDECL(nttty_open);
  1004. + E void NDECL(nttty_rubout);
  1005. + E int NDECL(tgetch);
  1006. + #endif
  1007.   /* ### o_init.c ### */
  1008.   
  1009.   E int FDECL(letindex, (CHAR_P));
  1010. ***************
  1011. *** 1268,1273 ****
  1012. --- 1290,1297 ----
  1013.   E boolean FDECL(in_your_sanctuary, (XCHAR_P,XCHAR_P));
  1014.   E void FDECL(ghod_hitsu, (struct monst *));
  1015.   E void NDECL(angry_priest);
  1016. + E void NDECL(clearpriests);
  1017. + E void FDECL(restpriest, (struct monst *,BOOLEAN_P));
  1018.   
  1019.   #ifdef MULDGN
  1020.   /* ### quest.c ### */
  1021. ***************
  1022. *** 1393,1399 ****
  1023.   E void FDECL(shkgone, (struct monst *));
  1024.   E void FDECL(set_residency, (struct monst *,BOOLEAN_P));
  1025.   E void FDECL(replshk, (struct monst *,struct monst *));
  1026. ! E void FDECL(restshk, (struct monst *));
  1027.   E int FDECL(inhishop, (struct monst *));
  1028.   #ifdef SOUNDS
  1029.   E boolean FDECL(tended_shop, (struct mkroom *));
  1030. --- 1417,1423 ----
  1031.   E void FDECL(shkgone, (struct monst *));
  1032.   E void FDECL(set_residency, (struct monst *,BOOLEAN_P));
  1033.   E void FDECL(replshk, (struct monst *,struct monst *));
  1034. ! E void FDECL(restshk, (struct monst *,BOOLEAN_P));
  1035.   E int FDECL(inhishop, (struct monst *));
  1036.   #ifdef SOUNDS
  1037.   E boolean FDECL(tended_shop, (struct mkroom *));
  1038. ***************
  1039. *** 1523,1528 ****
  1040. --- 1547,1553 ----
  1041.   E void FDECL(seetrap, (struct trap *));
  1042.   E int FDECL(mintrap, (struct monst *));
  1043.   E void FDECL(selftouch, (const char *));
  1044. + E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P));
  1045.   E void NDECL(float_up);
  1046.   E void FDECL(fill_pit, (int,int));
  1047.   E int NDECL(float_down);
  1048. ***************
  1049. *** 1530,1536 ****
  1050.   E void FDECL(teleds, (int,int));
  1051.   E int NDECL(dotele);
  1052.   E void NDECL(level_tele);
  1053. ! E void FDECL(water_damage, (struct obj *,BOOLEAN_P));
  1054.   E boolean NDECL(drown);
  1055.   E void FDECL(drain_en, (int));
  1056.   E int NDECL(dountrap);
  1057. --- 1555,1561 ----
  1058.   E void FDECL(teleds, (int,int));
  1059.   E int NDECL(dotele);
  1060.   E void NDECL(level_tele);
  1061. ! E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P));
  1062.   E boolean NDECL(drown);
  1063.   E void FDECL(drain_en, (int));
  1064.   E int NDECL(dountrap);
  1065. *** /tmp/da07629    Thu Feb 25 10:20:38 1993
  1066. --- include/flag.h    Sun Feb 21 16:41:09 1993
  1067. ***************
  1068. *** 43,48 ****
  1069. --- 43,51 ----
  1070.       boolean  nopick;    /* do not pickup objects (as when running) */
  1071.       boolean  null;        /* OK to send nulls to the terminal */
  1072.       boolean  num_pad;    /* use numbers for movement commands */
  1073. + #ifdef MAC
  1074. +     boolean  page_wait;    /* put up a --More-- after a page of messages */
  1075. + #endif
  1076.       boolean  pickup;    /* whether you pickup or move and look */
  1077.   #ifdef MAC
  1078.       boolean  popup_dialog;    /* put queries in pop up dialogs instead of
  1079. ***************
  1080. *** 88,95 ****
  1081.       boolean  MACgraphics;    /* use Macintosh extended character set, as
  1082.                      as defined in the special font HackFont */
  1083.   #endif
  1084.   };
  1085.   
  1086. ! extern struct flag NEARDATA flags;
  1087.   
  1088.   #endif /* FLAG_H */
  1089. --- 91,101 ----
  1090.       boolean  MACgraphics;    /* use Macintosh extended character set, as
  1091.                      as defined in the special font HackFont */
  1092.   #endif
  1093. + #ifdef AMII_GRAPHICS
  1094. +     unsigned short amii_curmap[8]; /* colormap */
  1095. + #endif
  1096.   };
  1097.   
  1098. ! extern NEARDATA struct flag flags;
  1099.   
  1100.   #endif /* FLAG_H */
  1101. *** /tmp/da07645    Thu Feb 25 10:20:42 1993
  1102. --- include/global.h    Thu Feb 25 09:03:40 1993
  1103. ***************
  1104. *** 61,67 ****
  1105.   #endif
  1106.   
  1107.   #ifndef STRNCMPI
  1108. ! # define strcmpi(a,b) strncmpi((a),(b),-1)
  1109.   #endif
  1110.   
  1111.   /* comment out to test effects of each #define -- these will probably
  1112. --- 61,69 ----
  1113.   #endif
  1114.   
  1115.   #ifndef STRNCMPI
  1116. ! # ifndef __SASC_60        /* SAS/C already shifts to stricmp */
  1117. ! #  define strcmpi(a,b) strncmpi((a),(b),-1)
  1118. ! # endif
  1119.   #endif
  1120.   
  1121.   /* comment out to test effects of each #define -- these will probably
  1122. ***************
  1123. *** 168,173 ****
  1124. --- 170,179 ----
  1125.   # include "macconf.h"
  1126.   #endif
  1127.   
  1128. + #if defined(WIN32) && !defined(NTCONF_H)
  1129. + # include "ntconf.h"
  1130. + #endif
  1131.   /* Displayable name of this port; don't redefine if defined in *conf.h */
  1132.   #ifndef PORT_ID
  1133.   # ifdef AMIGA
  1134. ***************
  1135. *** 190,195 ****
  1136. --- 196,204 ----
  1137.   # endif
  1138.   # ifdef VMS
  1139.   #  define PORT_ID    "VMS"
  1140. + # endif
  1141. + # ifdef WIN32CON
  1142. + #  define PORT_ID    "NT-Console"
  1143.   # endif
  1144.   #endif
  1145.   
  1146. *** /tmp/da07653    Thu Feb 25 10:20:45 1993
  1147. --- include/hack.h    Thu Feb 25 09:04:05 1993
  1148. ***************
  1149. *** 71,77 ****
  1150.   #include "decl.h"
  1151.   #endif
  1152.   
  1153. ! extern coord bhitpos;    /* place where thrown weapon falls to the ground */
  1154.   
  1155.   /* types of calls to bhit() */
  1156.   #define ZAPPED_WAND    0
  1157. --- 71,77 ----
  1158.   #include "decl.h"
  1159.   #endif
  1160.   
  1161. ! NEARDATA extern coord bhitpos;    /* place where thrown weapon falls to the ground */
  1162.   
  1163.   /* types of calls to bhit() */
  1164.   #define ZAPPED_WAND    0
  1165. *** /tmp/da07669    Thu Feb 25 10:20:48 1993
  1166. --- include/macconf.h    Wed Feb 24 16:18:07 1993
  1167. ***************
  1168. *** 37,42 ****
  1169. --- 37,50 ----
  1170.   #  include <fonts.h>
  1171.   
  1172.   /*
  1173. +  * Turn off the Macsbug calls for the production version.
  1174. +  */
  1175. + #undef Debugger
  1176. + #undef DebugStr
  1177. + #define Debugger()
  1178. + #define DebugStr(aStr)
  1179. + /*
  1180.    * We could use the PSN under sys 7 here ...
  1181.    */
  1182.   #  define getpid() 1
  1183. ***************
  1184. *** 168,174 ****
  1185.       void            ( * cursorFunc ) ( EventRecord * , WindowPtr , RgnHandle ) ;
  1186.       Handle            windowText ;
  1187.       long            windowTextLen ;
  1188. -     long            textBase ;
  1189.       Point            cursor ;        /* In CHARS / LINES */
  1190.       short            leading ;
  1191.       short            charHeight ;
  1192. --- 176,181 ----
  1193. ***************
  1194. *** 175,180 ****
  1195. --- 182,189 ----
  1196.       short            charWidth ;
  1197.       short            fontNum ;
  1198.       short            fontSize ;
  1199. +     short            last_more_lin ;    /* Used by message window */
  1200. +     short            save_lin ;        /* Used by message window */
  1201.       short            lin ;            /* Used by menus */
  1202.       short            wid ;            /* Used by menus */
  1203.       char            itemChars [ NUM_MENU_ITEMS ] ;
  1204. *** /tmp/da07701    Thu Feb 25 10:20:55 1993
  1205. --- include/mkroom.h    Tue Feb 16 16:21:32 1993
  1206. ***************
  1207. *** 34,41 ****
  1208.       const char **shknms;    /* list of shopkeeper names for this type */
  1209.   };
  1210.   
  1211. ! extern struct mkroom rooms[(MAXNROFROOMS+1)*2];
  1212. ! extern struct mkroom* subrooms;
  1213.   /* the normal rooms on the current level are described in rooms[0..n] for
  1214.    * some n<MAXNROFROOMS
  1215.    * the vault, if any, is described by rooms[n+1]
  1216. --- 34,41 ----
  1217.       const char **shknms;    /* list of shopkeeper names for this type */
  1218.   };
  1219.   
  1220. ! extern NEARDATA struct mkroom rooms[(MAXNROFROOMS+1)*2];
  1221. ! extern NEARDATA struct mkroom* subrooms;
  1222.   /* the normal rooms on the current level are described in rooms[0..n] for
  1223.    * some n<MAXNROFROOMS
  1224.    * the vault, if any, is described by rooms[n+1]
  1225. ***************
  1226. *** 45,51 ****
  1227.   
  1228.   extern struct mkroom *dnstairs_room, *upstairs_room, *sstairs_room;
  1229.   
  1230. ! extern coord doors[DOORMAX];
  1231.   
  1232.   /* values for rtype in the room definition structure */
  1233.   #define OROOM         0    /* ordinary room */
  1234. --- 45,51 ----
  1235.   
  1236.   extern struct mkroom *dnstairs_room, *upstairs_room, *sstairs_room;
  1237.   
  1238. ! extern NEARDATA coord doors[DOORMAX];
  1239.   
  1240.   /* values for rtype in the room definition structure */
  1241.   #define OROOM         0    /* ordinary room */
  1242. *** /tmp/da07725    Thu Feb 25 10:21:00 1993
  1243. --- include/monflag.h    Mon Feb  1 11:18:52 1993
  1244. ***************
  1245. *** 131,136 ****
  1246. --- 131,139 ----
  1247.   #define M3_WANTSCAND    0x08        /* wants the candelabrum */
  1248.   #ifdef MULDGN
  1249.   #define M3_WANTSARTI    0x10        /* wants the quest artifact */
  1250. + #define M3_WANTSALL    0x1f        /* wants any major artifact */
  1251. + #else
  1252. + #define M3_WANTSALL    0x0f        /* wants any major artifact */
  1253.   #endif
  1254.   #define M3_WAITFORU    0x40        /* waits to see you or get attacked */
  1255.   #define M3_CLOSE    0x80        /* lets you close unless attacked */
  1256. *** /tmp/da07749    Thu Feb 25 10:21:05 1993
  1257. --- include/ntconf.h    Tue Feb  2 09:53:40 1993
  1258. ***************
  1259. *** 0 ****
  1260. --- 1,58 ----
  1261. + /*    SCCS Id: @(#)ntconf.h    3.1    93/01/31    */
  1262. + /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1263. + /* NetHack may be freely redistributed.  See license for details. */
  1264. + #ifndef NTCONF_H
  1265. + #define NTCONF_H
  1266. + #define MICRO        /* always define this! */
  1267. + #define SHELL
  1268. + #define RANDOM        /* have Berkeley random(3) */
  1269. + #define TEXTCOLOR    /* Color text */
  1270. + #define PATHLEN        64    /* maximum pathlength */
  1271. + #define FILENAME    80    /* maximum filename length (conservative) */
  1272. + #ifndef MICRO_H
  1273. + #include "micro.h"      /* contains necessary externs for [os_name].c */
  1274. + #endif
  1275. + /*
  1276. +  *  The remaining code shouldn't need modification.
  1277. +  */
  1278. + #ifndef SYSTEM_H
  1279. + #include "system.h"
  1280. + #endif
  1281. + #define index    strchr
  1282. + #define rindex    strrchr
  1283. + #include <time.h>
  1284. + #ifdef RANDOM
  1285. + /* Use the high quality random number routines. */
  1286. + #define Rand()    random()
  1287. + #else
  1288. + #define Rand()    rand()
  1289. + #endif
  1290. + #define FCMASK    0660    /* file creation mask */
  1291. + #include <fcntl.h>
  1292. + #include <io.h>
  1293. + #include <direct.h>
  1294. + #include <conio.h>
  1295. + #undef kbhit            /* Use our special NT kbhit */
  1296. + #define exit    msexit        /* do chdir first */
  1297. + #ifndef REDO
  1298. + #undef    Getchar
  1299. + #define Getchar nhgetch
  1300. + #endif
  1301. + #endif /* NTCONF_H */
  1302. *** /tmp/da07757    Thu Feb 25 10:21:07 1993
  1303. --- include/obj.h    Mon Feb  8 14:04:40 1993
  1304. ***************
  1305. *** 24,30 ****
  1306.                      marks your eggs, spinach tins
  1307.                      indicates statues have spellbooks inside
  1308.                      tells which fruit a fruit is
  1309. -                    marks diluted potions
  1310.                      special for uball and amulet %% BAH */
  1311.       char    oclass;        /* object class */
  1312.       char    invlet;        /* designation in inventory */
  1313. --- 24,29 ----
  1314. ***************
  1315. *** 42,47 ****
  1316. --- 41,47 ----
  1317.       Bitfield(oeroded,2);    /* rusted/corroded/burnt/rotted weapon/armor */
  1318.   #define MAX_ERODE 3
  1319.   #define orotten oeroded        /* rotten food */
  1320. + #define odiluted oeroded    /* diluted potions */
  1321.       Bitfield(oerodeproof,1); /* erodeproof weapon/armor */
  1322.       Bitfield(olocked,1);    /* object is locked */
  1323.   #define recharged olocked    /* recharged once */
  1324. *** /tmp/da07765    Thu Feb 25 10:21:09 1993
  1325. --- include/objclass.h    Tue Feb 23 15:12:23 1993
  1326. ***************
  1327. *** 20,25 ****
  1328. --- 20,26 ----
  1329.       Bitfield(oc_magic,1);    /* inherently magical object */
  1330.       Bitfield(oc_charged,1);    /* may have +n or (n) charges */
  1331.       Bitfield(oc_unique,1);    /* special one-of-a-kind object */
  1332. +     Bitfield(oc_nowish,1);    /* cannot wish for this object */
  1333.       Bitfield(oc_big,1);
  1334.   #define oc_bimanual    oc_big    /* for weapons */
  1335.   #define oc_bulky    oc_big    /* for armor */
  1336. ***************
  1337. *** 89,96 ****
  1338.       const char *oc_descr;        /* description when name unknown */
  1339.   };
  1340.   
  1341. ! extern struct objclass NEARDATA objects[];
  1342. ! extern struct objdescr NEARDATA obj_descr[];
  1343.   
  1344.   /*
  1345.    * All objects have a class. Make sure that all classes have a corresponding
  1346. --- 90,97 ----
  1347.       const char *oc_descr;        /* description when name unknown */
  1348.   };
  1349.   
  1350. ! extern NEARDATA struct objclass objects[];
  1351. ! extern NEARDATA struct objdescr obj_descr[];
  1352.   
  1353.   /*
  1354.    * All objects have a class. Make sure that all classes have a corresponding
  1355. *** /tmp/da07773    Thu Feb 25 10:21:11 1993
  1356. --- include/os2conf.h    Thu Feb 25 09:03:39 1993
  1357. ***************
  1358. *** 21,26 ****
  1359. --- 21,27 ----
  1360.    */
  1361.   
  1362.   #define OS2_USESYSHEADERS    /* use compiler's own system headers */
  1363. + /* #define OS2_HPFS        /* use OS/2 High Performance File System */
  1364.   
  1365.   #if defined(OS2_GCC) || defined(OS2_CSET2)
  1366.   # define OS2_32BITAPI        /* enable for compilation in OS/2 2.0 */
  1367. *** /tmp/da07781    Thu Feb 25 10:21:12 1993
  1368. --- include/patchlevel.h    Wed Feb 24 21:36:39 1993
  1369. ***************
  1370. *** 134,137 ****
  1371.    *  directory rearrangement (dat, doc, sys, win, util)
  1372.    */
  1373.   
  1374. ! #define PATCHLEVEL    0
  1375. --- 134,144 ----
  1376.    *  directory rearrangement (dat, doc, sys, win, util)
  1377.    */
  1378.   
  1379. ! /*
  1380. !  *  Patch 1, February 25, 1993
  1381. !  *  add Windows NT console port (courtesy Michael Allison)
  1382. !  *  polishing of Amiga, Mac, and X11 windowing
  1383. !  *  fixing many small bugs, including the infamous 3.0 nurse relmon bug
  1384. !  */
  1385. ! #define PATCHLEVEL    1
  1386. *** /tmp/da07789    Thu Feb 25 10:21:15 1993
  1387. --- include/pcconf.h    Thu Feb 25 09:01:34 1993
  1388. ***************
  1389. *** 17,41 ****
  1390.    *  or greater.
  1391.    */
  1392.   
  1393. ! #if !defined (__GO32__) && !defined(__BORLANDC__) && !defined(AMIGA)
  1394. ! #define OVERLAY         /* MS DOS overlay manager - PGM */
  1395.   /* #define MOVERLAY /* Microsoft's MOVE overlay system (MSC >= 7.0) */
  1396. ! #endif
  1397.   
  1398.   
  1399. ! #ifndef __GO32__
  1400. ! #define MFLOPPY         /* Support for floppy drives and ramdisks by dgk */
  1401. ! #define SHELL           /* via exec of COMMAND.COM */
  1402. ! #endif
  1403.   
  1404.   # define TERMLIB        /* enable use of termcap file /etc/termcap */
  1405.               /* or ./termcap for MSDOS (SAC) */
  1406.               /* compile and link in Fred Fish's termcap library, */
  1407.               /* enclosed in TERMCAP.ARC, to use this */
  1408.   
  1409. ! #define ANSI_DEFAULT    /* allows NetHack to run without a ./termcap */
  1410.   
  1411. ! #define RANDOM        /* have Berkeley random(3) */
  1412.   
  1413.   #endif /* MSDOS configuration stuff */
  1414.   
  1415. --- 17,41 ----
  1416.    *  or greater.
  1417.    */
  1418.   
  1419. ! # if !defined (__GO32__) && !defined(__BORLANDC__) && !defined(AMIGA)
  1420. ! #  define OVERLAY         /* MS DOS overlay manager - PGM */
  1421.   /* #define MOVERLAY /* Microsoft's MOVE overlay system (MSC >= 7.0) */
  1422. ! # endif
  1423.   
  1424.   
  1425. ! # ifndef __GO32__
  1426. ! #  define MFLOPPY         /* Support for floppy drives and ramdisks by dgk */
  1427. ! # endif
  1428.   
  1429. + # define SHELL           /* via exec of COMMAND.COM */
  1430.   # define TERMLIB        /* enable use of termcap file /etc/termcap */
  1431.               /* or ./termcap for MSDOS (SAC) */
  1432.               /* compile and link in Fred Fish's termcap library, */
  1433.               /* enclosed in TERMCAP.ARC, to use this */
  1434.   
  1435. ! # define ANSI_DEFAULT    /* allows NetHack to run without a ./termcap */
  1436.   
  1437. ! # define RANDOM        /* have Berkeley random(3) */
  1438.   
  1439.   #endif /* MSDOS configuration stuff */
  1440.   
  1441. ***************
  1442. *** 43,56 ****
  1443.   #define PATHLEN        64    /* maximum pathlength */
  1444.   #define FILENAME    80    /* maximum filename length (conservative) */
  1445.   #ifndef MICRO_H
  1446. ! #include "micro.h"      /* contains necessary externs for [os_name].c */
  1447.   #endif
  1448.   
  1449.   #ifdef MFLOPPY
  1450. ! #define FROMPERM        1      /* for ramdisk use */
  1451. ! #define TOPERM          2      /* for ramdisk use */
  1452. ! #define ACTIVE          1
  1453. ! #define SWAPPED         2
  1454.   
  1455.   struct finfo {
  1456.       int    where;
  1457. --- 43,56 ----
  1458.   #define PATHLEN        64    /* maximum pathlength */
  1459.   #define FILENAME    80    /* maximum filename length (conservative) */
  1460.   #ifndef MICRO_H
  1461. ! # include "micro.h"      /* contains necessary externs for [os_name].c */
  1462.   #endif
  1463.   
  1464.   #ifdef MFLOPPY
  1465. ! # define FROMPERM        1      /* for ramdisk use */
  1466. ! # define TOPERM          2      /* for ramdisk use */
  1467. ! # define ACTIVE          1
  1468. ! # define SWAPPED         2
  1469.   
  1470.   struct finfo {
  1471.       int    where;
  1472. ***************
  1473. *** 58,64 ****
  1474.       long    size;
  1475.   };
  1476.   extern struct finfo fileinfo[];
  1477. ! #define ZFINFO  { 0, 0L, 0L }
  1478.   
  1479.   #endif /* MFLOPPY */
  1480.   
  1481. --- 58,64 ----
  1482.       long    size;
  1483.   };
  1484.   extern struct finfo fileinfo[];
  1485. ! # define ZFINFO  { 0, 0L, 0L }
  1486.   
  1487.   #endif /* MFLOPPY */
  1488.   
  1489. ***************
  1490. *** 67,90 ****
  1491.    */
  1492.   
  1493.   #ifndef SYSTEM_H
  1494. ! #include "system.h"
  1495.   #endif
  1496. - #define index    strchr
  1497. - #define rindex    strrchr
  1498.   
  1499.   #ifndef AMIGA
  1500. ! #include <time.h>
  1501.   #endif
  1502.   
  1503.   #ifdef RANDOM
  1504.   /* Use the high quality random number routines. */
  1505. ! #define Rand()    random()
  1506.   #else
  1507. ! #define Rand()    rand()
  1508.   #endif
  1509.   
  1510.   #ifndef TOS
  1511. ! #define FCMASK    0660    /* file creation mask */
  1512.   #endif
  1513.   
  1514.   #include <fcntl.h>
  1515. --- 67,95 ----
  1516.    */
  1517.   
  1518.   #ifndef SYSTEM_H
  1519. ! # include "system.h"
  1520.   #endif
  1521.   
  1522. + #ifndef index
  1523. + # define index    strchr
  1524. + #endif
  1525. + #ifndef rindex
  1526. + # define rindex    strrchr
  1527. + #endif
  1528.   #ifndef AMIGA
  1529. ! # include <time.h>
  1530.   #endif
  1531.   
  1532.   #ifdef RANDOM
  1533.   /* Use the high quality random number routines. */
  1534. ! # define Rand()    random()
  1535.   #else
  1536. ! # define Rand()    rand()
  1537.   #endif
  1538.   
  1539.   #ifndef TOS
  1540. ! # define FCMASK    0660    /* file creation mask */
  1541.   #endif
  1542.   
  1543.   #include <fcntl.h>
  1544. ***************
  1545. *** 92,103 ****
  1546.   #define exit    msexit        /* do chdir first */
  1547.   
  1548.   #ifndef REDO
  1549. ! #undef    Getchar
  1550. ! #define Getchar nhgetch
  1551.   #endif
  1552.   
  1553.   #ifdef MSDOS
  1554. ! #  define TEXTCOLOR /* */
  1555.   #endif
  1556.   
  1557.   #endif /* PCCONF_H */
  1558. --- 97,112 ----
  1559.   #define exit    msexit        /* do chdir first */
  1560.   
  1561.   #ifndef REDO
  1562. ! # undef    Getchar
  1563. ! # define Getchar nhgetch
  1564.   #endif
  1565.   
  1566.   #ifdef MSDOS
  1567. ! # define TEXTCOLOR /* */
  1568. ! #endif
  1569. ! #ifdef MSC7_WARN    /* define with cl /DMSC7_WARN    */
  1570. ! #pragma warning(disable:4131)
  1571.   #endif
  1572.   
  1573.   #endif /* PCCONF_H */
  1574. *** /tmp/da07797    Thu Feb 25 10:21:17 1993
  1575. --- include/permonst.h    Tue Feb 16 16:17:29 1993
  1576. ***************
  1577. *** 1,4 ****
  1578. ! /*    SCCS Id: @(#)permonst.h 3.1    92/11/21    */
  1579.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1580.   /* NetHack may be freely redistributed.  See license for details. */
  1581.   
  1582. --- 1,4 ----
  1583. ! /*    SCCS Id: @(#)permonst.h 3.1    93/02/14    */
  1584.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1585.   /* NetHack may be freely redistributed.  See license for details. */
  1586.   
  1587. ***************
  1588. *** 55,61 ****
  1589.       uchar        msize;            /* physical size (3 bits) */
  1590.       uchar        mresists;        /* resistances */
  1591.       uchar        mconveys;        /* conveyed by eating */
  1592. !     long        mflags1,        /* boolean bitflags */
  1593.               mflags2;        /* more boolean bitflags */
  1594.       uchar        mflags3;        /* yet more boolean bitflags */
  1595.   # ifdef TEXTCOLOR
  1596. --- 55,61 ----
  1597.       uchar        msize;            /* physical size (3 bits) */
  1598.       uchar        mresists;        /* resistances */
  1599.       uchar        mconveys;        /* conveyed by eating */
  1600. !     unsigned long    mflags1,        /* boolean bitflags */
  1601.               mflags2;        /* more boolean bitflags */
  1602.       uchar        mflags3;        /* yet more boolean bitflags */
  1603.   # ifdef TEXTCOLOR
  1604. ***************
  1605. *** 63,71 ****
  1606.   # endif
  1607.   };
  1608.   
  1609. ! extern struct permonst
  1610. !     NEARDATA    mons[];        /* the master list of monster types */
  1611. ! extern struct permonst NEARDATA playermon, NEARDATA *uasmon;
  1612.                           /* you in the same terms */
  1613.   
  1614.   #endif /* PERMONST_H */
  1615. --- 63,71 ----
  1616.   # endif
  1617.   };
  1618.   
  1619. ! extern NEARDATA struct permonst
  1620. !         mons[];        /* the master list of monster types */
  1621. ! extern NEARDATA struct permonst playermon, *uasmon;
  1622.                           /* you in the same terms */
  1623.   
  1624.   #endif /* PERMONST_H */
  1625. *** /tmp/da07837    Thu Feb 25 10:21:26 1993
  1626. --- include/rm.h    Mon Feb 22 12:31:49 1993
  1627. ***************
  1628. *** 1,4 ****
  1629. ! /*    SCCS Id: @(#)rm.h    3.1    92/09/01          */
  1630.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1631.   /* NetHack may be freely redistributed.  See license for details. */
  1632.   
  1633. --- 1,4 ----
  1634. ! /*    SCCS Id: @(#)rm.h    3.1    93/02/21          */
  1635.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1636.   /* NetHack may be freely redistributed.  See license for details. */
  1637.   
  1638. ***************
  1639. *** 224,229 ****
  1640. --- 224,236 ----
  1641.   #define F_WARNED    2
  1642.   
  1643.   /*
  1644. +  * Doors are even worse :-) The special warning has a side effect
  1645. +  * of instantly trapping the door, and if it was defined as trapped,
  1646. +  * the guards consider that you have already been warned!
  1647. +  */
  1648. + #define D_WARNED    16
  1649. + /*
  1650.    * Sinks have 3 different types of loot that shouldn't be abused
  1651.    */
  1652.   #define S_LPUDDING    1
  1653. ***************
  1654. *** 254,259 ****
  1655. --- 261,267 ----
  1656.   #define W_DIGGABLE    0
  1657.   #define W_NONDIGGABLE    1
  1658.   #define W_REPAIRED    2
  1659. + #define W_NONPASSWALL    4
  1660.   
  1661.   /*
  1662.    * Ladders (in Vlad's tower) may be up or down.
  1663. ***************
  1664. *** 321,326 ****
  1665. --- 329,335 ----
  1666.       Bitfield(nommap,1);
  1667.       Bitfield(hero_memory,1);    /* hero has memory */
  1668.       Bitfield(shortsighted,1);    /* monsters are shortsighted */
  1669. +     Bitfield(graveyard,1);        /* has_morgue, but remains set */
  1670.       Bitfield(is_maze_lev,1);
  1671.       Bitfield(is_cavernous_lev,1);
  1672.   };
  1673. *** /tmp/da07845    Thu Feb 25 10:21:28 1993
  1674. --- include/sp_lev.h    Wed Feb 17 09:52:50 1993
  1675. ***************
  1676. *** 164,169 ****
  1677. --- 164,171 ----
  1678.       walk **walks;
  1679.       char ndig;
  1680.       digpos **digs;
  1681. +     char npass;
  1682. +     digpos **passs;
  1683.       char nlad;
  1684.       lad **lads;
  1685.       char nstair;
  1686. *** /tmp/da07861    Thu Feb 25 10:21:31 1993
  1687. --- include/system.h    Wed Feb 24 16:17:03 1993
  1688. ***************
  1689. *** 50,59 ****
  1690.    * impossible to get right automatically.
  1691.    * This is the type of signal handling functions.
  1692.    */
  1693. ! #if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(MSDOS) || defined(__DECC)
  1694. ! # define SIG_RET_TYPE void (*)()
  1695.   #endif
  1696.   #ifndef SIG_RET_TYPE
  1697.   # if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4)
  1698.       /* SVR3 is defined automatically by some systems */
  1699.   #  define SIG_RET_TYPE void (*)()
  1700. --- 50,64 ----
  1701.    * impossible to get right automatically.
  1702.    * This is the type of signal handling functions.
  1703.    */
  1704. ! #if defined(MOVERLAY)
  1705. ! # define SIG_RET_TYPE void (__cdecl *)(int)
  1706.   #endif
  1707.   #ifndef SIG_RET_TYPE
  1708. + # if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(__DECC)
  1709. + #  define SIG_RET_TYPE void (*)()
  1710. + # endif
  1711. + #endif
  1712. + #ifndef SIG_RET_TYPE
  1713.   # if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4)
  1714.       /* SVR3 is defined automatically by some systems */
  1715.   #  define SIG_RET_TYPE void (*)()
  1716. ***************
  1717. *** 235,241 ****
  1718.   E long NDECL(fork);
  1719.   #endif
  1720.   
  1721. ! #if defined(SYSV) || defined(VMS) || defined(MAC) || defined(SUNOS4)
  1722.   # if defined(NHSTDC) || defined(POSIX_TYPES) || (defined(VMS) && !defined(ANCIENT_VAXC))
  1723.   #  if !(defined(SUNOS4) && defined(__STDC__))    /* Solaris unbundled cc (acc) */
  1724.   E int FDECL(memcmp, (const void *,const void *,size_t));
  1725. --- 240,246 ----
  1726.   E long NDECL(fork);
  1727.   #endif
  1728.   
  1729. ! #if defined(SYSV) || defined(VMS) || defined(MAC) || defined(SUNOS4) || defined(POSIX_TYPES)
  1730.   # if defined(NHSTDC) || defined(POSIX_TYPES) || (defined(VMS) && !defined(ANCIENT_VAXC))
  1731.   #  if !(defined(SUNOS4) && defined(__STDC__))    /* Solaris unbundled cc (acc) */
  1732.   E int FDECL(memcmp, (const void *,const void *,size_t));
  1733. ***************
  1734. *** 243,257 ****
  1735.   E void *FDECL(memset, (void *, int, size_t));
  1736.   #  endif
  1737.   # else
  1738.   E int memcmp();
  1739. ! E char *memcpy(), *memset();
  1740.   # endif
  1741. ! #endif
  1742. ! #ifdef HPUX
  1743.   E int FDECL(memcmp, (char *,char *,int));
  1744.   E void *FDECL(memcpy, (char *,char *,int));
  1745.   E void *FDECL(memset, (char*,int,int));
  1746.   #endif
  1747.   
  1748.   #if defined(MICRO) && !defined(LATTICE)
  1749. --- 248,269 ----
  1750.   E void *FDECL(memset, (void *, int, size_t));
  1751.   #  endif
  1752.   # else
  1753. + #  ifndef memcmp    /* some systems seem to macro these back to b*() */
  1754.   E int memcmp();
  1755. ! #  endif
  1756. ! #  ifndef memcpy
  1757. ! E char *memcpy();
  1758. ! #  endif
  1759. ! #  ifndef memset
  1760. ! E char *memset();
  1761. ! #  endif
  1762.   # endif
  1763. ! #else
  1764. ! # ifdef HPUX
  1765.   E int FDECL(memcmp, (char *,char *,int));
  1766.   E void *FDECL(memcpy, (char *,char *,int));
  1767.   E void *FDECL(memset, (char*,int,int));
  1768. + # endif
  1769.   #endif
  1770.   
  1771.   #if defined(MICRO) && !defined(LATTICE)
  1772. *** /tmp/da07869    Thu Feb 25 10:21:33 1993
  1773. --- include/termcap.h    Thu Feb 11 13:26:48 1993
  1774. ***************
  1775. *** 49,55 ****
  1776.   # ifdef TOS
  1777.   extern const char *hilites[MAXCOLORS];
  1778.   # else
  1779. ! extern char NEARDATA *hilites[MAXCOLORS];
  1780.   # endif
  1781.   #endif
  1782.   
  1783. --- 49,55 ----
  1784.   # ifdef TOS
  1785.   extern const char *hilites[MAXCOLORS];
  1786.   # else
  1787. ! extern NEARDATA char *hilites[MAXCOLORS];
  1788.   # endif
  1789.   #endif
  1790.   
  1791. *** /tmp/da07909    Thu Feb 25 10:21:42 1993
  1792. --- include/unixconf.h    Wed Feb 24 16:18:06 1993
  1793. ***************
  1794. *** 222,229 ****
  1795. --- 222,233 ----
  1796.   #define memcmp(s1, s2, n)    bcmp(s2, s1, n)
  1797.   # endif
  1798.   #else    /* therefore SYSV */
  1799. + # ifndef index    /* some systems seem to do this for you */
  1800.   #define index    strchr
  1801. + # endif
  1802. + # ifndef rindex
  1803.   #define rindex    strrchr
  1804. + # endif
  1805.   #endif
  1806.   
  1807.   /* A safety check for BOS and AUX */
  1808. *** /tmp/da07941    Thu Feb 25 10:21:50 1993
  1809. --- include/winX.h    Sun Feb 21 16:57:49 1993
  1810. ***************
  1811. *** 185,190 ****
  1812. --- 185,191 ----
  1813.   E struct xwindow window_list[MAX_WINDOWS];
  1814.   E XtAppContext   app_context;        /* context of application */
  1815.   E Widget     toplevel;        /* toplevel widget */
  1816. + E Atom         wm_delete_window;    /* delete window protocol */
  1817.   E boolean     exit_x_event;        /* exit condition for event loop */
  1818.   #define EXIT_ON_KEY_PRESS        0    /* valid values for exit_x_event */
  1819.   #define EXIT_ON_KEY_OR_BUTTON_PRESS 1
  1820. ***************
  1821. *** 217,223 ****
  1822.   E void FDECL(SetDialogPrompt,(Widget, String));
  1823.   E String FDECL(GetDialogResponse,(Widget));
  1824.   E void FDECL(SetDialogResponse,(Widget, String));
  1825. ! E void FDECL(positionpopup,(Widget));
  1826.   
  1827.   /* ### winX.c ### */
  1828.   E struct xwindow *FDECL(find_widget,(Widget));
  1829. --- 218,224 ----
  1830.   E void FDECL(SetDialogPrompt,(Widget, String));
  1831.   E String FDECL(GetDialogResponse,(Widget));
  1832.   E void FDECL(SetDialogResponse,(Widget, String));
  1833. ! E void FDECL(positionpopup,(Widget,BOOLEAN_P));
  1834.   
  1835.   /* ### winX.c ### */
  1836.   E struct xwindow *FDECL(find_widget,(Widget));
  1837. ***************
  1838. *** 228,234 ****
  1839.   E void NDECL(win_X11_init);
  1840.   
  1841.   /* ### winmesg.c ### */
  1842. - E void FDECL(set_message_height, (struct xwindow*, DIMENSION_P));
  1843.   E void FDECL(set_message_slider, (struct xwindow*));
  1844.   E void FDECL(create_message_window,(struct xwindow*, BOOLEAN_P, Widget));
  1845.   E void FDECL(destroy_message_window,(struct xwindow*));
  1846. --- 229,234 ----
  1847. ***************
  1848. *** 240,246 ****
  1849.   E void FDECL(check_cursor_visibility,(struct xwindow*));
  1850.   E void FDECL(display_map_window,(struct xwindow*));
  1851.   E void FDECL(clear_map_window,(struct xwindow*));
  1852. ! E void FDECL(extern_map_input,(XEvent*));
  1853.   E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P));
  1854.   E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget));
  1855.   E void FDECL(destroy_map_window,(struct xwindow*));
  1856. --- 240,246 ----
  1857.   E void FDECL(check_cursor_visibility,(struct xwindow*));
  1858.   E void FDECL(display_map_window,(struct xwindow*));
  1859.   E void FDECL(clear_map_window,(struct xwindow*));
  1860. ! E void FDECL(map_input, (Widget, XEvent*, String*, Cardinal*));
  1861.   E void FDECL(set_map_size,(struct xwindow*, DIMENSION_P, DIMENSION_P));
  1862.   E void FDECL(create_map_window,(struct xwindow*, BOOLEAN_P, Widget));
  1863.   E void FDECL(destroy_map_window,(struct xwindow*));
  1864. ***************
  1865. *** 247,252 ****
  1866. --- 247,253 ----
  1867.   E int  FDECL(x_event,(int));
  1868.   
  1869.   /* ### winmenu.c ### */
  1870. + E void FDECL(menu_delete, (Widget, XEvent*, String*, Cardinal*));
  1871.   E void FDECL(menu_key,(Widget, XEvent*, String*, Cardinal*));
  1872.   E void FDECL(create_menu_window,(struct xwindow*));
  1873.   E void FDECL(destroy_menu_window,(struct xwindow*));
  1874. ***************
  1875. *** 253,258 ****
  1876. --- 254,260 ----
  1877.   
  1878.   /* ### winmisc.c ### */
  1879.   E void FDECL(ps_key,(Widget, XEvent*, String*, Cardinal*)); /* player selection action */
  1880. + E void FDECL(ec_delete, (Widget, XEvent*, String*, Cardinal*));
  1881.   E void FDECL(ec_key,(Widget, XEvent*, String*, Cardinal*)); /* extended command action */
  1882.   E void NDECL(init_extended_commands_popup);
  1883.   
  1884. ***************
  1885. *** 264,269 ****
  1886. --- 266,272 ----
  1887.   E void NDECL(check_turn_events);
  1888.   
  1889.   /* ### wintext.c ### */
  1890. + E void FDECL(delete_text, (Widget, XEvent*, String*, Cardinal*));
  1891.   E void FDECL(dismiss_text,(Widget, XEvent*, String*, Cardinal*));
  1892.   E void FDECL(key_dismiss_text,(Widget, XEvent*, String*, Cardinal*));
  1893.   E void FDECL(add_to_text_window,(struct xwindow*, int, const char*));
  1894. *** /tmp/da07957    Thu Feb 25 10:21:54 1993
  1895. --- include/winprocs.h    Thu Feb 11 13:27:44 1993
  1896. ***************
  1897. *** 51,57 ****
  1898.       void NDECL((*win_end_screen));
  1899.   };
  1900.   
  1901. ! extern struct window_procs NEARDATA windowprocs;
  1902.   
  1903.   /*
  1904.    * If you wish to only support one window system and not use procedure
  1905. --- 51,57 ----
  1906.       void NDECL((*win_end_screen));
  1907.   };
  1908.   
  1909. ! extern NEARDATA struct window_procs windowprocs;
  1910.   
  1911.   /*
  1912.    * If you wish to only support one window system and not use procedure
  1913. *** /tmp/da07965    Thu Feb 25 10:21:56 1993
  1914. --- include/wintty.h    Mon Feb  8 14:03:47 1993
  1915. ***************
  1916. *** 43,48 ****
  1917. --- 43,49 ----
  1918.       int rawprint;        /* number of raw_printed lines since synch */
  1919.       int inmore;            /* non-zero if more() is active */
  1920.       int inread;            /* non-zero if reading a character */
  1921. +     int intr;            /* non-zero if inread was interrupted */
  1922.       winid lastwin;        /* last window used for I/O */
  1923.   };
  1924.   
  1925.  
  1926.