[comp.sources.games] v10i018: umoria3 - single player dungeon simulation

billr@saab.CNA.TEK.COM (Bill Randle) (06/05/90)

Submitted-by: wilson@ernie.Berkeley.EDU (Jim Wilson)
Posting-number: Volume 10, Issue 18
Archive-name: umoria3/Patch1c
Patch-To: umoria3: Volume 9, Issue 55-86

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 3 (of 3)."
# Contents:  NOTES01 ibmpc/turbo_c.inf mac/resource.hqx
#   mac/scrnmgr/MakeFile.hqx source/variable.c util/printit/Makefile
#   util/printit/pr_items.c util/printit/pr_monst.c
# Wrapped by wilson@atlas on Wed May 30 14:20:01 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'NOTES01' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'NOTES01'\"
else
echo shar: Extracting \"'NOTES01'\" \(980 characters\)
sed "s/^X//" >'NOTES01' <<'END_OF_FILE'
XNOTES file for Patch01, umoria 5.2
X
XDelete the following files:
X  mac/scrnmgr/ERRORS
X  mac/scrnmgr/ScrnMgr.doc.uu
X  util/printit.c
X
XIf you haven't done so already, edit the following files, and append
Xa newline to the end:
X  files/origcmds.hlp
X  mac/Install.hqx
X  misc/README
X
XSeven files are replaced by this patch, if old copies of these files exist,
Xthey will be renamed with an '.old' extension before being replaced.  You
Xcan delete all of these '.old' files.  The seven files are:
X  ibmpc/turbo_c.inf.old
X  mac/MakeFile.hqx.old
X  mac/resource.hqx.old
X  mac/dumpres/MakeFile.hqx.old
X  mac/scrnmgr/MakeFile.hqx.old
X  mac/scrnmgr/ScrnMgr.doc.old
X  source/variable.c.old
X
XApply the patch file patches01, use the following command to do this:
X  patch -p1 < patches01
XIf you get a prompt asking you which file to patch, then you have an
Xold version of patch.  Either type in all of the files names manually,
Xor else get a newer version of patch from any comp.source.unix archive.
END_OF_FILE
if test 980 -ne `wc -c <'NOTES01'`; then
    echo shar: \"'NOTES01'\" unpacked with wrong size!
fi
# end of 'NOTES01'
fi
if test -f 'ibmpc/turbo_c.inf' -a "${1}" != "-c" ; then 
  mv -f ibmpc/turbo_c.inf ibmpc/turbo_c.inf.old
fi
echo shar: Extracting \"'ibmpc/turbo_c.inf'\" \(635 characters\)
sed "s/^X//" >'ibmpc/turbo_c.inf' <<'END_OF_FILE'
X
XCompiler Stats :
XTurboC on Compaq 386sx w/ 1Meg memory & 20Meg HD
XC calling convention
X80286 code generation
XHUGE model used
Xoptimized for size
XCompiler Defines : MSDOS;DEBUG
X
XWhen compiling PC-Curses, make sure the .obj code is the same model as the
Xsource code for Umoria.  Also, a size modifier letter must start the name
Xof the .lib file (HCURSES.LIB for instance).
X
XNote that reset_term() is commented out in death.c and io.c.  This is
Xbecause calling this function causes moria to die horribly when moria is
Xcompiled by Turbo C.  I do know what the problem is, so, for now, reset_term()
Xis never called for the Turbo C version.
END_OF_FILE
if test 635 -ne `wc -c <'ibmpc/turbo_c.inf'`; then
    echo shar: \"'ibmpc/turbo_c.inf'\" unpacked with wrong size!
fi
# end of 'ibmpc/turbo_c.inf'
if test -f 'mac/resource.hqx' -a "${1}" != "-c" ; then 
  mv -f mac/resource.hqx mac/resource.hqx.old
fi
echo shar: Extracting \"'mac/resource.hqx'\" \(15114 characters\)
sed "s/^X//" >'mac/resource.hqx' <<'END_OF_FILE'
X(This file must be converted with BinHex 4.0)
X:$(*PFfpeFQ0P,R0TG!"6593K8dP8)3%!!!!V$3!!!!"D'90*9#%!!`!!+`eb6'&
Xe!3!!!!!!!!!#!!T0Eh*TB5jbFh*M2G*N3)(4$N#"d4K!JG%S!!!!!fCQ!!!!!!(
Xd!$h5HJ!kqB3!2M`Q!bB"#J!I!!%!!!!pdT4bFh*M8P0&4!%!SS@0r++&MJ)!!$$
XB!!!!!!!!(4i!!!!!&p3!!!!!!!!!!*L&!!!%#!KJ"BL!+Ji#+)!VS!C0$)k8S90
X%MT`hFUL8`80(MJ##6D"-S4*b#SL""CTJ6"2QBm!J8+!`q8(c"m'E",'JZ`P6CNf
XE1)-+a5QU8#0q3@&J'aS`!X'(#b65-C+'64NRBGU8F3QJ*%Q4*`-##UTK&91FA,S
X&"!1Jd`PE`0c#[9R&e9Q(Rqi5V"!0!!Dp"%N!3""`B'($!9`''&#B31%#K3d82S#
X6L-h,!'`#!83)5'G#B$L"!E3Cb'E-U$1VY[N(d$pJVf2$RYdk09$#K!0DAUek-qP
X!3!5&(Phk0'rEUP[,ANiE%2,"d(8MpedD%*K2a%NE4jjDq@cQVfXI$iLEi1l8e%P
XE&bfSZ22ab,f$Erkm[26ak6F2rfck2AIHmRdRS(LT3CFE!1IaPYpkB#!#"#6prGH
XGD`)b4b"["TSh(5$UkFG,GK(#0ek!mef)@BEhSFIKJd!J-Pb(fiQ)'BN9!Q1LDLJ
X#F)!"+VN4aKK[l!8!$J!F4%i!E!M%9#!h93!!#Nm#i%J!,#JjP#!%"G#3!!8iS@!
XB$`(`3)!!6bb"%aD'X4%Q!3B-%BBEBj54j%d((33$!(!B8-!9D+4"4aP*&3N!%(M
XU+33E2ki4&+%(39(S!&+838C3MKl%9Ti&(#&('@@i%44E"m&4+!'(eJ(S6D)H0&D
XH"!b4ajXiMA83*)8Hd%3BCh4+4aK"dAS3+)8DN!#&R'bmF3G1"f%#`*hSk-QRRkI
XHG+HbK$CE`+'*,JU!XSif#kQNP'i,!&[@DXUTTcLaTDbScC,+KUNiLDVX@1fk#ZY
X0BbP,Dl1fiUSVVcM4ULb`c3T,V,%i33#!`UJ!J-GB#31!#!!0``2a6B6pp4FDL#K
XJ"%CPR(&4(@j-LM%!Y2i&6XG#*#Vb'b5E6"!-!8#*3`!`A!b!&`!iGT2#$3P'$`%
X$$$Z(YJe4!F$3!MJ4j%d6!$!1!#%!%)r1!5@`,!"C8)a)!d&X#N)H-)-`4afE!R8
XbB9#L!!TA#!'!08(re,e2!"3i%)3B-0-"`K4Mb1&'%b)RFe-!,3b&"!"B#PAh2i%
X38!3CIK*34FP"DP&BiJ30-%3GG!#!48#Y[J&((J!-%9!"8)3aajm!@,(k%&D&)BI
XLM!reH1569hij'8p[IT2RS0p8qZNhXHikl!393(XCYJm&j5#kffd!i*YfHX!3Ea3
XVaab'CmPj8(m48RhG#(cX"Ke6T+&(Y0!a0KD6MFF[0`$P!'!134)!)!-!#J#!2J*
XJ!`"SV6"#SF%-9#)(PS#J"Lk3!)%,BJ!#-f!%"(4!3aP!F+XaT'&pEjJ$'R3!JL5
Xd!3j@dFVk`N#(0,c"$5#3!#!-a"!$JY#J#9*)3K#bP)3K1'%%!1$+@!E#T)m)`JK
X5+))4HND3!#%#S)LjB`ce('1qJ"bJ*d`)bJ'Q%!3V&-&+9U4#%E#J0,KYF3K2N!"
X#%'qb25FBi3KVE#)B"3!a!K"U-!U"J-)!)),F&-&RL-"5!!VJ*!%)!"@!X+0T%)"
X)%%6!54!JJ5+H")3Sr)!)N3!"-"4"+%"%J34"J)%))"!!C&!J!4li`b2'")-$#'#
X("aJ))#KM(FS!i32R+*)!2V!`!P!'!ENK`"i&S*!!!0caIR)%M$+(mSHkq30L!G#
X%+P54#QK@SJT9b!)dT8P0D"DLQ9'!*M5Eq3pr,21Fj`6%!mTT2m,3dCe!F#F)h!N
X"`J`!(lN"*RN3F!"J!2-"i!!Q"Q!!6"KJ!*JJ1'M'p%P3`S""Rrj%3!!!!Fb*9T5
XL%XAS2Lf+J!&%P+2l$1PJmTR2GIi$(`LFBah[L)!mlV'2!IPM3!)T%%)'mC!!L64
X02"[jb)9*NT+@a+3Q15Qh6iCbP+8mC5TA+B"@[P*(XU3P''b*5ehb%J+q(#RTKPR
X-Bd+cFa$VCd!!'T!!$m!M)$p!+3$qJ"3!X$-!G32!!1SfblS"`k6Jq%$Gi2'$ZZ'
X$R2aiR$r)qBqqPP1[rq#(5IpaJ-I0Y@j`MH[MeKVA(rL$ParJ"f8HS0B$R&@Zi#J
X--*+TT(@Ddjl3H@F3iaR%H3DaRR,&TdL"q3Gr!"0p#3"%!"#4J%rNJlH`5!"[Bj%
X#hNSL&Eb04(%6!)XN!&Hi[IeYERHEJ,VaeVV6483q%b!"-[#f&P9!3J+U8!CN*+!
X#iH9ZH%[U9p-#`+6[TDY*leShF*J8(LE&4hlhfplqRT5rrr@[IJ8-i!%(q-!'6R#
X"&daJ[b,3[DKe*b!5X!pAX*DBp%c!2IBJ@kd1*J'lD!Fb5%SH$GpLa,003#hkJ@)
X2)b!"Gl"&LrAjiAAF!JNNGM&h[D[Lp*,A[1J9V`6@5alqQK1q*P@RAI&kA`BMf-N
X+E[#6T4cP+9ZjbPM1Vj!!A!!!$H!X!2dcM&"djJkjiL5dSld(!0BaTM,KC#HKM3F
X!dM%hK4%'TEK!a#XBk%!,bJ'$'Z6JMcj)Ka#LS3&@+-2hA!K$#%S`"Jd`)3V,S-*
XGYI#&-A6"$#(GJ!C!i5)LbiT@[UH$"NMK$@*3Y0q#J#JB,Z%0R5V$'XV3!#@NS3e
XDb3-)VK#'2,KKJe4i!aR)d1NU1#%*@!!"&$"#Ke)V)5YPQ!-)LZ##A9GP$LrXG!F
X*E@KP-l[8Rj0$#k9pK@ShB3aZUS098"HaB@aY('p$*J!D`)#ppBf$+`P$q(V@JZ!
X&a%NUi#-!Y"%!5S!4*f)@#!@L3a!-e'aC!3"$Qmed%b!m(%d5Ep1EiM3RJN$T,d4
X#KJ%QF1ScQ+S&6%M$V%(!29brL3a(``QKrZ)SN8IJ#3dm``I$`!D@[m(P*BXjUJ#
X`1&4%("&D'!)DhK$#$@C`Jf5)GKSf43B3!!RS9Cr$4+S0!LS%HJaSH&1Z3(#(U[4
Xm9bX[JaR-8)Baq1d1'S3KfHTJYPf*'p!Er$9(3(!'D(2jC`XE&`$3-EH-q38!D%#
X!!T61G+f$i!Qr4PB!(18P,-a09!UM&3cHPR!#0#%)3pMK[`%3F"%!3"`"8-A"$bI
XQ!!3mJ$Ga1+&SKSH*bpbBSJY!l681*cPekI!K0`!#1RL&"M+2)$-(J+0JB3!(0#%
X0J3[K'mcJYbYJ4'B"'Gh'!-"m#McKkA)J)3LSBK@@EiU&'$N6pa%2!(M3#LF6@a`
XXG)m)+$#qk@32Zpr@m-'U6am%`$-'G9"TdMChC2FQIX0RBB""Ef"ejrFRqGFT)1!
XR)!!($E3qdPCS),#!CP!9CI"h"'&R$K-!#&"iKlFaLRGrMJGjm&-N!B!'6a)!F$!
Xh%m-`bm*jBZBNE8-a!H!$UjFPF+-XN!"4FB'R0%a!!!3`"@&J"bh)&JS61NG)!&&
X3"hk5,J#!$!"!"`'!K,c(F6*hKFS(!0KJJN4#-`L!#$(!*b`%J!eSJ(H!J!c)KQ6
XR*fL!Gh`(E4-)3aEi"L)6EA1J0J4"'!S$*CX(0`!3"8pd2SG!!14A"J2J"'9`,%k
X`1Nm!"jeL1%mJ2!54K%X)+&0!(NV)K#!3"1"c1126-e0BKBL)%iLB2ij60i[BL)m
XBLFP6LCGSLXB6L[#$!,SiLU8S2XD6LU%M&+06#0AM$bq3!",j9J"))#G`B$L,!`!
X-d(*Ym(*r-a(l*SeL4%E64MQ&*JICL$Jh`3")N!!'Ce#(J!-b[aJ8Sj-1ajL-#XL
X-cTL0drKce9JbedJ(p,L090#0IS)4iAL+j'L1k!JNQl+11+'$I%4!!A"@#AF6KSJ
XP3aL#Z`8!*"!!a0"QLK*l!3!,,SJ,Fh-R%L94)*N8!A!,*"J!aq"+KJJG0"#$I)!
X)*D#!&A4"6bGS(J4#)J3#LECSQ1CS%a38jG%fmABa&i!65l&($aPi3A%"JZ"eD5"
XY8EQ"-*4UZ`)#61L6-24r(B4[$43',$#"*j4#rh*T-#4$0"5@F!GpG6L9BZ!kNJ)
X#Q(D69G!'qIC!%64"CJ-cFK!RFm"e8&!lMUGeq(Ke"%L995F'GA!'),!TF-"X'GL
X!CFF'f1B'3+"SET!!"KmS")SfDq[Q!N9!"&8!!LKJDfeJEC6j3LNJPhpf!c-J!c-
X!!a%N!c3!"&F("h@JGA,!K#j`GD3CEZ2'3HJ@"ZT@"RQ3!!)Z8'bk+@hrCi&PB!F
XZP*YBU@Kc`'M-D3BikC81*%)```C94cPc-!Df8h8hf6e9YiHKeJCFphdD*!GPTh9
XKHC0886++"J*Y3*!!IT-VIJ-NEQ!'Z4QAF#H""JJmG5!'9Y%#Bm!'d,F'FJP$#cJ
X(R9KeIDF9FIJkYT1!qCDF$D!#(0UK([UK)"UL+U"YGcQ9#dJ'**-VQ,B4+)34,-4
XSGkJ9A1GeHBH(9aGY&A34TbN00!S#6("pFSQG0bN&(h3'Fc!0'04!aA)'ZRB(a[F
XR9DPV5P"Y8N#Pe4CXE-"rRF*e0$Q9HqJ'-00l99Gf'@5(2a)Rkp1JGYL"hq-hFj!
X!"fb!+!CD"Q(jJ@GJEQP8"#h!+5d3"QM!G4rcCe'h+pHQTMFjS4[N*eV("QB3PT-
X'Pid*2H3CD$4*"'m`"Y,@JH@A3@XiPH$C%@QJQ(p5G6ch3Sa*TR@SJ"T+Nfr)R$Q
XhFh(DT%mUJAl'Nd'!"5pJ"8eJ%Qrk1T6fPb$JLfC6"f!APK2S0e1T38YB&ES@GCC
X)RfNkPi%fDhR!0q0CNhq'U"@)+(N`Si&QPrmjJG)'TRlcRk6U0cc("R@+"h%#"hj
X6UaCD-YHD388UE3UkFLSNRGC)1D9UT$2DJ2UjJ5#JS+m6T'CU"f&3&@%`Tb"!VGB
XU"e9RQ#mh"f(C*hjcNp6`!pA3X-DCIakiVEe@T(D)U"Sk"6qh3IphNa)EG"XS0R0
XJL4l8JA(T1L#3!'SLbjmGd6e@&hCbm#0rmMeKQ3BZm)("#U(3k3D-HDKi1*9HJ!A
XrLN&jB)PijhKJCcXq5jdJX(6HbBCh!%-Uqd)jfh28LTKiTiF(QB'"&JC`X)F@b")
X3@,8pkhEe5DeFP`6B1D!05+jCfiN#Ll-A)EE''CEKqV9Bal'kKJ*U1fN[N!#JEj!
X!PE@$RG5kQKrNUf(JId,kG@$lYiCEYhGE0Xl*GR)3PJCBMEUQ+rAjG&4VMa-,!VN
XTXR4`"`e)VDpc%E0'X6@VDfaDX(33YDiED#IJ"5GJZ$8CTmB5Pf+JDcGT&A6`XaV
XDSpV+FpM'ZPU(YKX8EH)TY@1,!N8`"81`QR&!K4#iJ',J*j`l0Q8$2##JYf%RLQm
X#!YDVYKXdYTJfGhrQX'm`RU*E0Z)*3i-ED'!J[$BCD-pM1`$XYB(Q"J1SD0"RZ("
X3ZAP)Z@6!G8%!3qmVYIZlJDPjZe"VLD3UE9k`"8%lY0AQYcU,!KHdXQ5`QPC"I68
XEYl0'"aVDL"c8+AA3DFk,KriCUm1kYT!!DBIa5JEAZQdk@BHDZN(jbR99i(L3!(J
X(&@ThIS0#)BZd![YV6)bSaRT"YZLe$AL3!%iXX-i*R6!ME53EV(r$Yk3iKh'+`@q
XB"p,Q1JaUJ,9kNcj#S5NED%9FSAa,[cYVYA,lCar%GEdiQ6fAQh@3!+kkCV41&fM
XDqN%#HmHSkX0i1-FE4,0bM)Ge[%%#D"'kXXGablc"DVIQ5hHfXd&3R!FLZi"8(+0
XdbTTl+iT9Ll4a@FPdh,PS`mPA'lTP,)U#r-"riX"Z(-VBDSH5E,!hLFJ9j)(HZN(
X#+*IZbQKKqAp!JME`+Dl5'mX0Z"%8U,3bfQP"S-T@eli[a!DkPQTQ%k%EH,'"pTL
X%&S&L3i&6UFGdJ$CDE*q05l5ML+jTr!EJKd'hKU-hfBXSM-BpTlIN[)3*+kG@dEb
X"*X003-28$*i,Da9MfLIPCl5RM)pF["*5M+M!fRAYQDMMfS$L'DkebR1fFjTT3-Y
XQ`bQ!0T@AQXN56(fR'fLQSfJ[LQP6HC[++bRaqG%#AE16A)%kkUk!YSB3bXBJ)!h
X113GYl!Dk0VBDL,-IC#V6%0-r#ma,hFD'fp-Ea0!1[F[NR$dq-UF4h'QJV-G`HmX
X!U*QfHd%$fRCT%(90E$U056+C+F9pdJEj5hGJ6FT$2DTBk8!2ZL[b#V((A(lmZU6
X",-XSLjdFq,'-[*CJKmHLf#I5TK9ff8$4"TKRHl-E*bFr[B4[%0IPI,4*qkf8YK+
XEh@QpNi!dE-1"eYScM-$(qUXYQhIkA-f*LEb+l(I"fU1bRDm2(C84(CFNBa9-MAI
XYV09%%'d-'J4Mi*IB*JHk9Y0Z8,+"Fbi[S$lXiciEe0!)E0BU[Ej"$56HBcCXr#G
XkEBIFFpl3FTVTDL`&@$C4[A6iGj0[13CVm$)a3lCq&M)M8jMGJa(A1E*i@(DBF`I
X*l-eYN!#EjHTi#mLImITfF9fQ&V3qB4QpiFcEhre#2p+!&ikXdRBf2#aZNX*e@D#
XrEe+aaCZ9'3kc+GfNI6,CkTbQeINq4HdhEJL('[LI#blFZdb`I[1FLUCV0HkQhVf
X"#+Z`$$ZrI)Q6h,D6F8bT(JiN0ENq'KS%C)#`BPV0hr20-!4fM4I8P,0fLVE*)Dl
X"V5[&N6)(XRe"$hTV#[YRk0QcTkQ"NT,0J6B58J!#)X$G))!9@L%#NBTYD"-RUhU
XAi&h$$G#-E!!(,9b[V![Tp#TYLFf('NU0eMJ&%i("aA)(mdehp6hQ32fkjf+(+k&
Xc2Y*c0"R3@SHZq!M1cHcK2HIUR9kGpiNSIkD"G(PXbDDY*@FU2jk`-&6QS0XTF9,
XUGh$U0rQk$6L9R)V1+2ZUUfjeUSZ2Vel0e*Zq#Ga!Bm$!$PbVGXQ%PDD@(dh*J4E
XXCG!#piV*ejjeRIkIfdi0D+!'Dm!''bZlf"U@"`Qc,F5%iKb@+q`h`01eNdkf1BF
X'-2cEk3aUG[l6Qi,CUICRH[cU,56&eKLZ&%Lc*kTfa-N'dTkq'h'ar3c-&RThU"b
X*YYc(#flVqpQqj#cQK,RBAiFfQj+QDGh(DPkG8Pc-R@ikCLPY+(!#2A!#UiR#'ZS
Xd%"MY`YcY#dbY$8`'38[,IpDVkVfhc2PV3G['E,$'EEcN#,e"YGTrd2HL8N`jQq*
XfeXR[)61Hb&hJK(Z2m,kI5dHB#fil&m(%qVl,X#X($%UcbakRc6[br[L0RLlI`$c
XUpaeSZbZermH2Kih*$fLmZUD!2GfTYV[aa![ULGq!,`[ACL$ME,Q"DkZJiQQ@2dh
X1jUV"mYPrp4QJFPFfeLf`N!"rapR03T5[R@'!iLSHj[EYH-4RI0213G"h%GM'`YC
XRf%AFd5P1GaF-[Ci2ik([`qES)r%X0TF-J&*(GD523Q@2qLQ0eCX#ZRZT&I3UaA+
XLG4TDMZIi0`D*Sq"CbPcIFpNIRZTBGb"6GBaFc1pIa,c[r1dV38'2ADG""Y2lNcE
X(#`5S!3HRrC4AlpSJl+mJh6rrar#Q%YYK)@J$T+@[h(CV*NfP1A'GKR[d*h1%0Qi
XD$%N#rHN0N!#SVd60FTJiib$UTS9d)2VdCfl6LjT6,b!-[+&08EImaUEiAP-(4p'
X!'J!$3-!5-&LB$52SQTK4RjT!$%aTVNm1,$KYYF[N!-P38fqLmJfD)6D(bK3&D@K
XpjhK"S!Z5f4UEI8TYe#h4XF!E*@dHfBQk9!PXKD#q)KD@a&1FLNZ9kP*eY"k9"c&
X9j+0QlBY&Y4S65-ak'i@bHT3'-!QQ$4,a+-h%Ld-maqZYYGN9UN"()V1!(qZ4DE0
X9a[15(3A#@F6ZXK'VYR4#Q!dFqL"qTKUC*6AS3(ECl9YkX#[bYF'iFkbSQ4@mEJ`
X2!K)NpcF"2pDX+30`3+X*Z8+i3HcI36*BkBSB#VAR&*h%',6TD+#Xd[h"UD5hPTU
XZ#%XTMiQpN!!0dYFF%23!E2[2MTQRecIMkK!SR&`'6NC9`%ceX5iB1CXe4+d-d+(
Xk&!l&hMJNJ'[S(,U"ECHi6*m*I'Cqc)"YN!!TN!$H+-hiZBHXF!&"2fq)ql5Dl8Y
XAH2!ZLF!1a*MUiGmSL+ITBhJR4H1Y-'(jdBIc6aRb*iTB!X&I#JaQPQpB66Cd9`b
X6R$8U&UF24[dI"&I`E0G05R-hETA&2@[dkZS8(4J$(C%GPTm'9l!L(V(,3hD))&i
XpM4KeT#"XFcU%,rja+`"&#fR5bD-$dUB13,UTp$Vb(e+m58$X+[NC"PA([*6$b`V
Xr$mbj,fp8#aqCAG*GK#r2I5-%L,ZQ6X&kCDVZY)QpMpAic1"0UR0C)8Ip(""`!V"
X)m0*!*i!I"Dp(eZCD'pH*&",[G)QdX!2,eK4IM&SE*,rp[Ei6f@LK!4TPJ'CNR#1
XZ`jQqfIK60a[`BM@J6i8fa)!G8P#rCKD1[P5MkVTJ(9T!*f!%R)$NG"-N!"L!28b
X!##J43a)3R%!q%!UL`QF3K!F3!%`"!"J"!8!FD#5Fi(#JJ3XD3i&#!!5!$"!!e!%
XCLN&3!"'3!!#D&!&ji8(b0#(%6eJR%1!&LU!'mJ)eC'e%#EIa%5k'3K)"!H!)#!!
X(m)-#!R%N#+ER)8%"R!%!b!#5Q)jX"%%!J#1!*"#"!'L2")%"N!#H#8N*!J!SF!c
XBK#!SJ0'a%,M"k[#3!#QP)#L%K,!k'J)0@!)i4KS3"!i`!!`"!*!!!$m#E4!%66!
X%US!8q%58`46`ZB-3!!+!!5!#61!*`*&BiJ')3"+J!PP%S[L"*P!%R%!9'!cGX3N
X)J5#J4K+$&8J#EL36"C("N80%M`$3!d,!#3"*rfJ)N!#)%ZNC!N!5p*!!*c#*$)N
Xck#%rj+E)!arb4J6#!,!!2J4*"S3"i!,idCl8!F(a6-S9)a!%Q)!88"Tbj8BQ!5h
X`4H3+cjJE!1"%XS#"%&F#!T3iN9iLXK!%8A%L,j)!U*3!`%3H`F93+3h$LH3!@kK
X8,Si6kA!+3+QN&5H5![M)8VN86L3TD5cr`$mHK"-T)CR%!cJ)!J!'R8M(S&Xb`%&
XJ!%NJ8Li"`X!NM'8314Sd3!NJ"5`4V))))iL85J#Pk*B'F"!@J!mkN8SL!&!3D53
X'X+@"l*'MDGjX!Qb**V6MD3)!$N!FB%XSm"%#`$!i#"$J1%C,)'")")!#1!JT`0e
X%5bM"*%LN!#J&f2+XB)Pa53"i4E4N"h)M!%b!ERN&X#8p'!J"S!FFbcf!,F&!M``
X!#fMHd!*X53853`!B"!I"!H`$E-N%kL8c1!J4S(p%5ajJ5!+!2`#BQ5KDXJ$()!!
XX!-$dN!$48M#-K4e!1J5Q%YJ*@%,d%!!j%be$brjB)JZK"f$,T8!pRZ4#5!6BNKS
X!!22""9C(,F#@eM%3")"--&BZ!EBN"rJM!(L#X3)aSk@(,!3"S"8%"!L`3k,PiNJ
X(!@!@c-e1J#f*`2di&3@J,d4,CJ!!d1E6+!"U)9TLSB&!24D#1iU@a#!J9%TAL5e
X(Lf[i"`I"!0`!E0N3aX)Mb*a")PTk*#Da#6+R(X#@$30,Q),-DBbL*E#J(V%JFm*
X+*D!Xc!F[b*cV-PV5LV'!$$+RFib@M-!`8)1$F!!#6V4%"$d5!)!$iQNASUAj'![
XXi#!JJ2m4,IP!)X)("b%"&*!!D"Nk"-&L1!J+3!GJ5c8K%%V!XG3Fd4)0I-`NF"!
XD`#6!PPbJAQiX!"!"P%@da!(e-Kh!6,dC,@P!cC3(!$-(B%XB`$0*`%&3!4mK@S+
X!aj%V5Br-9!)B`!'F'NXMXRM06d3$#3$3#ESbd#B'h2G)!%D$P6Q0$ZSpjJ!)a9%
XAa'N8J#"3qXU!j2"'$N#fS3#RB350daa)!GFMZh@+p!'ffXIl5!#hJT%YZJN34'(
X)SL000(3*f0!8X!#`akP$J4CN!E"3laF6AiJ#k%@0D!iS!#MDJ,,S&AerimF$,B#
X*D)l#U&@3!++PlrXaQM(kl[,4!S"mV3dMS&%UDJ+[+0r+SJNJ#03"2'"'Smd+j4Z
XJiirf$5N+52d'&I!6Ce66i5014`IBD1&LT)j8lVP411U0j#JPr8Gbi)f1NAi84q9
X!"G"&B8NB!85@mpRB`#IY4+%8I)e50p&lf!!MmN!13)E0d!DN40PB#P"'AqN"d+4
XC@N0YkI$j%5$!dF'"ArVYK#N4"DE#e2hpVCl6-Z3!-3fQcQJ"P-GdG*!!T1NZT+E
X4aTUf2f`k"aU!42Je2D[R9)5,)!HmDD`*Tp2')Q!%!J!-8f0bENeRFLjbFh*MC%#
X"d3j!JG%B3)(4+!!!!!0QCJ!!!!!"p!!pdRS!1[Q%!$im*J-Q!3S!(`!"!!!!2G+
X8FR0bBe*6483"!+*ZiffLEZ0`!!!+EJ!!!!!!!!@9!!!!!1,!!!!!!!!!!!!XM`!
X!"!J)!%'%J!F1!K$3KD$$Ka!M4Q3`CB`F0dh1b(%KCiiFL`)NLKa*XL3!8B8'@B1
XS`)h*Pc"MbTa*XbB!%J8$$Y5j-d")J30d%Y"C3+F"R3FH%[N"J+P6!%!!%3)bP4!
XB6Q!!4385pDRATQ#CrJ(d$eMCXfE6M[h+0#F#JN[$JSfU04!339HcEZdUPbhBX@J
X$U`ANebeF[h5h!J,c5Dp@[Rkr!NiVZ1cD[J(I[JdBpfYLVBZa#YT,',2IbC8(&pC
Xm'22RU(QVFLdG@5jUbVJ[IcA-'6%Jd,#a)J)#DACYb@4a#pBYPcH!cR*I,qEPf,K
XTc,G6-hrU(2V6a-84j381qIV6l-U"E3IVr)'$)',He+%$SZ,&M(+5%6aJS-NE0f'
X-m3C"&3$!!J!DR"5!$J+*")K$"H)!!!J!N!!6!"X05K3)K!#Jd#%!MJ4`i%i4#H+
X3!%Y"1C3%!'F!%!B![a!J`"0,2!3&!*i!N!!&!+Fmq"!%1B%33!3)K'!I4KVT!))
X9CA58aRmJa1!#$#$))!-)5Y6"4Kj4jS"$$K"jq*D%H#$``""eb%&('R1!d-3B3i5
XKC4Pj%"3!,J"Bm"!+1r%3!!mbd[J3&MZam5F""X6TaKKPB1J3K46#!!!F"K4`"4T
XTd&%'4**5#-5NP3V"4S"V323TK6G51S!8CC!!!G'0&))"DJ&(b&&''5ip*#Z&F)"
X+J+KeE1T3Va3q5#N"3q344Ui%28JK*+!Hd%3BCq"+aiX238XK++!DN!"&SfbmFFG
X$&')#J+6S9(TTTX)k*+QjRkCEJ+LNQJU!Z6HQZfUVVpi,J+cbeRSVX`6*DQk[kIl
X+4V!2p@VZJ`NRZqa$$jS,EEV58QXYYJj"DbkhkAS,VVJr!J!N+J$JiD0$3#)#!-V
X`V%c3@aJ!8$-DL#KJa"ZfDL5I'kikp"Dd0B16Xa#NqP`(d!r"%)#(1!3!JmaH!$!
X8b`$JL4-p"!c`l4cfiNN&!&`,i-5!$Nd!`$J!K!"!2$)(P-#j1Vk-5!0"f!T#([+
X"-%HDCE3PG%iHSJ$+6`5T!%$F"2hMq$i"82"HI229Ca'5q6N83!X5f3$!KK%jrXm
Xp""L4"KYP%2!%(,J#m%4!"3`4lKbEAU%6j`34%%8GQ3)3"84)!'"Lk)i(3N!4C'4
X+3"9!$kM&l3i0J#BG!'!4%,*[`&(R%,"$%FBFQJ*J"HbbPa''(*er,T(ST*Z1ZZU
XX%acll1d+K2[eZrFH8I$$3b5kmFK6([2)J$ES%84kmh%)pV6RN!!#H!pmpCZIqG!
XA%3m0BRf2-i"p"RD!)E`KA"h4MjhZpj!!QK%#Jij$`-lF3)FTT%%2pAY,8"kdSIl
X*F(%!+!F!c%%3#3"!"J"3!!$d%3$2c8dR0T%)"`)J#J!F)%"T)SJ3KP!&+8c"L3"
X``K5S)!8+$F394'$#%ik`%!!BJ`K*S!)6bUL1*K6"#98!J!%#i)!Q##%)8K")!-5
X3!!3R'1&e!Y%$$N8b%-F4a%0f#S!K!p)V1`PJN9R6h!!@55+K8$*iGLS!*D&P*`0
X3%KZD1m!L"8!KKccS!435!"SHXU%0T()2&!0!#9*T#&B#B!@Tr-4$6(5PKH$*P!$
XJ35UMB8XK8%KkZ`4!%LK%J(r%mSS!+!$(!V+K(8Ac%FQX@M4&5"!GML%J"LL3!%0
Xi5%%$!*)J&`5G!6EaN!!6ZNb1aiKP*-$*0SH3!!-!l*6M1aibN!"AJ(-I$R'!&0j
X`V6@ji3`JZ%)Bk$!'0#`!2[+K$a8bKES%V*!!2Ni)3a[+8!#)cLG4(q6C(",`04$
X`$!4RkbMPk!"5%)kdT#G0D4$J!)IhZ5pe!D5$!fi+!K5F$34,S0-F8Z#!R2EdTd(
X0`e!eD*'"UI!r,AaK'4)`V65i`8fiUX-%URV9*Q6eU'm!UP"6X)!0iJS%5A#$'Gi
X!!J!08f0bEP4PFh3ZFR0bBd#"d3j!JG%B3)(4+!!!!!0QCJ!!!!!"p!!pdRS!1[Q
X%!$im*J-Q!3S!(`!"!!!!2G+8FR0bBe*6483"!+*Zj&#LEZ45!!!,X`!!!!!!!!E
Xd!!!!!"0L!!!!!!!!!!$0B3!!"!J)!)'eJ!F1!K$3,FdE0b"LZ)!"3SB-%%VUX-N
X6-3H1(!3*SLJ)!!H!"P2'b(&$TF`F1LlNc*%c4N$)QcKckYc*-k#S3S1Zi9``Ldi
XCR$!!J!!!"!!F!`@%X!NcCJh1TNZK1$8`3%SC-MLe,J@cYF!41@A+Z-&*GLQFV35
XNeMNDmZe53(#(j!Qc0L6HTC!!YKjS%ZD-@MTKF!CH#LSN#C)##3BB+0#Q`!%"!a$
X)A##cJF`(EK,j!B#dDDD!#!&463J-*c#!J-5@IETfkGZNr`$k"ibhlpl!GGXQ64)
X"`G'iEmZ1(3L))0H`C31KRAciEGfrX`F(C,hiFH[,T3-#mbRkE1l9dqIH$9`lEq(
XT[3G%EMYml2'["8QREYdfp[B![SHHEI)"3&pbpXN'(@[6$DKHF[qjYeehaKNh(hL
X!h+IJDiJ!!8Q$rD8ABB!6aPIKGqNP1"i[jS(iS(rX55JJKC!!'BKKE"mL!Tf'r,e
XiAB`NcQKLM3FBd-4$9,e"8!8!X!#!"J#)%S!1NHQ%ej)P+38!13'`8@91JB6%j%J
XM14+!Nj6P*%K)Df%@8K)!R!&!BVm3)-!65pbNP5F!C!(!+9H'"!&*)!33!3)KT,4
X5%fI)S3-)9T3KNd-3585444KTa&%-(S&dddM'QB3(!Jm-8BFFG+3a"`K0M$&%'"U
X9NBGNZ!"J`DH8m4!!$hELH4-@P,'a+`%'[1V'''9i'G*55bAe9!&AS*''88KTfG5
Xc8P&Pe8eB!D$98eep&CD@C$el9PTpKG5@8h$*44G"GJ'!ee-%k-AA6Am"%0K6Ja9
Xf@')h,3C!BdmCN!"&XQbmFFG05f%#3&,S3"AYY1m5P*6$688Fe949A3@!`eT&(#j
XBHRi-!&NDRkX@@bDr&A&FE-aedeX1ir@b[HN'K*I$J8AFVf&Z)+DBbBe&E$$##Ym
Xdk+#S!)"(S!30LJJ!6F-$G8$'B3#!eQJJSS!4Ek$9k"YeZ%%b3FB&TM8iAJZKlGK
XPRad3$!'-K%-!-%$Y"3#E#3T!VBr43m!!"mrKFDe8!##i!%iS'G)%!)`$3!J!a(-
Xe!!Nmh#I9L$33"&SJj%%f#(1F@JCa)Ce)*LL@%D5#[$Vp)rXq!9$J3""LN!"0"`L
X+ZX'S(-Q%&%!,1YN!3*JjbIl2233BN3BEC4$`""`V2a&3!8-N2-G49f4'2%%%4&(
X(Y!"%J4-5!+bC[1b"%&!%'G-58)AC5QVKI8J$Q%S(!&J%91mEF*M9%+i(K6#mj#K
X@Z&lfbK!'146[H,'6(I1F"chT85pRf00HaBBAN[#0Ehmj3CrkF++mpVd[I[-MJq2
XZ4j!!r08"K2iE!J"R4C!!!K6`J#(*)!-GQ*14$#+#rpL(!45&VJ2)-'%b#CjN[SF
X6V4%#L2p!!0L#0S8dk+&LaX%-AX)d`Lc#VK`!-!G"*!!!'3"!!3$34`#-PlR-j!3
X#$m#GlRLR%TDiK!j+")$adK53!2k"!`$#iN#[YS8fTJ!!#3%!!5)X3!9TV8T9)!J
X$#-K3KcDdJ50KJ"kUA%!3"J"J*+rc4!$!X*NU9)%JCL`%&"(3ZjDmT!"B!-%6AKL
X5"4#KNTF%34!dZEmJi-5-k9KP+qm)5eR5NL#fa#9(GLNT'0j%!IeE#%&Dpb@$)%3
XK$!(!#aC!MJ3N*5!F#)!l-%H98a&%#N1SJK5Q!)$3H'%+9*!!`P)'iJXL-1%*4j!
X!TM@)N!!%+M!"!*M44a1+i)46)L!!+QL#%))J"B%%`"**F))4V#F39`5"#9*)R%"
Xd-B8ND+%)Q6%'l(#b69i-4(BLdHB#i$!CP!EN,GZN43!%i0+rU438!4L!5bQc68C
XSCUISfbBI!P#!R3CQQhJ)J!&fLJf9%L)!"h#T!*DbcDQ&k3&,%3!D9,Sr[,aL+3E
X`KdVaJTF-C09`,f!!05$iJD`b3TX-!%Ek!'##V*C#T@6"#d8@iJZ9pLp-0PM+!*+
XbcF5YU3G,)3!l9!U&[ZeL+3FJicBIJjGm!U!!6P$T2m28K1[a3D8L"%"$,fX,P4)
X"!'$X(J!-B*0Y0N@-CJL)!ALJ8YVqX!kbRGSf6I,%ckk@&LUP!3"813f%F%'P(!"
X!-,Q"%%QS9'Yi8H9USD(5T*!!!`#2N!!YFlH**J#-3VES8#N+qRB-b2jcQb"3hMm
X3JJb93X!"8RJ$BP,PKM1!i!TKS--Bd*!!J#RZcJPKD%-C#L$(&aEV$8LF3`)+"i+
X`JD"a"-kGJBmB0J8cf-%3$J)Fi&""#NE[K(4`J)G"J),'J@!*XTT$#K`!BK+E'-9
Xj82%39B)Z+6k%$P@mBJ))N`D)0%%YGCJ!Mhd-C"HriF3T6X%#L+J@%#6"$@Ci``)
X+[$XU6!YkbE6N-RQCj9`b%e@XV+-Vk5#"BEl%b%L1F3S!A``!!!:
END_OF_FILE
if test 15114 -ne `wc -c <'mac/resource.hqx'`; then
    echo shar: \"'mac/resource.hqx'\" unpacked with wrong size!
fi
# end of 'mac/resource.hqx'
if test -f 'mac/scrnmgr/MakeFile.hqx' -a "${1}" != "-c" ; then 
  mv -f mac/scrnmgr/MakeFile.hqx mac/scrnmgr/MakeFile.hqx.old
fi
echo shar: Extracting \"'mac/scrnmgr/MakeFile.hqx'\" \(2456 characters\)
sed "s/^X//" >'mac/scrnmgr/MakeFile.hqx' <<'END_OF_FILE'
X(This file must be converted with BinHex 4.0)
X:#%eKDf9'D@aP!&4&@&408&-J!3!!!!94!!!"IJkH)`P$Eh"jFQPRD(3J+%-T)%0
XeFR4TFb"0Bd0KG@aPH5`J-6Ni15iJ)%&XE#"bD@GSG(-JFQ9cCA*fC@3Z$5-0)`P
XCEh8JE@&j)'0[F(NJG'KTFb"cG@*bEh9dD@jP)("KBfYKCf8JCR*PC@aj,#"YEf4
XTCRNJDA3JBA-JH@pe)'4PFfPbC5`0)`PKEQ3JC'PcG(*TBR9dC5"TG#"KG#"hD@a
XX,#"KFb"XEfjR)'&c)(4SC5"MEh"jFQPRD(3JEQpdD@0P)'PZ)(4SC5"cEh9bBf8
X0)`PYBA4PFQPKE#"TFb"ZEh3JC'PcG(9bBQ9N,#"PH'0PF(4TEQFJG'KKG#"ZEb"
X[EQ8JE@&j)(9cC5"dD'Pc)("KBfYKCf8JEh)0)`PKERNJF'&bG#"[CL"TG#"QEh)
XJBfpYE@9bBfPKE#"`GA*`Eh0PFb"[CL"KERNJDfPZC#"hDA4SEh9d)(4SC5"PH("
XbCA0c$5-*Gh*TG(4PEL"MEfjcC@jd)'pQ)'PdFb"KGA4SEh)Z$3N03dp`G'P[ER-
XJ25!YE@*R)'pZ$8a2F(4TEfjc)$d0$5-J5PFk)'&NC'9N)(4SDA-JG'mJBA9dEfe
XKG'PMB@aXH5"MEfeLD@jP)(4SC5"dGfmJ8f0bENeRFLjM)("KFR4c$90MFQj0Ch)
XZBb$%)&0MFQj0Ch)a,Q-J8f0bENeRFM)ZB`d*Bf&dC@jKG'8J8f0bENeRFM%ZBb"
X6Bh*Z6@Gb-LjM)$iJ8f0bENeRFLjM$3e6Bh*Z6@Gb,QmJa#"6Bh*Z6@Gb,Q-J8f0
XbENeRFLjS$3P$)(Y$6h"dD@pZFhdJ,@mJ8f0bENeRFLj[)&0MFQj0Ch)ZB`d*$90
XMFQj0Ch)ZFR0bBb$%)&0MFQj0Ch)ZFJd*8Q9k)&0MFQj0Ch)ZFL!YEb"6Bh*Z6@G
Xb,R*cFQ-J,A3J*h*cFQ-R)#eM)#G58d9%*`d08f0bEP4PFh3ZBbj[)-3J8f0bEP4
XPFh3ZBb"6Bh*Z6@Gb,QJ0#8-JHd02F(4TEfjcI5"6Bh*Z9'9cG#jM$3N06f*UC@0
XdFb!p)&0MFQj8CA0d,Q-ZEb"6Bh*Z6@Gb,Qm0$90MFQj8CA0d)-6%)&0MFQj8CA0
Xd,R)J8f0bENeRFLjbFh*M$3P5CASJ8f0bEP4PFh3ZFL!YBA"`C@jN)#e[)&0MFQj
X8CA0d$3dM)%TA1L"$8R9ZG'PYC5j[)'&ZC#"$5@jdCA*QB@0P,QmJC'9XCA4PC#"
XLC@0KGA0P)%NJGf&c)(4[E'3JG'KKG#"dD'9j)'&bC5"[BR0[E'9dC3e6Bh*Z9'9
XcG#$%a#"l6f*UC@0dFhd0#8aTEQXJHda2F(4TEfjcI5!YGb!YG#""8&"-)#eM)#F
Xr2cmr*b#f$3N*HdpLDQ9MG(0p),B0#3NLHdaTBR*KFQPPFhdL8R9ZG'PYC5j[),B
X0#3NLHdaTBR*KFQPPFhdL5@jdCA*QB@0P,QmJYJd*#5*l3daTBR*KFQPPFhdL8h4
XN3daTBLj[),B0#3NLHd0-D@*bBA*TCA0p)N0638j&6'PL,QmJYJd*#5*l3daTBR*
XKFQPPFhdL6@&dD#j[),B0#3NYEb"6Bh*Z9'9cG!d05@jcG'&XE#$%)&0MFQj0Ch)
XZD#"6Bh*Z6@Gb,QmJ8f0bENeRFLjbFh*M$3P%GA"XD@0KG'8J,ANJ8f0bENeRFLj
XS)#*l3dPZBfaeC'9cI5)0#84eF'aTBf&dC5!YH5"6Bh*Z6@Gb,QmJ)RY$6'PLFQ&
XbD@9cI5)0#84eF'aTBf&dC5!YH5"6Bh*Z6@Gb,R*cFQ-J)RY55@jME(9NCA0p)Jh
Xd8!!!!3!!!!&-!!!!6!!!!$*6Bh*Z6@Gb,QeKDf80)b!J)&4KFQGPG$SJ)#!J)&0
XMFJK0B@YP4QPXC5i#!!!!9%9B9%e38b!!!!!!!!!!!!!!!!"849K869"6)!!!!!!
X!!!!!!!!!!!!!!!!!!!!!!!!!!++&Jei!!!94!!!"IL!a16Ji)$!k063k-MN0$90
XMFQj0Ch)ZBbj[)-3J8f0bENeRFLjYB@YP)&0MFQj0Ch)ZB`d*3b"6Bh*Z6@Gb,Q-
X08f0bENeRFL$%a#"6Bh*Z6@Gb,QeKDf8J8f0bENeRFLjb$3P5CASJ8f0bENeRFLj
Xb)#eKF("PEQ3J,@mJ8f0bENd!!!")!!P0EfjKBfm!GJ!$!!N!#Rrr!!i!#3!+Irm
X!43"e!(Crr`!'!!3!2J!2!G-#F`!q!!m"d`*cSS@(#J!!!`X!!!-,!!!!!!%!!!!
X"!!!!!8`!!!"-!!!!-J!YD8!)G!!!!"`!-J!!69"68J!!!!S$lIrr!!!!!!!ZDjM
XGB3:
END_OF_FILE
if test 2456 -ne `wc -c <'mac/scrnmgr/MakeFile.hqx'`; then
    echo shar: \"'mac/scrnmgr/MakeFile.hqx'\" unpacked with wrong size!
fi
# end of 'mac/scrnmgr/MakeFile.hqx'
if test -f 'source/variable.c' -a "${1}" != "-c" ; then 
  mv -f source/variable.c source/variable.c.old
fi
echo shar: Extracting \"'source/variable.c'\" \(3345 characters\)
sed "s/^X//" >'source/variable.c' <<'END_OF_FILE'
X/* variable.c: Global variables */
X
Xchar *copyright[5] = {
X"Copyright (c) 1989 James E. Wilson, Robert A. Keoneke",
X"",
X"This software may be copied and distributed for educational, research, and",
X"not for profit purposes provided that this copyright and statement are",
X"included in all such copies."};
X
X#include "constant.h"
X#include "config.h"
X#include "types.h"
X
X/* a horrible hack: needed because compact_monster() can be called from
X   creatures() via summon_monster() and place_monster() */
Xint hack_monptr = -1;
X
Xint weapon_heavy = FALSE;
Xint pack_heavy = FALSE;
Xint16 log_index = -1;		/* Index to log file. (<= 0 means no log) */
Xvtype died_from;
X
Xvtype savefile;			/* The savefile to use. */
X
Xint16 total_winner = FALSE;
Xint character_generated = 0;	/* don't save score until char gen finished */
Xint character_saved = 0;	/* prevents save on kill after save_char() */
Xint highscore_fd;		/* File descriptor to high score file */
Xint32u randes_seed;		/* for restarting randes_state */
Xint32u town_seed;		/* for restarting town_seed */
Xint16 cur_height,cur_width;	/* Cur dungeon size    */
Xint16 dun_level = 0;		/* Cur dungeon level   */
Xint16 missile_ctr = 0;		/* Counter for missiles */
Xint msg_flag;			/* Set with first msg  */
Xvtype old_msg[MAX_SAVE_MSG];	/* Last message	      */
Xint16 last_msg = 0;		/* Where last is held */
Xint death = FALSE;		/* True if died	      */
Xint find_flag;			/* Used in MORIA for .(dir) */
Xint free_turn_flag;		/* Used in MORIA, do not move creatures  */
Xint command_count;		/* Gives repetition of commands. -CJS- */
Xint default_dir = FALSE;	/* Use last direction for repeated command */
Xint32 turn = -1;		/* Cur turn of game    */
Xint wizard = FALSE;		/* Wizard flag	      */
Xint to_be_wizard = FALSE;	/* used during startup, when -w option used */
Xint16 panic_save = FALSE;	/* this is true if playing from a panic save */
Xint16 noscore = FALSE;		/* Don't log the game. -CJS- */
X
Xint rogue_like_commands;	/* set in config.h/main.c */
X
X/* options set via the '=' command */
Xint find_cut = TRUE;
Xint find_examine = TRUE;
Xint find_bound = FALSE;
Xint find_prself = FALSE;
Xint prompt_carry_flag = FALSE;
Xint show_weight_flag = FALSE;
Xint highlight_seams = FALSE;
Xint find_ignore_doors = FALSE;
X
Xchar doing_inven = FALSE;	/* Track inventory commands. -CJS- */
Xint screen_change = FALSE;	/* Track screen updates for inven_commands. */
Xchar last_command = ' ';  	/* Memory of previous command. */
X
X/* these used to be in dungeon.c */
Xint new_level_flag;		/* Next level when true	 */
Xint search_flag = FALSE;	/* Player is searching	 */
Xint teleport_flag;		/* Handle teleport traps  */
Xint player_light;		/* Player carrying light */
Xint eof_flag = FALSE;		/* Used to signal EOF/HANGUP condition */
Xint light_flag = FALSE;		/* Track if temporary light about player.  */
X
Xint wait_for_more = FALSE;	/* used when ^C hit during -more- prompt */
Xint closing_flag = FALSE;	/* Used for closing   */
X
X/*  Following are calculated from max dungeon sizes		*/
Xint16 max_panel_rows,max_panel_cols;
Xint panel_row,panel_col;
Xint panel_row_min,panel_row_max;
Xint panel_col_min,panel_col_max;
Xint panel_col_prt,panel_row_prt;
X
X#ifdef MAC
Xcave_type (*cave)[MAX_WIDTH];
X#else
Xcave_type cave[MAX_HEIGHT][MAX_WIDTH];
X#endif
X
X#ifdef MAC
Xrecall_type *c_recall;
X#else
Xrecall_type c_recall[MAX_CREATURES];	/* Monster memories */
X#endif
END_OF_FILE
if test 3345 -ne `wc -c <'source/variable.c'`; then
    echo shar: \"'source/variable.c'\" unpacked with wrong size!
fi
# end of 'source/variable.c'
if test -f 'util/printit/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'util/printit/Makefile'\"
else
echo shar: Extracting \"'util/printit/Makefile'\" \(226 characters\)
sed "s/^X//" >'util/printit/Makefile' <<'END_OF_FILE'
XCFLAGS= -c
X
Xall:    pr_items pr_monst
X
Xpr_items:    pr_items.c treasure.o
X	cc pr_items.c treasure.o -o pr_items
X	pr_items > items
X
Xpr_monst:    pr_monst.c monsters.o
X	cc pr_monst.c monsters.o -o pr_monst
X	pr_monst > monsters
X
END_OF_FILE
if test 226 -ne `wc -c <'util/printit/Makefile'`; then
    echo shar: \"'util/printit/Makefile'\" unpacked with wrong size!
fi
# end of 'util/printit/Makefile'
fi
if test -f 'util/printit/pr_items.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'util/printit/pr_items.c'\"
else
echo shar: Extracting \"'util/printit/pr_items.c'\" \(4894 characters\)
sed "s/^X//" >'util/printit/pr_items.c' <<'END_OF_FILE'
X/* written by Carlton Hommel */
X#include "constant.h"
X#include "types.h"
X
Xextern treasure_type object_list[];
X
Xmain()
X{
X    int i;
X    treasure_type *t;
X
X    printf("[tval,sub] p1\tLvl   $ lbs\t  Dam [+, +]\t[AC,+]\tChar Name\tFlags\n");
X    for (i=0; i<MAX_OBJECTS; i++) {
X	t = &object_list[i];
X	call_it(t);
X    }
X}
X
Xcall_it(t)
Xtreasure_type *t;
X{
X    printf("[%2d,%3d] ", t->tval, t->subval);
X
X    if (t->p1)
X	 printf("%d\t", t->p1);
X    else printf(" \t");
X
X    printf("%2d %4ld %3d\t", t->level, t->cost, t->weight);
X
X    if (t->damage[0] || t->damage[1])
X	printf("%2dd%d ", t->damage[0], t->damage[1]);
X    else printf("     ");
X
X    if (t->tohit || t->todam)
X	 printf("[%d, %d]\t", t->tohit, t->todam);
X    else printf("      \t");
X
X    if (t->ac!=0 || t->toac!=0)
X	printf("{%d, %d}\t", t->ac, t->toac);
X    else printf("      \t");
X
X    printf("'%c' \"%s\"\t",
X	t->tchar, t->name);
X
X    print_flags(t->tval, t->flags);
X
X    printf("\n");
X}
X
Xprint_flags(tval, flags)
Xchar tval;
Xunsigned long flags;
X{
X    int count;
X    unsigned long mask;
X
X    if (flags == 0)
X	return;
X
X    if (tval==80) {
X	printf("<");
X	for (count=0,mask=0x01; count<32; mask <<= 1, count++) {
X	    switch (flags & mask) {
X	    case 0x00000001: printf("poison(lvl+rnd(10)) ");		break;
X	    case 0x00000002: printf("blind(10*lvl+rnd(250)+100) ");	break;
X	    case 0x00000004: printf("fear(lvl+rnd(10) ");		break;
X	    case 0x00000008: printf("confused(lvl+rnd(10) ");		break;
X	    case 0x00000010: printf("hallucinate(25*lvl+rnd(200)+200) ");break;
X	    case 0x00000020: printf("cure_poison ");			break;
X	    case 0x00000040: printf("cure_blindness ");		break;
X	    case 0x00000080: printf("cure_fear ");		break;
X	    case 0x00000100: printf("cure_confuse ");		break;
X	    case 0x00000200: printf("lose_str ");		break;
X	    case 0x00000400: printf("lose_con ");		break;
X	    case 0x00000800: printf("lose_int ");		break;
X	    case 0x00001000: printf("lose_wis ");		break;
X	    case 0x00002000: printf("lose_dex ");		break;
X	    case 0x00004000: printf("lose_chr ");		break;
X	    case 0x00008000: printf("rest_str ");		break;
X	    case 0x00010000: printf("rest_con ");		break;
X	    case 0x00020000: printf("rest_int ");		break;
X	    case 0x00040000: printf("rest_wis ");		break;
X	    case 0x00080000: printf("rest_dex ");		break;
X	    case 0x00100000: printf("rest_chr ");		break;
X	    case 0x00200000: printf("hp+(rnd(6)) ");		break;
X	    case 0x00400000: printf("hp+(rnd(12)) ");		break;
X	    case 0x00800000: printf("hp+(rnd(18)) ");		break;
X	    case 0x01000000: printf("hp+(rnd(3d6)) ");		break;
X	    case 0x02000000: printf("hp+(rnd(3d12)) ");		break;
X	    case 0x04000000: printf("hp-(rnd(18)) ");		break;
X	    case 0x08000000: printf("hp-(rnd(8)) ");		break;
X	    case 0x10000000: printf("hp-(rnd(2d8))  ");		break;
X	    case 0x20000000: printf("hp-(rnd(3d8))  ");		break;
X	    case 0x40000000: printf("??? ");			break;
X	    case 0x80000000: printf("??? ");			break;
X	    }
X	}
X	printf(">");
X    }
X    else
X    if (tval>=TV_MIN_WEAR && tval<=TV_MAX_WEAR) {
X	printf("<");
X	for (count=0,mask=0x01; count<32; mask <<= 1, count++) {
X	    switch (flags & mask) {
X	    case TR_STR:		printf("Strength ");		break;
X	    case TR_INT:		printf("Intelligence ");	break;
X	    case TR_WIS:		printf("Wisdom ");		break;
X	    case TR_DEX:		printf("Dexterity ");		break;
X	    case TR_CON:		printf("Constitution ");	break;
X	    case TR_CHR:		printf("Charisma ");		break;
X	    case TR_SEARCH:		printf("Searching ");		break;
X	    case TR_SLOW_DIGEST:	printf("Slow_digestion ");	break;
X	    case TR_STEALTH:		printf("Stealth ");		break;
X	    case TR_AGGRAVATE:		printf("Aggravation ");		break;
X	    case TR_TELEPORT:		printf("Teleportation ");	break;
X	    case TR_REGEN:		printf("Regeneration ");	break;
X	    case TR_SPEED:		printf("Speed ");		break;
X	    case TR_SLAY_DRAGON:	printf("Slay_Dragon ");		break;
X	    case TR_SLAY_ANIMAL:	printf("Slay_Animal ");		break;
X	    case TR_SLAY_EVIL:		printf("Slay_Evil ");		break;
X	    case TR_SLAY_UNDEAD:	printf("Slay_Undead ");		break;
X	    case TR_FROST_BRAND:	printf("Cold_Brand ");		break;
X	    case TR_FLAME_TONGUE:	printf("Flame_Brand ");		break;
X	    case TR_RES_FIRE:		printf("Resist_Fire ");		break;
X	    case TR_RES_ACID:		printf("Resist_Acid ");		break;
X	    case TR_RES_COLD:		printf("Resist_Cold ");		break;
X	    case TR_SUST_STAT:		printf("Sustain_Stat ");	break;
X	    case TR_FREE_ACT:		printf("Free_Action ");		break;
X	    case TR_SEE_INVIS:		printf("See_Invisible ");	break;
X	    case TR_RES_LIGHT:		printf("Resist_Lightning ");	break;
X	    case TR_FFALL:		printf("Feather_Fall ");	break;
X	    case TR_BLIND:		printf("Blindness ");		break;
X	    case TR_TIMID:		printf("Timidness ");		break;
X	    case TR_TUNNEL:		printf("Tunneling ");		break;
X	    case TR_INFRA:		printf("Infra_vision ");	break;
X	    case TR_CURSED:		printf("Cursed ");		break;
X	    }
X	}
X	printf(">");
X    }
X}
END_OF_FILE
if test 4894 -ne `wc -c <'util/printit/pr_items.c'`; then
    echo shar: \"'util/printit/pr_items.c'\" unpacked with wrong size!
fi
# end of 'util/printit/pr_items.c'
fi
if test -f 'util/printit/pr_monst.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'util/printit/pr_monst.c'\"
else
echo shar: Extracting \"'util/printit/pr_monst.c'\" \(5931 characters\)
sed "s/^X//" >'util/printit/pr_monst.c' <<'END_OF_FILE'
X/* written by Carlton Hommel */
X#include "constant.h"
X#include "types.h"
X
Xextern creature_type c_list[];
X
Xmain()
X{
X    int i;
X    creature_type *c;
X
X    printf("     Lvl(Ep) [  HD, AC]\tspd aaf/{sleep}\t\t    Name\tDamage(special) <Defense> {Moves} /* Spells */\n");
X    for (i=0; i<MAX_CREATURES; i++) {
X      c = &c_list[i];
X      call_it(c);
X    }
X}
X
Xcall_it(c)
Xcreature_type *c;
X{
X    /* Line 1 */
X    printf("'%c' ", c->cchar);
X    printf("%2d", c->level);
X    printf("(%4d) ", c->mexp);
X    printf("[%2dd%d, %2d]\t", c->hd[0], c->hd[1], c->ac);
X
X    printf("%2d ", ((int)c->speed)-10);
X    printf("%2d/", c->aaf);
X    printf("{%d}\t", c->sleep*10);
X
X    printf("%20.20s\t", c->name);
X    print_damage(c->damage);
X    printf("\t");
X
X    print_flags_cdefense(c->cdefense);
X    printf(" ");
X    print_flags_cmove(c->cmove);
X    printf(" ");
X    print_flags_spells(c->spells);
X
X    printf("\n");
X
X}
X
Xprint_damage(attstr)
Xint8u attstr[4];
X{
X  int attype, adesc, adice, asides;
X  int count;
X  char damstr[50];
X  
X  extern struct m_attack_type monster_attacks[];
X
X  for (count=0; count<4; count++) {
X        if (attstr[count] == 0) continue;
X	attype = monster_attacks[attstr[count]].attack_type;
X	adesc  = monster_attacks[attstr[count]].attack_desc;
X	adice  = monster_attacks[attstr[count]].attack_dice;
X	asides = monster_attacks[attstr[count]].attack_sides;
X
X	sprintf(damstr, "%dd%d", adice, asides);
X	switch(attype) {
X	case 1:  printf("%s ", damstr);		break;
X	case 2:  printf("%s(-Str) ", damstr);	break;
X	case 3:  printf("%s(Conf) ", damstr);	break;
X	case 4:  printf("%s(Fear) ", damstr);	break;
X	case 5:  printf("%s(Fire) ", damstr);	break;
X	case 6:  printf("%s(Acid) ", damstr);	break;
X	case 7:  printf("%s(Cold) ", damstr);	break;
X	case 8:  printf("%s(Zap) ", damstr);	break;
X	case 9:  printf("%s(Acid) ", damstr);	break;
X	case 10: printf("%s(Blind) ", damstr);	break;
X	case 11: printf("%s(Paral) ", damstr);	break;
X	case 12: printf("%s(-Money) ", damstr);	break;
X	case 13: printf("%s(-Object) ", damstr);break;
X	case 14: printf("%s(Poison) ", damstr);	break;
X	case 15: printf("%s(-Dex) ", damstr);	break;
X	case 16: printf("%s(-Con ) ", damstr);	break;
X	case 17: printf("%s(-Int ) ", damstr);	break;
X	case 18: printf("%s(-Wis) ", damstr);	break;
X	case 19: printf("%s(-Exp) ", damstr);	break;
X	case 20: printf("%s(Aggr) ", damstr);	break;
X	case 21: printf("%s(-Magic) ", damstr);	break;
X	case 22: printf("%s(-Food) ", damstr);	break;
X	case 23: printf("%s(-Light) ", damstr);	break;
X	case 24: printf("%s(-Charges) ", damstr);break;
X	default:
X	case 99: printf("%s(Blank) ", damstr);	break;
X	}
X
X    }
X}
X
Xprint_flags_spells(spells)
Xunsigned long spells;
X{
X    int count;
X    unsigned long mask;
X    int chance;
X
X    if (spells == 0)
X	return;
X
X    printf("/* ");
X    chance = (int)spells & CS_FREQ;
X    printf("%2.1f%% ", 1.0 / chance * 100.0);
X    for (count=4,mask=0x010; count<32; mask <<= 1, count++) {
X	switch (spells & mask) {
X	case CS_TEL_SHORT:	printf("CS_TEL_SHORT ");break;
X	case CS_TEL_LONG:	printf("CS_TEL_LONG ");	break;
X	case CS_TEL_TO:		printf("CS_TEL_TO ");	break;
X	case CS_LGHT_WND:	printf("CS_LGHT_WND ");	break;
X	case CS_SER_WND:	printf("CS_SER_WND ");	break;
X	case CS_HOLD_PER:	printf("CS_HOLD_PER ");	break;
X	case CS_BLIND:		printf("CS_BLIND ");	break;
X	case CS_CONFUSE:	printf("CS_CONFUSE ");	break;
X	case CS_FEAR:		printf("CS_FEAR ");	break;
X	case CS_SUMMON_MON:	printf("CS_SUMMON_MON ");break;
X	case CS_SUMMON_UND:	printf("CS_SUMMON_UND ");break;
X	case CS_SLOW_PER:	printf("CS_SLOW_PER ");	break;
X	case CS_DRAIN_MANA:	printf("CS_DRAIN_MANA ");break;
X	case CS_BR_LIGHT:	printf("CS_BR_LIGHT ");	break;
X	case CS_BR_GAS:		printf("CS_BR_GAS ");	break;
X	case CS_BR_ACID:	printf("CS_BR_ACID ");	break;
X	case CS_BR_FROST:	printf("CS_BR_FROST ");	break;
X	case CS_BR_FIRE:	printf("CS_BR_FIRE ");	break;
X	}
X    }
X    printf("*/");
X}
X
Xprint_flags_cmove(cmove)
Xunsigned long cmove;
X{
X    int count;
X    unsigned long mask;
X
X    if (cmove == 0)
X	return;
X
X    printf("<");
X    for (count=0,mask=0x01; count<32; mask <<= 1, count++) {
X	switch (cmove & mask) {
X	case CM_ATTACK_ONLY:	printf("CM_ATTACK_ONLY ");	break;
X	case CM_MOVE_NORMAL:	/*printf("CM_MOVE_NORMAL ");*/	break;
X	case CM_20_RANDOM:	printf("CM_20_RANDOM ");	break;
X	case CM_40_RANDOM:	printf("CM_40_RANDOM ");	break;
X	case CM_75_RANDOM:	printf("CM_75_RANDOM ");	break;
X	case CM_INVISIBLE:	printf("CM_INVISIBLE ");	break;
X	case CM_OPEN_DOOR:	printf("CM_OPEN_DOOR ");	break;
X	case CM_PHASE:		printf("CM_PHASE ");		break;
X	case CM_EATS_OTHER:	printf("CM_EATS_OTHER ");	break;
X	case CM_PICKS_UP:	printf("CM_PICKS_UP ");		break;
X	case CM_MULTIPLY:	printf("CM_MULTIPLY ");		break;
X	case CM_CARRY_OBJ:	printf("CM_CARRY_OTHER ");	break;
X	case CM_CARRY_GOLD:	printf("CM_CARRY_GOLD ");	break;
X	case CM_60_RANDOM:	printf("CM_60_RANDOM ");	break;
X	case CM_90_RANDOM:	printf("CM_90_RANDOM ");	break;
X	case CM_1D2_OBJ:	printf("CM_1D2_OBJ ");		break;
X	case CM_2D2_OBJ:	printf("CM_2D2_OBJ ");		break;
X	case CM_4D2_OBJ:	printf("CM_4D2_OBJ ");		break;
X	case CM_WIN:		printf("CM_WIN ");		break;
X	}
X    }
X    printf(">");
X}
X
Xprint_flags_cdefense(cdefense)
Xunsigned int cdefense;
X{
X    int count;
X    unsigned int mask;
X
X    if (cdefense == 0)
X	return;
X
X    printf("{");
X    for (count=0,mask=0x01; count<16; mask <<= 1, count++) {
X	switch (cdefense & mask) {
X	case CD_DRAGON:		printf("CD_DRAGON ");	break;
X	case CD_ANIMAL:		printf("CD_ANIMAL ");	break;
X	case CD_EVIL:		printf("CD_EVIL ");	break;
X	case CD_UNDEAD:		printf("CD_UNDEAD ");	break;
X	case CD_FROST:		printf("CD_FROST ");	break;
X	case CD_FIRE:		printf("CD_FIRE ");	break;
X	case CD_POISON:		printf("CD_POISON ");	break;
X	case CD_ACID:		printf("CD_ACID ");	break;
X	case CD_LIGHT:		printf("CD_LIGHT ");	break;
X	case CD_STONE:		printf("CD_STONE ");	break;
X	case CD_NO_SLEEP:	printf("CD_NO_SLEEP ");	break;
X	case CD_INFRA:		printf("CD_INFRA ");	break;
X	case CD_MAX_HP:		printf("CD_MAX_HP ");	break;
X	}
X    }
X    printf("}");
X}
END_OF_FILE
if test 5931 -ne `wc -c <'util/printit/pr_monst.c'`; then
    echo shar: \"'util/printit/pr_monst.c'\" unpacked with wrong size!
fi
# end of 'util/printit/pr_monst.c'
fi
echo shar: End of archive 3 \(of 3\).
cp /dev/null ark3isdone
MISSING=""
for I in 1 2 3 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 3 archives.
    echo "Please read the file NOTES01."
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0