home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume42 / astrolog / part01 next >
Internet Message Format  |  1994-03-25  |  65KB

  1. From: cruiser1@u.washington.edu (Astrolog)
  2. Newsgroups: comp.sources.misc
  3. Subject: v42i001:  astrolog - Generation of astrology charts v4.10, Part01/16
  4. Date: 25 Mar 1994 15:08:07 -0600
  5. Organization: Sterling Software
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <csm-v42i001=astrolog.150725@sparky.Sterling.COM>
  9. X-Md4-Signature: d38d2c05811231972a765c6b59d96b36
  10.  
  11. Submitted-by: cruiser1@u.washington.edu (Astrolog)
  12. Posting-number: Volume 42, Issue 1
  13. Archive-name: astrolog/part01
  14. Environment: UNIX, DOS, VMS, X11, MSC
  15. Supersedes: astrolog: Volume 37, Issue 70-81
  16.  
  17.      Astrolog is an extensive and customizable astrology chart
  18. calculation program. Astrolog can do standard natal wheel charts,
  19. aspects, midpoints, relationship charts, transits, progressions, and
  20. astro-graphy, as well as local horizon, solar system orbit, and
  21. various influence charts. It supports different zodiacs, central
  22. planets, 12 different house systems, and can display positions of
  23. asteroids, Transneptunians, and several dozen stars. It supports
  24. graphics charts in the X Windows environment, and when compiled on
  25. PC's it can do EGA/VGA/SVGA screen graphics. Charts may be smoothly
  26. animated forward and backward and in real time. Some charts access
  27. the program's own internal map of the world which can be also be used
  28. to a nice animation of a rotating globe! Graphics files may be
  29. generated in X11 bitmap, PC bitmap and other formats. Astrolog can
  30. also do a simple form of deduced interpretations.
  31.  
  32.      Astrolog version 4.10 supersedes an older version (3.05) that
  33. was posted here in May of 1993. File diffs weren't chosen in this
  34. release due to the enormity of their size and the many changes made
  35. since then. New additions include the ability to optionally access
  36. if available ephemeris files covering over 8000 years for increased
  37. accuracy. Graphics files may now be generated in PostScript and MS
  38. Windows metafile formats in addition to bitmaps. The graphic wheel
  39. charts are much enhanced, and graphical ephemeris and biorhythm
  40. charts may now be done. More of the chart types may be interpreted,
  41. and various new influence charts, planetary rising and setting times,
  42. and calendars are available. This version has a bunch of other
  43. enhancements (e.g. PC mouse support), several bug fixes, and some
  44. general performance improvements.
  45.  
  46.      The program (pronounced astro-log; astro as in astronomy, log as
  47. is logarithm) works best when run on a Unix system with X windows, or
  48. a DOS system with VGA. However neither X11 nor graphics, or even Unix
  49. or a PC, are needed in order to be able to run the program. The X11
  50. and other graphics features can easily be compiled out for those who
  51. don't have them, and the program can be compiled properly (although I
  52. haven't tested it myself) on VMS and even Mac systems with only a few
  53. modifications necessary.
  54.  
  55. # This is a shell archive.  Remove anything before this line, then unpack
  56. # it by saving it into a file and typing "sh file".  To overwrite existing
  57. # files, type "sh file -c".  You can also feed this as standard input via
  58. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  59. # will see the following message at the end:
  60. #        "End of archive 1 (of 16)."
  61. # Contents:  README.410 Makefile makefile.pc astrolog.dat data.c
  62. #   xdata.c MANIFEST
  63. # Wrapped by cruiser1@stein1 on Sun Mar 20 22:55:05 1994
  64. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  65. if test -f 'README.410' -a "${1}" != "-c" ; then 
  66.   echo shar: Will not clobber existing file \"'README.410'\"
  67. else
  68. echo shar: Extracting \"'README.410'\" \(8565 characters\)
  69. sed "s/^X//" >'README.410' <<'END_OF_FILE'
  70. X###############  ASTROLOG VERSION 4.10 (MARCH 1994)  ###############
  71. X
  72. X     Astrolog is an extensive and customizable astrology chart
  73. calculation program. Astrolog can do standard natal wheel charts,
  74. aspects, midpoints, relationship charts, transits, progressions, and
  75. astro-graphy, as well as local horizon, solar system orbit, and
  76. various influence charts. It supports different zodiacs, central
  77. planets, 12 different house systems, and can display positions of
  78. asteroids, Transneptunians, and several dozen stars. It supports
  79. graphics charts in the X Windows environment, and when compiled on
  80. PC's it can do EGA/VGA/SVGA screen graphics. Charts may be smoothly
  81. animated forward and backward and in real time. Some charts access
  82. the program's own internal map of the world which can be also be used
  83. to a nice animation of a rotating globe! Graphics files may be
  84. generated in X11 bitmap, PC bitmap and other formats. Astrolog can
  85. also do a simple form of deduced interpretations.
  86. X
  87. X     Astrolog version 4.10 superseeds an older version (3.05) that
  88. was posted here in May of 1993. File diffs weren't chosen in this
  89. release due to the enormity of their size and the many changes made
  90. since then. New additions include the ability to optionally access
  91. if available ephemeris files covering over 8000 years for increased
  92. accuracy. Graphics files may now be generated in PostScript and MS
  93. Windows metafile formats in addition to bitmaps. The graphic wheel
  94. charts are much enhanced, and graphical ephemeris and biorhythm
  95. charts may now be done. More of the chart types may be interpreted,
  96. and various new influence charts, planetary rising and setting times,
  97. and calendars are available. This version has a bunch of other
  98. enhancements (e.g. PC mouse support), several bug fixes, and some
  99. general performance improvements.
  100. X
  101. X     The program (pronounced astro-log; astro as in astronomy, log as
  102. is logarithm) works best when run on a Unix system with X windows, or
  103. a DOS system with VGA. However neither X11 nor graphics, or even Unix
  104. or a PC, are needed in order to be able to run the program. The X11
  105. and other graphics features can easily be compiled out for those who
  106. don't have them, and the program can be compiled properly (although I
  107. haven't tested it myself) on VMS and even Mac systems with only a few
  108. modifications necessary.
  109. X
  110. X--
  111. X
  112. X     Note: The file 'Helpfile' that comes with this distribution is a
  113. X225K file that lists comprehensive documentation about each feature
  114. in the program and how to use it. Due to its length, this file had
  115. to be split into four parts: Helpfile.p1, Helpfile.p2, Helpfile.p3,
  116. and Helpfile.p4 - These should be concatenated back together again.
  117. Use a favorite editor to do this, or if you are on a Unix system, do
  118. the command: cat Helpfile.p1 Helpfile.p2 Helpfile.p3 Helpfile.p4 >
  119. Helpfile.
  120. X
  121. X     The files included in the shell archive give one all the files
  122. and documentation that they need in order to be able to fully use the
  123. program on a Unix system. One should however be aware of a particular
  124. ftp site which carries binaries that can make using the program
  125. easier. The site is hilbert.maths.utas.edu.au, and in the directory
  126. X/pub/astrology/Astrolog are several relevant files. These include the
  127. accurate ephemeris files, a DOS executable, and even a third party
  128. Mac executable for an older version. For PC's a Microsoft nmakefile
  129. and a MS Windows icon can be found here too. There is also a large
  130. text History file which describes each version of the program since
  131. its beginning and the changes that have been made in each release.
  132. X
  133. X--
  134. X
  135. X     Compiling Astrolog version 4.10 is an easy process similar to
  136. other programs: First edit the top of the file astrolog.h, commenting
  137. out any of the #define's which set various features that aren't valid
  138. on your system or you don't want, and changing default values and
  139. directories to your preference. (Just look at the self-explanatory
  140. section comments in this file.) Then in the same manner, also edit
  141. these default parameter values in the astrolog.dat file to your
  142. liking, at least the location and time zone values. Then, for Unix
  143. systems, just run the command 'make' in the directory containing the
  144. included Makefile. (You can also always compile by hand: "cc -O -c
  145. X*.c; cc -o astrolog *.o -lm -lX11" will do it; just make sure to
  146. compile each source file and link them together at the end with the
  147. math library, and if applicable the X11 library.)
  148. X
  149. X     Compiling Astrolog on a PC is easy too. One can usually do it by
  150. simply compiling each file in turn and then linking them all
  151. together. You won't have to worry about explicitly mentioning things
  152. like the math library if your environments are set up properly. (I
  153. used the Microsoft C7 compiler to generate the ready to run PC
  154. executable, but I linked with the improved graphics.lib included with
  155. Microsoft Visual C 1.00 (C8) for the DOS graphics features.) If you
  156. have the nmake utility, the makefile included in the zip archive will
  157. nicely compile and link astrolog 4.10 on a PC, with properly set
  158. options and all. I compiled under the Large memory model, with 16K
  159. bytes of stack space. The default directory for chart info files, the
  160. astrolog.dat file, and the ephemeris files in this ready to run PC
  161. executable are all set to C:\ASTROLOG, although this location will be
  162. overridden with several environment variables if set. The time and
  163. location defaults are set to my own area, but you can easily override
  164. them with your own values using the astrolog.dat file.
  165. X
  166. X     It is possible to easily compile Astrolog on a VMS system, even
  167. with its X windows functionality. Here's an example of a simple VMS
  168. X.COM file by Max Calvani which can automatically compile and link
  169. Astrolog for VMS. This should work for version 4.10, although you
  170. might need to include "/noopt" after the CC's since some compilers
  171. with optimization may cause the program to pass parameters incorrectly.
  172. X
  173. X---- BEGIN INCLUDED FILE COMPILE.COM CUT HERE ----
  174. X$ set ver
  175. X$ define X11 decw$include
  176. X$ define lnk$library sys$library:vaxcrtl
  177. X$ CC CHARTS
  178. X$ CC DATA
  179. X$ CC DRIVER
  180. X$ CC FORMULAS
  181. X$ CC GENERAL
  182. X$ CC INTRPRET
  183. X$ CC OPTIONS
  184. X$ CC PLACALC
  185. X$ CC XCHARTS
  186. X$ CC XDATA
  187. X$ CC XDRIVER
  188. X$ CC XGENERAL
  189. X$ CC XOPTIONS
  190. X$ link/exe=astrolog.exe -
  191. X    CHARTS.obj, -
  192. X    DATA.obj, -
  193. X    DRIVER.obj, -
  194. X    FORMULAS.obj, -
  195. X    GENERAL.obj, -
  196. X    INTRPRET.obj, -
  197. X    OPTIONS.obj, -
  198. X    PLACALC.obj, -
  199. X    XCHARTS.obj, -
  200. X    XDATA.obj, -
  201. X    XDRIVER.obj, -
  202. X    XGENERAL.obj, -
  203. X    XOPTIONS.obj, -
  204. X    sys$input/opt
  205. sys$share:decw$xlibshr/share
  206. X$ set nover
  207. X$ exit
  208. X---- END INCLUDED FILE COMPILE.COM CUT HERE ----
  209. X
  210. X--
  211. X
  212. X     IMPORTANT NOTICE: the graphics database and chart display
  213. routines used in this program are Copyright (C) 1991-1994 by Walter
  214. D. Pullen (cruiser1@stein.u.washington.edu). Permission is granted to
  215. freely use and distribute these routines provided one doesn't sell,
  216. Restrict, or profit from them in any way. Modification is allowed
  217. provided these notices remain with any altered or edited versions of
  218. the program. The main planetary calculation routines used in this
  219. program have been Copyrighted and the core of this program is
  220. basically a conversion to C of the routines created by James Neely as
  221. listed in Michael Erlewine's 'Manual of Computer Programming for
  222. Astrologers', available from Matrix Software. The copyright gives us
  223. permission to use the routines for personal use but not to sell them
  224. or profit from them in any way. The PostScript code within the core
  225. graphics routines are programmed and Copyright (C) 1992-1993 by Brian
  226. D. Willoughby (brianw@sounds.wa.com). Conditions are identical to
  227. those above. The extended accurate ephemeris databases and formulas
  228. are from the calculation routines in the program "Placalc" and are
  229. programmed and Copyright (C) 1989,1991,1993 by Astrodienst AG and
  230. Alois Treindl (alois@azur.ch). The use of that source code is subject
  231. to regulations made by Astrodienst Zurich, and the code is not in the
  232. public domain. This copyright notice must not be changed or removed
  233. by any user of this program.
  234. X
  235. X--
  236. X
  237. X#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
  238. X+     Walter D. "Cruiser1" Pullen    |    cruiser1@stein.u.washington.edu     +
  239. X#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
  240. X+   "Who am I, What am I?  As I am, I am not.  But as we are, I AM.  And to   +
  241. X#   you my creation, My Perfect Love is your Perfect Freedom. And I will be   #
  242. X+   with you forever and ever, until the End, and then forever more." - GOD   +
  243. X#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
  244. END_OF_FILE
  245. if test 8565 -ne `wc -c <'README.410'`; then
  246.     echo shar: \"'README.410'\" unpacked with wrong size!
  247. fi
  248. # end of 'README.410'
  249. fi
  250. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  251.   echo shar: Will not clobber existing file \"'Makefile'\"
  252. else
  253. echo shar: Extracting \"'Makefile'\" \(1221 characters\)
  254. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  255. X# Astrolog (Version 4.10) File: Makefile (Unix version)
  256. X#
  257. X# IMPORTANT NOTICE: the graphics database and chart display routines
  258. X# used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
  259. X# (cruiser1@stein.u.washington.edu). Permission is granted to freely
  260. X# use and distribute these routines provided one doesn't sell,
  261. X# restrict, or profit from them in any way. Modification is allowed
  262. X# provided these notices remain with any altered or edited versions of
  263. X# the program.
  264. X#
  265. X# First created 11/21/1991.
  266. X#
  267. X# This Makefile is included only for convenience. One could easily compile
  268. X# Astrolog on a Unix system by hand with the command:
  269. X# % cc -c -O *.c; cc -o astrolog *.o -lm -lX11
  270. X#
  271. X# Generally, all that needs to be done to compile once astrolog.h has been
  272. X# edited, is compile each source file, and link them together with the math
  273. X# library, and if applicable, the main X library.
  274. X#
  275. NAME = astrolog
  276. OBJ = data.o general.o formulas.o charts.o options.o intrpret.o driver.o \
  277. X  xdata.o xgeneral.o xcharts.o xoptions.o xdriver.o placalc.o
  278. X# If you don't have X windows, delete the "-lX11" part from the line below:
  279. LIBS = -lm -lX11
  280. CFLAGS = -O
  281. X
  282. astrolog:: $(OBJ)
  283. X    cc -o $(NAME) $(OBJ) $(LIBS)
  284. X    strip $(NAME)
  285. X#
  286. END_OF_FILE
  287. if test 1221 -ne `wc -c <'Makefile'`; then
  288.     echo shar: \"'Makefile'\" unpacked with wrong size!
  289. fi
  290. # end of 'Makefile'
  291. fi
  292. if test -f 'makefile.pc' -a "${1}" != "-c" ; then 
  293.   echo shar: Will not clobber existing file \"'makefile.pc'\"
  294. else
  295. echo shar: Extracting \"'makefile.pc'\" \(1501 characters\)
  296. sed "s/^X//" >'makefile.pc' <<'END_OF_FILE'
  297. X# Astrolog (Version 4.10) File: Makefile (PC version)
  298. X#
  299. X# IMPORTANT NOTICE: the graphics database and chart display routines
  300. X# used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
  301. X# (cruiser1@stein.u.washington.edu). Permission is granted to freely
  302. X# use and distribute these routines provided one doesn't sell,
  303. X# restrict, or profit from them in any way. Modification is allowed
  304. X# provided these notices remain with any altered or edited versions of
  305. X# the program.
  306. X#
  307. X# This Makefile created for Microsoft nmake utility.
  308. X# First created 2/9/1993.
  309. X#
  310. X# Generally, all that needs to be done to compile (once astrolog.h has been
  311. X# customized), is compile each source file, and link them together with the
  312. X# math library, and if applicable, the Microsoft C graphics library.
  313. X#
  314. X# If you don't have access to the mouse.c pseudo-library file, delete the
  315. X# reference to mouse.obj on the "objs" line below.
  316. X#
  317. X#If you have a 286 or higher processor, you can add /G2 to the line below.
  318. X#if you have a math coprocessor, you can add /FPi to the line below.
  319. X#CFLAGS = /nologo /AL /Gt150 /W3 /G2 /FPi
  320. CFLAGS = /nologo /AL /Gt150 /W3 /Ot /Oe /Ol /Op /Gs
  321. X
  322. CC = cl
  323. name = astrolog
  324. objs = data.obj general.obj formulas.obj charts.obj options.obj intrpret.obj\
  325. X driver.obj xdata.obj xgeneral.obj xcharts.obj xoptions.obj xdriver.obj\
  326. X placalc.obj mouse.obj
  327. X
  328. X$(name).exe : $(objs)
  329. X# We are compiling in Large memory model with 16,384 bytes for stack storage.
  330. X  $(CC) /F 4000 /o $(name) *.obj graphics.lib
  331. X#
  332. END_OF_FILE
  333. if test 1501 -ne `wc -c <'makefile.pc'`; then
  334.     echo shar: \"'makefile.pc'\" unpacked with wrong size!
  335. fi
  336. # end of 'makefile.pc'
  337. fi
  338. if test -f 'astrolog.dat' -a "${1}" != "-c" ; then 
  339.   echo shar: Will not clobber existing file \"'astrolog.dat'\"
  340. else
  341. echo shar: Extracting \"'astrolog.dat'\" \(2426 characters\)
  342. sed "s/^X//" >'astrolog.dat' <<'END_OF_FILE'
  343. Astrolog default parameter file astrolog.dat:
  344. VERSION = 4.10
  345. X
  346. DEFAULT TIME AND PLACE:
  347. Time zone = 8
  348. Longitude = 122.20
  349. Latitude  = 47.36
  350. X
  351. DEFAULT VALUES:
  352. Siderial zodiac       = 0
  353. Zodiac offset value   = 0.0
  354. Number of aspects     = 5
  355. House system index    = 0
  356. Display Ansi text     = 0
  357. Searching divisions   = 24
  358. Use ephemeris files   = 0
  359. Print zodiac seconds  = 0
  360. Wheel chart text rows = 4
  361. Text screen columns   = 80
  362. XEuropean date format  = 0
  363. XEuropean time format  = 0
  364. X"Smart" cusp displays = 1
  365. Clip at 80 columns    = 0
  366. X
  367. DEFAULT RESTRICTIONS:
  368. Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
  369. X0 0 0 0 0 0 0 0 0 0
  370. X0 0 0 0 0 0 0 0 0 0
  371. X0 0 0 0 0 0 0 0 0 0 0 0
  372. X
  373. DEFAULT TRANSIT RESTRICTIONS:
  374. Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
  375. X0 1 0 0 0 0 0 0 0 0
  376. X0 0 0 0 0 0 0 0 0 0
  377. X0 0 0 0 0 0 0 0 0 0 0 0
  378. X
  379. Restrict sign changes      = 0
  380. Restrict direction changes = 0
  381. X
  382. DEFAULT ASPECT ORBS:
  383. Row 1: Majors; Row 2: Minors; Row 3; Obscure. =
  384. X7 7 7 7 6
  385. X3 3 3 3 2 2
  386. X1 1 1 1 1 1 1
  387. X
  388. DEFAULT MAX PLANET ASPECT ORBS:
  389. Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
  390. X360 360 360 360 360 360 360 360 360 360
  391. X360 360 360 360 360 2   2   360 360 2
  392. X360 360 360 360 360 360 360 360 360 360 360 360
  393. X
  394. DEFAULT PLANET ASPECT ORB ADDITIONS:
  395. Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
  396. X1 1 0 0 0 0 0 0 0 0
  397. X0 0 0 0 0 0 0 0 0 0
  398. X0 0 0 0 0 0 0 0 0 0 0 0
  399. X
  400. DEFAULT INFLUENCES:
  401. In ruling sign   = 20
  402. XExalted in sign  = 10
  403. In ruling house  = 15
  404. XExalted in house = 5
  405. Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians;
  406. Row 4: Houses;
  407. Row 5: Major aspects; Row 6: Minor aspects; Row 7; Obscure aspects. =
  408. X30 25 10 10 10 10 10 10 10 10
  409. X  5 5 5 5 5 5 5 15 20 5
  410. X  10 10 10 10 3 3 3 3 3 3 3 3
  411. X20 0 0 10 0 0 5 0 0 15 0 0
  412. X1.0 0.8 0.8 0.6 0.6
  413. X  0.4 0.4 0.2 0.2 0.2 0.2
  414. X  0.1 0.1 0.1 0.1 0.1 0.1 0.1
  415. X
  416. DEFAULT TRANSIT INFLUENCES:
  417. Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
  418. X10, 4, 8, 9, 20, 30, 35, 40, 45, 50,
  419. X  30, 15, 15, 15, 15, 30, 1, 1, 1, 1,
  420. X  1, 1, 1, 1, 50, 50, 50, 50, 50, 50, 50, 50
  421. X
  422. GRAPHICS DEFAULTS:
  423. Default X resolution = 480
  424. Default Y resolution = 480
  425. Glyph selections     = 0
  426. Aspect grid cells    = 20
  427. Bitmap file type     = C
  428. Use actual fonts     = 0
  429. PS paper orientation = 0
  430. PS paper X inch size = 8.5
  431. PS paper Y inch size = 11.0
  432. Hi-Res graphics mode = -3
  433. Lo-Res graphics mode = 16
  434. X
  435. X/* astrolog.dat */
  436. END_OF_FILE
  437. if test 2426 -ne `wc -c <'astrolog.dat'`; then
  438.     echo shar: \"'astrolog.dat'\" unpacked with wrong size!
  439. fi
  440. # end of 'astrolog.dat'
  441. fi
  442. if test -f 'data.c' -a "${1}" != "-c" ; then 
  443.   echo shar: Will not clobber existing file \"'data.c'\"
  444. else
  445. echo shar: Extracting \"'data.c'\" \(21871 characters\)
  446. sed "s/^X//" >'data.c' <<'END_OF_FILE'
  447. X/*
  448. X** Astrolog (Version 4.10) File: data.c
  449. X**
  450. X** IMPORTANT NOTICE: the graphics database and chart display routines
  451. X** used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
  452. X** (cruiser1@stein.u.washington.edu). Permission is granted to freely
  453. X** use and distribute these routines provided one doesn't sell,
  454. X** restrict, or profit from them in any way. Modification is allowed
  455. X** provided these notices remain with any altered or edited versions of
  456. X** the program.
  457. X**
  458. X** The main planetary calculation routines used in this program have
  459. X** been Copyrighted and the core of this program is basically a
  460. X** conversion to C of the routines created by James Neely as listed in
  461. X** Michael Erlewine's 'Manual of Computer Programming for Astrologers',
  462. X** available from Matrix Software. The copyright gives us permission to
  463. X** use the routines for personal use but not to sell them or profit from
  464. X** them in any way.
  465. X**
  466. X** The PostScript code within the core graphics routines are programmed
  467. X** and Copyright (C) 1992-1993 by Brian D. Willoughby
  468. X** (brianw@sounds.wa.com). Conditions are identical to those above.
  469. X**
  470. X** The extended accurate ephemeris databases and formulas are from the
  471. X** calculation routines in the program "Placalc" and are programmed and
  472. X** Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
  473. X** (alois@azur.ch). The use of that source code is subject to
  474. X** regulations made by Astrodienst Zurich, and the code is not in the
  475. X** public domain. This copyright notice must not be changed or removed
  476. X** by any user of this program.
  477. X**
  478. X** Initial programming 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
  479. X** X Window graphics initially programmed 10/23-29/1991.
  480. X** PostScript graphics initially programmed 11/29-30/1992.
  481. X** Last code change made 3/19/1994.
  482. X*/
  483. X
  484. X#include "astrolog.h"
  485. X
  486. X
  487. X/*
  488. X******************************************************************************
  489. X** Global Variables.
  490. X******************************************************************************
  491. X*/
  492. X
  493. XFILE *S          = stdout;
  494. X#ifdef SWITCHES
  495. int noswitches   = FALSE;
  496. X#else
  497. int noswitches   = TRUE;
  498. X#endif
  499. int total        = TOTAL;
  500. int aspects      = DEFAULT_ASPECTS;
  501. int universe     = 0;
  502. int centerplanet = _SUN;
  503. int placalc      = FALSE;
  504. int seconds      = FALSE;
  505. int housesystem  = DEFAULT_SYSTEM;
  506. int ansi         = FALSE;
  507. int divisions    = DIVISIONS;
  508. int screenwidth  = SCREENWIDTH;
  509. int eurodate     = FALSE;
  510. int eurotime     = FALSE;
  511. int smartcusp    = FALSE;
  512. int column80     = FALSE;
  513. int todisplay    = 0x0;
  514. int exdisplay    = 0x0;
  515. int andisplay    = 0x0;
  516. int operation    = 0x0;
  517. int relation  = 0;        /* What relationship chart are we doing, if any? */
  518. int ratio1    = 1;        /* Chart ratio factors passed to -rc or -rm.     */
  519. int ratio2    = 1;
  520. int interpret = FALSE;    /* Is -I interpretation switch in effect?        */
  521. int progress  = FALSE;    /* Are we doing a -p progressed chart?           */
  522. int multiplyfactor = 1;   /* Harmonic chart value passed to -x switch.     */
  523. int onasc     = 0;        /* House value passed to -1 or -2 switch.        */
  524. int wheelrows = 4;        /* Number of rows per house to use for -w wheel. */
  525. int graphstep = 5;        /* Latitude step rate passed to -L switch.       */
  526. int autom     = FALSE;    /* Do we need to prompt user for chart info?     */
  527. real addfactor = 0.0;     /* Position shifting value passed to -s switch.  */
  528. real progday = 365.25;    /* Progression day value passed to -pd switch.   */
  529. real defzone = DEFAULT_ZONE;
  530. real deflong = DEFAULT_LONG;
  531. real deflat  = DEFAULT_LAT;
  532. real modulus = DEGREES;
  533. char *progname, *filename, *filename2;
  534. X
  535. real SD = 0.0, JD, Jdp, T;
  536. int Mon, Day, Yea, Mon2, Day2, Yea2, Delta = 0;
  537. real Tim, Zon, Lon, Lat, Tim2, Zon2, Lon2, Lat2;
  538. int MonX = 3, DayX = 20, YeaX = 1994;
  539. real TimX = 12.28, ZonX = 8.0, LonX = 122.20, LatX = 47.36;
  540. int MM = 11, DD = 19, YY = 1971;
  541. real TT = 11.01, ZZ = 8.0, OO = 122.20, AA = 47.36;
  542. X
  543. X
  544. X/*
  545. X******************************************************************************
  546. X** Global Arrays.
  547. X******************************************************************************
  548. X*/
  549. X
  550. real planet[TOTAL+1], planetalt[TOTAL+1], house[SIGNS+1], ret[TOTAL+1],
  551. X  spacex[BASE+1], spacey[BASE+1], spacez[BASE+1], force[TOTAL+1];
  552. gridstruct PTR grid = NULL;
  553. byte inhouse[TOTAL+1], inhouse1[TOTAL+1], inhouse2[TOTAL+1];
  554. int starname[STARS+1], objectansi[TOTAL+1];
  555. X
  556. X/* Restriction status of each object, as specified with -R switch. */
  557. X
  558. byte ignore[TOTAL+1] = {
  559. X  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                /* Planets  */
  560. X  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                   /* Minors   */
  561. X  0, 0, 0, 0,                                     /* Cusps    */
  562. X  0, 0, 0, 0, 0, 0, 0, 0,                         /* Uranians */
  563. X  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  /* Stars    */
  564. X  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  565. X
  566. X/* Restriction of objects when transiting, as specified with -RT switch. */
  567. X
  568. byte ignore2[TOTAL+1] = {
  569. X  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,                /* Planets  */
  570. X  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                   /* Minors   */
  571. X  0, 0, 0, 0,                                     /* Cusps    */
  572. X  0, 0, 0, 0, 0, 0, 0, 0,                         /* Uranians */
  573. X  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  /* Stars    */
  574. X  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  575. X
  576. X
  577. X/*
  578. X******************************************************************************
  579. X** Global Tables.
  580. X******************************************************************************
  581. X*/
  582. X
  583. char *appname = APPNAME;
  584. X
  585. char *signname[] = {"",
  586. X  "Aries", "Taurus", "Gemini", "Cancer", "Leo",
  587. X  "Virgo", "Libra", "Scorpio",
  588. X  "Sagittarius", "Capricorn", "Aquarius", "Pisces"};
  589. X
  590. char *signabbrev[] = {"",
  591. X  "Ar", "Ta", "Ge", "Cn", "Le", "Vi", "Li", "Sc", "Sg", "Cp", "Aq", "Pi"};
  592. X
  593. char *signenglish[] = {"",
  594. X  "Ram", "Bull", "Twins", "Crab", "Lion", "Virgin",
  595. X  "Scales", "Scorpion", "Archer", "Sea-Goat", "Water-Bearer", "Fishes"};
  596. X
  597. char *housetradition[] = {"",
  598. X  "Personality", "Money", "Communication", "Home",
  599. X  "Children", "Servants", "Marriage", "Death",
  600. X  "Long Journeys Over Water", "Career", "Friends", "Troubles"};
  601. X
  602. char *objectname[] = {
  603. X  "Earth", "Sun", "Moon", "Mercury", "Venus", "Mars",    /* Planets   */
  604. X  "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto",
  605. X  "Chiron", "Ceres", "Pallas", "Juno", "Vesta",          /* Asteroids */
  606. X  "Node", "Fortune", "Midheaven", "Ascendant", "Vertex", /* Others    */
  607. X  "11th Cusp", "12th Cusp", "2nd Cusp", "3rd Cusp",      /* Cusps     */
  608. X  "Cupido", "Hades", "Zeus", "Kronos",                   /* Uranians  */
  609. X  "Apollon", "Admetos", "Vulkanus", "Poseidon",
  610. X
  611. X  "Achernar", "Polaris", "Zeta Retic.", "Pleiades",      /* Stars     */
  612. X  "Aldebaran", "Capella", "Rigel", "Bellatrix", "Alnath",
  613. X  "Orion", "Betelgeuse", "Menkalinan", "Murzim", "Canopus",
  614. X  "Alhena", "Sirius", "Adara", "Wezen", "Castor",
  615. X  "Procyon", "Pollux", "Suhail", "Avior", "Miaplacidus",
  616. X  "Alphard", "Regulus", "Dubhe", "Acrux", "Gacrux",
  617. X  "Becrux", "Alioth", "Spica", "Alkaid", "Agena",
  618. X  "Arcturus", "Kentaurus", "Antares", "Shaula", "Sargas",
  619. X  "Kaus Austr.", "Vega", "Altair", "Peacock", "Deneb",
  620. X  "Alnair", "Fomalhaut", "Andromeda"};
  621. X
  622. char *systemname[] = {
  623. X  "Placidus", "Koch", "Equal", "Campanus",
  624. X  "Meridian", "Regiomontanus", "Porphyry", "Morinus",
  625. X  "Topocentric", "Equal (MC)", "Neo-Porphyry", "Null"};
  626. X
  627. char *aspectname[] = {"",
  628. X  "Conjunct", "Opposite", "Square", "Trine", "Sextile",
  629. X  "Inconjunct", "Semisextile", "Semisquare", "Sesquiquadrate",
  630. X  "Quintile", "Biquintile",
  631. X  "Semiquintile", "Septile", "Novile",
  632. X  "Binovile", "Biseptile", "Triseptile", "Quatronovile"};
  633. X
  634. char *aspectabbrev[] = {"",
  635. X  "Con", "Opp", "Squ", "Tri", "Sex",
  636. X  "Inc", "SSx", "SSq", "Ses", "Qui", "BQn",
  637. X  "SQn", "Sep", "Nov", "BNv", "BSp", "TSp", "QNv"};
  638. X
  639. char *aspectglyph[] = {"",
  640. X  "Circle with extending line", "Two circles joined by line",
  641. X  "Quadrilateral", "Triangle", "Six pointed asterisk",
  642. X  "'K' rotated right", "'K' rotated left", "Acute angle",
  643. X  "Square with extending lines", "Letter 'Q'", "'+' over '-'",
  644. X  "'-' over '+'", "Number '7'", "Number '9'", "'9' under Roman 'II'",
  645. X  "'7' under Roman 'II'", "'7' under Roman 'III'", "'9' under Roman 'IV'"};
  646. X
  647. char *element[] = {"Fire", "Earth", "Air", "Water"};
  648. X
  649. char *mode[] = {"Cardinal", "Fixed", "Mutuable"};
  650. X
  651. char *monthname[] = {"",
  652. X  "January", "February", "March", "April", "May", "June",
  653. X  "July", "August", "September", "October", "November", "December"};
  654. X
  655. char *dayname[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
  656. X  "Thursday", "Friday", "Saturday"};
  657. X
  658. char *dirname[] = {"North", "East", "South", "West"};
  659. X
  660. char *post[] = {"",
  661. X  "st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th", "th", "th"};
  662. X
  663. real aspectangle[ASPECTS+1] = {0,
  664. X  0.0, 180.0, 90.0, 120.0, 60.0, 150.0, 30.0, 45.0, 135.0, 72.0, 144.0,
  665. X  36.0, DEGREES/7.0, 40.0, 80.0, 720.0/7.0, 1080.0/7.0, 160.0};
  666. X
  667. real aspectorb[ASPECTS+1] = {0,
  668. X  7.0, 7.0, 7.0, 7.0, 6.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0,
  669. X  1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
  670. X
  671. real planetorb[BASE+1] = {0,
  672. X  360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0,
  673. X  360.0, 360.0, 360.0, 360.0, 360.0, 2.0, 2.0, 360.0, 360.0, 2.0,
  674. X  360.0, 360.0, 360.0, 360.0,
  675. X  360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0};
  676. X
  677. real planetadd[BASE+1] = {0,
  678. X  1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  679. X  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
  680. X  0.0, 0.0, 0.0, 0.0,
  681. X  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
  682. X
  683. int ruler1[BASE+1] = {0,
  684. X   5,  4,  3,  7,  1,  9, 10, 11, 12,  8,
  685. X  12,  2,  6,  7,  8, 11, 12, 10,  1,  7,
  686. X  11, 12,  2,  3,
  687. X   7,  8,  5, 10,  9,  6,  1,  9};
  688. int ruler2[BASE+1] = {0,
  689. X   0,  0,  6,  2,  8, 12, 11,  0,  0,  0,
  690. X   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  691. X   0,  0,  0,  0,
  692. X   0,  0,  0,  0,  0,  0,  0,  0};
  693. int  exalt[BASE+1] = {0,
  694. X   1,  2, 11, 12, 10,  4,  7,  8,  9,  6,
  695. X   4,  4, 10,  5, 11,  6,  9,  7, 10, 12,
  696. X  10,  9,  7,  6,
  697. X   3,  6,  1,  9, 11,  8,  5, 12};
  698. X
  699. X  /* This little array is the reverse of the ruler arrays: */
  700. X  /* Here, given a sign, return what planet rules it.      */
  701. int rules[SIGNS+1] = {0,
  702. X  5, 4, 3, 2, 1, 3, 4, 10, 6, 7, 8, 9};
  703. X
  704. int mainansi[] = {BLACK, WHITE, LTGRAY, DKGRAY, YELLOW, MAGENTA, DKBLUE};
  705. int rainbowansi[] = {WHITE,
  706. X  RED, ORANGE, YELLOW, GREEN, CYAN, BLUE, PURPLE};
  707. int elemansi[] = {RED, YELLOW, GREEN, BLUE};
  708. int aspectansi[] = {WHITE,
  709. X  YELLOW, BLUE, RED, GREEN, CYAN,
  710. X  MAGENTA, MAGENTA, ORANGE, ORANGE, DKCYAN, DKCYAN,
  711. X  DKCYAN, MAROON, PURPLE, PURPLE, MAROON, MAROON, PURPLE};
  712. X
  713. X/* Influence information used by ChartInfluence() follows. The influence of */
  714. X/* a planet in its ruling or exalting sign or house is tacked onto the last */
  715. X/* two positions of the object and house influence array, respectively.     */
  716. X
  717. X  /* The inherent strength of each planet - */
  718. real objectinf[] = {0,
  719. X  30, 25, 10, 10, 10, 10, 10, 10, 10, 10,
  720. X  5, 5, 5, 5, 5, 5, 5, 15, 20, 5,
  721. X  10, 10, 10, 10,
  722. X  3, 3, 3, 3, 3, 3, 3, 3,
  723. X  20, 10};
  724. X
  725. X  /* The inherent strength of each house - */
  726. real houseinf[]  = {0,
  727. X  20, 0, 0, 10, 0, 0, 5, 0, 0, 15, 0, 0,
  728. X  15, 5};
  729. X
  730. X  /* The inherent strength in each aspect - */
  731. real aspectinf[] = {0.0,
  732. X  1.0, 0.8, 0.8, 0.6, 0.6, 0.4, 0.4, 0.2, 0.2,
  733. X  0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1};
  734. X
  735. X  /* The inherent strength of each planet when transiting - */
  736. real transitinf[] = {0,
  737. X  10, 4, 8, 9, 20, 30, 35, 40, 45, 50,
  738. X  30, 15, 15, 15, 15, 30,
  739. X  1, 1, 1, 1, 1, 1, 1, 1,
  740. X  50, 50, 50, 50, 50, 50, 50, 50};
  741. X
  742. X
  743. X/*
  744. X******************************************************************************
  745. X** Object Calculation Tables.
  746. X******************************************************************************
  747. X*/
  748. X
  749. X#ifdef MATRIX
  750. byte errorcount[PLANETS+1] = {0, 0, 0, 0, 0, 0, 11, 5, 4, 4, 4};
  751. X
  752. real planetdata[] = {
  753. X358.4758,35999.0498,-.0002,.01675,-.4E-4,0,1,101.2208,1.7192,.00045,0,0,0,0,0,
  754. X0, /* Earth/Sun */
  755. X102.2794,149472.515,0,.205614,.2E-4,0,.3871,28.7538,.3703,.0001,47.1459,1.1852,
  756. X0.0002,7.009,.00186,0, /* Mercury */
  757. X212.6032,58517.8039,.0013,.00682,-.5E-4,0,.7233,54.3842,.5082,-.14E-2,75.7796,
  758. X0.8999,.4E-3,3.3936,.1E-2,0, /* Venus */
  759. X319.5294,19139.8585,.2E-3,.09331,.9E-4,0,1.5237,285.4318,1.0698,.1E-3,48.7864,
  760. X0.77099,0,1.8503,-.7E-3,0, /* Mars */
  761. X
  762. X225.4928,3033.6879,0,.04838,-.2E-4,0,5.2029,273.393,1.3383,0,99.4198,1.0583,0,
  763. X1.3097,-.52E-2,0, /* Jupiter */
  764. X-.001,-.0005,.0045,.0051,581.7,-9.7,-.0005,2510.7,-12.5,-.0026,1313.7,-61.4,
  765. X0.0013,2370.79,-24.6,-.0013,3599.3,37.7,-.001,2574.7,31.4,-.00096,6708.2,
  766. X-114.5,-.0006,5499.4,-74.97,-.0013,1419,54.2,.0006,6339.3,-109,.0007,4824.5,
  767. X-50.9,.0020,-.0134,.0127,-.0023,676.2,.9,.00045,2361.4,174.9,.0015,1427.5,
  768. X-188.8,.0006,2110.1,153.6,.0014,3606.8,-57.7,-.0017,2540.2,121.7,-.00099,
  769. X6704.8,-22.3,-.0006,5480.2,24.5,.00096,1651.3,-118.3,.0006,6310.8,-4.8,.0007,
  770. X4826.6,36.2, /* Jupiter error */
  771. X
  772. X174.2153,1223.50796,0,.05423,-.2E-3,0,9.5525,338.9117,-.3167,0,112.8261,.8259,
  773. X0,2.4908,-.0047,0, /* Saturn */
  774. X-.0009,.0037,0,.0134,1238.9,-16.4,-.00426,3040.9,-25.2,.0064,1835.3,36.1,
  775. X-.0153,610.8,-44.2,-.0015,2480.5,-69.4,-.0014,.0026,0,.0111,1242.2,78.3,-.0045,
  776. X3034.96,62.8,-.0066,1829.2,-51.5,-.0078,640.6,24.2,-.0016,2363.4,-141.4,.0006,
  777. X-.0002,0,-.0005,1251.1,43.7,.0005,622.8,13.7,.0003,1824.7,-71.1,.0001,2997.1,
  778. X78.2, /* Saturn error */
  779. X
  780. X74.1757,427.2742,0,.04682,.00042,0,19.2215,95.6863,2.0508,0,73.5222,.5242,0,
  781. X0.7726,.1E-3,0, /* Uranus */
  782. X-.0021,-.0159,0,.0299,422.3,-17.7,-.0049,3035.1,-31.3,-.0038,945.3,60.1,-.0023,
  783. X1227,-4.99,.0134,-.02186,0,.0317,404.3,81.9,-.00495,3037.9,57.3,.004,993.5,
  784. X-54.4,-.0018,1249.4,79.2,-.0003,.0005,0,.0005,352.5,-54.99,.0001,3027.5,54.2,
  785. X-.0001,1150.3,-88, /* Uranus error */
  786. X
  787. X30.13294,240.45516,0,.00913,-.00127,0,30.11375,284.1683,-21.6329,0,130.68415,
  788. X1.1005,0,1.7794,-.0098,0, /* Neptune */
  789. X0.1832,-.6718,.2726,-.1923,175.7,31.8,.0122,542.1,189.6,.0027,1219.4,178.1,
  790. X-.00496,3035.6,-31.3,-.1122,.166,-.0544,-.00496,3035.3,58.7,.0961,177.1,-68.8,
  791. X-.0073,630.9,51,-.0025,1236.6,78,.00196,-.0119,.0111,.0001,3049.3,44.2,-.0002,
  792. X893.9,48.5,.00007,1416.5,-25.2, /* Neptune error */
  793. X
  794. X229.781,145.1781,0,.24797,.002898,0,39.539,113.5366,.2086,0,108.944,1.3739,0,
  795. X17.1514,-.0161,0, /* Pluto */
  796. X-.0426,.073,-.029,.0371,372,-331.3,-.0049,3049.6,-39.2,-.0108,566.2,318.3,
  797. X0.0003,1746.5,-238.3,-.0603,.5002,-.6126,.049,273.97,89.97,-.0049,3030.6,61.3,
  798. X0.0027,1075.3,-28.1,-.0007,1402.3,20.3,.0145,-.0928,.1195,.0117,302.6,-77.3,
  799. X0.00198,528.1,48.6,-.0002,1000.4,-46.1, /* Pluto error */
  800. X
  801. X34.6127752,713.5756219,0,.382270369,-.004694073,0,13.66975144,337.407213,
  802. X2.163306646,0,208.1482658,1.247724355,0,6.911179715,.011236955,0, /* Chiron */
  803. X108.2925,7820.36556,0,.0794314,0,0,2.7672273,71.0794444,0,0,80.23555556,
  804. X1.3960111,0,10.59694444,0,0, /* Ceres */
  805. X106.6641667,7806.531667,0,.2347096,0,0,2.7704955,310.166111,0,0,172.497222,
  806. X1.39601111,0,34.81416667,0,0, /* Pallas Athena */
  807. X267.685,8256.081111,0,.2562318,0,0,2.6689897,245.3752778,0,0,170.137777,
  808. X1.396011111,.0003083333,13.01694444,0,0, /* Juno */
  809. X138.7733333,9924.931111,0,.0902807,0,0,2.360723,149.6386111,0,0,103.2197222,
  810. X1.396011111,.000308333,7.139444444,0,0, /* Vesta */
  811. X
  812. X104.5959,138.5369,0,0,0,0,40.99837, 0,0,0,0,0,0,0,0,0, /* Cupido */
  813. X337.4517,101.2176,0,0,0,0,50.667443,0,0,0,0,0,0,0,0,0, /* Hades */
  814. X104.0904,80.4057, 0,0,0,0,59.214362,0,0,0,0,0,0,0,0,0, /* Zeus */
  815. X17.7346, 70.3863, 0,0,0,0,64.816896,0,0,0,0,0,0,0,0,0, /* Kronos */
  816. X138.0354,62.5,    0,0,0,0,70.361652,0,0,0,0,0,0,0,0,0, /* Apollon */
  817. X-8.678,  58.3468, 0,0,0,0,73.736476,0,0,0,0,0,0,0,0,0, /* Admetos */
  818. X55.9826, 54.2986, 0,0,0,0,77.445895,0,0,0,0,0,0,0,0,0, /* Vulkanus */
  819. X165.3595,48.6486, 0,0,0,0,83.493733,0,0,0,0,0,0,0,0,0  /* Poseidon */
  820. X};
  821. X#endif /* MATRIX */
  822. X
  823. real starbright[] = {0,
  824. X  0.46, 2.02, 5.24, 5.09, 0.85, 0.08, 0.12, 1.64, 1.65, 1.70,
  825. X  0.50, 1.90, 1.98,-0.72, 1.93,-1.46, 1.50, 1.84, 1.59, 0.38,
  826. X  1.14, 1.78, 1.86, 1.68, 1.98, 1.35, 1.79, 1.58, 1.63, 1.25,
  827. X  1.77, 0.98, 1.86, 0.61,-0.04,-0.01, 0.96, 1.63, 1.87, 1.85,
  828. X  0.03, 0.77, 1.94, 1.25, 1.74, 1.16, 4.61};
  829. X
  830. real stardata[] = {
  831. X 1,37,42.9,-57,14,12,   2,31,50.5, 89,15,51,   3,17,46.1,-62,34,32,
  832. X 3,49,11.1, 24, 8,12,   4,35,55.2, 16,30,33,   5,16,41.3, 45,59,53,
  833. X 5,14,32.2, -8,12, 6,   5,25, 7.8,  6,20,59,   5,26,17.5, 28,36,27,
  834. X 5,36,12.7, -1,12, 7,   5,55,10.3,  7,24,25,   5,59,31.7, 44,56,51,
  835. X 6,22,41.9,-17,57,22,   6,23,57.2,-52,41,44,   6,37,42.7, 16,23,57,
  836. X 6,45, 8.9,-16,42,58,   6,58,37.5,-28,58,20,   7, 8,23.4,-26,23,35,
  837. X 7,34,35.9, 31,53,18,   7,39,18.1,  5,13,30,   7,45,18.9, 28, 1,34,
  838. X 8, 9,31.9,-47,20,12,   8,22,30.8,-59,30,34,   9,13,12.1,-69,43, 2,
  839. X 9,27,35.2, -8,39,31,  10, 8,22.3, 11,58, 2,  11, 3,43.6, 61,45, 3,
  840. X12,26,35.9,-63, 5,56,  12,31, 9.9,-57, 6,47,  12,47,43.3,-59,41,19,
  841. X12,54, 1.7, 55,57,35,  13,25,11.5,-11, 9,41,  13,47,32.3, 49,18,48,
  842. X14, 3,49.4,-60,22,22,  14,15,39.6, 19,10,57,  14,39,36.2,-60,50, 7,
  843. X16,29,24.4,-26,25,55,  17,33,36.4,-37, 6,13,  17,37,19.0,-42,59,52,
  844. X18,24,10.3,-34,23, 5,  18,36,56.2, 38,47, 1,  19,50,46.9,  8,52, 6,
  845. X20,25,38.8,-56,44, 7,  20,41,25.8, 45,16,49,  22, 8,13.9,-46,57,40,
  846. X22,57,39.0,-29,37,20,   0,42, 7.0, 41,16, 0};
  847. X
  848. X
  849. X#ifdef INTERPRET
  850. X/*
  851. X******************************************************************************
  852. X** Core Interpretation Tables.
  853. X******************************************************************************
  854. X*/
  855. X
  856. char *mindpart[] = {"",
  857. X  "spirit, ego, image of self, and sense of aliveness",
  858. X  "emotional nature, moods, feelings, and caring tendencies",
  859. X  "thoughts, intellect, and communicative activity",
  860. X  "creativity, tendencies for affection and calmness, and relationship needs",
  861. X  "will, energy, activity, and aggressive, assertive tendencies",
  862. X  "enthusiastic, faithful, wise, expansive, spontaneous nature",
  863. X  "part of mind that is disciplined, respectful, and solitary",
  864. X  "individuality, desires for change, and tendency to go against social norms",
  865. X  "intuitive, spiritual, compassionate, psychic nature",
  866. X  "destiny, and capacity to transform the self and the outer world",
  867. X  "ability to help, heal, and teach others, and where one has much experience",
  868. X  "tendency to direct energy to instinctive, creative, reproductive goals",
  869. X  "tendency to direct energy away from emotional and into mental pursuits",
  870. X  "tendency to give away individual power for the benefit of a relationship",
  871. X  "capacity to direct creative energy into personal or devotional goals",
  872. X  "karmic goals, and best direction of evolutionary growth",
  873. X  "place where opportunity and success can be found",
  874. X  "view as seen in the eyes of others, reputation, and social standing",
  875. X  "personality and outward appearance, as projected to the world",
  876. X  "karmic fate and method of reception of energies",
  877. X  "", "", "", "",
  878. X  "group associations and matters relating to art",
  879. X  "dark, secretive, past, shameful side",
  880. X  "fiery, creative, leadership tendencies",
  881. X  "lofty, extraordinary parts",
  882. X  "progressive, abundant energies",
  883. X  "intense, focused nature",
  884. X  "greatly forceful energies",
  885. X  "idealistic, honorable side"};
  886. X
  887. char *description[] = {"",
  888. X  "forceful, energetic, direct, courageous",
  889. X  "practical, often skeptical and stubborn",
  890. X  "inquisitive, witty, perceptive, adaptable",
  891. X  "introspective, emotional, protective",
  892. X  "proud, gregarious, dramatic, dignified",
  893. X  "analytical, critical, modest, helpful",
  894. X  "affectionate, tolerant, often indecisive, appreciates beauty",
  895. X  "penetrating, suspicious, introspective",
  896. X  "jovial, open minded, loves freedom",
  897. X  "industrious, practical, disciplined",
  898. X  "progressive, erratic, revolutionary, idealistic, humanitarian, inventive",
  899. X  "imaginative, other worldly, impressionable"};
  900. X
  901. char *desire[] = {"",
  902. X  "seeks adventure and challenge",
  903. X  "loves serenity and inner peace",
  904. X  "seeks out information",
  905. X  "wants inner and outer security",
  906. X  "desires self expression",
  907. X  "works toward perfection",
  908. X  "seeks balance, relationship, and calmness",
  909. X  "desires to transform and remove outer masks",
  910. X  "seeks meaning and new experience",
  911. X  "works for solitude and personal integrity",
  912. X  "desires individuality",
  913. X  "seeks transcendence of self"};
  914. X
  915. char *lifearea[] = {"",
  916. X  "establishment of personal identity",
  917. X  "self image, self worth, and material security",
  918. X  "communicating to and receiving from the environment",
  919. X  "imagination, fantasies, inner feelings, and domestic life",
  920. X  "finding joy, pleasure, and creative expression",
  921. X  "work and feeling talented and useful",
  922. X  "personal relationships and intimacy",
  923. X  "sex, death, the occult, and other hard to grasp topics",
  924. X  "changes, exploration, and the breaking of routine",
  925. X  "career, social stature, and destiny",
  926. X  "the future, life goals, and association with friends and groups",
  927. X  "things that disrupt or cause disassociation with the personality"};
  928. X
  929. char *interact[] = {"",
  930. X  "is %sconnected and fused together with",
  931. X  "%sopposes and creates tension with",
  932. X  "is %sin conflict with",
  933. X  "is %sin harmony with",
  934. X  "has %sopportunity for growth, exchange, and harmony in relation with",
  935. X  "is %sdifferent from",
  936. X  "%sgets new perspectives in relation with",
  937. X  "%screates internal friction with",
  938. X  "%screates internal agitation with",
  939. X  "%screatively relates externally with",
  940. X  "%screatively relates internally with"};
  941. X
  942. char *therefore[] = {"",
  943. X  "Both parts are prominent in their psyche", "Balance is needed",
  944. X  "Adaptation is required by both sides", "", "",
  945. X  "They can often relate in a discordant way", "", "", "", "", ""};
  946. X
  947. X/* Modifier array makes the interpretation stronger for narrower orbs. */
  948. X
  949. char *modifier[3][ASPECTI] = {{"always ", "always ", "irreconcilably ",
  950. X  "always ", "much ", "completely ", "often ", "often ", "often ", "often ",
  951. X  "often "}, {"", "", "", "", "", "", "", "", "", "", ""}, {"somewhat ",
  952. X  "somewhat ", "somewhat ", "somewhat ", "some ", "somewhat ", "sometimes ",
  953. X  "sometimes ", "sometimes ", "sometimes ", "sometimes "}};
  954. X#endif /* INTERPRET */
  955. X
  956. X/* data.c */
  957. END_OF_FILE
  958. if test 21871 -ne `wc -c <'data.c'`; then
  959.     echo shar: \"'data.c'\" unpacked with wrong size!
  960. fi
  961. # end of 'data.c'
  962. fi
  963. if test -f 'xdata.c' -a "${1}" != "-c" ; then 
  964.   echo shar: Will not clobber existing file \"'xdata.c'\"
  965. else
  966. echo shar: Extracting \"'xdata.c'\" \(19782 characters\)
  967. sed "s/^X//" >'xdata.c' <<'END_OF_FILE'
  968. X/*
  969. X** Astrolog (Version 4.10) File: xdata.c
  970. X**
  971. X** IMPORTANT NOTICE: the graphics database and chart display routines
  972. X** used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
  973. X** (cruiser1@stein.u.washington.edu). Permission is granted to freely
  974. X** use and distribute these routines provided one doesn't sell,
  975. X** restrict, or profit from them in any way. Modification is allowed
  976. X** provided these notices remain with any altered or edited versions of
  977. X** the program.
  978. X**
  979. X** The main planetary calculation routines used in this program have
  980. X** been Copyrighted and the core of this program is basically a
  981. X** conversion to C of the routines created by James Neely as listed in
  982. X** Michael Erlewine's 'Manual of Computer Programming for Astrologers',
  983. X** available from Matrix Software. The copyright gives us permission to
  984. X** use the routines for personal use but not to sell them or profit from
  985. X** them in any way.
  986. X**
  987. X** The PostScript code within the core graphics routines are programmed
  988. X** and Copyright (C) 1992-1993 by Brian D. Willoughby
  989. X** (brianw@sounds.wa.com). Conditions are identical to those above.
  990. X**
  991. X** The extended accurate ephemeris databases and formulas are from the
  992. X** calculation routines in the program "Placalc" and are programmed and
  993. X** Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
  994. X** (alois@azur.ch). The use of that source code is subject to
  995. X** regulations made by Astrodienst Zurich, and the code is not in the
  996. X** public domain. This copyright notice must not be changed or removed
  997. X** by any user of this program.
  998. X**
  999. X** Initial programming 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
  1000. X** X Window graphics initially programmed 10/23-29/1991.
  1001. X** PostScript graphics initially programmed 11/29-30/1992.
  1002. X** Last code change made 3/19/1994.
  1003. X*/
  1004. X
  1005. X#include "astrolog.h"
  1006. X
  1007. X#ifdef GRAPH
  1008. X
  1009. X/*
  1010. X******************************************************************************
  1011. X** Graphics Global Variables.
  1012. X******************************************************************************
  1013. X*/
  1014. X
  1015. bitmap bm;                     /* Pointer to allocated memory.               */
  1016. int bitmaprow;                 /* Horizontal size of bitmap array in memory. */
  1017. word PTR metacur;              /* Current mem position when making metafile. */
  1018. char modex = MODEv;            /* Current type of chart to create.   */
  1019. char bitmapmode = BITMAPMODE;  /* Current bitmap file type (-Xb).    */
  1020. char *outputfile = NULL;       /* Current name of bitmap file (-Xo). */
  1021. char *dispname = NULL;         /* Current X11 display name (-Xd).    */
  1022. circlestruct PTR circ = NULL;  /* Table of sine and cosine values.   */
  1023. X
  1024. int xfile;
  1025. X#ifdef ISG
  1026. int xbitmap = FALSE;   /* Are we creating a bitmap file (-Xb set). */
  1027. X#else
  1028. int xbitmap = TRUE;
  1029. X#endif
  1030. int psfile   = FALSE;  /* Are we generating a PostScript file (-Xp set).   */
  1031. int metafile = FALSE;  /* Are we generating a metafile graphic (-XM set).  */
  1032. int xmono    = FALSE;  /* Is this a monochrome monitor.                    */
  1033. int xcolor   = TRUE;   /* Are we drawing a color chart (-Xm not set).      */
  1034. int xreverse = FALSE;  /* Are we drawing in reverse video (-Xr set).       */
  1035. int xroot    = FALSE;  /* Are we drawing on the X11 background (-XB set).  */
  1036. int xtext    = TRUE;   /* Are we printing chart info on chart (-XT set).   */
  1037. int xfont    = TRUE;   /* Are we simulating fonts in charts (-XM0 set).    */
  1038. int xbonus   = FALSE;  /* Are we drawing in alternate mode (-Xi set).      */
  1039. int xlabel   = TRUE;   /* Are we labeling objects in charts (-Xl not set). */
  1040. int xborder  = TRUE;   /* Are we drawing borders around charts.            */
  1041. X
  1042. int xnow = 0;                  /* Current animation mode. (-Xn).            */
  1043. int xeast = 0;                 /* Current object to place on Asc (-X1).     */
  1044. int scale = 200;               /* Current character scale factor (-Xs).     */
  1045. int textrows = 0;              /* Numb. of rows to set text screen to (-V). */
  1046. int gridobjects = OBJECTS;     /* Number of cells in -g graphic grids.      */
  1047. int psinchz = 0;               /* PostScript paper orientation indicator.   */
  1048. real psinchx = 8.5;            /* PostScript horizontal paper size inches.  */
  1049. real psinchy = 11.0;           /* PostScript vertical paper size inches.    */
  1050. int metawid = 10;              /* Pen width to use when creating metafiles. */
  1051. int offsetx = 0, offsety = 0;  /* Viewport origin.                          */
  1052. int turtlex = 0, turtley = 0;  /* Current coordinates of pen.               */
  1053. int chartx = DEFAULTX, charty = DEFAULTY; /* Current size of graphic chart. */
  1054. int degree = 0;                /* Current rotation of globe.                */
  1055. real tilt = 0.0;               /* Current vertical tilt of rotating globe.  */
  1056. int scalet;                    /* Relative scale to draw chart text at.     */
  1057. X
  1058. X/* Color tables for Astrolog's graphic palette. */
  1059. X
  1060. colrgb rgbbmp[] = {
  1061. X  0x000000L, 0x00007FL, 0x007F00L, 0x007F7FL,
  1062. X  0x7F0000L, 0x7F007FL, 0x7F7F00L, 0xBFBFBFL,
  1063. X  0x7F7F7FL, 0x0000FFL, 0x00FF00L, 0x00FFFFL,
  1064. X  0xFF0000L, 0xFF00FFL, 0xFFFF00L, 0xFFFFFFL};
  1065. X#ifdef MSG
  1066. colrgb rgb[] = {
  1067. X  _BLACK, _RED, _GREEN, _BROWN,
  1068. X  _BLUE, _MAGENTA, _CYAN, _WHITE,
  1069. X  _GRAY, _LIGHTRED, _LIGHTGREEN, _YELLOW,
  1070. X  _LIGHTBLUE, _LIGHTMAGENTA, _LIGHTCYAN, _BRIGHTWHITE};
  1071. X#endif
  1072. X#ifdef X11
  1073. char *rgbname[] = {
  1074. X  "black", "orangered3", "green4", "darkorange2",
  1075. X  "blue4", "violet", "cyan4", "grey65",
  1076. X  "grey35", "orangered1", "green1", "yellow1",
  1077. X  "blue1", "pink", "cyan1", "white"};
  1078. colrgb rgbind[16];
  1079. X#endif
  1080. X
  1081. X/* These are the actual color arrays and variables used by the program.      */
  1082. X/* Technically, Astrolog always assumes we are drawning on a color terminal; */
  1083. X/* for B/W graphics, all the values below are filled with black or white.    */
  1084. X
  1085. colrgb fg, bg;
  1086. colpal colcur = -1, metafillcol = -1, on, off, hilite, gray,
  1087. X  maincolor[6+1], rainbowcolor[7+1],
  1088. X  elemcolor[4], aspectcolor[ASPECTS+1], objectcolor[TOTAL+1];
  1089. X
  1090. X/* A bunch of physical X window variables dealing with the window itself. */
  1091. X
  1092. X#ifdef X11
  1093. Colormap cmap;
  1094. Display *disp;
  1095. GC gc, pmgc;
  1096. KeySym key;
  1097. Pixmap pixmap, icon;
  1098. Window window, root;
  1099. XXSizeHints hint;
  1100. X#if FALSE
  1101. XXWMHints *wmhint;
  1102. X#endif
  1103. int screen, depth;
  1104. char xkey[10];
  1105. X#endif
  1106. X
  1107. X
  1108. X/*
  1109. X******************************************************************************
  1110. X** Astrolog Icon.
  1111. X******************************************************************************
  1112. X*/
  1113. X
  1114. X#ifdef X11
  1115. X/* This information used to define Astrolog's X icon (Rainbow over Third */
  1116. X/* Eye) is identical to the output format used by the bitmap program.    */
  1117. X/* You could extract this section and run xsetroot -bitmap on it.        */
  1118. X
  1119. X#define icon_width 63
  1120. X#define icon_height 32
  1121. X/*static*/ char icon_bits[] = {
  1122. X 0x00,0x00,0x00,0xa8,0x0a,0x00,0x00,0x00,0x00,0x00,0x40,0x55,0x55,0x01,0x00,
  1123. X 0x00,0x00,0x00,0xa8,0xaa,0xaa,0x0a,0x00,0x00,0x00,0x00,0x54,0xf5,0x57,0x15,
  1124. X 0x00,0x00,0x00,0x80,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x40,0xd5,0xff,0xff,
  1125. X 0x55,0x01,0x00,0x00,0xa0,0xaa,0xaa,0xaa,0xaa,0x02,0x00,0x00,0x50,0xfd,0xff,
  1126. X 0xff,0x5f,0x05,0x00,0x00,0xa8,0xaa,0x2a,0xaa,0xaa,0x0a,0x00,0x00,0xd4,0xff,
  1127. X 0xaf,0xfa,0xff,0x15,0x00,0x00,0xaa,0x2a,0x00,0x00,0xaa,0x2a,0x00,0x00,0xf5,
  1128. X 0xbf,0xaa,0xaa,0xfe,0x57,0x00,0x80,0xaa,0x02,0x00,0x00,0xa0,0xaa,0x00,0x40,
  1129. X 0xfd,0xab,0xfa,0xaf,0xea,0x5f,0x01,0xa0,0xaa,0x80,0xff,0xff,0x80,0xaa,0x02,
  1130. X 0x50,0xff,0xea,0xff,0xff,0xab,0x7f,0x05,0xa0,0x2a,0xf0,0xff,0xff,0x07,0xaa,
  1131. X 0x02,0xd0,0xbf,0xfa,0x0f,0xf8,0xaf,0x7e,0x05,0xa8,0x0a,0xfc,0x01,0xc0,0x1f,
  1132. X 0xa8,0x0a,0xd4,0xaf,0x7e,0x00,0x00,0xbf,0xfa,0x15,0xa8,0x0a,0x3f,0x00,0x00,
  1133. X 0x7e,0xa8,0x0a,0xf4,0xaf,0x1f,0xe0,0x03,0xfc,0xfa,0x15,0xaa,0x82,0x0f,0xdc,
  1134. X 0x1d,0xf8,0xa0,0x2a,0xf4,0xab,0x07,0x23,0x62,0xf0,0xea,0x17,0xaa,0xc2,0x87,
  1135. X 0x91,0xc4,0xf0,0xa1,0x2a,0xf4,0xeb,0xc3,0xd0,0x85,0xe1,0xeb,0x17,0xaa,0xe0,
  1136. X 0x83,0x91,0xc4,0xe0,0x83,0x2a,0xf5,0xeb,0x03,0x23,0x62,0xe0,0xeb,0x57,0xaa,
  1137. X 0xe0,0x01,0xdc,0x1d,0xc0,0x83,0x2a,0xf5,0xeb,0x01,0xe0,0x03,0xc0,0xeb,0x57,
  1138. X 0xaa,0xe0,0x01,0x00,0x00,0xc0,0x83,0x2a,0xfd,0xeb,0x01,0x00,0x00,0xc0,0xeb,
  1139. X 0x5f};
  1140. X#endif
  1141. X
  1142. X
  1143. X/*
  1144. X******************************************************************************
  1145. X** Graphics Table Data.
  1146. X******************************************************************************
  1147. X*/
  1148. X
  1149. char *signdraw[] = {"",
  1150. X  "ND4HU2HLGDFBR6EUHLGD2G",                /* Aries       */
  1151. X  "BL3D2F2R2E2U2H2NE2L2NH2G2",             /* Taurus      */
  1152. X  "BLU3LHBR7GLNL3D6NL3RFBL7ERU3",          /* Gemini      */
  1153. X  "BGNDHLGDFRNEFR2EREBU3NHDGLHUENRHL2GLG", /* Cancer      */
  1154. X  "BF4H2UEU2H2L2G2D2FDGH",                 /* Leo         */
  1155. X  "BF4BLHNGNHEU5GHND5HGND6HGND6H",         /* Virgo       */
  1156. X  "BGNL3HUER2FDGR3BD2L8",                  /* Libra       */
  1157. X  "BH4FND6EFND6EFD6FREU",                  /* Scorpio     */
  1158. X  "BG4E3NH2NF2E5NL2D2",                    /* Sagittarius */
  1159. X  "BH3NLNUD3FND2EU2ENF2UFERFDGLF2D2G",     /* Capricorn   */
  1160. X  "BG4EUEDFDEUEDFDEUEBU5GDGUHUGDGUHUGDG",  /* Aquarius    */
  1161. X  "NL4NR4BH4F2D4G2BR8H2U4E2"};             /* Pisces      */
  1162. X
  1163. char *objectdraw[] = {
  1164. X  "ND4NL4NR4U4LGLDGD2FDRFR2ERUEU2HULHL",    /* Earth   */
  1165. X  "U0BH3DGD2FDRFR2ERUEU2HULHL2GL",          /* Sun     */
  1166. X  "BG3E2U2H2ER2FRDFD2GDLGL2H",              /* Moon    */
  1167. X  "BD4UNL2NR2U2REU2HNEL2NHGD2FR",           /* Mercury */
  1168. X  "LHU2ER2FD2GLD2NL2NR2D2",                 /* Venus   */
  1169. X  "HLG2DF2RE2UHE4ND2L2",                    /* Mars    */
  1170. X  "BH3RFDGDGDR5NDNR2U6E",                   /* Jupiter */
  1171. X  "BH3R2NUNR2D3ND3RERFDGDF",                /* Saturn  */
  1172. X  "BD4NEHURBFULU3NUNR2L2NU2DGBU5NFBR6GD3F", /* Uranus  */
  1173. X  "BD4U2NL2NR2U5NUNRLBL2NUNLDF2R2E2UNRU",   /* Neptune */
  1174. X  "D2NL2NR2D2BU8GFEHBL3D2F2R2E2U2",         /* Pluto   */
  1175. X  "BG2LDFEULU3NURFRFBU5GLGLU2",             /* Chiron          */
  1176. X  "BD4UNL3NR3U2RE2UH2L2G",                  /* Ceres           */
  1177. X  "BD4UNL3NR3UE2HUHNUGDGF2",                /* Pallas Athena   */
  1178. X  "BD4UNL2NR2U4NL4NR4NE3NF3NG3NH3U3",       /* Juno            */
  1179. X  "BU4DBG3NLFDF2E2UERBH2GDGHUH",            /* Vesta           */
  1180. X  "BG2LGFEU2HU2E2R2F2D2GD2FEHL",            /* North Node      */
  1181. X  "NE2NF2NG2H2GD2F2R2E2U2H2L2G",            /* Part of Fortune */
  1182. X  "BG4U8F2ND6E2D8BR4NUL2U5R2D",             /* Midheaven */
  1183. X  "BG4U4NR2U3EFD7BR2NURU2HU2RDBR3ULD5RU",   /* Ascendant */
  1184. X  "U2NHNEBD4NGNFU2L2NHNGR4NEF",             /* Vertex    */
  1185. X  "BH3ED8NLRBR2RNRU8G",                     /* 11th Cusp */
  1186. X  "BG4RNRU8GBR4ER2FD2GLG2D2R4",             /* 12th Cusp */
  1187. X  "BH3ER4FD2GLGLG2DR6",                     /* 2nd Cusp  */
  1188. X  "BH3ER4FD2GNL3FD2GL4H",                   /* 3rd Cusp  */
  1189. X  "BH4BRFDG2DR8BG3UNL2NR2U5LUEFDL",         /* Cupido    */
  1190. X  "BENUNL2NR2D3ND2NR2L2H2U2E2R4",           /* Hades     */
  1191. X  "BU4NG2NF2D7NDBLHLBR6LGL2GLBR6LHL",       /* Zeus      */
  1192. X  "BU2D3ND3NR2L2BH2UE2R4F2D",               /* Kronos    */
  1193. X  "U3NLR2NRD3NL2NR2D4NRL2NLU4L4UEUH",       /* Apollon   */
  1194. X  "BUNU2NL2NR2D2ND3LHU2ENHR2NEFD2GL",       /* Admetos   */
  1195. X  "G2DGR6HUH2U4NG2F2",                      /* Vulcanus  */
  1196. X  "ND4U4BL3DF2R2E2UBD8UH2L2G2D"};           /* Poseidon  */
  1197. X
  1198. char *housedraw[] = {"",
  1199. X  "BD2NLNRU4L", "BHBUR2D2L2D2R2", "BHBUR2D2NL2D2L2",
  1200. X  "BHBUD2R2NU2D2", "BEBUL2D2R2D2L2", "NLRD2L2U4R2",
  1201. X  "BHBUR2DG2D", "NRLU2R2D4L2U2", "NRLU2R2D4L2",
  1202. X  "BH2NLD4NLRBR2U4R2D4L2", "BH2NLD4NLRBR2RNRU4L", "BH2NLD4NLRBR2NR2U2R2U2L2"};
  1203. X
  1204. char *aspectdraw[] = {"",
  1205. X  "HLG2DF2RE2UHE4",              /* Conjunction      */
  1206. X  "BGL2GDFREU2E2U2ERFDGL2",      /* Opposition       */
  1207. X  "BH4R8D8L8U8",                 /* Square           */
  1208. X  "BU4GDGDGDGDR8UHUHUHUH",       /* Trine            */
  1209. X  "BLNH3NG3RNU4ND4RNE3F3",       /* Sextile          */
  1210. X  "BG4EUEUEUEUNL4NR4BDFDFDFDF",  /* Inconjunct       */
  1211. X  "BH4FDFDFDFDNL4NR4BUEUEUEUE",  /* Semisextile      */
  1212. X  "BE4G8R8",                     /* Semisquare       */
  1213. X  "BD2L3U6R6D6L3D2R2",           /* Sesquiquadrature */
  1214. X  "F4BU3U2HULHL2GLDGD2FDRFR2E3", /* Quintile         */
  1215. X  "BD2U3NR3NU3L3BD5R6",          /* Biquintile       */
  1216. X  "BU2D3NR3ND3L3BU5R6",          /* Semiquintile     */
  1217. X  "BH3R6G6",                               /* Septile      */
  1218. X  "BR3L5HUER4FD4GL4H",                     /* Novile       */
  1219. X  "BF2UHL2GFR3DGL3BE6LNLU2NRLBL4LNLD2NLR", /* Binovile     */
  1220. X  "BL2R4G4BE6LNLU2NRLBL4LNLD2NLR",         /* Biseptile    */
  1221. X  "BL2R4G4BE6L7NLU2NLR3ND2R3ND2R",         /* Triseptile   */
  1222. X  "BF2UHL2GFR3DGL3BU6LNLU2NLRBR2F2E2"};    /* Quatronovile */
  1223. X
  1224. char *asciidraw[] = {"",
  1225. X  "BR2D4BD2D0", "BRD2BR2U2", "BD2R4BD2L4BFU4BR2D4", "BR2D6BENL3EHL2HER3",
  1226. X  "RDLNUBR4G4BR4DLUR", "BD2NF4UEFDG2DFRE2", "BR2DG", "BR3G2D2F2", "BRF2D2G2",
  1227. X  "BD2FNGRNU2ND2RNEF", "BD3R2NU2ND2R2", "BD5BR2DG", "BD3R4", "BD6BRRULD",
  1228. X  "BD5E4", /* Special Characters */
  1229. X
  1230. X  "BDD4NE4FR2EU4HL2G", "BFED6NLR", "BDER2FDG4R4", "BDER2FDGNLFDGL2H",
  1231. X  "D3R3NU3ND3R", "NR4D3R3FDGL2H", "BR3NFL2GD4FR2EUHL3", "R4DG4D",
  1232. X  "BDDFNR2GDFR2EUHEUHL2G", "BD5FR2EU4HL2GDFR3", /* Numbers */
  1233. X
  1234. X  "BR2BD2D0BD2D0", "BR2BD2D0BD2G", "BR3G3F3", "BD2R4BD2L4", "BRF3G3",
  1235. X  "BDER2FDGLDBD2D0", "BF2DFEU2HL2GD4FR2", /* Special Characters */
  1236. X
  1237. X  "BD6U4E2F2D2NL4D2", "D6R3EUHNL3EUHL3", "BR3NFL2GD4FR2E", "D6R2E2U2H2L2",
  1238. X  "NR4D3NR3D3R4", "NR4D3NR3D3", "BR3NFL2GD4FR2EU2L2", "D3ND3R4NU3D3",
  1239. X  "BRRNRD6NLR", "BD4DFR2EU5", "D3ND3RNE3F3", "D6R4", "ND6F2NDE2D6",
  1240. X  "ND6F4ND2U4", "BDD4FR2EU4HL2G", "R3FDGL3NU3D3", "BDD4FRENHNFEU3HL2G",
  1241. X  "ND6R3FDGL2NLF3", "BR3NFL2GDFR2FDGL2H", "R2NR2D6", "D5FR2EU5",
  1242. X  "D2FDFNDEUEU2", "D6E2NUF2U6", "DF4DBL4UE4U", "D2FRND3REU2",
  1243. X  "R4DG4DR4", /* Upper Case Letters */
  1244. X
  1245. X  "BR3L2D6R2", "BDF4", "BRR2D6L2", "BD2E2F2", "BD6R4", "BR2DF", /* Symbols */
  1246. X  "BF4G2LHU2ER2FD3", "D5NDFR2EU2HL2G", "BF4BUHL2GD2FR2E", "BR4D5NDGL2HU2ER2F",
  1247. X  "BF4NL4UHL2GD2FR3", "BD3RNR3ND3U2ERF", "BD8R3EU4HL2GD2FR2E", "D3ND3ER2FD3",
  1248. X  "BR2D0BD2D4", "BR2D0BD2D5GLH", "D4ND2REREBD4HLH", "BR2D6", "BD2DND3EFNDEFD3",
  1249. X  "BD2DND3ER2FD3", "BD3D2FR2EU2HL2G", "BD2DND5ER2FD2GL2H",
  1250. X  "BR4BD8U5HL2GD2FR2E", "BD2DND3ER2F", "BD6R3EHL2HER3", "BR2D2NL2NR2D4",
  1251. X  "BD2D3FRE2NU2D2", "BD2DFDFEUEU", "BD2D3FENUFEU3", "BD2F2NG2NE2F2",
  1252. X  "BD2D3FR2ENU3D2GL3", "BD2R4G4R4", /* Lower Case Letters */
  1253. X
  1254. X  "BR3GDGFDF", "BR2D2BD2D2", "BRFDFGDG", "BFEFE", "BD6R4"}; /* Symbols */
  1255. X
  1256. char *worlddata[] = {
  1257. X"-031+70",
  1258. X"LLRRHLLLLDULLGLLLDULGLLLGLRREDEGGLGGLGLGLLGDRLDRLFFRRERFDFRRREUEEHLUERERUERRF\
  1259. GLGLDDFRRRRREFRLGLLLLLGEFDLHGDDLGHLGLLHGLHURDLRRELLLRHUGLDFDLGLLFHGGLGLLLDLLLD\
  1260. RRFFDDGLLLLLLGDFGDDRRFRERREEUEREUEFRRERRFFFRFRDDLLLLRFRUREURULHLHHHEF",
  1261. X"5EUROPE",
  1262. X"+006+50", "RRERRRRUELLUHHLLREULLELLDGHDUFDEGRDRRLFDLLRGRRGGL", "5ENGLAND",
  1263. X"+008+55", "GLFGRRREUULL", "5IRELAND",
  1264. X"+023+64", "RRFRERRREHLLLLLGHLLRFLLRFL", "5ICELAND",
  1265. X"-011+80", "DDURFRERLGRRLLFRRREEFRRRLHGELLLHRRFRRRRERLLLLLLLLLLLDHGULLL",
  1266. X"5SVALBARD",
  1267. X"-014+45",
  1268. X"FRFRFDDFRDRRLLFRURFHHUERRRRRHUUEERRRRGRDERRLHLRRERRGGRFRFFGLLLLHLLLLGLLDLLLFG\
  1269. RFFRERFRERDDDGDGLLDFFEUDDFFDFFDDFFFDFDDDRRERRERRRUERRERURUEEHHLHUGGLLLUUGUHUHU\
  1270. RRFFRFRRRDRRFRRRRRRRF",
  1271. X"5MIDDLE EAST",
  1272. X"-009+41", "DDRUULEUGD", "5SARDINIA",
  1273. X"-024+35", "RRLL", "5CRETE",
  1274. X"-032+35", "RRLL", "5CYPRUS",
  1275. X"-052+37", "LLHUURHUHUHERERRRDDLLLFFDDURFLLDFDDL", "0CASPAIN SEA",
  1276. X"-060+44", "LLUEERDFLDL", "0ARAL SEA",
  1277. X"-068+24",
  1278. X"FRGFRREDDDDDFDFDDFDDFERUEUUUUEEEEEREURRREFDFRDDDDRREFDDFDDGDDRFDDFDFFRUHUUHHH\
  1279. ULUEUUURDRFDFRDEEREUUUHHHUUEERRDDEURRERREREEEUEULLREUHUHLEERRHLGLULUREERDLDRER\
  1280. RFGRFDGRRREUHHUREUE",
  1281. X"6ASIA S",
  1282. X"-140+36",
  1283. X"DEUUEUHURREREEGLLHHDDGLDRGDDGGLGLLLGGLDLRDFEUHRRGEERDLLRGLRERRERRE",
  1284. X"6JAPAN",
  1285. X"-121+25", "GDFUEUL", "6TAIWAN",
  1286. X"-080+10", "DDDDREUHH", "6SRI LANKA",
  1287. X"-121+18", "LDDDRDDRHRRFFDDDLLEHDULRHDFDDGERDDREUUULUUHHLHEUUL",
  1288. X"2PHILIPPINES",
  1289. X"-131+43",
  1290. X"EFREEREEEUUUEUHLLUDLULEERERERRRRRRERRFLRRRRLUERERRRDRERURRGDLGLGLGLGGDDFDFEUR\
  1291. RUERUURULEEREDERRFRERERRRERRHLHLRRRREURDRRFRFRUURRHLLLDHHLLHLLHLLLLLLLDLLHRLLL\
  1292. LLLLGHULLLLLLLLLLULLLGL",
  1293. X"6SIBERIA",
  1294. X"-145+71",
  1295. X"RELLRHLLLLGDHGHLLLLGLLHUHLLLLLDLLLLHLLLLLDULUDLGLLLLRRERERRRELHLLLLLLLELLLLGD\
  1296. LLLLLUDLLLLLGLLLDLLLLLLLDFRDDHELLLLLLDRRLLHUDLGFGRRRRFRLHLLDGLGLLHRRREUHUUULLG\
  1297. GLDRFGHLLLHLLLLRFGHLGLLLULGLLLGLLHRHLDDDLLLLDLLLFLLHUHLRRFRRRREHLLHLLLHLL",
  1298. X"6RUSSIA",
  1299. X"-143+54", "GDDDDDDDEDUUURUUHUU", "6SAKHALIN",
  1300. X"-180+72", "GRRRRULLL", "6WRANGEL I.",
  1301. X"-137+76", "DRRRRRRRELLLLLLLL", "6SIBERIAN I.",
  1302. X"-091+80", "FERDRRRRRRULLLLLRRULLLLGL", "6SEVERNAYA",
  1303. X"-101+79", "GRRRRELLLL", "6ZEMLYA",
  1304. X"-068+77", "LLGLLLLLLGLLGGLGLRFRRRRLHERERERRRERRRREL", "6NOVAYA",
  1305. X"+123+49",
  1306. X"FGULLFDDDGFDDDFFDFRFRFDFFFDLFFRDFFEHHHHUHHUFRDFFFRDFFFDFGFRFRFRRFRRRRFFRRFRFF\
  1307. DRFFRFEUUGLHHUUEUHLLLLLEUUEULLLGDLLGLHHUHUUUEHEERERRFRRHRREFRRFDFDFEUUHUUUEERE\
  1308. RUUUHFDEUHFEURRRELUERRE",
  1309. X"4NORTH AMERICA S",
  1310. X"+113+42", "FH", "0SALT LAKE",
  1311. X"+156+20", "DRULHLHL", "4HAWAII",
  1312. X"+085+22", "RERFRRFRGRRRRHLHLHLLLLLG", "4CUBA",
  1313. X"+070+18", "RRHHLLLFLLLFRRRRRR", "4HAITI",
  1314. X"+078+18", "RRHLLF", "4JAMAICA",
  1315. X"+066+18", "ELLDR", "4PUERTO RICO",
  1316. X"+078+24", "UD", "4NASSAU",
  1317. X"+067+45",
  1318. X"REFLGDERERREHDLLLHUELLLGLGLREEERRRRRRREERRGGDGRRRFEFUUHLLLEUUHHGLRELLHHUHHHDG\
  1319. LGHHULLHLLLLLDFGFDDGLLFDDGHHUULLLLHLLHLLLUHUUEREEREERRRREUUHLLLDDGHULLLHLUHLGD\
  1320. RFGGULLLLLLLLLHLLGFLHLLLLLRHLLLLLHLLLLLLHGLLLLGUGLLLHLL",
  1321. X"4CANADA",
  1322. X"+088+49",
  1323. X"LGLGRRRRRRRFLLLGRGDDREUURUFRGRFGFERERREEREERLGGLGLLLGRLLGLEUERHLLLHULHL",
  1324. X"0GREAT LAKES",
  1325. X"+117+61", "REHRFRRERGLGLLLL", "0SLAVE LAKE",
  1326. X"+125+66", "RRERRRGREDLFHGLLLERLLLL", "0BEAR LAKE",
  1327. X"+097+50", "UULHURFDFG", "0LAKE WINNIPEG",
  1328. X"+090+72",
  1329. X"FRRLLFRRRRRRRRRRFRRGLLGRREEFRFLGLFLLLLFRERFRFRRFRRHLHFRRRUHLHRRFRURELLHLLLHRR\
  1330. HLHLHGHLHLLGLLEHFRRRHLLLLLLGLDFHLUELLGG",
  1331. X"4BAFFIN I.",
  1332. X"+125+72",
  1333. X"RFRREERRRLLGFFRRRRRLLLLLFRRRRRRRREFRRRRHRRLHLHHLRRULGLFLHLDLLULLLLHLLLLLLLDG",
  1334. X"4VICTORIA I.",
  1335. X"+141+70",
  1336. X"LLLLLLLLHGLHLLLHGLLGLLGLLDRRFRRDLLLULGLLFRRRRRRDLGLLGFDRRRDRRRRRGGGLLGLLGGLLR\
  1337. RERERRRERREERRELEERRRLLGDRERRURRFRRRRRFRRFUDRUDDHFDURDURLURDDLFRULURDHFFRGFEGR\
  1338. XFFRFRFLHLHLFFRFE",
  1339. X"4ALASKA",
  1340. X"+045+60",
  1341. X"REUEREUERRRRERERRRERRRRERLLLLLLHRRRGERHFRRRRHLUDLLHLRERFRERLEUHRRHLEERLLURRRR\
  1342. RRRRELLLLLLLLLLGLLLRERHGLRELLLLLLLELLLLLLLLLLGLLLLLLGLLLLLLGLULLLLLLLFRLLLLLGL\
  1343. RRRGLLLLLLLGRRRRRRRGLLLLRRFRRRRRRRRRRFDFDLFREFRDLLLDERRFGLLGFFDRFFFRRRF",
  1344. X"4GREENLAND",
  1345. X"+080+10",
  1346. X"DRFDFDDGGGDDGRDGDDFFDFDFFDFFRFFFDDDDDDGDDDDGDDDDGDGFGDDDEUDDDGUDDLDRGDDDFDFRF\
  1347. RRFERRLHLUHUURUEELHEREURULURREURREREUHUUDFRREEEEEUEUUEERERRREUEUEUUUUUEEEEUUUH\
  1348. LHLHLLLLHLHLGEHLGEUHUUHLHLLLHHLHULEDLLELLGHLLHLGDDHUELLGLGDGHHL",
  1349. X"3SOUTH AMERICA",
  1350. X"+060-51", "LDRRELL", "3FALKLAND ISLANDS",
  1351. X"+092+00", "FUL", "3GALAPAGOS I.",
  1352. X"-032+32",
  1353. X"LLGLHLLLLHLGDGHLLHHLLHLEUULLLLLLLLLGLGLLLLHDGLGDGDGGLDGGGDGDFDDDDGDDFFFFDFRFF\
  1354. RRRRRRRRERERRFFRRFFDDDGDFFFDFDDDFDGDGDDDFDFDFDDDFDFDFDDFFERRRRREEEEEEEUUEREUUH\
  1355. UEEEREEUUUUHUUUHUEUEEEEEREEUEUEEUUULLLLGLLHUHHLHUHHUUHHUUHUHHUU",
  1356. X"1AFRICA",
  1357. X"-049-12", "DGGGLGDDDDGDDFFREUEUEUUUEUUUUH", "1MADAGASCAR",
  1358. X"-032+00", "DDDREUELLL", "0LAKE VICTORIA",
  1359. X"-014+14", "LRFLU", "0LAKE CHAD",
  1360. X"-124-16",
  1361. X"LGDGGLGLLGLDDDGFDDFDFDGFRRRERRRRURERRRRRRRFFFEEDDRFDFRFREFRERRUUEUEEUUUUUUUHH\
  1362. HHHHHUUHHHUULDDDDGDGHLHLHEUELLLHLFLLULDRGDDLLHLGG",
  1363. X"2AUSTRALIA",
  1364. X"-173-35", "FFDGFDREURULHHHL", "2NEW ZEALAND N",
  1365. X"-174-41", "LLDGLGLGGRFREEUREEU", "2NEW ZEALAND S",
  1366. X"-145-41", "DFRRUUUDLLL", "2TASMANIA",
  1367. X"-178-17", "GRRURUGDH", "2FIJI",
  1368. X"-130+00", "FRFRLGFEFRFRFDGRRFRRUERFFFRRRLHHHHRHLHHLHLLHGGLHUHLGH",
  1369. X"2NEW GUINEA",
  1370. X"-115-04", "RUUEEURHUUEHHGGGGLLDDHLDDFDDRRDERF", "2BORNEO",
  1371. X"-095+06", "DFFFFFFDFFFFRUUUHFRHLHLUHHHHHLLH", "2SUMATRA",
  1372. X"-106-06", "GRFRRRRRRFRRHLHLLLLLHL", "2JAVA",
  1373. X"-120+00", "DGDDRDFHUEDFRHUHREFHLGHURRRRELLLLG", "2CELEBES",
  1374. X"+000-70",
  1375. X"ULDLLLLLLLLGLLGLLLGLLGLLLLGLGLLGLLLLGLLLLLHLGLLLLLHLLLLLHLLLLHLLUERLEUUUUUUEE\
  1376. RRRULLGLLLLGLGGLLLDRUDRDLGHLLGLLFGRRFLLLLLLLDHLLLLHLLLLLGLLLLHLLLLLLLGRFDLLLUL\
  1377. LLGHLLLLLLLLLLHGHLLGLLLLLLLGLLLLLLLLLLLGLLLGLLLLLLLLGLLLLLLLLLLLLLLLLLLLLL",
  1378. X"7ANTARCTICA W",
  1379. X"+180-78",
  1380. X"LLLLLLLHLLGHLLGHLUEERRERREHLLLLHLLLLLLHLLLLLLLLLLLHLHLLLLLHLLULDLLLLLDLLHLLLL\
  1381. GHFLLLLLHLLLLLLGLHLLHLGLLLLHLGLLGLLLULLLGLLHDFLLLGLGLLLELLLLHLLLLLLLLLLHLLLHLL\
  1382. LLGGHGHGLLLGLDLLLLHLLGHGLLLLLLLLLLLLLLHLGLLLLLLLLLLLLLL",
  1383. X"7ANTARCTICA E",
  1384. X"", "", ""};
  1385. X#endif /* GRAPH */
  1386. X
  1387. X/* xdata.c */
  1388. END_OF_FILE
  1389. if test 19782 -ne `wc -c <'xdata.c'`; then
  1390.     echo shar: \"'xdata.c'\" unpacked with wrong size!
  1391. fi
  1392. # end of 'xdata.c'
  1393. fi
  1394. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  1395.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  1396. else
  1397. echo shar: Extracting \"'MANIFEST'\" \(1895 characters\)
  1398. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  1399. X   File Name        Archive #    Description
  1400. X-----------------------------------------------------------
  1401. X README.410                 1    Astrolog 4.10 info and compiling instructions.
  1402. X Makefile                   1    Unix Makefile to easily compile program.
  1403. X makefile.pc                1    Makefile for PC's with nmake utility.
  1404. X astrolog.dat               1    Data file with default program settings.
  1405. X data.c                     1    Table information and global variable defs.
  1406. X xdata.c                    1    Graphics variables and table information.
  1407. X astrolog.h                 2    Compile time options and program definitions.
  1408. X placalc.h                  2    Definitions for the Placalc formula set.
  1409. X general.c                  3    Simple program functions and generic routines.
  1410. X formulas.c                 3    Planetary and house position calculations.
  1411. X intrpret.c                 4    Chart interpretation and influences.
  1412. X charts.c                   4    Routines to display charts on text screen.
  1413. X options.c                  5    Search routines and multiple date charts.
  1414. X placalc.c                  6    More accurate ephemeris file calculation.
  1415. X placalc2.c                 7    Subroutines file #included into placalc.c.
  1416. X driver.c                   8    Main program to connect all the other parts.
  1417. X xgeneral.c                 9    Primitives for screen and file graphics.
  1418. X xcharts.c                 10    Routines to draw various graphic charts.
  1419. X xoptions.c                11    Multiple date and world map graphic charts.
  1420. X xdriver.c                 12    Graphics dispatch and user interaction.
  1421. X Helpfile.p1               13    Documentation of features and how to use them.
  1422. X Helpfile.p2               14    Part 2 of the above file. (See the README).
  1423. X Helpfile.p3               15    Part 3 of the above file. (See the README).
  1424. X Helpfile.p4               16    Last part of the above file. (See the README).
  1425. X MANIFEST                   1    This shipping list
  1426. END_OF_FILE
  1427. if test 1895 -ne `wc -c <'MANIFEST'`; then
  1428.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  1429. fi
  1430. # end of 'MANIFEST'
  1431. fi
  1432. echo shar: End of archive 1 \(of 16\).
  1433. cp /dev/null ark1isdone
  1434. MISSING=""
  1435. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
  1436.     if test ! -f ark${I}isdone ; then
  1437.     MISSING="${MISSING} ${I}"
  1438.     fi
  1439. done
  1440. if test "${MISSING}" = "" ; then
  1441.     echo You have unpacked all 16 archives.
  1442.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1443. else
  1444.     echo You still need to unpack the following archives:
  1445.     echo "        " ${MISSING}
  1446. fi
  1447. ##  End of shell archive.
  1448. exit 0
  1449.  
  1450. exit 0 # Just in case...
  1451.