home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume16 / nethck31 / patch1c < prev    next >
Encoding:
Text File  |  1993-03-04  |  59.1 KB  |  2,046 lines

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