home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / games / volume16 / nethack31 / part107 < prev    next >
Internet Message Format  |  1993-02-06  |  53KB

  1. Path: uunet!news.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v16i115:  nethack31 - display oriented dungeons & dragons (Ver. 3.1), Part107/108
  5. Message-ID: <4480@master.CNA.TEK.COM>
  6. Date: 5 Feb 93 22:04:14 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1755
  9. Approved: billr@saab.CNA.TEK.COM
  10. Xref: uunet comp.sources.games:1666
  11.  
  12. Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
  13. Posting-number: Volume 16, Issue 115
  14. Archive-name: nethack31/Part107
  15. Supersedes: nethack3p9: Volume 10, Issue 46-108
  16. Environment: Amiga, Atari, Mac, MS-DOS, OS2, Unix, VMS, X11
  17.  
  18.  
  19.  
  20. #! /bin/sh
  21. # This is a shell archive.  Remove anything before this line, then unpack
  22. # it by saving it into a file and typing "sh file".  To overwrite existing
  23. # files, type "sh file -c".  You can also feed this as standard input via
  24. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  25. # will see the following message at the end:
  26. #        "End of archive 107 (of 108)."
  27. # Contents:  include/WindowP.h include/align.h include/coord.h
  28. #   include/edog.h include/engrave.h include/epri.h include/eshk.h
  29. #   include/func_tab.h include/mail.h include/mfndpos.h
  30. #   include/micro.h include/prop.h include/rect.h include/vault.h
  31. #   src/alloc.c src/track.c sys/amiga/HackWB.uu sys/amiga/amidos.p
  32. #   sys/amiga/amifont.uu sys/amiga/amigst.c sys/amiga/amiwind.p
  33. #   sys/amiga/ifchange sys/amiga/randwin.uu sys/amiga/splitter/arg.h
  34. #   sys/amiga/splitter/multi.h sys/amiga/string.uu
  35. #   sys/atari/nethack.mnu sys/mac/macunix.c sys/mac/mstring.c
  36. #   sys/msdos/nhico.uu sys/msdos/nhpif.uu sys/share/Makefile.lib
  37. #   sys/share/dgn_comp.h sys/share/pctty.c sys/unix/nethack.sh
  38. #   sys/unix/setup.sh sys/vms/vmsmisc.c win/X11/nh32icon
  39. # Wrapped by billr@saab on Wed Jan 27 16:09:34 1993
  40. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  41. if test -f 'include/WindowP.h' -a "${1}" != "-c" ; then 
  42.   echo shar: Will not clobber existing file \"'include/WindowP.h'\"
  43. else
  44. echo shar: Extracting \"'include/WindowP.h'\" \(1340 characters\)
  45. sed "s/^X//" >'include/WindowP.h' <<'END_OF_FILE'
  46. X/*    SCCS Id: @(#)WindowP.h    3.1    92/3/7    */
  47. X/* Copyright (c) Dean Luick, 1992                  */
  48. X/* NetHack may be freely redistributed.  See license for details. */
  49. X
  50. X#ifndef _WindowP_h
  51. X#define _WindowP_h
  52. X
  53. X#include "Window.h"
  54. X/* include superclass private header file */
  55. X#include <X11/CoreP.h>
  56. X
  57. X/* define unique representation types not found in <X11/StringDefs.h> */
  58. X
  59. X#define XtRWindowResource "WindowResource"
  60. X
  61. Xtypedef struct {
  62. X    int empty;
  63. X} WindowClassPart;
  64. X
  65. Xtypedef struct _WindowClassRec {
  66. X    CoreClassPart    core_class;
  67. X    WindowClassPart    window_class;
  68. X} WindowClassRec;
  69. X
  70. Xextern WindowClassRec windowClassRec;
  71. X
  72. Xtypedef struct {
  73. X    /* resources */
  74. X    Dimension       rows;
  75. X    Dimension       columns;
  76. X    Pixel       foreground;
  77. X    Pixel       black;
  78. X    Pixel       red;
  79. X    Pixel       green;
  80. X    Pixel       brown;
  81. X    Pixel       blue;
  82. X    Pixel       magenta;
  83. X    Pixel       cyan;
  84. X    Pixel       gray;
  85. X    Pixel       orange;
  86. X    Pixel       bright_green;
  87. X    Pixel       yellow;
  88. X    Pixel       bright_blue;
  89. X    Pixel       bright_magenta;
  90. X    Pixel       bright_cyan;
  91. X    Pixel       white;
  92. X    XFontStruct       *font;
  93. X    XtCallbackList expose_callback;
  94. X    XtCallbackList input_callback;
  95. X    XtCallbackList resize_callback;
  96. X    /* private state */
  97. X    /* (none) */
  98. X} WindowPart;
  99. X
  100. Xtypedef struct _WindowRec {
  101. X    CorePart    core;
  102. X    WindowPart    window;
  103. X} WindowRec;
  104. X
  105. X#endif /* _WindowP_h */
  106. END_OF_FILE
  107. if test 1340 -ne `wc -c <'include/WindowP.h'`; then
  108.     echo shar: \"'include/WindowP.h'\" unpacked with wrong size!
  109. fi
  110. # end of 'include/WindowP.h'
  111. fi
  112. if test -f 'include/align.h' -a "${1}" != "-c" ; then 
  113.   echo shar: Will not clobber existing file \"'include/align.h'\"
  114. else
  115. echo shar: Extracting \"'include/align.h'\" \(912 characters\)
  116. sed "s/^X//" >'include/align.h' <<'END_OF_FILE'
  117. X/*    SCCS Id: @(#)align.h    3.1    91/12/29    */
  118. X/* Copyright (c) Mike Stephenson, Izchak Miller  1991.          */
  119. X/* NetHack may be freely redistributed.  See license for details. */
  120. X
  121. X#ifndef ALIGN_H
  122. X#define ALIGN_H
  123. X
  124. Xtypedef schar    aligntyp;    /* basic alignment type */
  125. X
  126. Xtypedef struct    align {        /* alignment & record */
  127. X    aligntyp    type;
  128. X    int        record;
  129. X} align;
  130. X
  131. X#define ALIGNLIM    (5L + (moves/200L))    /* bounds for "record" */
  132. X
  133. X#define A_NONE          (-128)    /* the value range of type */
  134. X
  135. X#define A_CHAOTIC    (-1)
  136. X#define A_NEUTRAL     0
  137. X#define A_LAWFUL     1
  138. X
  139. X#define A_COALIGNED     1
  140. X#define A_OPALIGNED    (-1)
  141. X
  142. X#define AM_NONE         0
  143. X#define AM_CHAOTIC     1
  144. X#define AM_NEUTRAL     2
  145. X#define AM_LAWFUL     4
  146. X
  147. X#define AM_MASK         7
  148. X
  149. X#define Amask2align(x)    ((aligntyp) ((!(x)) ? A_NONE \
  150. X             : ((x) == AM_LAWFUL) ? A_LAWFUL : (x) - 2))
  151. X#define Align2amask(x)    (((x) == A_NONE) ? AM_NONE \
  152. X             : ((x) == A_LAWFUL) ? AM_LAWFUL : (x) + 2)
  153. X
  154. X#endif /* ALIGN_H */
  155. END_OF_FILE
  156. if test 912 -ne `wc -c <'include/align.h'`; then
  157.     echo shar: \"'include/align.h'\" unpacked with wrong size!
  158. fi
  159. # end of 'include/align.h'
  160. fi
  161. if test -f 'include/coord.h' -a "${1}" != "-c" ; then 
  162.   echo shar: Will not clobber existing file \"'include/coord.h'\"
  163. else
  164. echo shar: Extracting \"'include/coord.h'\" \(272 characters\)
  165. sed "s/^X//" >'include/coord.h' <<'END_OF_FILE'
  166. X/*    SCCS Id: @(#)coord.h    3.1    90/22/02    */
  167. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  168. X/* NetHack may be freely redistributed.  See license for details. */
  169. X
  170. X#ifndef COORD_H
  171. X#define COORD_H
  172. X
  173. Xtypedef struct {
  174. X    xchar x,y;
  175. X} coord;
  176. X
  177. X#endif /* COORD_H */
  178. END_OF_FILE
  179. if test 272 -ne `wc -c <'include/coord.h'`; then
  180.     echo shar: \"'include/coord.h'\" unpacked with wrong size!
  181. fi
  182. # end of 'include/coord.h'
  183. fi
  184. if test -f 'include/edog.h' -a "${1}" != "-c" ; then 
  185.   echo shar: Will not clobber existing file \"'include/edog.h'\"
  186. else
  187. echo shar: Extracting \"'include/edog.h'\" \(791 characters\)
  188. sed "s/^X//" >'include/edog.h' <<'END_OF_FILE'
  189. X/*    SCCS Id: @(#)edog.h    3.1    93/01/16    */
  190. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  191. X/* NetHack may be freely redistributed.  See license for details. */
  192. X
  193. X#ifndef EDOG_H
  194. X#define EDOG_H
  195. X
  196. X/*    various types of food, the lower, the better liked.    */
  197. X
  198. X#define DOGFOOD    0
  199. X#define CADAVER    1
  200. X#define ACCFOOD    2
  201. X#define MANFOOD    3
  202. X#define APPORT    4
  203. X#define POISON    5
  204. X#define UNDEF    6
  205. X#define TABU    7
  206. X
  207. Xstruct edog {
  208. X    long droptime;            /* moment dog dropped object */
  209. X    unsigned dropdist;        /* dist of drpped obj from @ */
  210. X    unsigned apport;        /* amount of training */
  211. X    long whistletime;        /* last time he whistled */
  212. X    long hungrytime;        /* will get hungry at this time */
  213. X    coord ogoal;            /* previous goal location */
  214. X};
  215. X#define EDOG(mon)    ((struct edog *)&(mon)->mextra[0])
  216. X
  217. X#endif /* EDOG_H */
  218. END_OF_FILE
  219. if test 791 -ne `wc -c <'include/edog.h'`; then
  220.     echo shar: \"'include/edog.h'\" unpacked with wrong size!
  221. fi
  222. # end of 'include/edog.h'
  223. fi
  224. if test -f 'include/engrave.h' -a "${1}" != "-c" ; then 
  225.   echo shar: Will not clobber existing file \"'include/engrave.h'\"
  226. else
  227. echo shar: Extracting \"'include/engrave.h'\" \(716 characters\)
  228. sed "s/^X//" >'include/engrave.h' <<'END_OF_FILE'
  229. X/*    SCCS Id: @(#)engrave.h    3.1    91/07/31    */
  230. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  231. X/* NetHack may be freely redistributed.  See license for details. */
  232. X
  233. X#ifndef ENGRAVE_H
  234. X#define ENGRAVE_H
  235. X
  236. Xstruct engr {
  237. X    struct engr *nxt_engr;
  238. X    char *engr_txt;
  239. X    xchar engr_x, engr_y;
  240. X    unsigned engr_lth;    /* for save & restore; not length of text */
  241. X    long engr_time;        /* moment engraving was (will be) finished */
  242. X    xchar engr_type;
  243. X#define DUST      1
  244. X#define ENGRAVE      2
  245. X#define BURN      3
  246. X#define MARK      4
  247. X#define BLOOD      5
  248. X#define N_ENGRAVE 5
  249. X};
  250. X
  251. X#define newengr(lth) (struct engr *)alloc((unsigned)(lth) + sizeof(struct engr))
  252. X#define dealloc_engr(engr) free((genericptr_t) (engr))
  253. X
  254. X#endif /* ENGRAVE_H */
  255. END_OF_FILE
  256. if test 716 -ne `wc -c <'include/engrave.h'`; then
  257.     echo shar: \"'include/engrave.h'\" unpacked with wrong size!
  258. fi
  259. # end of 'include/engrave.h'
  260. fi
  261. if test -f 'include/epri.h' -a "${1}" != "-c" ; then 
  262.   echo shar: Will not clobber existing file \"'include/epri.h'\"
  263. else
  264. echo shar: Extracting \"'include/epri.h'\" \(750 characters\)
  265. sed "s/^X//" >'include/epri.h' <<'END_OF_FILE'
  266. X/*    SCCS Id: @(#)epri.h    3.1    90/22/02    */
  267. X/* Copyright (c) Izchak Miller, 1989.                  */
  268. X/* NetHack may be freely redistributed.  See license for details. */
  269. X
  270. X#ifndef EPRI_H
  271. X#define EPRI_H
  272. X
  273. X#include "dungeon.h"
  274. X#include "align.h"
  275. X
  276. Xstruct epri {
  277. X    aligntyp shralign;    /* alignment of priest's shrine */
  278. X                /* leave as first field to match emin */
  279. X    schar shroom;        /* index in rooms */
  280. X    coord shrpos;        /* position of shrine */
  281. X    d_level shrlevel;    /* level (& dungeon) of shrine */
  282. X};
  283. X
  284. X#define EPRI(mon)    ((struct epri *)&(mon)->mextra[0])
  285. X
  286. X/* A priest without ispriest is a roaming priest without a shrine, so
  287. X * the fields (except shralign, which becomes only the priest alignment)
  288. X * are available for reuse.
  289. X */
  290. X#define renegade shroom
  291. X
  292. X#endif /* EPRI_H */
  293. END_OF_FILE
  294. if test 750 -ne `wc -c <'include/epri.h'`; then
  295.     echo shar: \"'include/epri.h'\" unpacked with wrong size!
  296. fi
  297. # end of 'include/epri.h'
  298. fi
  299. if test -f 'include/eshk.h' -a "${1}" != "-c" ; then 
  300.   echo shar: Will not clobber existing file \"'include/eshk.h'\"
  301. else
  302. echo shar: Extracting \"'include/eshk.h'\" \(1444 characters\)
  303. sed "s/^X//" >'include/eshk.h' <<'END_OF_FILE'
  304. X/*    SCCS Id: @(#)eshk.h    3.1    93/01/06    */
  305. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  306. X/* NetHack may be freely redistributed.  See license for details. */
  307. X
  308. X#ifndef ESHK_H
  309. X#define ESHK_H
  310. X
  311. X#define REPAIR_DELAY    5     /* minimum delay between shop damage & repair */
  312. X
  313. X#define BILLSZ    200
  314. X
  315. Xstruct bill_x {
  316. X    unsigned bo_id;
  317. X    boolean useup;
  318. X    long price;        /* price per unit */
  319. X    long bquan;        /* amount used up */
  320. X};
  321. X
  322. X#include "dungeon.h"
  323. X
  324. Xstruct eshk {
  325. X    long robbed;        /* amount stolen by most recent customer */
  326. X    long credit;        /* amount credited to customer */
  327. X    long debit;        /* amount of debt for using unpaid items */
  328. X    long loan;        /* shop-gold picked (part of debit) */
  329. X    int shoptype;        /* the value of rooms[shoproom].rtype */
  330. X    schar shoproom;        /* index in rooms; set by inshop() */
  331. X    boolean following;    /* following customer since he owes us sth */
  332. X    boolean surcharge;    /* angry shk inflates prices */
  333. X    coord shk;        /* usual position shopkeeper */
  334. X    coord shd;        /* position shop door */
  335. X    d_level shoplevel;    /* level (& dungeon) of his shop */
  336. X    int billct;        /* no. of entries of bill[] in use */
  337. X    struct bill_x bill[BILLSZ];
  338. X    struct bill_x *bill_p;
  339. X    int visitct;        /* nr of visits by most recent customer */
  340. X    char customer[PL_NSIZ];    /* most recent customer */
  341. X    char shknam[PL_NSIZ];
  342. X};
  343. X
  344. X#define ESHK(mon)    ((struct eshk *)&(mon)->mextra[0])
  345. X
  346. X#define NOTANGRY(mon)    ((mon)->mpeaceful)
  347. X#define ANGRY(mon)    (!NOTANGRY(mon))
  348. X
  349. X#endif /* ESHK_H */
  350. END_OF_FILE
  351. if test 1444 -ne `wc -c <'include/eshk.h'`; then
  352.     echo shar: \"'include/eshk.h'\" unpacked with wrong size!
  353. fi
  354. # end of 'include/eshk.h'
  355. fi
  356. if test -f 'include/func_tab.h' -a "${1}" != "-c" ; then 
  357.   echo shar: Will not clobber existing file \"'include/func_tab.h'\"
  358. else
  359. echo shar: Extracting \"'include/func_tab.h'\" \(456 characters\)
  360. sed "s/^X//" >'include/func_tab.h' <<'END_OF_FILE'
  361. X/*    SCCS Id: @(#)func_tab.h    3.1    92/04/03    */
  362. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  363. X/* NetHack may be freely redistributed.  See license for details. */
  364. X
  365. X#ifndef FUNC_TAB_H
  366. X#define FUNC_TAB_H
  367. X
  368. Xstruct func_tab {
  369. X    char f_char;
  370. X    int NDECL((*f_funct));
  371. X    const char *f_text;
  372. X};
  373. X
  374. Xstruct ext_func_tab {
  375. X    const char *ef_txt, *ef_desc;
  376. X    int NDECL((*ef_funct));
  377. X};
  378. X
  379. Xextern const struct ext_func_tab extcmdlist[];
  380. X
  381. X#endif /* FUNC_TAB_H */
  382. END_OF_FILE
  383. if test 456 -ne `wc -c <'include/func_tab.h'`; then
  384.     echo shar: \"'include/func_tab.h'\" unpacked with wrong size!
  385. fi
  386. # end of 'include/func_tab.h'
  387. fi
  388. if test -f 'include/mail.h' -a "${1}" != "-c" ; then 
  389.   echo shar: Will not clobber existing file \"'include/mail.h'\"
  390. else
  391. echo shar: Extracting \"'include/mail.h'\" \(682 characters\)
  392. sed "s/^X//" >'include/mail.h' <<'END_OF_FILE'
  393. X/*    SCCS Id: @(#)mail.h    3.1    91/10/11          */
  394. X/* NetHack may be freely redistributed.  See license for details. */
  395. X
  396. X/* used by ckmailstatus() to pass information to the mail-daemon in newmail() */
  397. X
  398. X#ifndef MAIL_H
  399. X#define MAIL_H
  400. X
  401. X#define MSG_OTHER 0    /* catch-all; none of the below... */
  402. X#define MSG_MAIL  1    /* unimportant, uninteresting mail message */
  403. X#define MSG_CALL  2    /* annoying phone/talk/chat-type interruption */
  404. X
  405. Xstruct mail_info {
  406. X    int     message_typ;        /* MSG_foo value */
  407. X    const char *display_txt;    /* text for daemon to verbalize */
  408. X    const char *object_nam;        /* text to tag object with */
  409. X    const char *response_cmd;    /* command to eventually execute */
  410. X};
  411. X
  412. X#endif /* MAIL_H */
  413. END_OF_FILE
  414. if test 682 -ne `wc -c <'include/mail.h'`; then
  415.     echo shar: \"'include/mail.h'\" unpacked with wrong size!
  416. fi
  417. # end of 'include/mail.h'
  418. fi
  419. if test -f 'include/mfndpos.h' -a "${1}" != "-c" ; then 
  420.   echo shar: Will not clobber existing file \"'include/mfndpos.h'\"
  421. else
  422. echo shar: Extracting \"'include/mfndpos.h'\" \(1073 characters\)
  423. sed "s/^X//" >'include/mfndpos.h' <<'END_OF_FILE'
  424. X/*    SCCS Id: @(#)mfndpos.h    3.1    90/22/02    */
  425. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  426. X/* NetHack may be freely redistributed.  See license for details. */
  427. X
  428. X#ifndef MFNDPOS_H
  429. X#define MFNDPOS_H
  430. X
  431. X#define ALLOW_TRAPS    0x0002FFFFL    /* can enter 18 kinds of traps */
  432. X#define ALLOW_U        0x00040000L    /* can attack you */
  433. X#define ALLOW_M        0x00080000L    /* can attack other monsters */
  434. X#define ALLOW_TM    0x00100000L    /* can attack tame monsters */
  435. X#define ALLOW_ALL    (ALLOW_U | ALLOW_M | ALLOW_TM | ALLOW_TRAPS)
  436. X#define NOTONL        0x00200000L    /* avoids direct line to player */
  437. X#define OPENDOOR    0x00400000L    /* opens closed doors */
  438. X#define UNLOCKDOOR    0x00800000L    /* unlocks locked doors */
  439. X#define BUSTDOOR    0x01000000L    /* breaks any doors */
  440. X#define ALLOW_ROCK    0x02000000L    /* pushes rocks */
  441. X#define ALLOW_WALL    0x04000000L    /* walks thru walls */
  442. X#define ALLOW_DIG    0x08000000L    /* digs */
  443. X#define ALLOW_SANCT    0x20000000L    /* enters temples */
  444. X#define ALLOW_SSM    0x40000000L    /* ignores scare monster */
  445. X#define NOGARLIC    0x80000000L    /* hates garlic */
  446. X
  447. X#endif /* MFNDPOS_H */
  448. END_OF_FILE
  449. if test 1073 -ne `wc -c <'include/mfndpos.h'`; then
  450.     echo shar: \"'include/mfndpos.h'\" unpacked with wrong size!
  451. fi
  452. # end of 'include/mfndpos.h'
  453. fi
  454. if test -f 'include/micro.h' -a "${1}" != "-c" ; then 
  455.   echo shar: Will not clobber existing file \"'include/micro.h'\"
  456. else
  457. echo shar: Extracting \"'include/micro.h'\" \(421 characters\)
  458. sed "s/^X//" >'include/micro.h' <<'END_OF_FILE'
  459. X/*    SCCS Id: @(#)micro.h    3.1    90/22/02    */
  460. X/* micro.h - function declarations for various microcomputers */
  461. X/* NetHack may be freely redistributed.  See license for details. */
  462. X
  463. X#ifndef MICRO_H
  464. X#define MICRO_H
  465. X
  466. Xextern const char *alllevels, *allbones;
  467. Xextern char levels[], bones[], permbones[], hackdir[];
  468. X
  469. Xextern int ramdisk;
  470. X
  471. X#define C(c)    (0x1f & (c))
  472. X#define M(c)    (0x80 | (c))
  473. X#define ABORT C('a')
  474. X
  475. X#endif /* MICRO_H */
  476. END_OF_FILE
  477. if test 421 -ne `wc -c <'include/micro.h'`; then
  478.     echo shar: \"'include/micro.h'\" unpacked with wrong size!
  479. fi
  480. # end of 'include/micro.h'
  481. fi
  482. if test -f 'include/prop.h' -a "${1}" != "-c" ; then 
  483.   echo shar: Will not clobber existing file \"'include/prop.h'\"
  484. else
  485. echo shar: Extracting \"'include/prop.h'\" \(1363 characters\)
  486. sed "s/^X//" >'include/prop.h' <<'END_OF_FILE'
  487. X/*    SCCS Id: @(#)prop.h    3.1    92/11/01    */
  488. X/* Copyright (c) 1989 Mike Threepoint                  */
  489. X/* NetHack may be freely redistributed.  See license for details. */
  490. X
  491. X#ifndef PROP_H
  492. X#define PROP_H
  493. X
  494. X#define FIRE_RES        1
  495. X#define COLD_RES        2
  496. X#define SLEEP_RES        3
  497. X#define DISINT_RES        4
  498. X#define SHOCK_RES        5
  499. X#define POISON_RES        6
  500. X#define ADORNED            7
  501. X#define REGENERATION        8
  502. X#define SEARCHING        9
  503. X#define SEE_INVIS        10
  504. X#define INVIS            11
  505. X#define TELEPORT        12
  506. X#define TELEPORT_CONTROL    13
  507. X#define POLYMORPH        14
  508. X#define POLYMORPH_CONTROL    15
  509. X#define LEVITATION        16
  510. X#define STEALTH            17
  511. X#define AGGRAVATE_MONSTER    18
  512. X#define CONFLICT        19
  513. X#define PROTECTION        20
  514. X#define PROT_FROM_SHAPE_CHANGERS 21
  515. X#define WARNING            22
  516. X#define TELEPAT            23
  517. X#define FAST            24
  518. X#define STUNNED            25
  519. X#define CONFUSION        26
  520. X#define SICK            27
  521. X#define BLINDED            28
  522. X#define SLEEPING        29
  523. X#define WOUNDED_LEGS        30
  524. X#define STONED            31
  525. X#define STRANGLED        32
  526. X#define HALLUC            33
  527. X#define HALLUC_RES        34
  528. X#define FUMBLING        35
  529. X#define JUMPING            36
  530. X#define WWALKING        37
  531. X#define HUNGER            38
  532. X#define GLIB            39
  533. X#define REFLECTING        40
  534. X#define LIFESAVED        41
  535. X#define ANTIMAGIC        42
  536. X#define DISPLACED        43
  537. X#define CLAIRVOYANT        44
  538. X#define VOMITING        45
  539. X#define ENERGY_REGENERATION    46
  540. X#define MAGICAL_BREATHING    47
  541. X#define HALF_SPDAM        48
  542. X#define HALF_PHDAM        49
  543. X#define LAST_PROP        (HALF_PHDAM)        /* the last property */
  544. X
  545. X#endif /* PROP_H */
  546. END_OF_FILE
  547. if test 1363 -ne `wc -c <'include/prop.h'`; then
  548.     echo shar: \"'include/prop.h'\" unpacked with wrong size!
  549. fi
  550. # end of 'include/prop.h'
  551. fi
  552. if test -f 'include/rect.h' -a "${1}" != "-c" ; then 
  553.   echo shar: Will not clobber existing file \"'include/rect.h'\"
  554. else
  555. echo shar: Extracting \"'include/rect.h'\" \(271 characters\)
  556. sed "s/^X//" >'include/rect.h' <<'END_OF_FILE'
  557. X/*    SCCS Id: @(#)rect.h    3.1    90/22/02    */
  558. X/* Copyright (c) 1990 by Jean-Christophe Collet              */
  559. X/* NetHack may be freely redistributed.  See license for details. */
  560. X
  561. X#ifndef RECT_H
  562. X#define RECT_H
  563. X
  564. Xtypedef struct {
  565. X    xchar lx,ly;
  566. X    xchar hx,hy;
  567. X} NhRect;
  568. X
  569. X#endif /* RECT_H */
  570. END_OF_FILE
  571. if test 271 -ne `wc -c <'include/rect.h'`; then
  572.     echo shar: \"'include/rect.h'\" unpacked with wrong size!
  573. fi
  574. # end of 'include/rect.h'
  575. fi
  576. if test -f 'include/vault.h' -a "${1}" != "-c" ; then 
  577.   echo shar: Will not clobber existing file \"'include/vault.h'\"
  578. else
  579. echo shar: Extracting \"'include/vault.h'\" \(817 characters\)
  580. sed "s/^X//" >'include/vault.h' <<'END_OF_FILE'
  581. X/*    SCCS Id: @(#)vault.h    3.1    92/04/18    */
  582. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  583. X/* NetHack may be freely redistributed.  See license for details. */
  584. X
  585. X#ifndef VAULT_H
  586. X#define VAULT_H
  587. X
  588. X#define FCSIZ    (ROWNO+COLNO)
  589. Xstruct fakecorridor {
  590. X    xchar fx,fy,ftyp;
  591. X};
  592. X
  593. X#include "dungeon.h"
  594. X
  595. Xstruct egd {
  596. X    int fcbeg, fcend;    /* fcend: first unused pos */
  597. X    xchar gdx, gdy;        /* goal of guard's walk */
  598. X    xchar ogx, ogy;        /* guard's last position */
  599. X    d_level gdlevel;    /* level (& dungeon) guard was created in */
  600. X    xchar warncnt;        /* number of warnings to follow */
  601. X    int vroom;        /* room number of the vault */
  602. X    Bitfield(gddone,1);    /* true iff guard has released player */
  603. X    Bitfield(unused,7);
  604. X    struct fakecorridor fakecorr[FCSIZ];
  605. X};
  606. X
  607. X#define EGD(mon)    ((struct egd *)&(mon)->mextra[0])
  608. X
  609. X#endif /* VAULT_H */
  610. END_OF_FILE
  611. if test 817 -ne `wc -c <'include/vault.h'`; then
  612.     echo shar: \"'include/vault.h'\" unpacked with wrong size!
  613. fi
  614. # end of 'include/vault.h'
  615. fi
  616. if test -f 'src/alloc.c' -a "${1}" != "-c" ; then 
  617.   echo shar: Will not clobber existing file \"'src/alloc.c'\"
  618. else
  619. echo shar: Extracting \"'src/alloc.c'\" \(1080 characters\)
  620. sed "s/^X//" >'src/alloc.c' <<'END_OF_FILE'
  621. X/*    SCCS Id: @(#)alloc.c    3.1    90/22/02
  622. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  623. X/* NetHack may be freely redistributed.  See license for details. */
  624. X
  625. X/* to get the malloc() prototype from system.h */
  626. X#define ALLOC_C        /* comment line for pre-compiled headers */
  627. X/* since this file is also used in auxiliary programs, don't include all the 
  628. X * function declarations for all of nethack
  629. X */
  630. X#define EXTERN_H    /* comment line for pre-compiled headers */
  631. X#include "config.h"
  632. Xlong *FDECL(alloc,(unsigned int));
  633. X
  634. X#ifdef LINT
  635. X/*
  636. X   a ridiculous definition, suppressing
  637. X    "possible pointer alignment problem" for (long *) malloc()
  638. X   from lint
  639. X*/
  640. Xlong *
  641. Xalloc(n) unsigned int n; {
  642. Xlong dummy = ftell(stderr);
  643. X    if(n) dummy = 0;    /* make sure arg is used */
  644. X    return(&dummy);
  645. X}
  646. X
  647. X#else
  648. X#ifndef __TURBOC__
  649. Xextern void VDECL(panic, (const char *,...)) PRINTF_F(1,2);
  650. X
  651. Xlong *
  652. Xalloc(lth)
  653. Xregister unsigned int lth;
  654. X{
  655. X    register genericptr_t ptr;
  656. X
  657. X    if(!(ptr = malloc(lth)))
  658. X        panic("Cannot get %d bytes", lth);
  659. X    return((long *) ptr);
  660. X}
  661. X#endif
  662. X
  663. X#endif /* LINT /**/
  664. X
  665. X/*alloc.c*/
  666. END_OF_FILE
  667. if test 1080 -ne `wc -c <'src/alloc.c'`; then
  668.     echo shar: \"'src/alloc.c'\" unpacked with wrong size!
  669. fi
  670. # end of 'src/alloc.c'
  671. fi
  672. if test -f 'src/track.c' -a "${1}" != "-c" ; then 
  673.   echo shar: Will not clobber existing file \"'src/track.c'\"
  674. else
  675. echo shar: Extracting \"'src/track.c'\" \(1276 characters\)
  676. sed "s/^X//" >'src/track.c' <<'END_OF_FILE'
  677. X/*    SCCS Id: @(#)track.c    3.1    87/08/08
  678. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  679. X/* NetHack may be freely redistributed.  See license for details. */
  680. X/* track.c - version 1.0.2 */
  681. X
  682. X#include "hack.h"
  683. X
  684. X#define    UTSZ    50
  685. X
  686. XSTATIC_VAR int NEARDATA utcnt, NEARDATA utpnt;
  687. XSTATIC_VAR coord NEARDATA utrack[UTSZ];
  688. X
  689. X#ifdef OVLB
  690. Xvoid
  691. Xinitrack(){
  692. X    utcnt = utpnt = 0;
  693. X}
  694. X#endif /* OVLB */
  695. X
  696. X#ifdef OVL1
  697. X
  698. X/* add to track */
  699. Xvoid
  700. Xsettrack(){
  701. X    if(utcnt < UTSZ) utcnt++;
  702. X    if(utpnt == UTSZ) utpnt = 0;
  703. X    utrack[utpnt].x = u.ux;
  704. X    utrack[utpnt].y = u.uy;
  705. X    utpnt++;
  706. X}
  707. X
  708. X#endif /* OVL1 */
  709. X#ifdef OVL0
  710. X
  711. Xcoord *
  712. Xgettrack(x, y)
  713. Xregister int x, y;
  714. X{
  715. X    register int cnt, ndist;
  716. X    register coord *tc;
  717. X    cnt = utcnt;
  718. X    for(tc = &utrack[utpnt]; cnt--; ){
  719. X    if(tc == utrack) tc = &utrack[UTSZ-1];
  720. X    else tc--;
  721. X    ndist = distmin(x,y,tc->x,tc->y);
  722. X
  723. X    /* if far away, skip track entries til we're closer */
  724. X    if(ndist > 2) {
  725. X        ndist -= 2; /* be careful due to extra decrement at top of loop */
  726. X        cnt -= ndist;
  727. X        if(cnt <= 0)
  728. X        return (coord *) 0; /* too far away, no matches possible */
  729. X        if(tc < &utrack[ndist])
  730. X        tc += (UTSZ-ndist);
  731. X        else
  732. X        tc -= ndist;
  733. X    } else if(ndist <= 1)
  734. X        return(ndist ? tc : 0);
  735. X    }
  736. X    return (coord *)0;
  737. X}
  738. X
  739. X#endif /* OVL0 */
  740. X
  741. X/*track.c*/
  742. END_OF_FILE
  743. if test 1276 -ne `wc -c <'src/track.c'`; then
  744.     echo shar: \"'src/track.c'\" unpacked with wrong size!
  745. fi
  746. # end of 'src/track.c'
  747. fi
  748. if test -f 'sys/amiga/HackWB.uu' -a "${1}" != "-c" ; then 
  749.   echo shar: Will not clobber existing file \"'sys/amiga/HackWB.uu'\"
  750. else
  751. echo shar: Extracting \"'sys/amiga/HackWB.uu'\" \(1186 characters\)
  752. sed "s/^X//" >'sys/amiga/HackWB.uu' <<'END_OF_FILE'
  753. Xbegin 777 HackWB.info
  754. XMXQ```0``````$0`/`%``$P`&``,``0`F":@`)F<(````````````````````
  755. XM```!`P````````````````T````$`````````````$X@``````!0`!(``@`!
  756. XM3B`#```````````````````!`````````````P````````````,```"```!`
  757. XM```C```!@```P```8P!]\8"Y[L`;VF,```&```#```!C``>!@___P?__XP``
  758. XM`8````````,`^]V```!````C!___@```P```8P````'6Y<!\FF,```````#`
  759. XM``!C`````___P?__XP````````````,````````````#`````````````W__
  760. XM_______________________^P````````````,````````````#/__\'__^#
  761. XM___`S```!@```P```,Q]\`:Y[@,;V@#,```&```#````S`>`!````@```,P`
  762. XM``````````#,^]P'__^#___`R```!@```P```,````?6Y0-\F@#````&```#
  763. XM````P```!````@```,````````````#`````````````P````````````(``
  764. XM`````````````````%``$@`"``%/B`,``````/____________[`````````
  765. XM````P````````````,___P```$```"#/__X```#```!@SX(.`+GNP!O:8,__
  766. XM_@```,```&#/^'X#___!___@S__^`````````,\$(@```$```"#(``````#`
  767. XM``!@P````=;EP'R:8,```````,```&#````#___!___@P````````````,``
  768. XM``````````#`````````````@`````````````````````````$`````````
  769. XM```#`````````````P```(?__X/__\,#__^&```#```#`X(/AKGN`QO:`P/_
  770. XM_X8```,```,#^'^$```"```#`___@````````P,$(X?__X/__\,'__^&```#
  771. XM```#````!];E`WR:`P````8```,```,````$```"```#`````````````P``
  772. X<``````````,````````````#?____________P`"
  773. X`
  774. Xend
  775. END_OF_FILE
  776. if test 1186 -ne `wc -c <'sys/amiga/HackWB.uu'`; then
  777.     echo shar: \"'sys/amiga/HackWB.uu'\" unpacked with wrong size!
  778. fi
  779. # end of 'sys/amiga/HackWB.uu'
  780. fi
  781. if test -f 'sys/amiga/amidos.p' -a "${1}" != "-c" ; then 
  782.   echo shar: Will not clobber existing file \"'sys/amiga/amidos.p'\"
  783. else
  784. echo shar: Extracting \"'sys/amiga/amidos.p'\" \(1157 characters\)
  785. sed "s/^X//" >'sys/amiga/amidos.p' <<'END_OF_FILE'
  786. X/*    SCCS Id: @(#)amidos.p     3.1    93/01/08
  787. X/* Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993. */
  788. X/* NetHack may be freely redistributed.  See license for details. */
  789. X
  790. X/* amidos.c */
  791. Xvoid NDECL(flushout );
  792. X#ifndef    getuid
  793. Xint NDECL(getuid );
  794. X#endif
  795. X#ifndef    getpid
  796. Xint NDECL(getpid );
  797. X#endif
  798. X#ifndef    getlogin
  799. Xchar *NDECL(getlogin );
  800. X#endif
  801. X#ifndef    abs
  802. Xint FDECL(abs, (int ));
  803. X#endif
  804. Xint NDECL(tgetch );
  805. Xint NDECL(dosh );
  806. Xlong FDECL(freediskspace, (char *));
  807. Xlong FDECL(filesize, (char *));
  808. Xvoid FDECL(eraseall, (const char * , const char *));
  809. Xchar *FDECL(CopyFile, (const char * , const char *));
  810. Xvoid FDECL(copybones, (int ));
  811. Xvoid NDECL(playwoRAMdisk );
  812. Xint FDECL(saveDiskPrompt, (int ));
  813. Xvoid NDECL(gameDiskPrompt );
  814. Xvoid FDECL(append_slash, (char *));
  815. Xvoid FDECL(getreturn, (const char *));
  816. Xvoid FDECL(msmsg, ( const char *, ... ));
  817. XFILE *FDECL(fopenp, (const char * , const char *));
  818. X#ifndef    __SASC_60
  819. Xint FDECL(chdir, (char *));
  820. X#endif
  821. Xvoid FDECL(msexit, (int ));
  822. X#ifndef    strcmpi
  823. Xint FDECL(strcmpi, (char * , char *));
  824. X#endif
  825. X#if !defined(memcmp) && !defined(AZTEC_C)
  826. Xint FDECL(memcmp, (unsigned char * , unsigned char * , int ));
  827. X#endif
  828. END_OF_FILE
  829. if test 1157 -ne `wc -c <'sys/amiga/amidos.p'`; then
  830.     echo shar: \"'sys/amiga/amidos.p'\" unpacked with wrong size!
  831. fi
  832. # end of 'sys/amiga/amidos.p'
  833. fi
  834. if test -f 'sys/amiga/amifont.uu' -a "${1}" != "-c" ; then 
  835.   echo shar: Will not clobber existing file \"'sys/amiga/amifont.uu'\"
  836. else
  837. echo shar: Extracting \"'sys/amiga/amifont.uu'\" \(390 characters\)
  838. sed "s/^X//" >'sys/amiga/amifont.uu' <<'END_OF_FILE'
  839. Xbegin 777 hack.font
  840. XM#P```6AA8VLO.```````````````````````````````````````````````
  841. XM````````````````````````````````````````````````````````````
  842. XM````````````````````````````````````````````````````````````
  843. XM````````````````````````````````````````````````````````````
  844. XM````````````````````````````````````````````````````````````
  845. XG````````````````````````````````````````````````"`!`
  846. X`
  847. Xend
  848. END_OF_FILE
  849. if test 390 -ne `wc -c <'sys/amiga/amifont.uu'`; then
  850.     echo shar: \"'sys/amiga/amifont.uu'\" unpacked with wrong size!
  851. fi
  852. # end of 'sys/amiga/amifont.uu'
  853. fi
  854. if test -f 'sys/amiga/amigst.c' -a "${1}" != "-c" ; then 
  855.   echo shar: Will not clobber existing file \"'sys/amiga/amigst.c'\"
  856. else
  857. echo shar: Extracting \"'sys/amiga/amigst.c'\" \(976 characters\)
  858. sed "s/^X//" >'sys/amiga/amigst.c' <<'END_OF_FILE'
  859. X/*    SCCS Id: @(#)amigst.c     3.1    93/01/08
  860. X/*    Copyright (c) Gregg Wonderly, Naperville, IL, 1992, 1993      */
  861. X/* NetHack may be freely redistributed.  See license for details. */
  862. X
  863. X#include <stdio.h>
  864. X#include <exec/types.h>
  865. X#include <exec/io.h>
  866. X#include <exec/alerts.h>
  867. X#include <exec/devices.h>
  868. X#include <devices/console.h>
  869. X#include <devices/conunit.h>
  870. X#include <graphics/gfxbase.h>
  871. X#include <intuition/intuition.h>
  872. X#include <libraries/dosextens.h>
  873. X#include <ctype.h>
  874. X#undef  strcmpi
  875. X#include <string.h>
  876. X#include <errno.h>
  877. X
  878. X#ifdef __SASC
  879. X#include <dos.h>        /* for __emit */
  880. X#include <string.h>
  881. X#include <proto/dos.h>
  882. X#include <proto/exec.h>
  883. X#include <proto/graphics.h>
  884. X#include <proto/intuition.h>
  885. X#include <proto/diskfont.h>
  886. X#include <proto/console.h>
  887. X#endif
  888. X
  889. X#include "hack.h"
  890. X#include "winprocs.h"
  891. X#include "winami.h"
  892. X
  893. X#ifdef AZTEC
  894. X#include <functions.h>
  895. X#endif
  896. X
  897. X#include "Amiga:winami.p"
  898. X#include "Amiga:amiwind.p"
  899. X#include "Amiga:amidos.p"
  900. X
  901. X/* end amigst.c */
  902. END_OF_FILE
  903. if test 976 -ne `wc -c <'sys/amiga/amigst.c'`; then
  904.     echo shar: \"'sys/amiga/amigst.c'\" unpacked with wrong size!
  905. fi
  906. # end of 'sys/amiga/amigst.c'
  907. fi
  908. if test -f 'sys/amiga/amiwind.p' -a "${1}" != "-c" ; then 
  909.   echo shar: Will not clobber existing file \"'sys/amiga/amiwind.p'\"
  910. else
  911. echo shar: Extracting \"'sys/amiga/amiwind.p'\" \(1292 characters\)
  912. sed "s/^X//" >'sys/amiga/amiwind.p' <<'END_OF_FILE'
  913. X/*   SCCS Id: @(#)amiwind.p    3.1    93/01/08          */
  914. X/*   Copyright (c) Gregg Wonderly, Naperville, IL, 1992, 1993      */
  915. X/* NetHack may be freely redistributed.  See license for details. */
  916. X/* amiwind.c */
  917. X#ifdef    INTUI_NEW_LOOK
  918. Xstruct Window *FDECL(OpenShWindow, (struct ExtNewWindow *));
  919. X#else
  920. Xstruct Window *FDECL(OpenShWindow, (struct NewWindow *));
  921. X#endif
  922. Xvoid FDECL(CloseShWindow, (struct Window *));
  923. Xint NDECL(kbhit );
  924. Xint NDECL(WindowGetchar );
  925. XWETYPE NDECL(WindowGetevent );
  926. Xvoid NDECL(WindowFlush );
  927. Xvoid FDECL(WindowPutchar, (char ));
  928. Xvoid FDECL(WindowFPuts, (const char *));
  929. Xvoid FDECL(WindowPuts, (const char *));
  930. Xvoid FDECL( WindowPrintf, ( char *,... ));
  931. Xvoid NDECL(CleanUp );
  932. Xint FDECL(ConvertKey, ( struct IntuiMessage * ));
  933. Xvoid FDECL(Abort, (long ));
  934. Xvoid FDECL(flush_glyph_buffer, (struct Window *));
  935. Xvoid FDECL(amiga_print_glyph, (winid , int , int ));
  936. Xvoid FDECL(start_glyphout, (winid ));
  937. Xvoid FDECL(end_glyphout, (winid ));
  938. X#ifdef    INTUI_NEW_LOOK
  939. Xstruct ExtNewWindow *FDECL(DupNewWindow, (struct ExtNewWindow *));
  940. Xvoid FDECL(FreeNewWindow, (struct ExtNewWindow *));
  941. X#else
  942. Xstruct NewWindow *FDECL(DupNewWindow, (struct NewWindow *));
  943. Xvoid FDECL(FreeNewWindow, (struct NewWindow *));
  944. X#endif
  945. Xvoid NDECL(bell );
  946. Xvoid NDECL(amii_delay_output );
  947. Xvoid FDECL(amii_number_pad, (int ));
  948. END_OF_FILE
  949. if test 1292 -ne `wc -c <'sys/amiga/amiwind.p'`; then
  950.     echo shar: \"'sys/amiga/amiwind.p'\" unpacked with wrong size!
  951. fi
  952. # end of 'sys/amiga/amiwind.p'
  953. fi
  954. if test -f 'sys/amiga/ifchange' -a "${1}" != "-c" ; then 
  955.   echo shar: Will not clobber existing file \"'sys/amiga/ifchange'\"
  956. else
  957. echo shar: Extracting \"'sys/amiga/ifchange'\" \(1161 characters\)
  958. sed "s/^X//" >'sys/amiga/ifchange' <<'END_OF_FILE'
  959. X.KEY oper/a,tmp/a,real/a,f1,f2,f3,f4,f5
  960. X
  961. X. ; miscellaneous script functions for the Amiga
  962. X. ; SCCS Id: @(#)ifchange    3.1    93/01/08
  963. X. ; Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993.
  964. X. ; NetHack mat be freely redistributed.  See license for details.
  965. X
  966. XFAILAT 6
  967. XIF <oper> EQ "MOVE"
  968. X  IF EXISTS <real>
  969. X  diff >T:mic -c <tmp> <real>
  970. X  search from T:mic SEARCH "---" QUIET
  971. X    IF WARN
  972. X      echo "MOVE: no change"
  973. X      delete <tmp>
  974. X    ELSE
  975. X      echo "MOVE: copy"
  976. X      copy <tmp> <real> clone
  977. X      delete <tmp>
  978. X    ENDIF
  979. X  ELSE
  980. X    echo "MOVE: copy2"
  981. X    copy <tmp> <real> clone
  982. X    delete <tmp>
  983. X  ENDIF
  984. X  QUIT
  985. XENDIF
  986. X
  987. XIF <oper> EQ "TOUCH"
  988. X  IF EXISTS <real>
  989. X  diff >T:mic -c <tmp> <real>
  990. X  search from T:mic SEARCH "---" QUIET
  991. X    IF NOT WARN
  992. X      echo "TOUCH: touch"
  993. X      IF NOT <f1$@> EQ "@"
  994. X        setdate <f1>
  995. X      ENDIF
  996. X      IF NOT <f2$@> EQ "@"
  997. X        setdate <f2>
  998. X      ENDIF
  999. X      IF NOT <f3$@> EQ "@"
  1000. X        setdate <f3>
  1001. X      ENDIF
  1002. X      IF NOT <f4$@> EQ "@"
  1003. X        setdate <f4>
  1004. X      ENDIF
  1005. X      IF NOT <f5$@> EQ "@"
  1006. X        setdate <f5>
  1007. X      ENDIF
  1008. X    ENDIF
  1009. X  ENDIF
  1010. X  QUIT
  1011. XENDIF
  1012. X
  1013. Xecho "ifchange: '<oper>' not recognized"
  1014. Xquit 10
  1015. END_OF_FILE
  1016. if test 1161 -ne `wc -c <'sys/amiga/ifchange'`; then
  1017.     echo shar: \"'sys/amiga/ifchange'\" unpacked with wrong size!
  1018. fi
  1019. # end of 'sys/amiga/ifchange'
  1020. fi
  1021. if test -f 'sys/amiga/randwin.uu' -a "${1}" != "-c" ; then 
  1022.   echo shar: Will not clobber existing file \"'sys/amiga/randwin.uu'\"
  1023. else
  1024. echo shar: Extracting \"'sys/amiga/randwin.uu'\" \(963 characters\)
  1025. sed "s/^X//" >'sys/amiga/randwin.uu' <<'END_OF_FILE'
  1026. Xbegin 777 randwin.pw
  1027. XM4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+"`Q.3@X(&)Y($E.3U9!5%)/3DE#
  1028. XM4RP@24Y#+B`@("`@("`@("`@("`@("`@("`@("`@```"[`````E```#\````
  1029. XM`0`````!`````!!A;6EG83IR86YD=VEN+F,``$H+```````"@`#(``(``8``
  1030. XM``\``````",4B````````````````@````$``````0`````!``````R@H*``
  1031. XM``#P\/"00'`````!``(0``!(`D``!0`%_____P``````)'[P````````````
  1032. XM```````````!`"-:2```````!5)N9%\```$`K@`Z`/D`6@`%``7_____````
  1033. XM`0```````&,`00`P`!$````#``$`2B<\```````C^'@``````````````"4,
  1034. XMX/____\#```%`$HG3````````````#$````Q`!(````2```````````#``$`
  1035. XM``@`!0``````(V%@``````````5/2T%9``````H````!`"-O0``C<$@`(\&P
  1036. XM`"/#B``CP^``(_@@`````0`````!``````$``````C$``````0`````!``,`
  1037. XM`0``!P`&```````E&J``)1KX````(EEO=2!A<VME9"!F;W(@82!R86YD;VT@
  1038. XM0VAA<F%C=&5R+``#``$```\`$@``````)1W0`"4?&````!Y)('1H:6YK('1H
  1039. XM870@>6]U('=I;&P@:&%V92!A;@`#``$``!D`'0``````)288`"57:````!EE
  1040. XM>&-I=&EN9R!G86UE('!L87EI;F<@87,``0`!``!#`"\``````"57N``FB"@`
  1041. XM```10VAA<F%C=&5R($-H;VEC90`#``$``,8`'0``````)./0``````````)A
  1042. X!```1
  1043. X`
  1044. Xend
  1045. END_OF_FILE
  1046. if test 963 -ne `wc -c <'sys/amiga/randwin.uu'`; then
  1047.     echo shar: \"'sys/amiga/randwin.uu'\" unpacked with wrong size!
  1048. fi
  1049. # end of 'sys/amiga/randwin.uu'
  1050. fi
  1051. if test -f 'sys/amiga/splitter/arg.h' -a "${1}" != "-c" ; then 
  1052.   echo shar: Will not clobber existing file \"'sys/amiga/splitter/arg.h'\"
  1053. else
  1054. echo shar: Extracting \"'sys/amiga/splitter/arg.h'\" \(485 characters\)
  1055. sed "s/^X//" >'sys/amiga/splitter/arg.h' <<'END_OF_FILE'
  1056. X/*    SCCS Id: @(#)arg.h        3.1   93/01/08
  1057. X/*    Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993 */
  1058. X/* NetHack may be freely redistributed.  See license for details. */
  1059. X
  1060. X/*
  1061. X * arg.h
  1062. X * external interface for argument parsing
  1063. X */
  1064. X
  1065. Xint arg_next(void);
  1066. Xvoid arg_init(char *,int, char **);
  1067. X
  1068. Xextern char *argarg;
  1069. X
  1070. X#define ARG_ERROR    (-2)    /* no such arg, bad file, etc. */
  1071. X#define ARG_DONE    (-1)    /* ok, but nothing left */
  1072. X#define ARG_FREE    0    /* a name not associated with an arg */
  1073. END_OF_FILE
  1074. if test 485 -ne `wc -c <'sys/amiga/splitter/arg.h'`; then
  1075.     echo shar: \"'sys/amiga/splitter/arg.h'\" unpacked with wrong size!
  1076. fi
  1077. # end of 'sys/amiga/splitter/arg.h'
  1078. fi
  1079. if test -f 'sys/amiga/splitter/multi.h' -a "${1}" != "-c" ; then 
  1080.   echo shar: Will not clobber existing file \"'sys/amiga/splitter/multi.h'\"
  1081. else
  1082. echo shar: Extracting \"'sys/amiga/splitter/multi.h'\" \(1005 characters\)
  1083. sed "s/^X//" >'sys/amiga/splitter/multi.h' <<'END_OF_FILE'
  1084. X/*     SCCS Id: @(#)multi.h 3.1    93/01/08
  1085. X/*    Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1992, 1993 */
  1086. X/* NetHack may be freely redistributed.  See license for details. */
  1087. X
  1088. X/*
  1089. X * external definitions for multi-file file handling package.
  1090. X * NB - internal structure under development.  End users should NOT
  1091. X *      get too creative!
  1092. X */
  1093. X
  1094. Xunion multiopts {
  1095. X    struct mo_read {
  1096. X        char mor_tag;    /* tag character for this open */
  1097. X    }r;
  1098. X    struct mo_write {
  1099. X        char dummy;    /* (no write in this version) */
  1100. X    }w;
  1101. X};
  1102. X
  1103. Xstruct multifh {
  1104. X    unsigned long mfh_fh;    /* AmigaDOS file handle of current segment */
  1105. X    unsigned long mfh_dirfh;/* AmigaDOS file handle of direction file */
  1106. X    union multiopts mfh_mo;    /* copy from MultiOpen */
  1107. X    struct mfh_flags {
  1108. X        int version:8;    /* not used yet */
  1109. X        int flags:24;    /* not used yet */
  1110. X    };
  1111. X};
  1112. X
  1113. Xtypedef union multiopts multiopts;
  1114. Xtypedef struct multifh multifh;
  1115. X
  1116. Xextern BPTR MultiOpen(char *, ULONG, multiopts *);
  1117. Xextern ULONG MultiRead(BPTR, void *, ULONG);
  1118. Xextern void MultiClose(BPTR);
  1119. END_OF_FILE
  1120. if test 1005 -ne `wc -c <'sys/amiga/splitter/multi.h'`; then
  1121.     echo shar: \"'sys/amiga/splitter/multi.h'\" unpacked with wrong size!
  1122. fi
  1123. # end of 'sys/amiga/splitter/multi.h'
  1124. fi
  1125. if test -f 'sys/amiga/string.uu' -a "${1}" != "-c" ; then 
  1126.   echo shar: Will not clobber existing file \"'sys/amiga/string.uu'\"
  1127. else
  1128. echo shar: Extracting \"'sys/amiga/string.uu'\" \(900 characters\)
  1129. sed "s/^X//" >'sys/amiga/string.uu' <<'END_OF_FILE'
  1130. Xbegin 777 string.pw
  1131. XM4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+"`Q.3@X(&)Y($E.3U9!5%)/3DE#
  1132. XM4RP@24Y#+B`@("`@("`@("`@("`@("`@("`@("`@```"K`````E``8#_````
  1133. XM`0`````!``````ES=')I;F<N8P```````````0`"$`X```)```4`!?____\`
  1134. XM`````````````````````````````````@`@A=````````$```$`.0!``@X`
  1135. XM'P`%``7_____`````0``*JB8`$T`#P&V``H```(#``0`*J;<````````````
  1136. XM`````"JG"````"=RP/____\#```%`"JF[````````````;<```&W``L````+
  1137. XM``````````````!D`"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  1138. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(#@`````
  1139. XM>*H`*>)`````0@`IXM@`U``/`!@``````0H```(!`")TT``B<6@`(G)(`")^
  1140. XMJ``D+0``)"T0````"E-T<E-T<FEN9P`````!``````$``````RTQ``````$`
  1141. XM`````0````````D`#P`X``H````#``$`*JC$```````G1$@`````````````
  1142. XM`"JH\/____\#```%`"JHU````````````#D````Y``L````+```````````#
  1143. XM``$```0``0``````)=@H``````````=#86YC96P`````"@````$`)=PH`"7<
  1144. XML``G1=``)VD8`"=N8``JIS@````!``````$``````0`````",0`````!````
  1145. X#``$`
  1146. X`
  1147. Xend
  1148. END_OF_FILE
  1149. if test 900 -ne `wc -c <'sys/amiga/string.uu'`; then
  1150.     echo shar: \"'sys/amiga/string.uu'\" unpacked with wrong size!
  1151. fi
  1152. # end of 'sys/amiga/string.uu'
  1153. fi
  1154. if test -f 'sys/atari/nethack.mnu' -a "${1}" != "-c" ; then 
  1155.   echo shar: Will not clobber existing file \"'sys/atari/nethack.mnu'\"
  1156. else
  1157. echo shar: Extracting \"'sys/atari/nethack.mnu'\" \(766 characters\)
  1158. sed "s/^X//" >'sys/atari/nethack.mnu' <<'END_OF_FILE'
  1159. X# Sample .mnu file for NetHack
  1160. X# This will work only with MINIWIN v1.1
  1161. X# or TOSWIN v2.0 (or better)
  1162. X
  1163. X#%title "NetHack"
  1164. X#%about "About NetHack" "v"
  1165. X
  1166. XFile
  1167. X    "Shell"        "!"
  1168. X    "Options"    "O"
  1169. X    ---
  1170. X    "Save Game"    "S"
  1171. X    ---
  1172. X    "Quit"        ?"[1][Really quit?][ Yes | No ]":%A"Qy":!
  1173. XEdit
  1174. X    "Copy"        %C
  1175. X    "Paste"        %P
  1176. X    "Paste Options..."    %O
  1177. X    ---
  1178. X    "Set Font..."    %F
  1179. XInventory
  1180. X    "Show Inventory"    "i"
  1181. X    --
  1182. X    "Put on jewelry" "P"
  1183. X    "Remove jewelry" "R"
  1184. X    "Wear armor"    "W"
  1185. X    "Take off armor" "T"
  1186. X    "Wield weapon"    "w"
  1187. X    ---
  1188. X    "Eat"        "e"
  1189. X    "Quaff potion"    "q"
  1190. X    ---
  1191. X    "Drop"        "d"
  1192. X    "Throw"        "t"
  1193. XMove
  1194. X    "North"    "k"    4800
  1195. X    "South"    "j"    5000
  1196. X    "East"    "l"    4d00
  1197. X    "West"    "h"    4b00
  1198. X    ---
  1199. X    "Rest"    "."
  1200. X    ---
  1201. X    "Open door" "o"
  1202. X    "Close door" "c"
  1203. XMisc
  1204. X    "Help"    "?"    6200
  1205. X    "List known spells" "x"
  1206. X    "Cast spell" "Z"
  1207. X    ---
  1208. X    "Abort" 001b    6100
  1209. END_OF_FILE
  1210. if test 766 -ne `wc -c <'sys/atari/nethack.mnu'`; then
  1211.     echo shar: \"'sys/atari/nethack.mnu'\" unpacked with wrong size!
  1212. fi
  1213. # end of 'sys/atari/nethack.mnu'
  1214. fi
  1215. if test -f 'sys/mac/macunix.c' -a "${1}" != "-c" ; then 
  1216.   echo shar: Will not clobber existing file \"'sys/mac/macunix.c'\"
  1217. else
  1218. echo shar: Extracting \"'sys/mac/macunix.c'\" \(992 characters\)
  1219. sed "s/^X//" >'sys/mac/macunix.c' <<'END_OF_FILE'
  1220. X/*    SCCS Id: @(#)macunix.c    3.1    90/22/02
  1221. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1222. X/* NetHack may be freely redistributed.  See license for details. */
  1223. X
  1224. X/* This file collects some Unix dependencies */
  1225. X
  1226. X#include "hack.h"
  1227. X#include <fcntl.h>
  1228. X
  1229. Xint FDECL(uptodate, (int));
  1230. Xvoid FDECL(regularize,(char *));
  1231. Xvoid NDECL(getlock);
  1232. X
  1233. X
  1234. Xint
  1235. Xuptodate(int fd)
  1236. X{
  1237. X    return(1);
  1238. X}
  1239. X
  1240. X
  1241. Xvoid
  1242. Xregularize(char *s)
  1243. X{
  1244. X    register char *lp;
  1245. X
  1246. X    while((lp=index(s, '.')) || (lp=index(s, ':')) )
  1247. X        *lp = '_';
  1248. X}
  1249. X
  1250. X
  1251. Xvoid
  1252. Xgetlock( void )
  1253. X{
  1254. X    int fd ;
  1255. X    int pid = getpid() ; /* Process Serial Number ? */
  1256. X
  1257. X    set_levelfile_name ( lock , 0 ) ;
  1258. X
  1259. X    if ( ( fd = open ( lock , O_RDWR | O_EXCL | O_CREAT , LEVL_TYPE ) ) == -1 ) {
  1260. X        raw_printf ( "Could not lock the game %s." , lock ) ;
  1261. X        panic ( "Another game in progress ?" ) ;
  1262. X    }
  1263. X
  1264. X    if ( write ( fd , ( char * ) & pid , sizeof ( pid ) ) != sizeof ( pid ) ) {
  1265. X        raw_printf ( "Could not lock the game %s." , lock ) ;
  1266. X        panic ( "Disk Locked ?" ) ;
  1267. X    }
  1268. X
  1269. X    close ( fd ) ;
  1270. X}
  1271. END_OF_FILE
  1272. if test 992 -ne `wc -c <'sys/mac/macunix.c'`; then
  1273.     echo shar: \"'sys/mac/macunix.c'\" unpacked with wrong size!
  1274. fi
  1275. # end of 'sys/mac/macunix.c'
  1276. fi
  1277. if test -f 'sys/mac/mstring.c' -a "${1}" != "-c" ; then 
  1278.   echo shar: Will not clobber existing file \"'sys/mac/mstring.c'\"
  1279. else
  1280. echo shar: Extracting \"'sys/mac/mstring.c'\" \(651 characters\)
  1281. sed "s/^X//" >'sys/mac/mstring.c' <<'END_OF_FILE'
  1282. X/*    SCCS Id: @(#)mstring.c    3.1    93/01/24          */
  1283. X/* Copyright (c) Jon W{tte */
  1284. X/* NetHack may be freely redistributed.  See license for details. */
  1285. X
  1286. X#ifdef applec
  1287. X
  1288. Xextern int strlen ( char * ) ;
  1289. Xchar * PtoCstr ( unsigned char * ) ;
  1290. Xunsigned char * PtoCstr ( char * ) ;
  1291. X
  1292. Xchar *
  1293. XPtoCstr ( unsigned char * p )
  1294. X{
  1295. X    int len = * p ;
  1296. X    char * ret = ( char * ) p ;
  1297. X
  1298. X    while ( len -- ) {
  1299. X
  1300. X        * p = p [ 1 ] ;
  1301. X        p ++ ;
  1302. X    }
  1303. X    * p = 0 ;
  1304. X
  1305. X    return ret ;
  1306. X}
  1307. X
  1308. X
  1309. Xunsigned char *
  1310. XCtoPstr ( char * p )
  1311. X{
  1312. X    int len = strlen ( p ) ;
  1313. X    unsigned char * ret = ( unsigned char * ) p ;
  1314. X
  1315. X    p += len ;
  1316. X    while ( p > ret ) {
  1317. X
  1318. X        * p = p [ -1 ] ;
  1319. X        p -- ;
  1320. X    }
  1321. X    * ret = len ;
  1322. X
  1323. X    return ret ;
  1324. X}
  1325. X
  1326. X#endif
  1327. END_OF_FILE
  1328. if test 651 -ne `wc -c <'sys/mac/mstring.c'`; then
  1329.     echo shar: \"'sys/mac/mstring.c'\" unpacked with wrong size!
  1330. fi
  1331. # end of 'sys/mac/mstring.c'
  1332. fi
  1333. if test -f 'sys/msdos/nhico.uu' -a "${1}" != "-c" ; then 
  1334.   echo shar: Will not clobber existing file \"'sys/msdos/nhico.uu'\"
  1335. else
  1336. echo shar: Extracting \"'sys/msdos/nhico.uu'\" \(1263 characters\)
  1337. sed "s/^X//" >'sys/msdos/nhico.uu' <<'END_OF_FILE'
  1338. Xsection 1 of uuencode 4.13 of file NETHACK.ICO    by R.E.M.
  1339. X
  1340. Xbegin 644 NETHACK.ICO
  1341. XM```!``$`("`0``````#H`@``%@```"@````@````0`````$`!```````@`(`.
  1342. XM``````````````````````````````"```"`````@(``@````(``@`"`@```6
  1343. XM@("``,#`P````/\``/\```#__P#_````_P#_`/__``#___\`]F9F9F9F9F9F*
  1344. XM9F9F9F9F9O]F9F9F9F9F9F9F9F9F9F;_B(B(B(B(B(B(B(B(B&9F_XB(B(B(D
  1345. XMB(B(B(B(B(AF9O^(B(B(A555B(B(B(B(9F;_B(B(B`!5!8B(B(B(B&9F_XB('
  1346. XMB(@```6(B(B(B(AF9O^(B%554`!56(B(B(B(9F;_B(N[N[`.XU6(B(B(B&9F[
  1347. XM_XB[N[L`ONXU6(B(B(AF9O^+N[N[N[ONXUB(B(B(9F;_B[N[N[N[ONY3B(B(N
  1348. XMB&9F_XN[NYF9F[ONXSB(B(AF9O^+N[F9F9F[ONXSB(B(9F;_B[N9F9F9F[ON?
  1349. XMXSB(B&9F_XNYF9F9F9F[7NXSB(AF9O^+N9F9F9F9NUCNXSB(9F;_B[F9F9F9J
  1350. XMF;M8CNXSB&9F_XNYF9F9F9F[6(CNXXAF9O^+N9F9F9F9NUB(CNZ(9F;_B[N9]
  1351. XMF9F9F[M8B(CNB&9F_XN[N9F9F;N[6(B(B(AF9O^+N[N9F9N[NUB(B(B(9F;_R
  1352. XMB[N[N[N[N[M8B(B(B&9F_XN[N[N[N[N[B(B(B(AF9O^+NXB(B(B+NXB(B(B(F
  1353. XM9F;_B[B(B(B(B+N(B(B(B&9F_XB(B(B(B(B(B(B(B(AF9O^(B(B(B(B(B(B(J
  1354. XMB(B(9F;_B(B(B(B(B(B(B(B(B&9F___________________V9O__________%
  1355. XM__________\`````````````````````````````````````````````````R
  1356. XM`````````````````````````````````````````````````````````````
  1357. XM`````````````````````````````````````````````````````````````
  1358. X!`````
  1359. X``
  1360. Xend
  1361. Xsum -r/size 23881/1107 section (from "begin" to "end")
  1362. Xsum -r/size 55184/766 entire input file
  1363. END_OF_FILE
  1364. if test 1263 -ne `wc -c <'sys/msdos/nhico.uu'`; then
  1365.     echo shar: \"'sys/msdos/nhico.uu'\" unpacked with wrong size!
  1366. fi
  1367. chmod +x 'sys/msdos/nhico.uu'
  1368. # end of 'sys/msdos/nhico.uu'
  1369. fi
  1370. if test -f 'sys/msdos/nhpif.uu' -a "${1}" != "-c" ; then 
  1371.   echo shar: Will not clobber existing file \"'sys/msdos/nhpif.uu'\"
  1372. else
  1373. echo shar: Extracting \"'sys/msdos/nhpif.uu'\" \(782 characters\)
  1374. sed "s/^X//" >'sys/msdos/nhpif.uu' <<'END_OF_FILE'
  1375. Xbegin 666 nethack.pif
  1376. XM`%M00R!.971H86-K(#,N,2`@("`@("`@("`@("`@(""``(``0SI<3D542$%#
  1377. XM2UQ.151(04-++D5810`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  1378. XM("`@("`@("`@$`!#.EQ.151(04-+`"`@("`@("`@("`@("`@("`@("`@("`@
  1379. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@````````````````````
  1380. XM````````````````````````````````````````````````````````````
  1381. XM```````!`/\94```!P``````````````````````````````````````````
  1382. XM````````````````````````````````````````````````````````````
  1383. XM````````````````````````````````````````````````````````````
  1384. XM`````````.`@34E#4D]33T94(%!)1D58`(<!``!Q`5=)3D1/5U,@,S@V(#,N
  1385. XM,``%`IT!:`"``@`"9``R`/__``#__P```!`"`!\`````````````````````
  1386. XM```````@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  1387. XM("`@("`@("`@("`@("`@("`@("`@(%=)3D1/5U,@,C@V(#,N,`#__QL"!@``
  1388. X%```````@
  1389. X`
  1390. Xend
  1391. END_OF_FILE
  1392. if test 782 -ne `wc -c <'sys/msdos/nhpif.uu'`; then
  1393.     echo shar: \"'sys/msdos/nhpif.uu'\" unpacked with wrong size!
  1394. fi
  1395. # end of 'sys/msdos/nhpif.uu'
  1396. fi
  1397. if test -f 'sys/share/Makefile.lib' -a "${1}" != "-c" ; then 
  1398.   echo shar: Will not clobber existing file \"'sys/share/Makefile.lib'\"
  1399. else
  1400. echo shar: Extracting \"'sys/share/Makefile.lib'\" \(447 characters\)
  1401. sed "s/^X//" >'sys/share/Makefile.lib' <<'END_OF_FILE'
  1402. X#    SCCS Id: @(#)Makefile.lib    3.1    90/22/02
  1403. X#    Nethack makefile for Fred fish termlib -- Norman Meluch
  1404. X#
  1405. XCC    = cl /c
  1406. XMODEL    = L
  1407. XCFLAGS    = /A$(MODEL) /Os /Oa /Gs /Zp1 /W0
  1408. X#
  1409. X# Termcap routines.
  1410. XTERMLIB = termlib.lib
  1411. X#
  1412. XTL_LOBJECTS =    tgetent.o    tgetflag.o     tgetnum.o    \
  1413. X        tgetstr.o    tgoto.o        tputs.o        \
  1414. X        isdigit.o    fgetlr.o
  1415. X#
  1416. X.SUFFIXES: .exe .o .c .obj .asm
  1417. X#
  1418. X.c.o:
  1419. X    $(CC) $(CFLAGS) /Fo$*.o $*.c
  1420. X#
  1421. X$(TERMLIB):    $(TL_LOBJECTS)
  1422. X    lib $(TERMLIB) -+ $(TL_LOBJECTS);
  1423. X
  1424. END_OF_FILE
  1425. if test 447 -ne `wc -c <'sys/share/Makefile.lib'`; then
  1426.     echo shar: \"'sys/share/Makefile.lib'\" unpacked with wrong size!
  1427. fi
  1428. # end of 'sys/share/Makefile.lib'
  1429. fi
  1430. if test -f 'sys/share/dgn_comp.h' -a "${1}" != "-c" ; then 
  1431.   echo shar: Will not clobber existing file \"'sys/share/dgn_comp.h'\"
  1432. else
  1433. echo shar: Extracting \"'sys/share/dgn_comp.h'\" \(526 characters\)
  1434. sed "s/^X//" >'sys/share/dgn_comp.h' <<'END_OF_FILE'
  1435. X
  1436. Xtypedef union 
  1437. X{
  1438. X    int    i;
  1439. X    char*    str;
  1440. X} YYSTYPE;
  1441. Xextern YYSTYPE yylval;
  1442. X# define INTEGER 257
  1443. X# define A_DUNGEON 258
  1444. X# define BRANCH 259
  1445. X# define CHBRANCH 260
  1446. X# define LEVEL 261
  1447. X# define RNDLEVEL 262
  1448. X# define CHLEVEL 263
  1449. X# define RNDCHLEVEL 264
  1450. X# define UP_OR_DOWN 265
  1451. X# define PROTOFILE 266
  1452. X# define DESCRIPTION 267
  1453. X# define DESCRIPTOR 268
  1454. X# define LEVELDESC 269
  1455. X# define ALIGNMENT 270
  1456. X# define LEVALIGN 271
  1457. X# define ENTRY 272
  1458. X# define STAIR 273
  1459. X# define NO_UP 274
  1460. X# define NO_DOWN 275
  1461. X# define PORTAL 276
  1462. X# define STRING 277
  1463. END_OF_FILE
  1464. if test 526 -ne `wc -c <'sys/share/dgn_comp.h'`; then
  1465.     echo shar: \"'sys/share/dgn_comp.h'\" unpacked with wrong size!
  1466. fi
  1467. # end of 'sys/share/dgn_comp.h'
  1468. fi
  1469. if test -f 'sys/share/pctty.c' -a "${1}" != "-c" ; then 
  1470.   echo shar: Will not clobber existing file \"'sys/share/pctty.c'\"
  1471. else
  1472. echo shar: Extracting \"'sys/share/pctty.c'\" \(1272 characters\)
  1473. sed "s/^X//" >'sys/share/pctty.c' <<'END_OF_FILE'
  1474. X/*    SCCS Id: @(#)pctty.c    3.1    90/22/02
  1475. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  1476. X/* NetHack may be freely redistributed.  See license for details. */
  1477. X
  1478. X/* tty.c - (PC) version */
  1479. X
  1480. X#define NEED_VARARGS /* Uses ... */    /* comment line for pre-compiled headers */
  1481. X#include "hack.h"
  1482. X#include "wintty.h"
  1483. X
  1484. Xchar erase_char, kill_char;
  1485. X
  1486. X/*
  1487. X * Get initial state of terminal, set ospeed (for termcap routines)
  1488. X * and switch off tab expansion if necessary.
  1489. X * Called by startup() in termcap.c and after returning from ! or ^Z
  1490. X */
  1491. Xvoid
  1492. Xgettty(){
  1493. X    erase_char = '\b';
  1494. X    kill_char = 21;        /* cntl-U */
  1495. X    flags.cbreak = TRUE;
  1496. X#if !defined(TOS)
  1497. X    disable_ctrlP();    /* turn off ^P processing */
  1498. X#endif
  1499. X}
  1500. X
  1501. X/* reset terminal to original state */
  1502. Xvoid
  1503. Xsettty(s)
  1504. Xconst char *s;
  1505. X{
  1506. X    end_screen();
  1507. X    if(s) raw_print(s);
  1508. X#if !defined(TOS)
  1509. X    enable_ctrlP();        /* turn on ^P processing */
  1510. X#endif
  1511. X}
  1512. X
  1513. X/* called by init_nhwindows() and resume_nhwindows() */
  1514. Xvoid
  1515. Xsetftty()
  1516. X{
  1517. X    start_screen();
  1518. X}
  1519. X
  1520. X/* fatal error */
  1521. X/*VARARGS1*/
  1522. X
  1523. Xvoid
  1524. Xerror VA_DECL(const char *,s)
  1525. X    VA_START(s);
  1526. X    VA_INIT(s, const char *);
  1527. X    /* error() may get called before tty is initialized */
  1528. X    if (flags.window_inited) end_screen();
  1529. X    putchar('\n');
  1530. X    Vprintf(s,VA_ARGS);
  1531. X    putchar('\n');
  1532. X    VA_END();
  1533. X    exit(1);
  1534. X}
  1535. X
  1536. X/*pctty.c*/
  1537. END_OF_FILE
  1538. if test 1272 -ne `wc -c <'sys/share/pctty.c'`; then
  1539.     echo shar: \"'sys/share/pctty.c'\" unpacked with wrong size!
  1540. fi
  1541. # end of 'sys/share/pctty.c'
  1542. fi
  1543. if test -f 'sys/unix/nethack.sh' -a "${1}" != "-c" ; then 
  1544.   echo shar: Will not clobber existing file \"'sys/unix/nethack.sh'\"
  1545. else
  1546. echo shar: Extracting \"'sys/unix/nethack.sh'\" \(1115 characters\)
  1547. sed "s/^X//" >'sys/unix/nethack.sh' <<'END_OF_FILE'
  1548. X#!/bin/sh
  1549. X#    SCCS Id: @(#)nethack.sh    3.1    90/02/26
  1550. X
  1551. XHACKDIR=/usr/games/lib/nethackdir
  1552. XHACK=$HACKDIR/nethack
  1553. XMAXNROFPLAYERS=4
  1554. X
  1555. X# see if we can find the full path name of PAGER, so help files work properly
  1556. X# assume that if someone sets up a special variable (HACKPAGER) for NetHack,
  1557. X# it will already be in a form acceptable to NetHack
  1558. X# ideas from brian@radio.astro.utoronto.ca
  1559. Xif test \( "xxx$PAGER" != xxx \) -a \( "xxx$HACKPAGER" = xxx \)
  1560. Xthen
  1561. X
  1562. X    HACKPAGER=$PAGER
  1563. X
  1564. X#    use only the first word of the pager variable
  1565. X#    this prevents problems when looking for file names with trailing
  1566. X#    options, but also makes the options unavailable for later use from
  1567. X#    NetHack
  1568. X    for i in $HACKPAGER
  1569. X    do
  1570. X        HACKPAGER=$i
  1571. X        break
  1572. X    done
  1573. X
  1574. X    if test ! -f $HACKPAGER
  1575. X    then
  1576. X        IFS=:
  1577. X        for i in $PATH
  1578. X        do
  1579. X            if test -f $i/$HACKPAGER
  1580. X            then
  1581. X                HACKPAGER=$i/$HACKPAGER
  1582. X                export HACKPAGER
  1583. X                break
  1584. X            fi
  1585. X        done
  1586. X        IFS='     '
  1587. X    fi
  1588. X    if test ! -f $HACKPAGER
  1589. X    then
  1590. X        echo Cannot find $PAGER -- unsetting PAGER.
  1591. X        unset HACKPAGER
  1592. X        unset PAGER
  1593. X    fi
  1594. Xfi
  1595. X
  1596. X
  1597. Xcd $HACKDIR
  1598. Xcase $1 in
  1599. X    -s*)
  1600. X        exec $HACK "$@"
  1601. X        ;;
  1602. X    *)
  1603. X        exec $HACK "$@" $MAXNROFPLAYERS
  1604. X        ;;
  1605. Xesac
  1606. END_OF_FILE
  1607. if test 1115 -ne `wc -c <'sys/unix/nethack.sh'`; then
  1608.     echo shar: \"'sys/unix/nethack.sh'\" unpacked with wrong size!
  1609. fi
  1610. # end of 'sys/unix/nethack.sh'
  1611. fi
  1612. if test -f 'sys/unix/setup.sh' -a "${1}" != "-c" ; then 
  1613.   echo shar: Will not clobber existing file \"'sys/unix/setup.sh'\"
  1614. else
  1615. echo shar: Extracting \"'sys/unix/setup.sh'\" \(1090 characters\)
  1616. sed "s/^X//" >'sys/unix/setup.sh' <<'END_OF_FILE'
  1617. X#!/bin/sh
  1618. X# Copy files to their correct locations.
  1619. X#
  1620. X# If arguments are given, try symbolic link first.  This is not the default
  1621. X# so that most people will have the distribution versions stay around for
  1622. X# so subsequent patches can apply.  People who pay enough attention to
  1623. X# know there's a non-default behavior are assumed to pay enough attention
  1624. X# to keep distribution versions if they modify things.
  1625. X
  1626. Xif [ $# -gt 0 ] ; then
  1627. X#    First, try to make a symbolic link.
  1628. X#
  1629. X    ln -s Makefile.top Makefile >/dev/null 2>&1
  1630. X    if [ $? -eq 0 ] ; then
  1631. X
  1632. X        echo "Lucky you!  Symbolic links."
  1633. X        rm -f Makefile
  1634. X
  1635. X        umask 0
  1636. X        ln -s sys/unix/Makefile.top ../../Makefile
  1637. X        ln -s ../sys/unix/Makefile.dat ../../dat/Makefile
  1638. X        ln -s ../sys/unix/Makefile.doc ../../doc/Makefile
  1639. X        ln -s ../sys/unix/Makefile.src ../../src/Makefile
  1640. X        ln -s ../sys/unix/Makefile.utl ../../util/Makefile
  1641. X        exit 0
  1642. X    fi
  1643. Xfi
  1644. X
  1645. X#
  1646. X#    Otherwise...
  1647. X
  1648. Xecho "Copying Makefiles."
  1649. X
  1650. Xcp Makefile.top ../../Makefile
  1651. Xcp Makefile.dat ../../dat/Makefile
  1652. Xcp Makefile.doc ../../doc/Makefile
  1653. Xcp Makefile.src ../../src/Makefile
  1654. Xcp Makefile.utl ../../util/Makefile
  1655. END_OF_FILE
  1656. if test 1090 -ne `wc -c <'sys/unix/setup.sh'`; then
  1657.     echo shar: \"'sys/unix/setup.sh'\" unpacked with wrong size!
  1658. fi
  1659. # end of 'sys/unix/setup.sh'
  1660. fi
  1661. if test -f 'sys/vms/vmsmisc.c' -a "${1}" != "-c" ; then 
  1662.   echo shar: Will not clobber existing file \"'sys/vms/vmsmisc.c'\"
  1663. else
  1664. echo shar: Extracting \"'sys/vms/vmsmisc.c'\" \(728 characters\)
  1665. sed "s/^X//" >'sys/vms/vmsmisc.c' <<'END_OF_FILE'
  1666. X/*    SCCS Id: @(#)vmsmisc.c    3.1    93/01/07    */
  1667. X/* NetHack may be freely redistributed.  See license for details. */
  1668. X
  1669. X#include <ssdef.h>
  1670. X#include <stsdef.h>
  1671. X
  1672. Xextern void exit( /*_ int _*/ );
  1673. Xextern void LIB$SIGNAL( /*_ unsigned long,... _*/ );
  1674. X
  1675. Xvoid
  1676. Xvms_exit(status)
  1677. Xint status;
  1678. X{
  1679. X    exit(status ? (SS$_ABORT | STS$M_INHIB_MSG) : SS$_NORMAL);
  1680. X}
  1681. X
  1682. Xvoid
  1683. Xvms_abort()
  1684. X{
  1685. X    LIB$SIGNAL(SS$_DEBUG);
  1686. X}
  1687. X
  1688. X#ifndef __GNUC__
  1689. X# ifndef bcopy
  1690. X/* needed by gnutermcap.c, possibly by bison generated foo_yacc.c */
  1691. Xvoid
  1692. Xbcopy(src, dst, cnt)
  1693. Xconst char *src;
  1694. Xchar *dst;
  1695. Xunsigned cnt;
  1696. X{
  1697. X    while (cnt-- > 0) *dst++ = *src++;
  1698. X}
  1699. X# endif
  1700. X#endif    /* !__GNUC__ */
  1701. X
  1702. X#ifdef VERYOLD_VMS
  1703. X#include "oldcrtl.c"        /* "[-.vms]oldcrtl.c" */
  1704. X#endif
  1705. X
  1706. X/*vmsmisc.c*/
  1707. END_OF_FILE
  1708. if test 728 -ne `wc -c <'sys/vms/vmsmisc.c'`; then
  1709.     echo shar: \"'sys/vms/vmsmisc.c'\" unpacked with wrong size!
  1710. fi
  1711. # end of 'sys/vms/vmsmisc.c'
  1712. fi
  1713. if test -f 'win/X11/nh32icon' -a "${1}" != "-c" ; then 
  1714.   echo shar: Will not clobber existing file \"'win/X11/nh32icon'\"
  1715. else
  1716. echo shar: Extracting \"'win/X11/nh32icon'\" \(1092 characters\)
  1717. sed "s/^X//" >'win/X11/nh32icon' <<'END_OF_FILE'
  1718. X/*    SCCS Id: @(#)nh32icon    3.1    93/01/24            */
  1719. X/*    Copyright (C) 1993 by Robert Patrick Rankin                */
  1720. X/* NetHack may be freely redistributed.  See license for details.    */
  1721. X
  1722. X/*    32x32 X11 icon for NetHack.                    */
  1723. X
  1724. X#define nh32icon_width 32
  1725. X#define nh32icon_height 32
  1726. Xstatic char nh32icon_bits[] = {
  1727. X   0xff, 0x7f, 0xfe, 0xff, 0x01, 0xc0, 0x03, 0x80, 0x01, 0x00, 0x40, 0x82,
  1728. X   0x91, 0x12, 0xc0, 0x83, 0xb1, 0x12, 0x80, 0x81, 0xf1, 0x1e, 0x80, 0x81,
  1729. X   0xd1, 0x12, 0x80, 0x81, 0x91, 0x12, 0x80, 0x81, 0x01, 0x00, 0xe0, 0x87,
  1730. X   0x71, 0x10, 0x90, 0x89, 0x81, 0x18, 0x80, 0x81, 0x61, 0x10, 0x80, 0x81,
  1731. X   0x81, 0x10, 0x80, 0x81, 0x71, 0x3a, 0x84, 0x81, 0x03, 0x00, 0x8a, 0xc1,
  1732. X   0x02, 0x00, 0x84, 0x41, 0x32, 0x33, 0x80, 0x41, 0xf3, 0x3f, 0x80, 0xc1,
  1733. X   0xf1, 0x3f, 0x84, 0x81, 0x71, 0x3b, 0x8a, 0x81, 0xb1, 0x34, 0x84, 0x81,
  1734. X   0x71, 0x3b, 0x80, 0x81, 0x71, 0x3b, 0x80, 0x81, 0xb1, 0x34, 0x84, 0x81,
  1735. X   0x71, 0x3b, 0x8a, 0x81, 0xf1, 0x3f, 0x84, 0x81, 0xe1, 0x1f, 0x80, 0x81,
  1736. X   0xc1, 0x0f, 0x80, 0x81, 0x81, 0x07, 0x80, 0x81, 0x01, 0x03, 0x00, 0x81,
  1737. X   0x01, 0xc0, 0x03, 0x80, 0xff, 0x7f, 0xfe, 0xff};
  1738. END_OF_FILE
  1739. if test 1092 -ne `wc -c <'win/X11/nh32icon'`; then
  1740.     echo shar: \"'win/X11/nh32icon'\" unpacked with wrong size!
  1741. fi
  1742. # end of 'win/X11/nh32icon'
  1743. fi
  1744. echo shar: End of archive 107 \(of 108\).
  1745. cp /dev/null ark107isdone
  1746. MISSING=""
  1747. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
  1748. 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
  1749. 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 \
  1750. 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 \
  1751. 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 \
  1752. 101 102 103 104 105 106 107 108 ; do
  1753.     if test ! -f ark${I}isdone ; then
  1754.     MISSING="${MISSING} ${I}"
  1755.     fi
  1756. done
  1757. if test "${MISSING}" = "" ; then
  1758.     echo You have unpacked all 108 archives.
  1759.     echo "Now execute 'rebuild.sh'"
  1760.     rm -f ark10[0-8]isdone ark[1-9]isdone ark[1-9][0-9]isdone
  1761. else
  1762.     echo You still need to unpack the following archives:
  1763.     echo "        " ${MISSING}
  1764. fi
  1765. ##  End of shell archive.
  1766. exit 0
  1767.