home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sources / games / 199 < prev    next >
Encoding:
Internet Message Format  |  1992-08-22  |  56.5 KB

  1. Path: sparky!uunet!paladin.american.edu!darwin.sura.net!mips!swrinde!elroy.jpl.nasa.gov!usc!rpi!uwm.edu!ogicse!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v14i070:  umoria4 - single player dungeon simulation (ver. 5.5), Part38/39
  5. Message-ID: <3434@master.CNA.TEK.COM>
  6. Date: 22 Aug 92 22:16:12 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1517
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: grabiner@math.harvard.edu (David Grabiner)
  12. Posting-number: Volume 14, Issue 70
  13. Archive-name: umoria4/Part38
  14. Supersedes: umoria3: Volume 9, Issue 55-97; Volume 10, Issue 15-17
  15. Environment: Curses, Unix, Mac, MS-DOS, Atari-ST, Amiga, VMS
  16.  
  17.  
  18.  
  19. #! /bin/sh
  20. # This is a shell archive.  Remove anything before this line, then unpack
  21. # it by saving it into a file and typing "sh file".  To overwrite existing
  22. # files, type "sh file -c".  You can also feed this as standard input via
  23. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  24. # will see the following message at the end:
  25. #        "End of archive 38 (of 39)."
  26. # Contents:  atari_st/Makefile.bam atari_st/Makefile.roe
  27. #   atari_st/moria.prj atari_st/st-stuff.c bldfiles.sh doc/dragon.inf
  28. #   doc/pronounc doc/where.inf files/origcmds.hlp files/roglcmds.hlp
  29. #   files/version.hlp ibmpc/MORIA.CNF ibmpc/ms_ansi.h mac/Install.doc
  30. #   mac/macdata.c mac/macrsrc.h mac/scrnmgr/MakeFile.hqx vms/debug.mms
  31. #   vms/descrip.mms
  32. # Wrapped by billr@saab on Thu Aug 20 09:11:36 1992
  33. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  34. if test -f 'atari_st/Makefile.bam' -a "${1}" != "-c" ; then 
  35.   echo shar: Will not clobber existing file \"'atari_st/Makefile.bam'\"
  36. else
  37. echo shar: Extracting \"'atari_st/Makefile.bam'\" \(2896 characters\)
  38. sed "s/^X//" >'atari_st/Makefile.bam' <<'END_OF_FILE'
  39. X# An atari ST makefile for the Bammi RTL.
  40. X
  41. X# BINDIR is the directory where the moria binary while be put
  42. X# LIBDIR is where the other files (score, news, hours) will be put
  43. X# LIBDIR must be the same directory defined in config.h
  44. X
  45. XCFLAGS = -DBAMMI_LIB -O -fstrength-reduce
  46. XCC = cgcc
  47. X
  48. XSRCS = main.c misc1.c misc2.c misc3.c misc4.c store1.c files.c io.c \
  49. X    create.c desc.c generate.c sets.c dungeon.c creature.c death.c \
  50. X    eat.c help.c magic.c potions.c prayer.c save.c staffs.c wands.c \
  51. X    scrolls.c spells.c wizard.c store2.c signals.c moria1.c moria2.c \
  52. X    moria3.c moria4.c monsters.c treasure.c variable.c rnd.c recall.c \
  53. X    player.c tables.c st-stuff.c
  54. X
  55. XOBJS = main.o misc1.o misc2.o misc3.o misc4.o store1.o files.o io.o \
  56. X    create.o desc.o generate.o sets.o dungeon.o creature.o death.o \
  57. X    eat.o help.o magic.o potions.o prayer.o save.o staffs.o wands.o \
  58. X    scrolls.o spells.o wizard.o store2.o signals.o moria1.o moria2.o \
  59. X    moria3.o moria4.o monsters.o treasure.o variable.o rnd.o recall.o \
  60. X    player.o tables.o st-stuff.o
  61. X
  62. Xmoria : $(OBJS)
  63. X    $(CC) -o moria  $(OBJS) -lcurses
  64. X
  65. Xcreate.o: constant.h types.h externs.h config.h
  66. Xcreature.o: constant.h types.h externs.h config.h
  67. Xdeath.o: constant.h types.h externs.h config.h
  68. Xdesc.o: constant.h types.h externs.h config.h
  69. Xdungeon.o: constant.h types.h externs.h config.h
  70. Xeat.o: constant.h types.h externs.h config.h
  71. Xfiles.o: constant.h types.h externs.h config.h
  72. Xgenerate.o: constant.h types.h externs.h config.h
  73. Xhelp.o: constant.h types.h externs.h config.h
  74. Xio.o: constant.h types.h externs.h config.h
  75. Xmagic.o: constant.h types.h externs.h config.h
  76. Xmain.o: constant.h types.h externs.h config.h
  77. Xmisc1.o: constant.h types.h externs.h config.h
  78. Xmisc2.o: constant.h types.h externs.h config.h
  79. Xmisc3.o: constant.h types.h externs.h config.h
  80. Xmisc4.o: constant.h types.h externs.h config.h
  81. Xmonsters.o: constant.h types.h config.h
  82. Xmoria1.o: constant.h types.h externs.h config.h
  83. Xmoria2.o: constant.h types.h externs.h config.h
  84. Xmoria3.o: constant.h types.h externs.h config.h
  85. Xmoria4.o: constant.h types.h externs.h config.h
  86. Xplayer.o: constant.h types.h config.h
  87. Xpotions.o: constant.h types.h externs.h config.h
  88. Xprayer.o: constant.h types.h externs.h config.h
  89. Xrecall.o: constant.h config.h types.h externs.h
  90. Xrnd.o: constant.h types.h
  91. Xsave.o: constant.h types.h externs.h config.h
  92. Xscrolls.o: constant.h types.h externs.h config.h
  93. Xsets.o: constant.h config.h
  94. Xsignals.o: constant.h types.h externs.h config.h
  95. Xspells.o: constant.h types.h externs.h config.h
  96. Xstaffs.o: constant.h types.h externs.h config.h
  97. Xstore1.o: constant.h types.h externs.h config.h
  98. Xstore2.o: constant.h types.h externs.h config.h
  99. Xst-stuff.o: constant.h types.h externs.h config.h
  100. Xtables.o: constant.h types.h config.h
  101. Xtreasure.o: constant.h types.h config.h
  102. Xvariable.o: constant.h types.h config.h
  103. Xwands.o: constant.h types.h externs.h config.h
  104. Xwizard.o: constant.h types.h externs.h config.h
  105. END_OF_FILE
  106. if test 2896 -ne `wc -c <'atari_st/Makefile.bam'`; then
  107.     echo shar: \"'atari_st/Makefile.bam'\" unpacked with wrong size!
  108. fi
  109. # end of 'atari_st/Makefile.bam'
  110. fi
  111. if test -f 'atari_st/Makefile.roe' -a "${1}" != "-c" ; then 
  112.   echo shar: Will not clobber existing file \"'atari_st/Makefile.roe'\"
  113. else
  114. echo shar: Extracting \"'atari_st/Makefile.roe'\" \(2884 characters\)
  115. sed "s/^X//" >'atari_st/Makefile.roe' <<'END_OF_FILE'
  116. X# An Atari ST Makefile for the Roede RTL.
  117. X
  118. X# BINDIR is the directory where the moria binary while be put
  119. X# LIBDIR is where the other files (score, news, hours) will be put
  120. X# LIBDIR must be the same directory defined in config.h
  121. X
  122. XCFLAGS = -O -fstrength-reduce
  123. XCC = cgcc
  124. X
  125. XSRCS = main.c misc1.c misc2.c misc3.c misc4.c store1.c files.c io.c \
  126. X    create.c desc.c generate.c sets.c dungeon.c creature.c death.c \
  127. X    eat.c help.c magic.c potions.c prayer.c save.c staffs.c wands.c \
  128. X    scrolls.c spells.c wizard.c store2.c signals.c moria1.c moria2.c \
  129. X    moria3.c moria4.c monsters.c treasure.c variable.c rnd.c recall.c \
  130. X    player.c tables.c st-stuff.c
  131. X
  132. XOBJS = main.o misc1.o misc2.o misc3.o misc4.o store1.o files.o io.o \
  133. X    create.o desc.o generate.o sets.o dungeon.o creature.o death.o \
  134. X    eat.o help.o magic.o potions.o prayer.o save.o staffs.o wands.o \
  135. X    scrolls.o spells.o wizard.o store2.o signals.o moria1.o moria2.o \
  136. X    moria3.o moria4.o monsters.o treasure.o variable.o rnd.o recall.o \
  137. X    player.o tables.o st-stuff.o
  138. X
  139. Xmoria : $(OBJS)
  140. X    $(CC) -o moria  $(OBJS) -lcurses
  141. X
  142. Xcreate.o: constant.h types.h externs.h config.h
  143. Xcreature.o: constant.h types.h externs.h config.h
  144. Xdeath.o: constant.h types.h externs.h config.h
  145. Xdesc.o: constant.h types.h externs.h config.h
  146. Xdungeon.o: constant.h types.h externs.h config.h
  147. Xeat.o: constant.h types.h externs.h config.h
  148. Xfiles.o: constant.h types.h externs.h config.h
  149. Xgenerate.o: constant.h types.h externs.h config.h
  150. Xhelp.o: constant.h types.h externs.h config.h
  151. Xio.o: constant.h types.h externs.h config.h
  152. Xmagic.o: constant.h types.h externs.h config.h
  153. Xmain.o: constant.h types.h externs.h config.h
  154. Xmisc1.o: constant.h types.h externs.h config.h
  155. Xmisc2.o: constant.h types.h externs.h config.h
  156. Xmisc3.o: constant.h types.h externs.h config.h
  157. Xmisc4.o: constant.h types.h externs.h config.h
  158. Xmonsters.o: constant.h types.h config.h
  159. Xmoria1.o: constant.h types.h externs.h config.h
  160. Xmoria2.o: constant.h types.h externs.h config.h
  161. Xmoria3.o: constant.h types.h externs.h config.h
  162. Xmoria4.o: constant.h types.h externs.h config.h
  163. Xplayer.o: constant.h types.h config.h
  164. Xpotions.o: constant.h types.h externs.h config.h
  165. Xprayer.o: constant.h types.h externs.h config.h
  166. Xrecall.o: constant.h config.h types.h externs.h
  167. Xrnd.o: constant.h types.h
  168. Xsave.o: constant.h types.h externs.h config.h
  169. Xscrolls.o: constant.h types.h externs.h config.h
  170. Xsets.o: constant.h config.h
  171. Xsignals.o: constant.h types.h externs.h config.h
  172. Xspells.o: constant.h types.h externs.h config.h
  173. Xstaffs.o: constant.h types.h externs.h config.h
  174. Xstore1.o: constant.h types.h externs.h config.h
  175. Xstore2.o: constant.h types.h externs.h config.h
  176. Xst-stuff.o: constant.h types.h externs.h config.h
  177. Xtables.o: constant.h types.h config.h
  178. Xtreasure.o: constant.h types.h config.h
  179. Xvariable.o: constant.h types.h config.h
  180. Xwands.o: constant.h types.h externs.h config.h
  181. Xwizard.o: constant.h types.h externs.h config.h
  182. END_OF_FILE
  183. if test 2884 -ne `wc -c <'atari_st/Makefile.roe'`; then
  184.     echo shar: \"'atari_st/Makefile.roe'\" unpacked with wrong size!
  185. fi
  186. # end of 'atari_st/Makefile.roe'
  187. fi
  188. if test -f 'atari_st/moria.prj' -a "${1}" != "-c" ; then 
  189.   echo shar: Will not clobber existing file \"'atari_st/moria.prj'\"
  190. else
  191. echo shar: Extracting \"'atari_st/moria.prj'\" \(2602 characters\)
  192. sed "s/^X//" >'atari_st/moria.prj' <<'END_OF_FILE'
  193. Xmoria.tos          ; name of executable program is topmost window
  194. X
  195. X=                  ; list of modules follows...
  196. X
  197. XTCSTART.O          ; startup code
  198. X
  199. X; all modules are compiled with -P -G except for those marked here
  200. X;   with just -G. HPP 24/12/90
  201. X
  202. Xcreate.c    (constant.h,types.h,externs.h,config.h)
  203. Xcreature.c  (constant.h,types.h,externs.h,config.h)
  204. Xdeath.c     (constant.h,types.h,externs.h,config.h)
  205. Xdesc.c      (constant.h,types.h,externs.h,config.h)
  206. Xdungeon.c   (constant.h,types.h,externs.h,config.h)
  207. Xeat.c       (constant.h,types.h,externs.h,config.h)
  208. Xfiles.c     (constant.h,types.h,externs.h,config.h)
  209. Xgenerate.c  (constant.h,types.h,externs.h,config.h)
  210. Xhelp.c      (constant.h,types.h,externs.h,config.h)
  211. Xio.c        (constant.h,types.h,externs.h,config.h)
  212. Xmagic.c     (constant.h,types.h,externs.h,config.h)
  213. Xmain.c      (constant.h,types.h,externs.h,config.h)
  214. Xmisc1.c     (constant.h,types.h,externs.h,config.h)
  215. Xmisc2.c     (constant.h,types.h,externs.h,config.h)
  216. Xmisc3.c     (constant.h,types.h,externs.h,config.h)
  217. Xmisc4.c     (constant.h,types.h,externs.h,config.h)
  218. Xmonsters.c  (constant.h,types.h,config.h)           [-G]
  219. Xmoria1.c    (constant.h,types.h,externs.h,config.h)
  220. Xmoria2.c    (constant.h,types.h,externs.h,config.h)
  221. Xmoria3.c    (constant.h,types.h,externs.h,config.h)
  222. Xmoria4.c    (constant.h,types.h,externs.h,config.h)
  223. Xplayer.c    (constant.h,types.h,config.h)           [-G]
  224. Xpotions.c   (constant.h,types.h,externs.h,config.h)
  225. Xprayer.c    (constant.h,types.h,externs.h,config.h)
  226. Xrecall.c    (constant.h,config.h,types.h,externs.h)
  227. Xrnd.c       (constant.h,types.h)                    [-G]
  228. Xsave.c      (constant.h,types.h,externs.h,config.h)
  229. Xscrolls.c   (constant.h,types.h,externs.h,config.h)
  230. Xsets.c      (constant.h,config.h)                   [-G]
  231. Xsignals.c   (constant.h,types.h,externs.h,config.h) [-G]
  232. Xspells.c    (constant.h,types.h,externs.h,config.h)
  233. Xstaffs.c    (constant.h,types.h,externs.h,config.h)
  234. Xstore1.c    (constant.h,types.h,externs.h,config.h)
  235. Xstore2.c    (constant.h,types.h,externs.h,config.h)
  236. Xtables.c    (constant.h,types.h,config.h)           [-G]
  237. Xtreasure.c  (constant.h,types.h,config.h)           [-G]
  238. Xatarist.c   (constant.h,config.h,types.h,externs.h) [-G]
  239. Xvariable.c  (constant.h,types.h,config.h)           [-G]
  240. Xwands.c     (constant.h,types.h,externs.h,config.h)
  241. Xwizard.c    (constant.h,types.h,externs.h,config.h)
  242. X
  243. Xcurses.c    (cursinc.h)                             [-G]
  244. X
  245. XTCSTDLIB.LIB       ; standard library
  246. XTCEXTLIB.LIB       ; extended library
  247. XTCTOSLIB.LIB       ; TOS library
  248. X
  249. X
  250. END_OF_FILE
  251. if test 2602 -ne `wc -c <'atari_st/moria.prj'`; then
  252.     echo shar: \"'atari_st/moria.prj'\" unpacked with wrong size!
  253. fi
  254. # end of 'atari_st/moria.prj'
  255. fi
  256. if test -f 'atari_st/st-stuff.c' -a "${1}" != "-c" ; then 
  257.   echo shar: Will not clobber existing file \"'atari_st/st-stuff.c'\"
  258. else
  259. echo shar: Extracting \"'atari_st/st-stuff.c'\" \(1942 characters\)
  260. sed "s/^X//" >'atari_st/st-stuff.c' <<'END_OF_FILE'
  261. X/* atari_st/st-stuff.c: Atari ST support code for GCC
  262. X
  263. X   Copyright (c) 1990-92 Scott Kolodzieski, James E. Wilson
  264. X
  265. X   This software may be copied and distributed for educational, research, and
  266. X   not for profit purposes provided that this copyright and statement are
  267. X   included in all such copies. */
  268. X
  269. X#include <stdio.h>
  270. X#include "config.h"
  271. X#include "constant.h"
  272. X#include "types.h"
  273. X#include "externs.h"
  274. X#include <time.h>
  275. X
  276. X#include <osbind.h>
  277. X#include <curses.h>
  278. X
  279. X/* this routine looks for an enviornment variable called MORIA_ROOT
  280. X   which may contain a sting specifing the base directory for the moria
  281. X   MORIA_ROOT/files subdirectory. this is more usefull on a version of
  282. X   unix-moria that runs on many personal computers, allowing the program
  283. X   run from any directory, no matter where it is based. also it allows
  284. X   the files directory to be anywhere on the system...
  285. X
  286. X
  287. X                                 scott kolodzieski
  288. X*/
  289. Xchar *prefix_file(name)
  290. Xchar *name;
  291. X{ char p_buff[80];
  292. X  char *p;
  293. X  p = (char *)p_buff;
  294. X  p = (char *)getenv("MORIA_ROOT");
  295. X  if (p == (char *)NULL)
  296. X    strcpy(extended_file_name,name);
  297. X  else
  298. X    { strcpy(extended_file_name,p);
  299. X      strcat(extended_file_name,name);
  300. X    }
  301. X   return(extended_file_name);
  302. X}
  303. X
  304. X
  305. X#if defined(atarist) && defined(__GNUC__) && defined(BAMMI_LIB)
  306. Xint sigsetmask(x)
  307. Xint x;
  308. X{ return(1);
  309. X}
  310. X#endif
  311. X
  312. X/* check_input does a non blocking read (consuming the input if any) and
  313. X   returns 1 if there was input pending */
  314. Xint check_input(microsec)
  315. Xint microsec;
  316. X{
  317. X    time_t start;
  318. X
  319. X    if(microsec != 0 && (turn & (unsigned long)0x3f) == 0){
  320. X        start = clock();
  321. X        while ((clock() <= (start + 100)));/*    half second pause */
  322. X    }
  323. X    if (Bconstat(2) != 0L)
  324. X      {
  325. X        (void) getch();
  326. X        return 1;
  327. X      }
  328. X    else
  329. X      return 0;
  330. X}
  331. X
  332. Xvoid user_name(buf)
  333. Xchar *buf;
  334. X{
  335. X    extern char *getenv();
  336. X    register char *p;
  337. X
  338. X    if(p=getenv("NAME")) strcpy(buf, p);
  339. X    else if(p=getenv("USER")) strcpy(buf, p);
  340. X    else strcpy(buf, "X");
  341. X}
  342. END_OF_FILE
  343. if test 1942 -ne `wc -c <'atari_st/st-stuff.c'`; then
  344.     echo shar: \"'atari_st/st-stuff.c'\" unpacked with wrong size!
  345. fi
  346. # end of 'atari_st/st-stuff.c'
  347. fi
  348. if test -f 'bldfiles.sh' -a "${1}" != "-c" ; then 
  349.   echo shar: Will not clobber existing file \"'bldfiles.sh'\"
  350. else
  351. echo shar: Extracting \"'bldfiles.sh'\" \(838 characters\)
  352. sed "s/^X//" >'bldfiles.sh' <<'END_OF_FILE'
  353. X#!/bin/sh
  354. X#
  355. X# simple shell script to build large files from
  356. X# the splitting required for posting.
  357. X#
  358. Xecho building files...
  359. Xecho OOChanges
  360. Xcat OOChanges.1 OOChanges.2 > OOChanges
  361. Xrm OOChanges.1 OOChanges.2
  362. Xecho doc/moria1.ms
  363. Xcat doc/moria1.ms.1 doc/moria1.ms.2 > doc/moria1.ms
  364. Xrm doc/moria1.ms.1 doc/moria1.ms.2
  365. Xecho doc/moria2.txt
  366. Xcat doc/moria2.txt.1 doc/moria2.txt.2 > doc/moria2.txt
  367. Xrm doc/moria2.txt.1 doc/moria2.txt.2
  368. Xecho mac/scrnmgr/ScrnMgr.c
  369. Xcat mac/scrnmgr/ScrnMgr.c.1 mac/scrnmgr/ScrnMgr.c.2 > mac/scrnmgr/ScrnMgr.c
  370. Xrm mac/scrnmgr/ScrnMgr.c.1 mac/scrnmgr/ScrnMgr.c.2
  371. Xecho source/misc3.c
  372. Xcat source/misc3.c.1 source/misc3.c.2 > source/misc3.c
  373. Xrm source/misc3.c.1 source/misc3.c.2
  374. Xecho source/spells.c
  375. Xcat source/spells.c.1 source/spells.c.2 > source/spells.c
  376. Xrm source/spells.c.1 source/spells.c.2
  377. Xecho ...file building complete
  378. END_OF_FILE
  379. if test 838 -ne `wc -c <'bldfiles.sh'`; then
  380.     echo shar: \"'bldfiles.sh'\" unpacked with wrong size!
  381. fi
  382. chmod +x 'bldfiles.sh'
  383. # end of 'bldfiles.sh'
  384. fi
  385. if test -f 'doc/dragon.inf' -a "${1}" != "-c" ; then 
  386.   echo shar: Will not clobber existing file \"'doc/dragon.inf'\"
  387. else
  388. echo shar: Extracting \"'doc/dragon.inf'\" \(2517 characters\)
  389. sed "s/^X//" >'doc/dragon.inf' <<'END_OF_FILE'
  390. X
  391. XEvery breath weapon does 1/3 of the monster's current hit points,
  392. Xexcept lightning, which does 1/4.
  393. X
  394. XAcid damage is then halved if you have any armor to corrode, or
  395. Xdivided by 4 if you have resist acid and some armor.
  396. X
  397. XCold or fire damage is divided by 3 if you have permanent resistance
  398. X(from a ring, armor, or weapon) or temporary resistance (from a potion
  399. Xor priest spell), and by 9 if you have both.
  400. X
  401. XLightning damage is divided by 3 if you have resistance.
  402. X
  403. XGas damage always has full effect.
  404. X
  405. X
  406. XAncient Multi-Hued Dragon:  (40/276)
  407. X      2080 total hit points
  408. X      lightning:  520/173
  409. X      acid:       693/347/173
  410. X      fire/cold:  693/231/77
  411. X      gas:        693
  412. X
  413. XEven a 40th level half-troll warrior with 18/100 constitution,
  414. Xheroism, and superheroism would probably not have 693 hit points.
  415. XThus you must never fight AMHD's if you are giving them any
  416. Xopportunity to breathe on you.  I don't like to go down to level 40
  417. Xunless I have 231 hit points and resistance, so that I can survive 4
  418. Xout of 5 breaths from off-screen AMHD's.
  419. X
  420. XAncient Green Dragon:  (39/269)
  421. X      720 total hit points
  422. X      gas:        240
  423. X
  424. XAncient White Dragon:  (38/263)
  425. X      704 total hit points
  426. X      cold:       235/78/26
  427. X
  428. XAncient Blue Dragon:  (39/268)
  429. X      696 total hit points
  430. X      lightning:  174/58
  431. X
  432. XAncient Black Dragon:  (39/270)
  433. X      720 total hit points
  434. X      acid:       240/120/60
  435. X
  436. XAncient Red Dragon:  (40/273)
  437. X      840 total hit points
  438. X      fire:       280/93/31
  439. X
  440. XBalrog:
  441. X      3000 total hit points
  442. X      fire:       1000/333/111
  443. X
  444. XThus a mage with less than 333 hp can be killed by one breath from the
  445. XBalrog, before he gets a chance to drink invulnerability potions.  For
  446. Xa mage to get 333 hp, he must be human, and he must use the grape
  447. Xjelly trick.
  448. X
  449. X
  450. XMature Multi-Hued Dragon:  (38/262)
  451. X      640 total hit points
  452. X      lightning:  160/53
  453. X      acid:       213/107/53
  454. X      fire/cold:  213/71/24
  455. X      gas:        213
  456. X
  457. XMature Green Dragon:  (36/256)
  458. X      384 total hit points
  459. X      gas:        128
  460. X
  461. XMature White Dragon:  (35/250)
  462. X      384 total hit points
  463. X      cold:       128/43/14
  464. X
  465. XMature Blue Dragon:  (36/255)
  466. X      384 total hit points
  467. X      lightning:  96/32
  468. X
  469. XMature Black Dragon:  (37/261)
  470. X      464 total hit points
  471. X      acid:       155/77/39
  472. X
  473. XMature Red Dragon:  (37/260)
  474. X      480 total hit points
  475. X      fire:       160/53/18
  476. X
  477. XYoung Multi-Hued Dragon:  (36/254)
  478. X      320 total hit points
  479. X      lightning:  80/27
  480. X      acid:       107/53/27
  481. X      fire/cold:  107/36/12
  482. X      gas:        107
  483. X
  484. END_OF_FILE
  485. if test 2517 -ne `wc -c <'doc/dragon.inf'`; then
  486.     echo shar: \"'doc/dragon.inf'\" unpacked with wrong size!
  487. fi
  488. # end of 'doc/dragon.inf'
  489. fi
  490. if test -f 'doc/pronounc' -a "${1}" != "-c" ; then 
  491.   echo shar: Will not clobber existing file \"'doc/pronounc'\"
  492. else
  493. echo shar: Extracting \"'doc/pronounc'\" \(2553 characters\)
  494. sed "s/^X//" >'doc/pronounc' <<'END_OF_FILE'
  495. X
  496. XI used to pronounce the name as muh-RYE-uh.  This is probably because I
  497. Xhave heard a song "They call the wind Mariah!" which uses this
  498. Xpronounciation.     This song is from the musical "Paint Your Wagon" by
  499. XLerner and Lowe.
  500. X
  501. XThis game is based on the books by J. R. R. Tolkien, though, so I got out my
  502. Xbooks and looked it up.     Below is the result of my investigation.
  503. X
  504. X-- "The Return of the King", Part Three of the trilogy "The Lord of the Rings"
  505. XAppendix F,
  506. X    section II: On Translation, paragraph 19
  507. X"But Moria is an Elvish name, and given without love; for the Eldar, though
  508. Xthey might at need, in their bitter wars with the Dark Power and his servants,
  509. Xcontrive fortresses underground, were not dwellers in such places of choice."
  510. X    section I: The Languages and Peoples of the Third Age,
  511. X    subsection Of the Elves, paragraph 2
  512. X"Of the Eldarin tongues two are found in this book: the High-elven or Quenya,
  513. Xand the Grey-elven or Sindarin."
  514. X    paragraph 4
  515. X"The Exiles, dwelling among the more numerous Grey-elves, had adopted the
  516. XSindarin for daily use; and hence it was the tongue of all those Elves and
  517. XElf-lords that appear in this history."
  518. X
  519. XAppendix E
  520. X    section I: Pronunciation of Words and Names
  521. X    subsection Consonants
  522. X"I    initially before another vowel has the consonantal sound of y in you,
  523. Xyore in Sindarin only: as in Ioreth, Iarwain."
  524. X"R    represents a trilled r in all positions; the sound was not lost before
  525. Xconsonants (as in English part).  The Orcs, and some Dwarves, are said to have
  526. Xused a back or uvular r, a sound which the Eldar found distasteful."
  527. X    subsection Vowels, paragraph 1
  528. X"That is, the sounds were approximately those represented by i, e, a, o, u in
  529. XEnglish machine, were, father, for, brute, irrespective of quantity."
  530. X    subsection Vowels, paragraph 4
  531. X"In Sindarin long vowels in stressed monosyllables are marked with the
  532. Xcircumflex, since they tended in such cases to be specially prolonged; so in
  533. Xdu^n compared with Du'nadan." [Note: see ia^ below]
  534. X    subsection Stress, paragraph 1
  535. X"In words of two syllables it falls in practically all cases on the first
  536. Xsyllable."
  537. X
  538. X-- "The Silmarillion"
  539. XAppendix: Elements in Quenya and Sindarin Names
  540. X"mor    'dark' in Mordor, Morgoth, Moria, etc."
  541. X"ia^    'void, abyss' in Moria"
  542. X[Note: ia^ apparently is a single syllable because of the circumflex over
  543. Xthe a.]
  544. X
  545. XHence, the correct pronounciation appears to be
  546. X  MOR-yah (trill the r)
  547. X
  548. XAlternatively, MOR-ee-ah might be acceptable if the ee sound is kept short,
  549. Xand you don't have to trill the r if you feel uncomfortable doing it.
  550. END_OF_FILE
  551. if test 2553 -ne `wc -c <'doc/pronounc'`; then
  552.     echo shar: \"'doc/pronounc'\" unpacked with wrong size!
  553. fi
  554. # end of 'doc/pronounc'
  555. fi
  556. if test -f 'doc/where.inf' -a "${1}" != "-c" ; then 
  557.   echo shar: Will not clobber existing file \"'doc/where.inf'\"
  558. else
  559. echo shar: Extracting \"'doc/where.inf'\" \(2538 characters\)
  560. sed "s/^X//" >'doc/where.inf' <<'END_OF_FILE'
  561. X
  562. XMuch of the data in this file is about 2 years out of date and may no longer
  563. Xbe true.
  564. X
  565. X********
  566. X
  567. XHow to get a copy depends on which version you want, and what network and
  568. Xother resources you have access too.  It is far too involved to include
  569. Xevery case here.  If none of these apply, you can send me mail.  Be specific
  570. Xabout what you want.
  571. X
  572. X*********
  573. X
  574. XFrom BITNET/EUNET:
  575. X
  576. XThe PC and Apple II GS versions are available from the LISTSERV at UTARLVM1.
  577. XThe UNIX and VM/SP versions are available from the LISTSERV at BLEKUL11.
  578. XThe Mac version is available from the info-mac archives.  There is a server
  579. Xat PUCC, I believe, that handles this.
  580. X
  581. X**************
  582. X
  583. XFrom Internet:
  584. X
  585. XHere are some anonymous ftp sites where you can get Moria from...
  586. XUNIX: uunet.uu.net (North America), sunic.sunet.se (Europe), in the directory
  587. X    comp.sources.games/volume5/umoria2
  588. XAtari ST: terminator.cc.umich.edu
  589. XAmiga Moria v3.0: jyu.fi
  590. XPCMoria 4.00+: hotel.cis.ksu.edu (contact jwd to get more recent versions)
  591. XApple IIGS: husc6.harvard.edu
  592. XMacMoria: sumex.stanford.edu
  593. X
  594. XIn addition, I have a moria ftp archive on kukulcan.Berkeley.EDU (Internet
  595. Xnumber 128.32.131.190), which has a copy of everything listed in the history
  596. Xfile except for Imoria, PC-Moria 4.00+ and the VM/SP and Archimedes ports of
  597. Xumoria.
  598. X
  599. X***************
  600. X
  601. XThe UNIX sources are available via anonymous UUCP from various places in
  602. Xthe US.  Tell me where you are, and I can tell you the nearest UUCP site.
  603. X
  604. X**************
  605. X
  606. XCheck with local user groups or commercial services.  For example, I know
  607. Xthat BCS, BMUG, Genie, and Compuserve all have copies of MacMoria 4.87.
  608. X
  609. XAlso, try posting a request to rec.games.moria with a local distribution.
  610. XSomeone nearby may already have a copy.
  611. X
  612. X*********************
  613. X
  614. XIf all else fails, you can get a copy from me via the mail.
  615. XI can put anything on a Mac floppy, I can put everything onto a 9-track
  616. Xtape in UNIX tar format, I can put the IBM-PC version onto PC diskettes
  617. X(I can put other things onto IBM-PC versions but there will be a delay,
  618. Xas I have to find time to do the download).  Send me email for more
  619. Xinfo.
  620. X
  621. XI have copies of the following:
  622. Xsources: Moria 4.8 (VMS/Pascal), Moria 5.0 (VMS/Pascal), Umoria 4.87 (C),
  623. X    PC-Moria 4.873 (MSC), TC-Moria 4.873 (Turbo C), Atari ST 4.85 (MWC,
  624. X    diffs from Umoria 4.85), Umoria 5.x (C)
  625. Xbinaries: PC-Moria 4.873, TC-Moria 4.873 (512K and 640K), Amiga Moria v3.0,
  626. X    Amiga Umoria 4.85, MacMoria 4.87, Apple II GS 4.83
  627. X
  628. X***********************
  629. X
  630. XI do not email Moria sources/binaries.
  631. X
  632. X**************************
  633. END_OF_FILE
  634. if test 2538 -ne `wc -c <'doc/where.inf'`; then
  635.     echo shar: \"'doc/where.inf'\" unpacked with wrong size!
  636. fi
  637. # end of 'doc/where.inf'
  638. fi
  639. if test -f 'files/origcmds.hlp' -a "${1}" != "-c" ; then 
  640.   echo shar: Will not clobber existing file \"'files/origcmds.hlp'\"
  641. else
  642. echo shar: Extracting \"'files/origcmds.hlp'\" \(2852 characters\)
  643. sed "s/^X//" >'files/origcmds.hlp' <<'END_OF_FILE'
  644. XCommand summary: (@ is optional count, ~ is direction, ^R redraws, ESC aborts)
  645. X  a        Aim and fire a wand         | @ B ~      Bash item or monster
  646. X  b        Browse a book               |   C        Character description
  647. X  c ~      Close a door                | @ D ~      Disarm a trap/chest
  648. X  d        Drop an item                |   E        Eat some food
  649. X  e        Equipment list              |   F        Fill lamp with oil
  650. X  f        Fire/Throw an item          |   G        Gain new magic spells
  651. X  i        Inventory list              |   L        Locate with map
  652. X@ j ~      Jam a door with spike       |   M        Map shown reduced size
  653. X  l ~      Look given direction        | @ R        Rest (Count or *=restore)
  654. X  m        Magic spell casting         |   S        Search Mode
  655. X@ o ~      Open a door/chest           | @ T ~      Tunnel in a direction
  656. X  p        Pray                        |   V        View scoreboard
  657. X  q        Quaff a potion              |   =        Set options
  658. X  r        Read a scroll               |   ?        Type this page
  659. X@ s        Search for traps or doors   |   {        Inscribe an object
  660. X  t        Take off an item            | @ -        Move without pickup
  661. X  u        Use a staff                 |   . ~      Run in direction
  662. X  v        Version info and credits    |   /        Identify a character
  663. X  w        Wear/Wield an item          |   CTRL-K   Quit the game
  664. X  x        Exchange weapon             | @ CTRL-P   Repeat the last message
  665. X  <        Go up an up-staircase       |   CTRL-X   Save character and quit
  666. X  >        Go down a down-staircase    | @ ~        for movement
  667. XDirections:     7  8  9
  668. X                4  5  6  [5 is stay]
  669. X                1  2  3
  670. X
  671. XTo give a count to a command, type a '#', followed by the digits. A count
  672. Xof 0 defaults to a count of 99. Counts only work with some commands, and
  673. Xwill be terminated by the same things that end a rest or a run. In
  674. Xparticular, typing any character during the execution of a counted command
  675. Xwill terminate the command. To count a movement command, hit space after
  676. Xthe number, and you will be prompted for the command, which may be a digit.
  677. XCounted searches or tunnels will terminate on success, or if you are
  678. Xattacked. A count with control-P will specify the number of previous messages
  679. Xto display.
  680. X
  681. XControl-R will redraw the screen whenever it is input, not only at command
  682. Xlevel. Control commands may be entered with a single key stroke, or with two
  683. Xkey strokes by typing ^ and then a letter.
  684. X
  685. XType ESCAPE to abort the look command at any point.
  686. X
  687. XSome commands will prompt for a spell, or an inventory item. Selection is
  688. Xby an alphabetic character - entering a capital causes a desription to be
  689. Xprinted, and the selection may be aborted.
  690. X
  691. XTyping `R*' will make you rest until both your mana and your hp reach their
  692. Xmaximum values.
  693. END_OF_FILE
  694. if test 2852 -ne `wc -c <'files/origcmds.hlp'`; then
  695.     echo shar: \"'files/origcmds.hlp'\" unpacked with wrong size!
  696. fi
  697. # end of 'files/origcmds.hlp'
  698. fi
  699. if test -f 'files/roglcmds.hlp' -a "${1}" != "-c" ; then 
  700.   echo shar: Will not clobber existing file \"'files/roglcmds.hlp'\"
  701. else
  702. echo shar: Extracting \"'files/roglcmds.hlp'\" \(3049 characters\)
  703. sed "s/^X//" >'files/roglcmds.hlp' <<'END_OF_FILE'
  704. XCommand summary: (@ is optional count, ~ is direction, ^R redraws, ESC aborts)
  705. X  c ~     Close a door.             |   C       Character player description.
  706. X  d       Drop an item.             | @ D ~     Disarm a trap/chest.
  707. X  e       Equipment list.           |   E       Eat some food.
  708. X@ f ~     Force (bash) item or mons.|   F       Fill lamp with oil.
  709. X  i       Inventory list.           |   G       Gain new magic spells.
  710. X  m       magic spell casting.      |   M       Map, show reduced size.
  711. X@ o ~     Open a door/chest.        |   P       Peruse a book.
  712. X  p       Pray.                     |   Q       Quit the game.
  713. X  q       Quaff a potion.           | @ R       Rest (Count or *=restore).
  714. X  r       Read a scroll.            | @ S ~     Spike a door.
  715. X@ s       Search for traps or doors.|   T       Take off an item.
  716. X  t       Throw an item.            |   V       View scores.
  717. X  v       Version info              |   W       Where: locate self.
  718. X  w       Wear/Wield an item.       |   X       Exchange weapon.
  719. X  x ~     Examine surroundings      |   Z       Zap a staff.
  720. X  z       Zap a wand.               |   #       Search Mode.
  721. X  =       Set options.              |   <       Go up an up-staircase.
  722. X  /       Identify a character.     |   >       Go down a down-staircase.
  723. X@ CTRL-P  Previous message review   |   {       Inscribe an object.
  724. X@ -  ~    Move without pickup.      |   ?       Type this page.
  725. X@ CTRL  ~ Tunnel in a direction.    |   CTRL-X  Save character and exit.
  726. X@ SHIFT ~ Run in direction.         | @ ~       For movement.
  727. XDirections:     y  k  u
  728. X                h  .  l  [. is stay]
  729. X                b  j  n
  730. X
  731. XTo give a count to a command, type the number in digits, then the command.
  732. XA count of 0 defaults to a count of 99. Counts only work with some commands,
  733. Xand will be terminated by the same things that end a rest or a run. In
  734. Xparticular, typing any character during the execution of a counted command
  735. Xwill terminate the command. Counted searches or tunnels will terminate on
  736. Xsuccess, or if you are attacked. A count with control-P will specify the
  737. Xnumber of previous messages to display.
  738. X
  739. XControl-R will redraw the screen whenever it is input, not only at command
  740. Xlevel. Control commands may be entered with a single key stroke, or with two
  741. Xkey strokes by typing ^ and then a letter.
  742. X
  743. XType ESCAPE to abort the look command at any point.
  744. X
  745. XSome commands will prompt for a spell, or an inventory item. Selection is
  746. Xby an alphabetic character - entering a capital causes a desription to be
  747. Xprinted, and the selection may be aborted.
  748. X
  749. XTyping `R*' will make you rest until both your mana and your hp reach their
  750. Xmaximum values.
  751. X
  752. XUsing repeat counts with the tunnel left command does not work well, because
  753. Xtunnel left is the backspace character, and will delete the number you have
  754. Xjust typed in.  To avoid this, you can either enter ^H as two characters
  755. X(^ and then H), or you can type ' ' (i.e. the space character) after the
  756. Xnumber at which point you will get a command prompt and backspace will
  757. Xwork correctly.
  758. END_OF_FILE
  759. if test 3049 -ne `wc -c <'files/roglcmds.hlp'`; then
  760.     echo shar: \"'files/roglcmds.hlp'\" unpacked with wrong size!
  761. fi
  762. # end of 'files/roglcmds.hlp'
  763. fi
  764. if test -f 'files/version.hlp' -a "${1}" != "-c" ; then 
  765.   echo shar: Will not clobber existing file \"'files/version.hlp'\"
  766. else
  767. echo shar: Extracting \"'files/version.hlp'\" \(2193 characters\)
  768. sed "s/^X//" >'files/version.hlp' <<'END_OF_FILE'
  769. X                          VMS Moria Version 4.8
  770. XVersion 0.1  : 03/25/83
  771. XVersion 1.0  : 05/01/84
  772. XVersion 2.0  : 07/10/84
  773. XVersion 3.0  : 11/20/84
  774. XVersion 4.0  : 01/20/85
  775. X
  776. XModules :
  777. X     V1.0  Dungeon Generator      - RAK
  778. X           Character Generator    - RAK & JWT
  779. X           Moria Module           - RAK
  780. X           Miscellaneous          - RAK & JWT
  781. X     V2.0  Town Level & Misc      - RAK
  782. X     V3.0  Internal Help & Misc   - RAK
  783. X     V4.0  Source Release Version - RAK
  784. X
  785. XRobert Alan Koeneke               Jimmey Wayne Todd Jr.
  786. XStudent/University of Oklahoma    Student/University of Oklahoma
  787. X
  788. X
  789. X
  790. X
  791. X
  792. X                        Umoria Version 5.5 (formerly UNIX Moria)
  793. XVersion 4.83 :  5/14/87
  794. XVersion 4.85 : 10/26/87
  795. XVersion 4.87 :  5/27/88
  796. XVersion 5.0  :  11/2/89
  797. XVersion 5.2  :   5/9/90
  798. XVersion 5.3  :  3/25/91
  799. XVersion 5.4  : 10/12/91
  800. XVersion 5.5  :  8/12/92
  801. X
  802. XDavid J. Grabiner, Harvard University
  803. X           grabiner@math.harvard.edu
  804. XJames E. Wilson, Cygnus Support
  805. X         wilson@kithrup.com
  806. X
  807. XOther contributors:
  808. XD. G. Kneller         - MSDOS Moria port, reduced map display, 16 bit integers
  809. XChristopher J. Stuart - recall, options, inventory, running code, etc.
  810. XCurtis McCauley       - Macintosh Moria port for MPW C
  811. XStephen A. Jacobs     - Atari ST Moria port for MW C
  812. X
  813. X
  814. X
  815. XOther contributors:
  816. XWilliam Setzer        - object naming code
  817. XDavid J. Grabiner     - numerous bug reports, consistency checks, etc
  818. XDan Bernstein         - UNIX hangup signal fix, many bug fixes
  819. XCorey Gehman          - Amiga Moria port
  820. XRalph Waters          - VMS support code, IBM-PC Turbo C bug fixes
  821. XJohsua Delahunty      - VMS support code
  822. XTodd Pierzina         - VMS support code
  823. XJoseph Hall           - line of sight code, monster compiler
  824. XEric Vaitl            - PC-Curses replacement for Turbo C
  825. XScott Kolodzieski     - Atari ST port for Gnu C
  826. XHildo Biersma         - Atari ST port for Turbo C
  827. XBen Schreiber         - Macintosh port for Think C
  828. X
  829. X
  830. X
  831. X
  832. X
  833. XCopyright (c) 1989-92 James E. Wilson, Robert A. Keoneke
  834. X  This software may be copied and distributed for educational, research, and
  835. X  not for profit purposes provided that this copyright and statement are
  836. X  included in all such copies.
  837. X
  838. XUmoria Version 5.5, patch level 0
  839. END_OF_FILE
  840. if test 2193 -ne `wc -c <'files/version.hlp'`; then
  841.     echo shar: \"'files/version.hlp'\" unpacked with wrong size!
  842. fi
  843. # end of 'files/version.hlp'
  844. fi
  845. if test -f 'ibmpc/MORIA.CNF' -a "${1}" != "-c" ; then 
  846.   echo shar: Will not clobber existing file \"'ibmpc/MORIA.CNF'\"
  847. else
  848. echo shar: Extracting \"'ibmpc/MORIA.CNF'\" \(2560 characters\)
  849. sed "s/^X//" >'ibmpc/MORIA.CNF' <<'END_OF_FILE'
  850. X# Configuration file for PC MORIA 5.x
  851. X#
  852. X# All lines that have the # character as the first character are
  853. X# comment lines.  Blank lines are totally ignored.
  854. X
  855. X
  856. X
  857. X##################################################################
  858. X###                  Configuration                             ###
  859. X##################################################################
  860. X
  861. X# MORIA is very easy to configure.  The biggest problem is that there
  862. X# is not enough room on a single 360K floppy disk to hold the DOS
  863. X# DOS system files, MORIA.EXE (about 340K) and a MORIA save file
  864. X# (about 80K or so).  Below are a few methods for configuring MORIA
  865. X# depending on your disk storage.  Once you decide which method to
  866. X# use, follow the instructions then remove the comment character ('#')
  867. X# from the beginning of the lines that start with 'SAVE' and 'SCORE'.
  868. X# Only remove the '#' from 1 pair of lines.
  869. X
  870. X
  871. X
  872. X#################### 1 hard disk systems #########################
  873. X#
  874. X# Create a C:\games subdirectory on your hard disk and put C:\games
  875. X# on your PATH.  Copy MORIA.EXE and MORIA.CNF to C:\games.
  876. X#
  877. X#SAVE c:\games\moria.sav;n
  878. X#SCORE c:\games\moria.scr
  879. X
  880. X
  881. X#################### 2 360K floppy disk systems ##################
  882. X#
  883. X# Format /s a floppy disk and copy MORIA.CNF to it.   Format (no /s)
  884. X# a second floppy disk and copy MORIA.EXE to it.  When you want to play
  885. X# MORIA, put the first diskette in drive A, the second in drive B and
  886. X# type B:MORIA
  887. X#
  888. X#SAVE a:\moria.sav
  889. X#SCORE a:\moria.scr
  890. X
  891. X
  892. X#################### 1 high density floppy disk systems ##########
  893. X#
  894. X# Format /s 1 high-density diskette and copy MORIA.CNF and MORIA.EXE
  895. X# to it.
  896. X#
  897. X#SAVE a:\moria.sav
  898. X#SCORE a:\moria.scr
  899. X
  900. X
  901. X
  902. X
  903. X##################################################################
  904. X###                  Other OPTIONS                             ###
  905. X##################################################################
  906. X
  907. X# These graphics characters are a solid box and a centered dot
  908. XGRAPHICS 177 249
  909. X
  910. X# IBMbios option enables the numeric keypad.  Possibly unusable
  911. X# on a non-IBM clone.
  912. XIBMBIOS
  913. X
  914. X# Rawio makes output somewhat faster and allows ^P (control P) to
  915. X# be used for the "previous message" MORIA command.  Cannot be
  916. X# used on a Dec Rainbow.
  917. X#RAWIO
  918. X
  919. X# Being used to LARN and HACK, I prefer the ROGUE-like interface
  920. XKEYBOARD ROGUE
  921. X
  922. X# It is possible to have MORIA output ANSI sequences, rather than
  923. X# use BIOS calls.  This "ANSI" option is required for Dec Rainbows
  924. X# and other computers that are not IBM BIOS compatible.
  925. X#ANSI
  926. END_OF_FILE
  927. if test 2560 -ne `wc -c <'ibmpc/MORIA.CNF'`; then
  928.     echo shar: \"'ibmpc/MORIA.CNF'\" unpacked with wrong size!
  929. fi
  930. # end of 'ibmpc/MORIA.CNF'
  931. fi
  932. if test -f 'ibmpc/ms_ansi.h' -a "${1}" != "-c" ; then 
  933.   echo shar: Will not clobber existing file \"'ibmpc/ms_ansi.h'\"
  934. else
  935. echo shar: Extracting \"'ibmpc/ms_ansi.h'\" \(2289 characters\)
  936. sed "s/^X//" >'ibmpc/ms_ansi.h' <<'END_OF_FILE'
  937. X/* ibmpc/ms_ansi.h: ANSI definitions for MSDOS
  938. X
  939. X   Copyright (c) 1989-92 James E. Wilson, Don Kneller
  940. X
  941. X   This software may be copied and distributed for educational, research, and
  942. X   not for profit purposes provided that this copyright and statement are
  943. X   included in all such copies. */
  944. X
  945. X/* To allow the choice between PCcurses (which may not work on all machines)
  946. X * and ANSI (which should work on all machines), indirect the output routines
  947. X * through pointers and adjust the pointers to the correct routines at
  948. X * initialization time.
  949. X */
  950. X#ifdef LINT_ARGS
  951. Xint    (*output_addch)(int);
  952. Xint    (*output_mvaddstr)(int, int, char *);
  953. Xint    (*output_mvprintw)(int, int, char *, ...);
  954. Xint    (*output_move)(int, int);
  955. Xint    (*output_endwin)(void);
  956. Xint    (*output_clrtobot)(void);
  957. Xint    (*output_clrtoeol)(void);
  958. Xint    (*output_mvaddch)(int, int, char);
  959. Xint    (*output_initscr)(void);
  960. Xint    (*output_refresh)(void);
  961. Xint    (*output_clear)(void);
  962. X
  963. Xint    (*output_nocrmode)(void);
  964. Xint    (*output_crmode)(void);
  965. Xint    (*output_nonl)(void);
  966. Xint    (*output_nl)(void);
  967. Xint    (*output_noecho)(void);
  968. Xint    (*output_echo)(void);
  969. Xint    ansi_prep (int, int, int);
  970. X#else
  971. Xextern int    (*output_addch)();
  972. Xextern int    (*output_mvaddstr)();
  973. Xextern int    (*output_mvprintw)();
  974. Xextern int    (*output_move)();
  975. Xextern int    (*output_endwin)();
  976. Xextern int    (*output_clrtobot)();
  977. Xextern int    (*output_clrtoeol)();
  978. Xextern int    (*output_mvaddch)();
  979. Xextern int    (*output_initscr)();
  980. Xextern int    (*output_refresh)();
  981. Xextern int    (*output_clear)();
  982. X
  983. Xextern int    (*output_nocrmode)();
  984. Xextern int    (*output_crmode)();
  985. Xextern int    (*output_nonl)();
  986. Xextern int    (*output_nl)();
  987. Xextern int    (*output_noecho)();
  988. Xextern int    (*output_echo)();
  989. Xextern int    ansi_prep();
  990. X#endif
  991. X
  992. Xextern int    ansi;
  993. X
  994. X#define addch        (*output_addch)
  995. X#define mvaddstr    (*output_mvaddstr)
  996. X#define mvprintw    (*output_mvprintw)
  997. X#undef move        /* from curses.h */
  998. X#define move        (*output_move)
  999. X#define endwin        (*output_endwin)
  1000. X#define clrtobot    (*output_clrtobot)
  1001. X#define clrtoeol    (*output_clrtoeol)
  1002. X#define mvaddch        (*output_mvaddch)
  1003. X#define initscr        (*output_initscr)
  1004. X#define refresh        (*output_refresh)
  1005. X#define clear        (*output_clear)
  1006. X#define nocrmode    (*output_nocrmode)
  1007. X#define crmode        (*output_crmode)
  1008. X#define nonl        (*output_nonl)
  1009. X#define nl        (*output_nl)
  1010. X#define noecho        (*output_noecho)
  1011. X#define echo        (*output_echo)
  1012. END_OF_FILE
  1013. if test 2289 -ne `wc -c <'ibmpc/ms_ansi.h'`; then
  1014.     echo shar: \"'ibmpc/ms_ansi.h'\" unpacked with wrong size!
  1015. fi
  1016. # end of 'ibmpc/ms_ansi.h'
  1017. fi
  1018. if test -f 'mac/Install.doc' -a "${1}" != "-c" ; then 
  1019.   echo shar: Will not clobber existing file \"'mac/Install.doc'\"
  1020. else
  1021. echo shar: Extracting \"'mac/Install.doc'\" \(2474 characters\)
  1022. sed "s/^X//" >'mac/Install.doc' <<'END_OF_FILE'
  1023. XMacintosh Build Instructions:
  1024. X=============================
  1025. X
  1026. XMPW C:
  1027. X------
  1028. XFor MPW C, see Install.hqx (decompress it first, though).
  1029. X
  1030. X
  1031. XTHINK C 4.0:
  1032. X------------
  1033. X
  1034. XMake sure the directories are organized as follows:
  1035. X
  1036. X           UMoria
  1037. X              |
  1038. X     +-----+-----+------+
  1039. X     |     |     |      |
  1040. X  files   doc   mac  source
  1041. X                 |
  1042. X             +-------+
  1043. X             |       |
  1044. X          dumpres  scrnmgr
  1045. X
  1046. X1) Unpack DumpRes1.hqx, DumpRes2.hqx, MacMoria.hqx (the project) and 
  1047. X   miscrsrc.hqx, and put them in the UMoria folder (or a folder above it).
  1048. X
  1049. X2) Build the dumped resources:
  1050. X    a) Exit :UMoria:source:config.h as follows:
  1051. X        - Uncomment #define RSRC
  1052. X        - Uncomment #define RSRC_PART1
  1053. X    b) Build DumpRes1, and run it.  When given a command line, (ccommand
  1054. X       dialog) enter parameter MacMoria.dump.rsrc
  1055. X    c) Recomment RSRC_PART1 and uncomment RSRC_PART2, and repeat b) with
  1056. X       DumpRes2.
  1057. X    d) Recomment all resource '#define's so that the application can be
  1058. X       built.
  1059. X
  1060. X3) Build standard resources:
  1061. X    a) Duplicate the files :UMoria:mac:scrnmgr:scrnmgr.ro and 
  1062. X       :UMoria:mac:moria.ro, and put the copies in the same folder as
  1063. X       the project files.
  1064. X    b) Use RMaker (which comes with THINK C) to compile scrnmgr.ro and
  1065. X       then moria.ro (the copies of them, that is).
  1066. X
  1067. X4) Build the application: Load and build the project MacMoria.  Then
  1068. X   build the application from it.
  1069. X
  1070. X5) Add the help files to the application's data fork:
  1071. X    a) Use ResEdit to change the type of MacMoria (the application)
  1072. X       to 'TEXT'.
  1073. X    b) Make sure you have no active virus protection (GateKeeper Aid
  1074. X       gave me trouble at this stage).
  1075. X    c) Load the MacMoria application into THINK C as a document.  It
  1076. X       should be blank.
  1077. X    d) Place a copy of the contents of each of the files from 
  1078. X       :UMoria:files in this file.  Precede each one with a line of 
  1079. X       the form #<filename> (<filename> is just the base file name, eg
  1080. X       news or roglcmds.hlp).
  1081. X    e) Use ResEdit to set the type back to 'APPL'.
  1082. X    f) If you are experimenting with modifications, you can avoid this
  1083. X       lengthy process by changing the conditional in :UMoria:mac:mac.c,
  1084. X       function mac_helpfile() to #if 0, and create a seperate text
  1085. X       only file as described in d), named MacMoria.files.
  1086. X
  1087. X6) Prepare manual:
  1088. X    If you wish, you can load the manual (from :UMoria:doc) into a word-
  1089. X    processor, and save it more neatly formatted.
  1090. X
  1091. X
  1092. XIf you have any trouble with these procedures, contact bs@cs.brandeis.edu
  1093. X(Benjamin Schreiber).
  1094. X
  1095. END_OF_FILE
  1096. if test 2474 -ne `wc -c <'mac/Install.doc'`; then
  1097.     echo shar: \"'mac/Install.doc'\" unpacked with wrong size!
  1098. fi
  1099. # end of 'mac/Install.doc'
  1100. fi
  1101. if test -f 'mac/macdata.c' -a "${1}" != "-c" ; then 
  1102.   echo shar: Will not clobber existing file \"'mac/macdata.c'\"
  1103. else
  1104. echo shar: Extracting \"'mac/macdata.c'\" \(2750 characters\)
  1105. sed "s/^X//" >'mac/macdata.c' <<'END_OF_FILE'
  1106. X/* mac/macdata.c: this program creates the initialized global data resources
  1107. X
  1108. X   Copyright (c) 1989-92 Curtis McCauley, James E. Wilson
  1109. X
  1110. X   This software may be copied and distributed for educational, research, and
  1111. X   not for profit purposes provided that this copyright and statement are
  1112. X   included in all such copies. */
  1113. X
  1114. X/* Monsters.c, player.c, tables.c, treasure.c, and variables.c are included.
  1115. X   But, when this program is built, the compiler is instructed to
  1116. X   actually include the initialized global data.  We just copy it
  1117. X   into resource handles and dump them to the executable.    */
  1118. X
  1119. X/* Why do this?  MPW handles >32K global data ok (otherwise, this
  1120. X   program could not compile).  However, we have to pay the price
  1121. X   in efficiency.  The code hacks to keep the global data in
  1122. X   resources are trivial, mainly redefining the variable to be a
  1123. X   pointer instead of an array.  This scheme has the added
  1124. X   advantage of providing a means for re-initialization of the
  1125. X   global data.  MacMoria, which is "restartable" requires this.    */
  1126. X
  1127. X/* See macrsrc.c for a list of variables involved.            */
  1128. X
  1129. X#include <stdio.h>
  1130. X
  1131. X#ifndef THINK_C
  1132. X#include <types.h>
  1133. X#include <memory.h>
  1134. X
  1135. X#include <dumpres.h>
  1136. X#else
  1137. X#include <console.h>
  1138. X
  1139. X#include "DumpRes.h"
  1140. X#endif
  1141. X
  1142. X#include "config.h"
  1143. X#include "macrsrc.h"
  1144. X
  1145. X#define RES_ATTRS                0
  1146. X
  1147. Xmain(argc, argv)
  1148. Xint argc;
  1149. Xchar *argv[];
  1150. X
  1151. X{
  1152. X    int i;
  1153. X    unsigned size, temp;
  1154. X    char *p, *q;
  1155. X    restable_type *r;
  1156. X
  1157. X#ifdef THINK_C
  1158. X    argc = ccommand(&argv);
  1159. X#endif
  1160. X
  1161. X    if (argc != 2) {
  1162. X        fprintf(stderr, "### %s: Usage - %s targetFileName\n", argv[0], argv[0]);
  1163. X        return(1);
  1164. X    }
  1165. X
  1166. X    for (i = 0, r = restable; i < MAX_RESOURCES; i++, r++) {
  1167. X
  1168. X        DumpRes(
  1169. X            argv[1],
  1170. X            r->resType, r->resID, r->resName, RES_ATTRS,
  1171. X            r->memPtr, r->elemCnt, r->elemSiz,
  1172. X            r->strProc
  1173. X        );
  1174. X
  1175. X    }
  1176. X
  1177. X#ifndef RSRC_PART1
  1178. X    size = 0;
  1179. X    for (i = 0; i < MAX_RESTART; i++) size += restart_vars[i].size;
  1180. X
  1181. X    p = NewPtr(size);
  1182. X    if (p == NULL) {
  1183. X        fprintf(stderr, "Cannot get %d bytes for restart vars.\n", size);
  1184. X        exit(1);
  1185. X    }
  1186. X
  1187. X    q = p;
  1188. X    for (i = 0; i < MAX_RESTART; i++) {
  1189. X        BlockMove(restart_vars[i].ptr, q, restart_vars[i].size);
  1190. X        q += restart_vars[i].size;
  1191. X    }
  1192. X
  1193. X    DumpRes(
  1194. X        argv[1],
  1195. X        restartRsrc, restart_id, "Restart Vars", RES_ATTRS,
  1196. X        p, 1, size,
  1197. X        NULL
  1198. X    );
  1199. X#endif
  1200. X
  1201. X#ifndef THINK_C
  1202. X    printf("restable info --\n");
  1203. X    for (i = 0, size = 0; i < MAX_RESOURCES; ++i) {
  1204. X        size += (temp = restable[i].elemCnt * restable[i].elemSiz);
  1205. X        printf("%3d  %8d\n", i, temp);
  1206. X    }
  1207. X    printf("     --------\n");
  1208. X    printf("     %8d\n\n", size);
  1209. X
  1210. X    printf("memtable info --\n");
  1211. X    for (i = 0, size = 0; i < MAX_PTRS; ++i) {
  1212. X        size += (temp = memtable[i].elemCnt * memtable[i].elemSiz);
  1213. X        printf("%3d  %8d\n", i, temp);
  1214. X    }
  1215. X    printf("     --------\n");
  1216. X    printf("     %8d\n\n", size);
  1217. X#endif
  1218. X
  1219. X    return(0);
  1220. X}
  1221. END_OF_FILE
  1222. if test 2750 -ne `wc -c <'mac/macdata.c'`; then
  1223.     echo shar: \"'mac/macdata.c'\" unpacked with wrong size!
  1224. fi
  1225. # end of 'mac/macdata.c'
  1226. fi
  1227. if test -f 'mac/macrsrc.h' -a "${1}" != "-c" ; then 
  1228.   echo shar: Will not clobber existing file \"'mac/macrsrc.h'\"
  1229. else
  1230. echo shar: Extracting \"'mac/macrsrc.h'\" \(2315 characters\)
  1231. sed "s/^X//" >'mac/macrsrc.h' <<'END_OF_FILE'
  1232. X/* mac/macrsrc.h: definitions for code handling C data as resources
  1233. X
  1234. X   Copyright (c) 1989-1991 Curtis McCauley, James E. Wilson
  1235. X
  1236. X   This software may be copied and distributed for educational, research, and
  1237. X   not for profit purposes provided that this copyright and statement are
  1238. X   included in all such copies. */
  1239. X
  1240. X#define treasureRsrc        'TREA'
  1241. X#define monsterRsrc            'MONS'
  1242. X#define spellRsrc            'SPLL'
  1243. X#define charPtrRsrc            'CPTR'
  1244. X#define raceRsrc            'RACE'
  1245. X#define backgroundRsrc        'BKGD'
  1246. X#define ownerRsrc            'OWNR'
  1247. X
  1248. X#define restartRsrc            'RSRT'
  1249. X
  1250. X#define stringRsrc            'STR#'
  1251. X
  1252. X#define object_list_id        128
  1253. X#define c_list_id            129
  1254. X#define magic_spell_id        130
  1255. X#define race_id                131
  1256. X#define background_id        132
  1257. X#define owners_id            133
  1258. X#define player_title_id        134
  1259. X#define colors_id            135
  1260. X#define mushrooms_id        136
  1261. X#define woods_id            137
  1262. X#define metals_id            138
  1263. X#define rocks_id            139
  1264. X#define amulets_id            140
  1265. X#define syllables_id        141
  1266. X
  1267. X#define restart_id            150
  1268. X
  1269. Xtypedef struct restable_type {
  1270. X    #ifdef RSRC
  1271. X        char *memPtr;
  1272. X    #else
  1273. X        char **memPtr;
  1274. X    #endif
  1275. X    char *resName;
  1276. X    long resType, resID;
  1277. X    unsigned long elemCnt, elemSiz;
  1278. X    void (*strProc)(char *ptr, void (*proc)(char **str));
  1279. X    int restartFlag;
  1280. X} restable_type;
  1281. X
  1282. X/* THINK C can't handle data > 32K, so we need to do this in 2 parts.  */
  1283. X
  1284. X#ifdef RSRC_PART1
  1285. X#define MAX_RESOURCES            1
  1286. X#else
  1287. X#ifdef RSRC_PART2
  1288. X#define MAX_RESOURCES            13
  1289. X#else
  1290. X#define MAX_RESOURCES            14
  1291. X#endif
  1292. X#endif
  1293. X
  1294. Xextern restable_type restable[MAX_RESOURCES];
  1295. X
  1296. Xtypedef struct memtable_type {
  1297. X    char **memPtr;
  1298. X    unsigned long elemCnt, elemSiz;
  1299. X    int restartFlag;
  1300. X} memtable_type;
  1301. X
  1302. X#define MAX_PTRS                3
  1303. X
  1304. Xextern memtable_type memtable[MAX_PTRS];
  1305. X
  1306. Xtypedef struct restart_type {
  1307. X    char *ptr;
  1308. X    unsigned long size;
  1309. X} restart_type;
  1310. X
  1311. X#define MAX_RESTART                34
  1312. X
  1313. Xextern restart_type restart_vars[MAX_RESTART];
  1314. X
  1315. Xtypedef struct clrtable_type {
  1316. X    char *ptr;
  1317. X    unsigned long size;
  1318. X} clrtable_type;
  1319. X
  1320. X#define MAX_CLRS                16
  1321. X
  1322. Xextern clrtable_type clrtable[MAX_CLRS];
  1323. X
  1324. Xvoid treasure_strproc(char *ptr, void (*proc)(char **str));
  1325. Xvoid creature_strproc(char *ptr, void (*proc)(char **str));
  1326. Xvoid race_strproc(char *ptr, void (*proc)(char **str));
  1327. Xvoid background_strproc(char *ptr, void (*proc)(char **str));
  1328. Xvoid owner_strproc(char *ptr, void (*proc)(char **str));
  1329. Xvoid char_ptr_strproc(char *ptr, void (*proc)(char **str));
  1330. END_OF_FILE
  1331. if test 2315 -ne `wc -c <'mac/macrsrc.h'`; then
  1332.     echo shar: \"'mac/macrsrc.h'\" unpacked with wrong size!
  1333. fi
  1334. # end of 'mac/macrsrc.h'
  1335. fi
  1336. if test -f 'mac/scrnmgr/MakeFile.hqx' -a "${1}" != "-c" ; then 
  1337.   echo shar: Will not clobber existing file \"'mac/scrnmgr/MakeFile.hqx'\"
  1338. else
  1339. echo shar: Extracting \"'mac/scrnmgr/MakeFile.hqx'\" \(2456 characters\)
  1340. sed "s/^X//" >'mac/scrnmgr/MakeFile.hqx' <<'END_OF_FILE'
  1341. X(This file must be converted with BinHex 4.0)
  1342. X:#%eKDf9'D@aP!&4&@&408&-J!3!!!!94!!!"IJkH)`P$Eh"jFQPRD(3J+%-T)%0
  1343. XeFR4TFb"0Bd0KG@aPH5`J-6Ni15iJ)%&XE#"bD@GSG(-JFQ9cCA*fC@3Z$5-0)`P
  1344. XCEh8JE@&j)'0[F(NJG'KTFb"cG@*bEh9dD@jP)("KBfYKCf8JCR*PC@aj,#"YEf4
  1345. XTCRNJDA3JBA-JH@pe)'4PFfPbC5`0)`PKEQ3JC'PcG(*TBR9dC5"TG#"KG#"hD@a
  1346. XX,#"KFb"XEfjR)'&c)(4SC5"MEh"jFQPRD(3JEQpdD@0P)'PZ)(4SC5"cEh9bBf8
  1347. X0)`PYBA4PFQPKE#"TFb"ZEh3JC'PcG(9bBQ9N,#"PH'0PF(4TEQFJG'KKG#"ZEb"
  1348. X[EQ8JE@&j)(9cC5"dD'Pc)("KBfYKCf8JEh)0)`PKERNJF'&bG#"[CL"TG#"QEh)
  1349. XJBfpYE@9bBfPKE#"`GA*`Eh0PFb"[CL"KERNJDfPZC#"hDA4SEh9d)(4SC5"PH("
  1350. XbCA0c$5-*Gh*TG(4PEL"MEfjcC@jd)'pQ)'PdFb"KGA4SEh)Z$3N03dp`G'P[ER-
  1351. XJ25!YE@*R)'pZ$8a2F(4TEfjc)$d0$5-J5PFk)'&NC'9N)(4SDA-JG'mJBA9dEfe
  1352. XKG'PMB@aXH5"MEfeLD@jP)(4SC5"dGfmJ8f0bENeRFLjM)("KFR4c$90MFQj0Ch)
  1353. XZBb$%)&0MFQj0Ch)a,Q-J8f0bENeRFM)ZB`d*Bf&dC@jKG'8J8f0bENeRFM%ZBb"
  1354. X6Bh*Z6@Gb-LjM)$iJ8f0bENeRFLjM$3e6Bh*Z6@Gb,QmJa#"6Bh*Z6@Gb,Q-J8f0
  1355. XbENeRFLjS$3P$)(Y$6h"dD@pZFhdJ,@mJ8f0bENeRFLj[)&0MFQj0Ch)ZB`d*$90
  1356. XMFQj0Ch)ZFR0bBb$%)&0MFQj0Ch)ZFJd*8Q9k)&0MFQj0Ch)ZFL!YEb"6Bh*Z6@G
  1357. Xb,R*cFQ-J,A3J*h*cFQ-R)#eM)#G58d9%*`d08f0bEP4PFh3ZBbj[)-3J8f0bEP4
  1358. XPFh3ZBb"6Bh*Z6@Gb,QJ0#8-JHd02F(4TEfjcI5"6Bh*Z9'9cG#jM$3N06f*UC@0
  1359. XdFb!p)&0MFQj8CA0d,Q-ZEb"6Bh*Z6@Gb,Qm0$90MFQj8CA0d)-6%)&0MFQj8CA0
  1360. Xd,R)J8f0bENeRFLjbFh*M$3P5CASJ8f0bEP4PFh3ZFL!YBA"`C@jN)#e[)&0MFQj
  1361. X8CA0d$3dM)%TA1L"$8R9ZG'PYC5j[)'&ZC#"$5@jdCA*QB@0P,QmJC'9XCA4PC#"
  1362. XLC@0KGA0P)%NJGf&c)(4[E'3JG'KKG#"dD'9j)'&bC5"[BR0[E'9dC3e6Bh*Z9'9
  1363. XcG#$%a#"l6f*UC@0dFhd0#8aTEQXJHda2F(4TEfjcI5!YGb!YG#""8&"-)#eM)#F
  1364. Xr2cmr*b#f$3N*HdpLDQ9MG(0p),B0#3NLHdaTBR*KFQPPFhdL8R9ZG'PYC5j[),B
  1365. X0#3NLHdaTBR*KFQPPFhdL5@jdCA*QB@0P,QmJYJd*#5*l3daTBR*KFQPPFhdL8h4
  1366. XN3daTBLj[),B0#3NLHd0-D@*bBA*TCA0p)N0638j&6'PL,QmJYJd*#5*l3daTBR*
  1367. XKFQPPFhdL6@&dD#j[),B0#3NYEb"6Bh*Z9'9cG!d05@jcG'&XE#$%)&0MFQj0Ch)
  1368. XZD#"6Bh*Z6@Gb,QmJ8f0bENeRFLjbFh*M$3P%GA"XD@0KG'8J,ANJ8f0bENeRFLj
  1369. XS)#*l3dPZBfaeC'9cI5)0#84eF'aTBf&dC5!YH5"6Bh*Z6@Gb,QmJ)RY$6'PLFQ&
  1370. XbD@9cI5)0#84eF'aTBf&dC5!YH5"6Bh*Z6@Gb,R*cFQ-J)RY55@jME(9NCA0p)Jh
  1371. Xd8!!!!3!!!!&-!!!!6!!!!$*6Bh*Z6@Gb,QeKDf80)b!J)&4KFQGPG$SJ)#!J)&0
  1372. XMFJK0B@YP4QPXC5i#!!!!9%9B9%e38b!!!!!!!!!!!!!!!!"849K869"6)!!!!!!
  1373. X!!!!!!!!!!!!!!!!!!!!!!!!!!++&Jei!!!94!!!"IL!a16Ji)$!k063k-MN0$90
  1374. XMFQj0Ch)ZBbj[)-3J8f0bENeRFLjYB@YP)&0MFQj0Ch)ZB`d*3b"6Bh*Z6@Gb,Q-
  1375. X08f0bENeRFL$%a#"6Bh*Z6@Gb,QeKDf8J8f0bENeRFLjb$3P5CASJ8f0bENeRFLj
  1376. Xb)#eKF("PEQ3J,@mJ8f0bENd!!!")!!P0EfjKBfm!GJ!$!!N!#Rrr!!i!#3!+Irm
  1377. X!43"e!(Crr`!'!!3!2J!2!G-#F`!q!!m"d`*cSS@(#J!!!`X!!!-,!!!!!!%!!!!
  1378. X"!!!!!8`!!!"-!!!!-J!YD8!)G!!!!"`!-J!!69"68J!!!!S$lIrr!!!!!!!ZDjM
  1379. XGB3:
  1380. END_OF_FILE
  1381. if test 2456 -ne `wc -c <'mac/scrnmgr/MakeFile.hqx'`; then
  1382.     echo shar: \"'mac/scrnmgr/MakeFile.hqx'\" unpacked with wrong size!
  1383. fi
  1384. # end of 'mac/scrnmgr/MakeFile.hqx'
  1385. fi
  1386. if test -f 'vms/debug.mms' -a "${1}" != "-c" ; then 
  1387.   echo shar: Will not clobber existing file \"'vms/debug.mms'\"
  1388. else
  1389. echo shar: Extracting \"'vms/debug.mms'\" \(2624 characters\)
  1390. sed "s/^X//" >'vms/debug.mms' <<'END_OF_FILE'
  1391. Xcflags = /NOOPT/DEBUG
  1392. Xlinkflags = /DEBUG
  1393. XMORIA.EXE : MAIN.OBJ, CREATE.OBJ, CREATURE.OBJ, DEATH.OBJ, -
  1394. X    DESC.OBJ, DUNGEON.OBJ, EAT.OBJ, FILES.OBJ, GENERATE.OBJ, -
  1395. X    GETCH.OBJ, HELP.OBJ, IO.OBJ, MAGIC.OBJ, MAIN.OBJ, MISC1.OBJ, -
  1396. X    MISC2.OBJ, MISC3.OBJ, MISC4.OBJ, MONSTERS.OBJ, MORIA1.OBJ, -
  1397. X    MORIA2.OBJ, MORIA3.OBJ, MORIA4.OBJ, PLAYER.OBJ, -
  1398. X    POTIONS.OBJ, PRAYER.OBJ, RECALL.OBJ, RND.OBJ, SAVE.OBJ, SCROLLS.OBJ, -
  1399. X    SETS.OBJ, SIGNALS.OBJ, SPELLS.OBJ, STAFFS.OBJ, STORE1.OBJ, -
  1400. X    STORE2.OBJ, TABLES.OBJ, TREASURE.OBJ, UEXIT.OBJ, -
  1401. X    VARIABLE.OBJ, WANDS.OBJ, WIZARD.OBJ
  1402. X    - $(link) $(linkflags) MORIA.OPT/opt
  1403. X
  1404. Xcreate.obj : constant.h, types.h, externs.h, config.h
  1405. Xcreature.obj : constant.h, types.h, externs.h, config.h
  1406. Xdeath.obj : constant.h, types.h, externs.h, config.h
  1407. Xdesc.obj : constant.h, types.h, externs.h, config.h
  1408. Xdungeon.obj : constant.h, types.h, externs.h, config.h
  1409. Xeat.obj : constant.h, types.h, externs.h, config.h
  1410. Xfiles.obj : constant.h, types.h, externs.h, config.h
  1411. Xgenerate.obj : constant.h, types.h, externs.h, config.h
  1412. Xhelp.obj : constant.h, types.h, externs.h, config.h
  1413. Xio.obj : constant.h, types.h, externs.h, config.h
  1414. Xmagic.obj : constant.h, types.h, externs.h, config.h
  1415. Xmain.obj : constant.h, types.h, externs.h, config.h
  1416. Xmisc1.obj : constant.h, types.h, externs.h, config.h
  1417. Xmisc2.obj : constant.h, types.h, externs.h, config.h
  1418. Xmisc3.obj : constant.h, types.h, externs.h, config.h
  1419. Xmisc4.obj : constant.h, types.h, externs.h, config.h
  1420. Xmonsters.obj : constant.h, types.h, config.h
  1421. Xmoria1.obj : constant.h, types.h, externs.h, config.h
  1422. Xmoria2.obj : constant.h, types.h, externs.h, config.h
  1423. Xmoria3.obj : constant.h, types.h, externs.h, config.h
  1424. Xmoria4.obj : constant.h, types.h, externs.h, config.h
  1425. Xplayer.obj : constant.h, types.h, config.h
  1426. Xpotions.obj : constant.h, types.h, externs.h, config.h
  1427. Xprayer.obj : constant.h, types.h, externs.h, config.h
  1428. Xrecall.obj : constant.h, config.h, types.h, externs.h
  1429. Xrnd.obj : constant.h, types.h
  1430. Xsave.obj : constant.h, types.h, externs.h, config.h
  1431. Xscrolls.obj : constant.h, types.h, externs.h, config.h
  1432. Xsets.obj : constant.h, config.h
  1433. Xsignals.obj : constant.h, types.h, externs.h, config.h
  1434. Xspells.obj : constant.h, types.h, externs.h, config.h
  1435. Xstaffs.obj : constant.h, types.h, externs.h, config.h
  1436. Xstore1.obj : constant.h, types.h, externs.h, config.h
  1437. Xstore2.obj : constant.h, types.h, externs.h, config.h
  1438. Xtables.obj : constant.h, types.h, config.h
  1439. Xtreasure.obj : constant.h, types.h, config.h
  1440. Xvariable.obj : constant.h, types.h, config.h
  1441. Xwands.obj : constant.h, types.h, externs.h, config.h
  1442. Xwizard.obj : constant.h, types.h, externs.h, config.h
  1443. END_OF_FILE
  1444. if test 2624 -ne `wc -c <'vms/debug.mms'`; then
  1445.     echo shar: \"'vms/debug.mms'\" unpacked with wrong size!
  1446. fi
  1447. # end of 'vms/debug.mms'
  1448. fi
  1449. if test -f 'vms/descrip.mms' -a "${1}" != "-c" ; then 
  1450.   echo shar: Will not clobber existing file \"'vms/descrip.mms'\"
  1451. else
  1452. echo shar: Extracting \"'vms/descrip.mms'\" \(2583 characters\)
  1453. sed "s/^X//" >'vms/descrip.mms' <<'END_OF_FILE'
  1454. XMORIA.EXE : MAIN.OBJ, CREATE.OBJ, CREATURE.OBJ, DEATH.OBJ, -
  1455. X    DESC.OBJ, DUNGEON.OBJ, EAT.OBJ, FILES.OBJ, GENERATE.OBJ, -
  1456. X    GETCH.OBJ, HELP.OBJ, IO.OBJ, MAGIC.OBJ, MAIN.OBJ, MISC1.OBJ, -
  1457. X    MISC2.OBJ, MISC3.OBJ, MISC4.OBJ, MONSTERS.OBJ, MORIA1.OBJ, -
  1458. X    MORIA2.OBJ, MORIA3.OBJ, MORIA4.OBJ, PLAYER.OBJ, -
  1459. X    POTIONS.OBJ, PRAYER.OBJ, RECALL.OBJ, RND.OBJ, SAVE.OBJ, SCROLLS.OBJ, -
  1460. X    SETS.OBJ, SIGNALS.OBJ, SPELLS.OBJ, STAFFS.OBJ, STORE1.OBJ, -
  1461. X    STORE2.OBJ, TABLES.OBJ, TREASURE.OBJ, UEXIT.OBJ, -
  1462. X    VARIABLE.OBJ, WANDS.OBJ, WIZARD.OBJ
  1463. X    - $(link) $(linkflags) MORIA.OPT/opt
  1464. X
  1465. Xcreate.obj : constant.h, types.h, externs.h, config.h
  1466. Xcreature.obj : constant.h, types.h, externs.h, config.h
  1467. Xdeath.obj : constant.h, types.h, externs.h, config.h
  1468. Xdesc.obj : constant.h, types.h, externs.h, config.h
  1469. Xdungeon.obj : constant.h, types.h, externs.h, config.h
  1470. Xeat.obj : constant.h, types.h, externs.h, config.h
  1471. Xfiles.obj : constant.h, types.h, externs.h, config.h
  1472. Xgenerate.obj : constant.h, types.h, externs.h, config.h
  1473. Xhelp.obj : constant.h, types.h, externs.h, config.h
  1474. Xio.obj : constant.h, types.h, externs.h, config.h
  1475. Xmagic.obj : constant.h, types.h, externs.h, config.h
  1476. Xmain.obj : constant.h, types.h, externs.h, config.h
  1477. Xmisc1.obj : constant.h, types.h, externs.h, config.h
  1478. Xmisc2.obj : constant.h, types.h, externs.h, config.h
  1479. Xmisc3.obj : constant.h, types.h, externs.h, config.h
  1480. Xmisc4.obj : constant.h, types.h, externs.h, config.h
  1481. Xmonsters.obj : constant.h, types.h, config.h
  1482. Xmoria1.obj : constant.h, types.h, externs.h, config.h
  1483. Xmoria2.obj : constant.h, types.h, externs.h, config.h
  1484. Xmoria3.obj : constant.h, types.h, externs.h, config.h
  1485. Xmoria4.obj : constant.h, types.h, externs.h, config.h
  1486. Xplayer.obj : constant.h, types.h, config.h
  1487. Xpotions.obj : constant.h, types.h, externs.h, config.h
  1488. Xprayer.obj : constant.h, types.h, externs.h, config.h
  1489. Xrecall.obj : constant.h, config.h, types.h, externs.h
  1490. Xrnd.obj : constant.h, types.h
  1491. Xsave.obj : constant.h, types.h, externs.h, config.h
  1492. Xscrolls.obj : constant.h, types.h, externs.h, config.h
  1493. Xsets.obj : constant.h, config.h
  1494. Xsignals.obj : constant.h, types.h, externs.h, config.h
  1495. Xspells.obj : constant.h, types.h, externs.h, config.h
  1496. Xstaffs.obj : constant.h, types.h, externs.h, config.h
  1497. Xstore1.obj : constant.h, types.h, externs.h, config.h
  1498. Xstore2.obj : constant.h, types.h, externs.h, config.h
  1499. Xtables.obj : constant.h, types.h, config.h
  1500. Xtreasure.obj : constant.h, types.h, config.h
  1501. Xvariable.obj : constant.h, types.h, config.h
  1502. Xwands.obj : constant.h, types.h, externs.h, config.h
  1503. Xwizard.obj : constant.h, types.h, externs.h, config.h
  1504. END_OF_FILE
  1505. if test 2583 -ne `wc -c <'vms/descrip.mms'`; then
  1506.     echo shar: \"'vms/descrip.mms'\" unpacked with wrong size!
  1507. fi
  1508. # end of 'vms/descrip.mms'
  1509. fi
  1510. echo shar: End of archive 38 \(of 39\).
  1511. cp /dev/null ark38isdone
  1512. MISSING=""
  1513. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ; do
  1514.     if test ! -f ark${I}isdone ; then
  1515.     MISSING="${MISSING} ${I}"
  1516.     fi
  1517. done
  1518. if test "${MISSING}" = "" ; then
  1519.     echo You have unpacked all 39 archives.
  1520.     echo "Now run "bldfiles.sh" to build split files"
  1521.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1522. else
  1523.     echo You still need to unpack the following archives:
  1524.     echo "        " ${MISSING}
  1525. fi
  1526. ##  End of shell archive.
  1527. exit 0
  1528.