home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / sources / games / 309 < prev    next >
Encoding:
Internet Message Format  |  1993-01-28  |  43.9 KB

  1. Path: sparky!uunet!news.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v16i001:  nethack31 - display oriented dungeons & dragons (Ver. 3.1), Part01/108
  5. Message-ID: <4284@master.CNA.TEK.COM>
  6. Date: 28 Jan 93 19:08:38 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1243
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: izchak@linc.cis.upenn.edu (Izchak Miller)
  12. Posting-number: Volume 16, Issue 1
  13. Archive-name: nethack31/Part01
  14. Supersedes: nethack3p9: Volume 10, Issue 46-102
  15. Environment: Amiga, Atari, Mac, MS-DOS, OS2, Unix, VMS, X11
  16.  
  17.     [OK, friends and neighbors here it is at long last - NetHack 3.1.
  18.      As the subject line indicates, this is being posted in 108 parts.
  19.      This will be done over a period of several days, so as not to
  20.      overload anyone's news spool directory. Please be patient. -br]
  21.  
  22. [The following cover note is from the authors...]
  23. [[NetHack 3.1 is a product of two years of intensive work by the NetHack
  24. Development Team and its Amiga, Atari, Macintosh, OS/2, MSDOS, and VMS
  25. ports sub-teams.  These include over thirty members from different
  26. countries.  The team wishes to express its gratitude to the management
  27. of linc.cis.upenn.edu for its generous support of this unique development
  28. activity.
  29.  
  30. NetHack 3.1 is a new generation of NetHack.  Here is a list of some of
  31. its main new features:
  32.  
  33. * Unlike 3.0, NetHack 3.1 is a multi-dungeon game.  New dungeons "branch"
  34.   off the main dungeon at different locations.
  35.  
  36. * A unifying mythology was adopted for the game.  There are tasks which
  37.   must be completed in various dungeons before the main task of capturing
  38.   the Amulet can be undertaken.  There are different quests for the
  39.   different character classes.
  40.  
  41. * There is a new multi-level endgame full of surprises.
  42.  
  43. * Many of the monsters in NetHack 3.1 now can wield weapons, zap wands,
  44.   read scrolls, and cast spells.  Fighting them must take these special
  45.   abilities into consideration.
  46.  
  47. * The game's display was completely re-written.  It is now based on a
  48.   line-of-sight principle, and it gives a new "feel" to the game.  The
  49.   new display was written with a standardized window interface, which
  50.   allows easy substitution and addition of windowing systems independent
  51.   of operating system.  For example, the UNIX port now supports X11 as
  52.   well as the traditional tty.
  53.  
  54. * Numerous local changes were made, and many new monsters, objects, and
  55.   intelligent artifacts were added.
  56.  
  57. You will discover the details and the rest of the changes for yourselves.
  58.  
  59. As we did with 3.0, we will periodically release patchlevel revisions of
  60. NetHack 3.1, which will include bug fixes and further development results.
  61. Avoid applying free-lanced patches, if you want to take advantage of these
  62. patchlevel updates.
  63.  
  64. Despite our effort, there are, no doubt, many bugs still in the code.
  65. The Amiga and Macintosh ports, in particular, still have rough edges due
  66. to time constraints on their port-team members.  A port to Windows NT is
  67. underway but is not suitable for release at this time.  We call upon you
  68. to help in debugging both the game and the ports.  The address of the
  69. NetHack development team remains nethack-bugs@linc.cis.upenn.edu.
  70.  
  71. As always, your comments and suggestions will be appreciated.  Enjoy.]]
  72.  
  73.  
  74. #! /bin/sh
  75. # This is a shell archive.  Remove anything before this line, then unpack
  76. # it by saving it into a file and typing "sh file".  To overwrite existing
  77. # files, type "sh file -c".  You can also feed this as standard input via
  78. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  79. # will see the following message at the end:
  80. #        "End of archive 1 (of 108)."
  81. # Contents:  README MANIFEST dat doc include include/config.h src sys
  82. #   sys/amiga sys/amiga sys/amiga/splitter sys/amiga/splitter
  83. #   sys/atari sys/atari sys/mac sys/mac sys/msdos sys/msdos sys/os2
  84. #   sys/os2 sys/share sys/share sys/unix sys/unix sys/vms sys/vms util
  85. #   win win/X11 win/X11 win/tty win/tty
  86. # Wrapped by billr@saab on Wed Jan 27 16:08:45 1993
  87. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  88. if test -f 'README' -a "${1}" != "-c" ; then 
  89.   echo shar: Will not clobber existing file \"'README'\"
  90. else
  91. echo shar: Extracting \"'README'\" \(9769 characters\)
  92. sed "s/^X//" >'README' <<'END_OF_FILE'
  93. X
  94. X                NetHack 3.1 -- General information
  95. X
  96. XNetHack 3.1 is a new generation of the dungeon exploration game NetHack.
  97. XIt is a distant descendent of Hack, and a direct descendent of NetHack 3.0.
  98. XIt is the product of two years of very intensive effort by the NetHack
  99. XDevelopment Team and its porting sub-teams.  Many parts of 3.0 were
  100. Xrewritten for NetHack 3.1, and many new features were added.
  101. X
  102. XThere are a number of dramatic new additions or changes in the game:
  103. X
  104. XA general "mythology" was adopted for the game.  The various tasks in the
  105. Xgame are now articulated in the context of that mythology, and this gives
  106. Xthe game a greater coherence and unity.
  107. X
  108. XThe dungeon design was changed.  Unlike the linear form of the dungeon in
  109. X3.0, the dungeon in 3.1 is tree-structured, with dungeons that branch off
  110. Xthe "main" dungeon.  These branch-dungeons have each unique features which
  111. Xdistinguish them from one another.  As a part of this new design, a dungeon
  112. X"compiler" was added, which enables some control of the game's dungeon
  113. Xdesign from a data file.  A goal for the future is making that control
  114. Xcomplete.
  115. X
  116. XThe special levels facility of the game was greatly enhanced.  It is now
  117. Xhighly versatile, and we took advantage of its extended capacity to add many
  118. Xnew special levels.
  119. X
  120. XThe game's display code was completely re-written.  The display is now based
  121. Xon a line-of-sight principle.  It is much more efficient than the old
  122. Xdisplay code, and a lot more interesting.
  123. X
  124. XIntelligent creatures in the game can now wear armor, and they can wield
  125. Xand use weapons in combat.  They can also use wands, spells, and throw
  126. Xobjects.  This must be taken into consideration in choosing a game strategy.
  127. X
  128. XWe sought to increase the differences between the various character
  129. Xclasses, so as to make playing each of them a distinct experience.  To this
  130. Xend, special character-specific tasks and dungeons were introduced into the
  131. Xgame.
  132. X
  133. XThese are some of the most prominent global changes.  But there are many
  134. Xother changes in the game, and they are not less dramatic.  To mention just
  135. Xa few:  The shop code was revised.  Shopkeepers are smarter, and they know
  136. Xhow to repair damage to their shop.  The endgame is now a multi-level
  137. Xdungeon, full of surprises.  The artifact code was rewritten, and gaining
  138. Xaccess to the Amulet of Yendor requires the coordinated use of special
  139. Xartifacts.  Many new creatures and objects were added to the game.  We leave
  140. Xit to you to discover the rest for yourselves.
  141. X
  142. XWe dedicate the game to the many players of 3.0, with special note of those
  143. Xwho communicated with us and contributed their ideas to the development of
  144. Xthis new version.
  145. X
  146. X                        - - - - - - - - - - -
  147. X
  148. XPlease read items (1), (2) and (3) BEFORE doing anything with your new code.
  149. X
  150. X1.  Unpack the code in a dedicated new directory.  We will refer to that
  151. X    directory as the 'Top' directory.  It makes no difference what you
  152. X    call it.
  153. X
  154. X2.  If there is no flaw in the packaging, many sub-directories will be
  155. X    automatically created, and files will be deposited in them:
  156. X
  157. X    a.  A 'dat' directory, which contains a variety of data files.
  158. X    b.  A 'doc' directory, which contains various documentation.
  159. X    c.  An 'include' directory, which contains all *.h files.
  160. X    d.  A 'src' directory, which contains game *.c files used by all versions.
  161. X    e.  A 'util' directory, which contains files for utility programs.
  162. X    f.  A 'sys' directory, which contains subdirectories for files that
  163. X        are operating-system specific.
  164. X    g.  A 'sys/share' subdirectory, which contains files shared by some OSs.
  165. X    h.  A 'sys/amiga' subdirectory, which contains files specific to AmigaDOS.
  166. X    i.  A 'sys/amiga/splitter' subsubdirectory, which contains files
  167. X        for the Amiga splitter program.
  168. X    j.  A 'sys/atari' subdirectory, which contains files specific to TOS.
  169. X    k.  A 'sys/mac' subdirectory, which contains files specific to MacOS.
  170. X    l.  A 'sys/msdos' subdirectory, which contains files specific to MS-DOS.
  171. X    m.  A 'sys/os2' subdirectory, which contains files specific to OS/2.
  172. X    n.  A 'sys/unix' subdirectory, which contains files specific to UNIX.
  173. X    o.  A 'sys/vms' subdirectory, which contains files specific to VMS.
  174. X    p.  A 'win' directory, which contains subdirectories for files that
  175. X        are windowing-system specific (but not operating-system specific).
  176. X    q.  A 'win/tty' subdirectory, which contains files specific to ttys.
  177. X    r.  A 'win/X11' subdirectory, which contains files specific to X11.
  178. X
  179. X    The names of these directories should not be changed, unless you are
  180. X    ready to go through the makefiles and the makedefs program and change
  181. X    all the directory references in them.
  182. X
  183. X3.  Having unpacked, you should have a file called 'Files' in your Top
  184. X    directory.  This file contains the list of all the files you now SHOULD
  185. X    have in each directory.  Please check the files in each directory
  186. X    against this list to make sure that you have a complete set.
  187. X
  188. X4.  Before you do anything else, please read carefully the file called
  189. X    'license' in the dat subdirectory.  It is expected that you comply
  190. X    with the terms of that license, and we are very serious about it.  In
  191. X    particular, you are prohibited by the terms of the license from using
  192. X    NetHack 3.1 for gainful purposes.
  193. X
  194. X5.  If everything is in order, you can now turn to trying to get the program
  195. X    to compile and run on your particular system.  It is worth mentioning
  196. X    that the default configuration is BSD/Sun/SunOS4.x (simply because
  197. X    the code was housed on such a system).  It is also worth mentioning
  198. X    here that NetHack 3.1 is a huge program by comparison with 3.0, let
  199. X    alone 2.3.  If you intend to run it on a small machine, you'll have
  200. X    to make hard choices among the options available in config.h.
  201. X
  202. X    The files sys/*/Install.* were written to guide you in configuring the
  203. X    program for your operating system.  The files win/*/Install.* are
  204. X    available, where necessary, to help you in configuring the program
  205. X    for particular windowing environments.  Reading them, and the man page,
  206. X    should answer most of your questions.
  207. X
  208. X    At the time of this release, NetHack 3.1 is known to run on:
  209. X
  210. X        AT&T 3B1 running System V (3.51)
  211. X        AT&T 3B2/600 & 3B2/622 running System V R3.2.1
  212. X        AT&T 3B2/1000 Model 80 running System V R3.2.2
  213. X        AT&T 3B4000 running System V
  214. X        AT&T 6386 running System V R3.2
  215. X        Bull DPX/2 2x0 and 3x0 running B.O.S 02.00.xx
  216. X        Bull DPX/20  1xx 4xx 6xx or 8xx running BOSX V3.2
  217. X        Bull XPS100 running System V R3.1 (Rel VS/25 only)
  218. X        Data General AViiON systems running DG/UX
  219. X        DEC vaxen running Ultrix and BSD
  220. X        Decstations running Ultrix 3.1 or 4.0 using the cc compiler only
  221. X        Decstations running Ultrix 4.2 using either cc or gcc (1.39 OSF)
  222. X        Encore Multimax running UMAX 4.2
  223. X        Gould NP1 running UTX 3/2
  224. X        H-P 9000s300 running HP-UX
  225. X        IBM PC/RT and RS/6000 running AIX
  226. X        Mips M2000 running RiscOS 4.1
  227. X        NeXT running Mach (using BSD configuration)
  228. X        Pyramid 9820x running OSx 4.4c
  229. X        SGI Iris running IRIX
  230. X        Stardent Vistra 800 running SysV R4.0
  231. X        Stride 460 running UniStride 2.1
  232. X        Sun-3s, -4s, and -386is running SunOS 3.x and 4.x
  233. X        Sun-4s running Solaris 2.x (aka SunOS 5.x)
  234. X        Valid Logic Systems SCALD-System
  235. X        286 box running Microport SysV/AT (not extensively tested)
  236. X
  237. X        Apple Macintosh running MacOS
  238. X        Atari ST/TT/Falcon running TOS (or MultiTOS) with GCC
  239. X        Commodore Amiga running AmigaDOS 1.3/2.x with SAS/C 5.10b or
  240. X                Manx 5.0 (but see Install.ami about DICE and SAS/C 6.1)
  241. X        DEC Alpha/VMS (aka OpenVMS AXP), running V1.0
  242. X        DEC VAX/VMS, running V4.6 through V5.5-2, T6.0
  243. X        IBM PC compatibles running MS-DOS with MicroSoft C or DJGPP
  244. X        IBM PS/2 and AT compatibles running OS/2 1.1 - 2.0 with Microsoft C
  245. X                5.1 or 6.0, and OS/2 2.0 with GCC emx 0.8f or IBM C Set/2
  246. X
  247. X                        - - - - - - - - - - -
  248. X
  249. XIf you have problems building the game, or you find bugs in it, the
  250. Xdevelopment team may be reached as
  251. X
  252. X                    nethack-bugs@linc.cis.upenn.edu
  253. X
  254. XPlease be sure to include your machine type, OS, and patchlevel.
  255. X
  256. XPatches especially should be directed to this address.  If you've changed
  257. Xsomething to get NetHack to run on your system, it's likely that others have
  258. Xdone it by making slightly different modifications.  By routing your patches
  259. Xthrough the development team, we should be able to avoid making everyone else
  260. Xchoose among variant patches claiming to do the same thing, to keep most of
  261. Xthe copies of 3.1 synchronized by means of official patches, and to maintain
  262. Xthe painfully-created file organization.  (Remember the mess when everybody
  263. Xjust posted their own patches to 2.3?  There were no archived bug-fixes to
  264. Xgive people who got 2.3 after its initial release, so the same bugs kept being
  265. Xdiscovered by new batches of people.  We were successful in preventing this
  266. Xfrom happening to 3.0.  Please cooperate to keep this from happening to 3.1.)
  267. X
  268. XIt is inevitable that we will reject some proposed additions of new features
  269. Xeither because they do not fit our conception of the game, or because they
  270. Xrequire more code than we consider they're worth.  If we reject your feature,
  271. Xyou are free, of course, to post the patches to the net yourself and let the
  272. Xmarketplace decide its worth.
  273. X
  274. XAll of this amounts to the following:  If you decide to apply a free-lanced
  275. Xpatch to your 3.1 code, you are on your own.  In our own patches, we will
  276. Xassume that your code is synchronized with ours.
  277. X
  278. X                  -- Good luck, and happy Hacking --
  279. X
  280. END_OF_FILE
  281. if test 9769 -ne `wc -c <'README'`; then
  282.     echo shar: \"'README'\" unpacked with wrong size!
  283. fi
  284. # end of 'README'
  285. fi
  286. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  287.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  288. else
  289. echo shar: Extracting \"'MANIFEST'\" \(13530 characters\)
  290. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  291. X   File Name        Archive #    Description
  292. X-----------------------------------------------------------
  293. X Files                     95    
  294. X MANIFEST                   1    This shipping list
  295. X Porting                   99    
  296. X README                     1    
  297. X UPDATE0                   106    
  298. X dat                        1    
  299. X dat/Arch.des              36    
  300. X dat/Barb.des              90    
  301. X dat/Caveman.des           88    
  302. X dat/Elf.des               31    
  303. X dat/Healer.des            21    
  304. X dat/Knight.des            30    
  305. X dat/Priest.des            91    
  306. X dat/Rogue.des             82    
  307. X dat/Samurai.des           89    
  308. X dat/Tourist.des           86    
  309. X dat/Valkyrie.des          20    
  310. X dat/Wizard.des            87    
  311. X dat/bigroom.des           65    
  312. X dat/castle.des            98    
  313. X dat/cmdhelp               93    
  314. X dat/data.base             75    
  315. X dat/dungeon.def            8    
  316. X dat/endgame.des           81    
  317. X dat/gehennom.des          62    
  318. X dat/help                  96    
  319. X dat/hh                    103    
  320. X dat/history               103    
  321. X dat/knox.des              67    
  322. X dat/license               103    
  323. X dat/medusa.des            98    
  324. X dat/mines.des             14    
  325. X dat/opthelp               100    
  326. X dat/oracle.des            106    
  327. X dat/oracles.txt           101    
  328. X dat/quest.tx1             36    
  329. X dat/quest.tx2             29    
  330. X dat/rumors.fal            55    
  331. X dat/rumors.tru            68    
  332. X dat/tower.des             92    
  333. X dat/wizhelp               72    
  334. X dat/yendor.des            13    
  335. X doc                        1    
  336. X doc/Guidebook.mn           6    
  337. X doc/Guidebook.te1         74    
  338. X doc/Guidebook.te2         53    
  339. X doc/Guidebook.uu1          9    
  340. X doc/Guidebook.uu2         14    
  341. X doc/dgn_comp.6            97    
  342. X doc/lev_comp.6            92    
  343. X doc/nethack.6             100    
  344. X doc/recover.6             105    
  345. X doc/tmac.n                71    
  346. X doc/window.doc            53    
  347. X include                    1    
  348. X include/Window.h          105    
  349. X include/WindowP.h         107    
  350. X include/align.h           107    
  351. X include/amiconf.h         105    
  352. X include/artifact.h        106    
  353. X include/artilist.h        99    
  354. X include/attrib.h           3    
  355. X include/color.h           102    
  356. X include/config.h           1    
  357. X include/coord.h           107    
  358. X include/decl.h            96    
  359. X include/def_os2.h         104    
  360. X include/dgn_file.h        79    
  361. X include/display.h         95    
  362. X include/dungeon.h         102    
  363. X include/edog.h            107    
  364. X include/emin.h            42    
  365. X include/engrave.h         107    
  366. X include/epri.h            107    
  367. X include/eshk.h            107    
  368. X include/extern.h           4    
  369. X include/flag.h            66    
  370. X include/func_tab.h        107    
  371. X include/global.h          12    
  372. X include/hack.h            104    
  373. X include/lev.h             27    
  374. X include/macconf.h         97    
  375. X include/mail.h            107    
  376. X include/mfndpos.h         107    
  377. X include/micro.h           107    
  378. X include/mkroom.h          104    
  379. X include/monattk.h         104    
  380. X include/mondata.h         100    
  381. X include/monflag.h         99    
  382. X include/monst.h           103    
  383. X include/monsym.h          104    
  384. X include/obj.h             103    
  385. X include/objclass.h        102    
  386. X include/os2conf.h         62    
  387. X include/patchlevel.h      102    
  388. X include/pcconf.h          105    
  389. X include/permonst.h        106    
  390. X include/prop.h            107    
  391. X include/qtext.h           106    
  392. X include/quest.h           106    
  393. X include/rect.h            107    
  394. X include/rm.h              93    
  395. X include/sp_lev.h          104    
  396. X include/spell.h           84    
  397. X include/system.h          29    
  398. X include/termcap.h         106    
  399. X include/tosconf.h         106    
  400. X include/tradstdc.h        97    
  401. X include/trampoli.h        97    
  402. X include/trap.h            89    
  403. X include/unixconf.h        98    
  404. X include/vault.h           107    
  405. X include/vision.h          85    
  406. X include/vmsconf.h         94    
  407. X include/winX.h            90    
  408. X include/winami.h          106    
  409. X include/winprocs.h        104    
  410. X include/wintty.h          102    
  411. X include/wintype.h         56    
  412. X include/you.h             100    
  413. X include/youprop.h          9    
  414. X rebuild.sh                104    
  415. X src                        1    
  416. X src/allmain.c             95    
  417. X src/alloc.c               107    
  418. X src/apply.c                3    
  419. X src/artifact.c            74    
  420. X src/attrib.c              51    
  421. X src/ball.c                40    
  422. X src/bones.c               93    
  423. X src/botl.c                92    
  424. X src/cmd.c                 81    
  425. X src/dbridge.c             64    
  426. X src/decl.c                97    
  427. X src/detect.c              79    
  428. X src/display.c             52    
  429. X src/do.c                  65    
  430. X src/do_name.c             83    
  431. X src/do_wear.c             41    
  432. X src/dog.c                 33    
  433. X src/dogmove.c             50    
  434. X src/dokick.c              59    
  435. X src/dothrow.c             60    
  436. X src/drawing.c             65    
  437. X src/dungeon.c             35    
  438. X src/eat.c                 12    
  439. X src/end.c                 85    
  440. X src/engrave.c             72    
  441. X src/exper.c               102    
  442. X src/explode.c             99    
  443. X src/extralev.c            96    
  444. X src/files.c               61    
  445. X src/fountain.c            89    
  446. X src/hack.c                34    
  447. X src/hacklib.c             25    
  448. X src/invent.c              13    
  449. X src/lock.c                56    
  450. X src/mail.c                37    
  451. X src/makemon.c             31    
  452. X src/mcastu.c              95    
  453. X src/mhitm.c               79    
  454. X src/mhitu.c1              56    
  455. X src/mhitu.c2              57    
  456. X src/minion.c              101    
  457. X src/mklev.c               54    
  458. X src/mkmap.c               91    
  459. X src/mkmaze.c              71    
  460. X src/mkobj.c               83    
  461. X src/mkroom.c              86    
  462. X src/mon.c                 21    
  463. X src/mondata.c             90    
  464. X src/monmove.c             69    
  465. X src/monst.c1              11    
  466. X src/monst.c2              40    
  467. X src/monst.c3              60    
  468. X src/mplayer.c             96    
  469. X src/mthrowu.c             39    
  470. X src/muse.c                45    
  471. X src/music.c               35    
  472. X src/o_init.c              94    
  473. X src/objects.c             23    
  474. X src/objnam.c              10    
  475. X src/options.c             80    
  476. X src/pager.c               47    
  477. X src/pickup.c              80    
  478. X src/pline.c               101    
  479. X src/polyself.c            73    
  480. X src/potion.c              70    
  481. X src/pray.c                28    
  482. X src/priest.c              46    
  483. X src/quest.c               87    
  484. X src/questpgr.c            27    
  485. X src/read.c                66    
  486. X src/rect.c                68    
  487. X src/restore.c             63    
  488. X src/rip.c                 81    
  489. X src/rnd.c                 106    
  490. X src/rumors.c              94    
  491. X src/save.c                54    
  492. X src/shk.c1                47    
  493. X src/shk.c2                33    
  494. X src/shknam.c              43    
  495. X src/sit.c                 19    
  496. X src/sounds.c              49    
  497. X src/sp_lev.c1             77    
  498. X src/sp_lev.c2             62    
  499. X src/spell.c               41    
  500. X src/steal.c               17    
  501. X src/timeout.c             23    
  502. X src/topten.c              67    
  503. X src/track.c               107    
  504. X src/trap.c1               73    
  505. X src/trap.c2               67    
  506. X src/u_init.c              82    
  507. X src/uhitm.c               19    
  508. X src/vault.c               66    
  509. X src/version.c             73    
  510. X src/vision.c1             44    
  511. X src/vision.c2             58    
  512. X src/weapon.c              88    
  513. X src/were.c                105    
  514. X src/wield.c               96    
  515. X src/windows.c             106    
  516. X src/wizard.c              44    
  517. X src/worm.c                82    
  518. X src/worn.c                18    
  519. X src/write.c               103    
  520. X src/zap.c1                68    
  521. X src/zap.c2                61    
  522. X sys                        1    
  523. X sys/amiga                  1    
  524. X sys/amiga/HackWB.uu       107    
  525. X sys/amiga/Install.ami     45    
  526. X sys/amiga/Makefile.ami    63    
  527. X sys/amiga/NHinfo.uu       106    
  528. X sys/amiga/NetHack.cnf     105    
  529. X sys/amiga/NewGame.uu      100    
  530. X sys/amiga/amidos.c        92    
  531. X sys/amiga/amidos.p        107    
  532. X sys/amiga/amifont.uu      107    
  533. X sys/amiga/amifont8.uu     105    
  534. X sys/amiga/amigst.c        107    
  535. X sys/amiga/amii.hlp        106    
  536. X sys/amiga/amimenu.c       11    
  537. X sys/amiga/amirip.c        83    
  538. X sys/amiga/amiwbench.c     28    
  539. X sys/amiga/amiwind.c       58    
  540. X sys/amiga/amiwind.p       107    
  541. X sys/amiga/ask.uu           2    
  542. X sys/amiga/char.c          10    
  543. X sys/amiga/charwin.uu      105    
  544. X sys/amiga/colors.uu        5    
  545. X sys/amiga/colorwin.c      100    
  546. X sys/amiga/dflticon.uu     106    
  547. X sys/amiga/hackwb.hlp      106    
  548. X sys/amiga/ifchange        107    
  549. X sys/amiga/randwin.c        7    
  550. X sys/amiga/randwin.uu      107    
  551. X sys/amiga/scroll.uu       43    
  552. X sys/amiga/splitter         1    
  553. X sys/amiga/splitter/amiout.h 105    
  554. X sys/amiga/splitter/arg.c  101    
  555. X sys/amiga/splitter/arg.h  107    
  556. X sys/amiga/splitter/loader.c 93    
  557. X sys/amiga/splitter/multi.c  6    
  558. X sys/amiga/splitter/multi.h 107    
  559. X sys/amiga/splitter/split.doc 59    
  560. X sys/amiga/splitter/split.h 101    
  561. X sys/amiga/splitter/splitter.c 88    
  562. X sys/amiga/string.uu       107    
  563. X sys/amiga/wb.c1           39    
  564. X sys/amiga/wb.c2           22    
  565. X sys/amiga/wbcli.c         38    
  566. X sys/amiga/wbdata.c        102    
  567. X sys/amiga/wbdefs.h        102    
  568. X sys/amiga/wbprotos.h      86    
  569. X sys/amiga/wbstruct.h      106    
  570. X sys/amiga/wbwin.c          7    
  571. X sys/amiga/wbwin.uu        77    
  572. X sys/amiga/winami.c1       20    
  573. X sys/amiga/winami.c2       24    
  574. X sys/amiga/winami.p        101    
  575. X sys/atari                  1    
  576. X sys/atari/Install.tos     16    
  577. X sys/atari/Makefile.utl    101    
  578. X sys/atari/atari.cnf       105    
  579. X sys/atari/atarifnt.uue    99    
  580. X sys/atari/nethack.mnu     107    
  581. X sys/atari/setup.g         103    
  582. X sys/atari/tos.c           99    
  583. X sys/mac                    1    
  584. X sys/mac/Install.mpw       103    
  585. X sys/mac/MacHelp           104    
  586. X sys/mac/NHmake.hqx        55    
  587. X sys/mac/NHrez.hqx         102    
  588. X sys/mac/NHrsrc.hqx        78    
  589. X sys/mac/NHsound.hq1       27    
  590. X sys/mac/NHsound.hq2       25    
  591. X sys/mac/NHsound.hq3       26    
  592. X sys/mac/NHsound.hq4       30    
  593. X sys/mac/News              32    
  594. X sys/mac/hack.h            26    
  595. X sys/mac/maccurs.c         101    
  596. X sys/mac/macerrs.c         103    
  597. X sys/mac/macfile.c         91    
  598. X sys/mac/macmain.c         90    
  599. X sys/mac/macsnd.c          106    
  600. X sys/mac/mactopl.c         95    
  601. X sys/mac/macunix.c         107    
  602. X sys/mac/macwin.c1         37    
  603. X sys/mac/macwin.c2         48    
  604. X sys/mac/mgetline.c        98    
  605. X sys/mac/mhdump.c          12    
  606. X sys/mac/mmodal.c          104    
  607. X sys/mac/mstring.c         107    
  608. X sys/msdos                  1    
  609. X sys/msdos/Install.dos     84    
  610. X sys/msdos/MakeGCC.src     32    
  611. X sys/msdos/MakeGCC.utl     98    
  612. X sys/msdos/MakeMSC.src     69    
  613. X sys/msdos/MakeMSC.utl     98    
  614. X sys/msdos/Makefile.dat    99    
  615. X sys/msdos/exesmurf.c      89    
  616. X sys/msdos/exesmurf.doc    102    
  617. X sys/msdos/maintovl.doc    85    
  618. X sys/msdos/msdos.c         91    
  619. X sys/msdos/nhico.uu        107    
  620. X sys/msdos/nhpif.uu        107    
  621. X sys/msdos/ovlmgr.asm      18    
  622. X sys/msdos/ovlmgr.doc      84    
  623. X sys/msdos/ovlmgr.uu       94    
  624. X sys/msdos/setup.bat       106    
  625. X sys/msdos/trampoli.c      38    
  626. X sys/os2                    1    
  627. X sys/os2/Install.os2       34    
  628. X sys/os2/Makefile.os2      49    
  629. X sys/os2/nhpmico.uu        98    
  630. X sys/os2/os2.c             99    
  631. X sys/share                  1    
  632. X sys/share/Makefile.lib    107    
  633. X sys/share/NetHack.cnf     103    
  634. X sys/share/dgn_comp.h      107    
  635. X sys/share/dgn_lex.c       84    
  636. X sys/share/dgn_yacc.c      57    
  637. X sys/share/lev_comp.h      106    
  638. X sys/share/lev_lex.c       51    
  639. X sys/share/lev_yacc.c1     32    
  640. X sys/share/lev_yacc.c2     72    
  641. X sys/share/pcmain.c        93    
  642. X sys/share/pcsys.c         95    
  643. X sys/share/pctty.c         107    
  644. X sys/share/pcunix.c        96    
  645. X sys/share/random.c        88    
  646. X sys/share/termcap         90    
  647. X sys/share/termcap.uu      42    
  648. X sys/unix                   1    
  649. X sys/unix/Install.unx      26    
  650. X sys/unix/Makefile.dat     106    
  651. X sys/unix/Makefile.doc      4    
  652. X sys/unix/Makefile.src     70    
  653. X sys/unix/Makefile.top     103    
  654. X sys/unix/Makefile.utl     100    
  655. X sys/unix/cpp1.shr          2    
  656. X sys/unix/cpp2.shr          5    
  657. X sys/unix/cpp3.shr          8    
  658. X sys/unix/ioctl.c          105    
  659. X sys/unix/nethack.sh       107    
  660. X sys/unix/setup.sh         107    
  661. X sys/unix/snd86unx.shr     78    
  662. X sys/unix/unixmain.c       94    
  663. X sys/unix/unixtty.c        97    
  664. X sys/unix/unixunix.c       97    
  665. X sys/vms                    1    
  666. X sys/vms/Install.vms       76    
  667. X sys/vms/Makefile.dat      105    
  668. X sys/vms/Makefile.doc      106    
  669. X sys/vms/Makefile.src      48    
  670. X sys/vms/Makefile.top      104    
  671. X sys/vms/Makefile.utl      94    
  672. X sys/vms/gnutermcap.c      52    
  673. X sys/vms/gnutparam.c       89    
  674. X sys/vms/install.com       100    
  675. X sys/vms/lev_lex.h         78    
  676. X sys/vms/nethack.com       91    
  677. X sys/vms/oldcrtl.c         101    
  678. X sys/vms/spec_lev.com      105    
  679. X sys/vms/vmsbuild.com      22    
  680. X sys/vms/vmsfiles.c        98    
  681. X sys/vms/vmsmail.c         87    
  682. X sys/vms/vmsmain.c         92    
  683. X sys/vms/vmsmisc.c         107    
  684. X sys/vms/vmstty.c          87    
  685. X sys/vms/vmsunix.c         42    
  686. X util                       1    
  687. X util/dgn_comp.l           104    
  688. X util/dgn_comp.y           86    
  689. X util/dgn_main.c           105    
  690. X util/lev_comp.l           43    
  691. X util/lev_comp.y           50    
  692. X util/lev_main.c           64    
  693. X util/makedefs.c           17    
  694. X util/panic.c              106    
  695. X util/recover.c            101    
  696. X win                        1    
  697. X win/X11                    1    
  698. X win/X11/Install.X11       100    
  699. X win/X11/NetHack.ad        105    
  700. X win/X11/Window.c          102    
  701. X win/X11/dialogs.c         91    
  702. X win/X11/ibm.bdf           108    
  703. X win/X11/nethack.rc        43     
  704. X win/X11/nh10.bdf          15    
  705. X win/X11/nh32icon          107    
  706. X win/X11/nh56icon          43     
  707. X win/X11/nh72icon          104    
  708. X win/X11/winX.c            16    
  709. X win/X11/winmap.c          75    
  710. X win/X11/winmenu.c         92    
  711. X win/X11/winmesg.c         85    
  712. X win/X11/winmisc.c         24    
  713. X win/X11/winstat.c         76    
  714. X win/X11/wintext.c         93    
  715. X win/X11/winval.c          105    
  716. X win/tty                    1    
  717. X win/tty/getline.c         103    
  718. X win/tty/termcap.c         59    
  719. X win/tty/topl.c            96    
  720. X win/tty/wintty.c          46    
  721. END_OF_FILE
  722. if test 13530 -ne `wc -c <'MANIFEST'`; then
  723.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  724. fi
  725. # end of 'MANIFEST'
  726. fi
  727. if test ! -d 'dat' ; then
  728.     echo shar: Creating directory \"'dat'\"
  729.     mkdir 'dat'
  730. fi
  731. if test ! -d 'doc' ; then
  732.     echo shar: Creating directory \"'doc'\"
  733.     mkdir 'doc'
  734. fi
  735. if test ! -d 'include' ; then
  736.     echo shar: Creating directory \"'include'\"
  737.     mkdir 'include'
  738. fi
  739. if test -f 'include/config.h' -a "${1}" != "-c" ; then 
  740.   echo shar: Will not clobber existing file \"'include/config.h'\"
  741. else
  742. echo shar: Extracting \"'include/config.h'\" \(12825 characters\)
  743. sed "s/^X//" >'include/config.h' <<'END_OF_FILE'
  744. X/*    SCCS Id: @(#)config.h    3.1    92/08/29    */
  745. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  746. X/* NetHack may be freely redistributed.  See license for details. */
  747. X
  748. X#ifndef CONFIG_H /* make sure the compiler does not see the typedefs twice */
  749. X#define CONFIG_H
  750. X
  751. X
  752. X/*
  753. X * Section 1:    OS selection.
  754. X *        Select the version of the OS you are using.
  755. X *        For "UNIX" select either SYSV or BSD in unixconf.h.
  756. X *        A "VMS" option is not needed since the VMS C-compilers
  757. X *        provide it (no need to change sec#1, vmsconf.h handles it).
  758. X */
  759. X
  760. X#define UNIX        /* delete if no fork(), exec() available */
  761. X
  762. X/*
  763. X * MS DOS - compilers
  764. X *
  765. X * Microsoft C auto-defines MSDOS,
  766. X * Borland C   auto-defines __TURBOC__,
  767. X * DJGPP       auto-defines MSDOS.
  768. X */
  769. X
  770. X/* #define MSDOS    /* use if not defined by compiler or cases below */
  771. X
  772. X#ifdef __TURBOC__
  773. X# define MSDOS
  774. X#endif
  775. X
  776. X#ifdef MSDOS
  777. X# undef UNIX
  778. X#endif
  779. X
  780. X/*
  781. X * Mac Stuff.
  782. X */
  783. X
  784. X#ifdef applec        /*    MPW auto-defined symbol            */
  785. X# define MAC
  786. X# undef UNIX        /*    Just in case                */
  787. X#endif
  788. X/* #define MAC        /*    We're on some mac-ish platform    */
  789. X
  790. X#ifdef MAC
  791. X# ifdef THINK_C
  792. X#  define NEED_VARARGS
  793. X# endif
  794. X#endif
  795. X
  796. X/*
  797. X * Amiga setup.
  798. X */
  799. X#ifdef AZTEC_C     /* Manx auto-defines this */
  800. X# ifdef MCH_AMIGA    /* Manx auto-defines this for AMIGA */
  801. X#  ifndef AMIGA
  802. X#define AMIGA        /* define for Commodore-Amiga */
  803. X#  endif        /* (Lattice auto-defines AMIGA) */
  804. X#define AZTEC_50    /* define for version 5.0 of manx */
  805. X# endif
  806. X#endif
  807. X#ifdef LATTICE
  808. X# define NEARDATA __near /* put some data close */
  809. X# define NO_SCAN_BRACK    /* scanf doesn't handle [] (this define available
  810. X             * for any system with this problem) */
  811. X#else
  812. X# define NEARDATA
  813. X#endif
  814. X#ifdef AMIGA
  815. X# ifdef UNIX
  816. X    "Please re-read the compilation documentation.  Thank you."
  817. X# endif
  818. X#endif
  819. X
  820. X/*
  821. X * Atari auto-detection
  822. X */
  823. X
  824. X#ifdef atarist
  825. X# undef UNIX
  826. X# define TOS
  827. X#else
  828. X# ifdef __MINT__
  829. X#  undef UNIX
  830. X#  define TOS
  831. X# endif
  832. X#endif
  833. X
  834. X/*
  835. X * and other systems...
  836. X */
  837. X
  838. X/* #define OS2        /* define for OS/2 */
  839. X
  840. X/* #define TOS        /* define for Atari ST/TT */
  841. X
  842. X/* #define STUPID    /* avoid some complicated expressions if
  843. X               your C compiler chokes on them */
  844. X/* #define TERMINFO    /* uses terminfo rather than termcap */
  845. X            /* should be defined for HPUX and most, but not all,
  846. X               SYSV */
  847. X            /* in particular, it should NOT be defined for the
  848. X             * UNIXPC unless you remove the use of the shared
  849. X             * library in the makefile */
  850. X/* #define MINIMAL_TERM    /* if a terminal handles highlighting or tabs poorly,
  851. X               try this define, used in pager.c and termcap.c */
  852. X/* #define ULTRIX_CC20    /* define only if using cc v2.0 on a DECstation */
  853. X/* #define ULTRIX_PROTO    /* define for Ultrix 4.0 (or higher) on a DECstation;
  854. X             * if you get compiler errors, don't define this. */
  855. X            /* Hint: if you're not developing code, don't define
  856. X               ULTRIX_PROTO. */
  857. X
  858. X#ifdef AMIGA
  859. X# define NEED_VARARGS
  860. X#endif
  861. X
  862. X#ifdef VMS    /* really old compilers need special handling, detected here */
  863. X# undef UNIX
  864. X# ifdef __DECC        /* buggy early versions want widened prototypes    */
  865. X#  define NOTSTDC    /* except when typedefs are involved        */
  866. X#  define USE_VARARGS
  867. X#  undef __HIDE_FORBIDDEN_NAMES    /* need non-ANSI library support functions */
  868. X# else
  869. X#  ifdef VAXC    /* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */
  870. X#   ifdef ANCIENT_VAXC    /* vaxc v2.2 and earlier [lots of warnings to come] */
  871. X#    define KR1ED    /* simulate defined() */
  872. X#    define USE_VARARGS
  873. X#   else        /* vaxc v2.3,2.4,or 3.x, or decc in vaxc mode */
  874. X#     if defined(USE_PROTOTYPES) /* this breaks 2.2 (*forces* use of ANCIENT)*/
  875. X#      define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */
  876. X#      define signed     /* well, almost close enough */
  877. X#include <stddef.h>
  878. X#      define UNWIDENED_PROTOTYPES
  879. X#     endif
  880. X#     define USE_STDARG
  881. X#   endif
  882. X#  endif /*VAXC*/
  883. X# endif /*__DECC*/
  884. X# ifdef VERYOLD_VMS    /* v4.5 or earlier; no longer available for testing */
  885. X#  define USE_OLDARGS    /* <varargs.h> is there, vprintf & vsprintf aren't */
  886. X#  ifdef USE_VARARGS
  887. X#   undef USE_VARARGS
  888. X#  endif
  889. X#  ifdef USE_STDARG
  890. X#   undef USE_STDARG
  891. X#  endif
  892. X# endif
  893. X#endif /*VMS*/
  894. X
  895. X#ifdef vax
  896. X/* just in case someone thinks a DECstation is a vax. It's not, it's a mips */
  897. X# ifdef ULTRIX_PROTO
  898. X#  undef ULTRIX_PROTO
  899. X# endif
  900. X# ifdef ULTRIX_CC20
  901. X#  undef ULTRIX_CC20
  902. X# endif
  903. X#endif
  904. X
  905. X#ifdef KR1ED        /* For compilers which cannot handle defined() */
  906. X#define defined(x) (-x-1 != -1)
  907. X/* Because:
  908. X * #define FOO => FOO={} => defined( ) => (-1 != - - 1) => 1
  909. X * #define FOO 1 or on command-line -DFOO
  910. X *      => defined(1) => (-1 != - 1 - 1) => 1
  911. X * if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1
  912. X * for -DFOO, oh well.
  913. X *      => defined(0) => (-1 != - 0 - 1) => 0
  914. X *
  915. X * But:
  916. X * defined("") => (-1 != - "" - 1)
  917. X *   [which is an unavoidable catastrophe.]
  918. X */
  919. X#endif
  920. X
  921. X/* Windowing systems...
  922. X * Define all of those you want supported in your binary.
  923. X * Some combinations make no sense.  See the installation document.
  924. X */
  925. X#define TTY_GRAPHICS    /* good old tty based graphics */
  926. X/* #define X11_GRAPHICS    /* X11 interface */
  927. X
  928. X/*
  929. X * Define the default window system.  This should be one that is compiled
  930. X * into your system (see defines above).  Known window systems are:
  931. X *
  932. X *    tty, X11, mac, amii
  933. X */
  934. X
  935. X/* MAC also means MAC windows */
  936. X#ifdef MAC
  937. X# ifndef    AUX
  938. X#  undef TTY_GRAPHICS
  939. X#  undef X11_GRAPHICS
  940. X#  define DEFAULT_WINDOW_SYS "mac"
  941. X# endif
  942. X#endif
  943. X
  944. X/* no options yet: Amiga also means Intuition windows */
  945. X#ifdef AMIGA
  946. X# undef TTY_GRAPHICS
  947. X# define DEFAULT_WINDOW_SYS "amii"
  948. X#endif
  949. X
  950. X#ifndef DEFAULT_WINDOW_SYS
  951. X# define DEFAULT_WINDOW_SYS "tty"
  952. X#endif
  953. X
  954. X
  955. X
  956. X/*
  957. X * Section 2:    Some global parameters and filenames.
  958. X *        Commenting out WIZARD, LOGFILE, or NEWS removes that feature
  959. X *        from the game; otherwise set the appropriate wizard name.
  960. X *        LOGFILE and NEWS refer to files in the playground.
  961. X */
  962. X
  963. X#ifndef WIZARD        /* allow for compile-time or Makefile changes */
  964. X# ifndef KR1ED
  965. X#  define WIZARD  "wizard" /* the person allowed to use the -D option */
  966. X# else
  967. X#  define WIZARD
  968. X#  define WIZARD_NAME "wizard"
  969. X# endif
  970. X#endif
  971. X
  972. X#define LOGFILE "logfile"    /* larger file for debugging purposes */
  973. X#define NEWS "news"        /* the file containing the latest hack news */
  974. X
  975. X/*
  976. X *    If COMPRESS is defined, it should contain the full path name of your
  977. X *    'compress' program.  Defining INTERNAL_COMP causes NetHack to do
  978. X *    simpler byte-stream compression internally.  Both COMPRESS and
  979. X *    INTERNAL_COMP create smaller bones/level/save files, but require
  980. X *    additional code and time.  Currently, only UNIX fully implements
  981. X *    COMPRESS; other ports should be able to uncompress save files a
  982. X *    la unixmain.c if so inclined.
  983. X */
  984. X
  985. X#ifdef UNIX
  986. X# define COMPRESS "/usr/ucb/compress"  /* path name for 'compress' */
  987. X#endif
  988. X#ifndef COMPRESS
  989. X# define INTERNAL_COMP    /* control use of NetHack's compression routines */
  990. X#endif
  991. X
  992. X/*
  993. X *    Defining INSURANCE slows down level changes, but allows games that
  994. X *    died due to program or system crashes to be resumed from the point
  995. X *    of the last level change, after running a utility program.
  996. X */
  997. X#define INSURANCE    /* allow crashed game recovery */
  998. X
  999. X#ifndef MAC
  1000. X# define CHDIR        /* delete if no chdir() available */
  1001. X#endif
  1002. X
  1003. X#ifdef CHDIR
  1004. X/*
  1005. X * If you define HACKDIR, then this will be the default playground;
  1006. X * otherwise it will be the current directory.
  1007. X */
  1008. X#define HACKDIR "/usr/games/lib/nethackdir"     /* nethack directory */
  1009. X
  1010. X/*
  1011. X * Some system administrators are stupid enough to make Hack suid root
  1012. X * or suid daemon, where daemon has other powers besides that of reading or
  1013. X * writing Hack files.  In such cases one should be careful with chdir's
  1014. X * since the user might create files in a directory of his choice.
  1015. X * Of course SECURE is meaningful only if HACKDIR is defined.
  1016. X */
  1017. X/* #define SECURE    /* do setuid(getuid()) after chdir() */
  1018. X
  1019. X/*
  1020. X * If it is desirable to limit the number of people that can play Hack
  1021. X * simultaneously, define HACKDIR, SECURE and MAX_NR_OF_PLAYERS.
  1022. X * #define MAX_NR_OF_PLAYERS 6
  1023. X */
  1024. X#endif /* CHDIR */
  1025. X
  1026. X
  1027. X
  1028. X/*
  1029. X * Section 3:    Definitions that may vary with system type.
  1030. X *        For example, both schar and uchar should be short ints on
  1031. X *        the AT&T 3B2/3B5/etc. family.
  1032. X */
  1033. X
  1034. X/*
  1035. X * Uncomment the following line if your compiler doesn't understand the
  1036. X * 'void' type (and thus would give all sorts of compile errors without
  1037. X * this definition).
  1038. X */
  1039. X/* #define NOVOID            /* define if no "void" data type. */
  1040. X
  1041. X/*
  1042. X * Uncomment the following line if your compiler falsely claims to be
  1043. X * a standard C compiler (i.e., defines __STDC__ without cause).
  1044. X * Examples are Apollo's cc (in some versions) and possibly SCO UNIX's rcc.
  1045. X */
  1046. X/* #define NOTSTDC            /* define for lying compilers */
  1047. X
  1048. X#include "tradstdc.h"
  1049. X
  1050. X/*
  1051. X * type schar: small signed integers (8 bits suffice) (eg. TOS)
  1052. X *
  1053. X *    typedef char    schar;
  1054. X *
  1055. X *      will do when you have signed characters; otherwise use
  1056. X *
  1057. X *    typedef short int schar;
  1058. X */
  1059. X#ifdef AZTEC
  1060. X# define schar    char
  1061. X#else
  1062. Xtypedef signed char    schar;
  1063. X#endif
  1064. X
  1065. X/*
  1066. X * type uchar: small unsigned integers (8 bits suffice - but 7 bits do not)
  1067. X *
  1068. X *    typedef unsigned char    uchar;
  1069. X *
  1070. X *    will be satisfactory if you have an "unsigned char" type;
  1071. X *    otherwise use
  1072. X *
  1073. X *    typedef unsigned short int uchar;
  1074. X */
  1075. Xtypedef unsigned char    uchar;
  1076. X
  1077. X/*
  1078. X * Various structures have the option of using bitfields to save space.
  1079. X * If your C compiler handles bitfields well (e.g., it can initialize structs
  1080. X * containing bitfields), you can define BITFIELDS.  Otherwise, the game will
  1081. X * allocate a separate character for each bitfield.  (The bitfields used never
  1082. X * have more than 7 bits, and most are only 1 bit.)
  1083. X */
  1084. X#define BITFIELDS    /* Good bitfield handling */
  1085. X
  1086. X/* #define STRNCMPI /* compiler/library has the strncmpi function */
  1087. X
  1088. X/*
  1089. X * There are various choices for the NetHack vision system.  There is a
  1090. X * choice of two algorithms with the same behavior.  Defining VISION_TABLES
  1091. X * creates huge (60K) tables at compile time, drastically increasing data
  1092. X * size, but runs slightly faster than the alternate algorithm.  (MSDOS in
  1093. X * particular cannot tolerate the increase in data size; other systems can
  1094. X * flip a coin weighted to local conditions.)
  1095. X *
  1096. X * If VISION_TABLES is defined, two-dimensional tables will be generated.
  1097. X * Some compilers need braces around the rows of such arrays; some need
  1098. X * them not to be there.  Known preferences:
  1099. X *    Braces:        Sun, DEC vaxen (Ultrix), DEC Mips
  1100. X *            Bull DPX/2 K&R (Green Hills)
  1101. X *    No Braces:    gcc, hc (IBM High C compiler), AT&T 3B, MSC 5.1
  1102. X *            Bull DPX/2 Ansi (Green Hills/-Xa option), MPW C
  1103. X * If VISION_TABLES is not defined, things will be faster if you can use
  1104. X * MACRO_CPATH.  Some cpps, however, cannot deal with the size of the
  1105. X * functions that have been macroized.
  1106. X */
  1107. X
  1108. X/*#define VISION_TABLES    /* use vision tables generated at compile time */
  1109. X#ifdef VISION_TABLES
  1110. X# define BRACES        /* put braces around rows of 2d arrays */
  1111. X#else
  1112. X# define MACRO_CPATH    /* use clear_path macros instead of functions */
  1113. X#endif
  1114. X
  1115. X
  1116. X
  1117. X/*
  1118. X * Section 4:  THE FUN STUFF!!!
  1119. X *
  1120. X * Conditional compilation of special options are controlled here.
  1121. X * If you define the following flags, you will add not only to the
  1122. X * complexity of the game but also to the size of the load module.
  1123. X *
  1124. X * Note:  Commenting MULDGN will yield a game similar to 3.0, without
  1125. X * Quest dungeons and tasks, and without some other special dungeons. 
  1126. X */
  1127. X
  1128. X/* game features */
  1129. X#define POLYSELF    /* Polymorph self code by Ken Arromdee */
  1130. X#define SOUNDS        /* Add more life to the dungeon */
  1131. X/* dungeon features */
  1132. X#define SINKS        /* Kitchen sinks - Janet Walz */
  1133. X/* dungeon levels */
  1134. X#define WALLIFIED_MAZE    /* Fancy mazes - Jean-Christophe Collet */
  1135. X#define REINCARNATION    /* Special Rogue-like levels */
  1136. X/* monsters & objects */
  1137. X#define KOPS        /* Keystone Kops by Scott R. Turner */
  1138. X#define ARMY        /* Soldiers, barracks by Steve Creps */
  1139. X#define SEDUCE        /* Succubi/incubi seduction, by KAA, suggested by IM */
  1140. X#define WALKIES        /* Leash code by M. Stephenson */
  1141. X#define TOURIST        /* Tourist players with cameras and Hawaiian shirts */
  1142. X#define TUTTI_FRUTTI    /* fruit option as in Rogue, but which works, by KAA */
  1143. X#define MUSE        /* Let monsters use more things - KAA */
  1144. X#define MULDGN        /* Multi-branch dungeons MRS & IM */
  1145. X/* difficulty */
  1146. X#define ELBERETH    /* Engraving the E-word repels monsters */
  1147. X#define EXPLORE_MODE    /* Allow non-scoring play with additional powers */
  1148. X/* I/O */
  1149. X#define REDO        /* support for redoing last command - DGK */
  1150. X#define COM_COMPL    /* Command line completion by John S. Bien */
  1151. X#ifndef AMIGA
  1152. X# define CLIPPING    /* allow smaller screens -- ERS */
  1153. X#endif
  1154. X
  1155. X#ifdef REDO
  1156. X# define DOAGAIN '\001'    /* ^A, the "redo" key used in cmd.c and getline.c */
  1157. X#endif
  1158. X
  1159. X#define EXP_ON_BOTL    /* Show experience on bottom line */
  1160. X/* #define SCORE_ON_BOTL    /* added by Gary Erickson (erickson@ucivax) */
  1161. X
  1162. X#include "global.h"    /* Define everything else according to choices above */
  1163. X
  1164. X#endif /* CONFIG_H */
  1165. END_OF_FILE
  1166. if test 12825 -ne `wc -c <'include/config.h'`; then
  1167.     echo shar: \"'include/config.h'\" unpacked with wrong size!
  1168. fi
  1169. # end of 'include/config.h'
  1170. fi
  1171. if test ! -d 'src' ; then
  1172.     echo shar: Creating directory \"'src'\"
  1173.     mkdir 'src'
  1174. fi
  1175. if test ! -d 'sys' ; then
  1176.     echo shar: Creating directory \"'sys'\"
  1177.     mkdir 'sys'
  1178. fi
  1179. if test ! -d 'sys/amiga' ; then
  1180.     echo shar: Creating directory \"'sys/amiga'\"
  1181.     mkdir 'sys/amiga'
  1182. fi
  1183. if test ! -d 'sys/amiga/splitter' ; then
  1184.     echo shar: Creating directory \"'sys/amiga/splitter'\"
  1185.     mkdir 'sys/amiga/splitter'
  1186. fi
  1187. if test ! -d 'sys/atari' ; then
  1188.     echo shar: Creating directory \"'sys/atari'\"
  1189.     mkdir 'sys/atari'
  1190. fi
  1191. if test ! -d 'sys/mac' ; then
  1192.     echo shar: Creating directory \"'sys/mac'\"
  1193.     mkdir 'sys/mac'
  1194. fi
  1195. if test ! -d 'sys/msdos' ; then
  1196.     echo shar: Creating directory \"'sys/msdos'\"
  1197.     mkdir 'sys/msdos'
  1198. fi
  1199. if test ! -d 'sys/os2' ; then
  1200.     echo shar: Creating directory \"'sys/os2'\"
  1201.     mkdir 'sys/os2'
  1202. fi
  1203. if test ! -d 'sys/share' ; then
  1204.     echo shar: Creating directory \"'sys/share'\"
  1205.     mkdir 'sys/share'
  1206. fi
  1207. if test ! -d 'sys/unix' ; then
  1208.     echo shar: Creating directory \"'sys/unix'\"
  1209.     mkdir 'sys/unix'
  1210. fi
  1211. if test ! -d 'sys/vms' ; then
  1212.     echo shar: Creating directory \"'sys/vms'\"
  1213.     mkdir 'sys/vms'
  1214. fi
  1215. if test ! -d 'util' ; then
  1216.     echo shar: Creating directory \"'util'\"
  1217.     mkdir 'util'
  1218. fi
  1219. if test ! -d 'win' ; then
  1220.     echo shar: Creating directory \"'win'\"
  1221.     mkdir 'win'
  1222. fi
  1223. if test ! -d 'win/X11' ; then
  1224.     echo shar: Creating directory \"'win/X11'\"
  1225.     mkdir 'win/X11'
  1226. fi
  1227. if test ! -d 'win/tty' ; then
  1228.     echo shar: Creating directory \"'win/tty'\"
  1229.     mkdir 'win/tty'
  1230. fi
  1231. echo shar: End of archive 1 \(of 108\).
  1232. cp /dev/null ark1isdone
  1233. MISSING=""
  1234. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
  1235. 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
  1236. 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 \
  1237. 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 \
  1238. 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 \
  1239. 101 102 103 104 105 106 107 108 ; do
  1240.     if test ! -f ark${I}isdone ; then
  1241.     MISSING="${MISSING} ${I}"
  1242.     fi
  1243. done
  1244. if test "${MISSING}" = "" ; then
  1245.     echo You have unpacked all 108 archives.
  1246.     echo "Now execute 'rebuild.sh'"
  1247.     rm -f ark10[0-8]isdone ark[1-9]isdone ark[1-9][0-9]isdone
  1248. else
  1249.     echo You still need to unpack the following archives:
  1250.     echo "        " ${MISSING}
  1251. fi
  1252. ##  End of shell archive.
  1253. exit 0
  1254.