home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume28 / astrolog / part01 < prev    next >
Encoding:
Text File  |  1992-03-14  |  57.5 KB  |  1,069 lines

  1. Newsgroups: comp.sources.misc
  2. From: pullen@cs.washington.edu (Walter D. Pullen)
  3. Subject:  v28i104:  astrolog - Generation of astrology charts v2.10, Part01/06
  4. Message-ID: <csm-v28i104=astrolog.204628@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: cc115fde8a1dd53b53a1f87226653487
  6. Date: Mon, 16 Mar 1992 02:47:18 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: pullen@cs.washington.edu (Walter D. Pullen)
  10. Posting-number: Volume 28, Issue 104
  11. Archive-name: astrolog/part01
  12. Environment: UNIX, VMS
  13.  
  14. Astrolog is an astrology calculation program written in C. It main
  15. function is to calculate birthcharts and give accurate positions of
  16. planet objects and house positions at particular times, but it also
  17. supports different display formats, forms of chart comparisons, and
  18. other astrology related functions, including graphics charts for X11.
  19.  
  20. Astrolog works best when run on a Unix system with X windows, however
  21. neither Unix nor X11 are needed in order to be able to run the
  22. program. The X11 features can easily be compiled out for those who
  23. don't have them, and various users have gotten this and previous
  24. versions of the program compiled properly on VMS, MS-DOS, and Mac
  25. systems with only a couple of modifications necessary, most of those
  26. changes of which I have tried to include in this version of the code.
  27. ------
  28. #! /bin/sh
  29. # This is a shell archive.  Remove anything before this line, then unpack
  30. # it by saving it into a file and typing "sh file".  To overwrite existing
  31. # files, type "sh file -c".  You can also feed this as standard input via
  32. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  33. # will see the following message at the end:
  34. #        "End of archive 1 (of 6)."
  35. # Contents:  README Makefile Helpfile.p2 Update astrolog.h MANIFEST
  36. # Wrapped by pullen@lynx.cs.washington.edu on Sun Mar 15 16:05:14 1992
  37. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  38. if test -f 'README' -a "${1}" != "-c" ; then 
  39.   echo shar: Will not clobber existing file \"'README'\"
  40. else
  41. echo shar: Extracting \"'README'\" \(3620 characters\)
  42. sed "s/^X//" >'README' <<'END_OF_FILE'
  43. X************************************************************************
  44. X
  45. XAstrolog version 2.10 (February 1992)
  46. X
  47. XAstrolog (pronounced astro-log; astro as in astronomy, log as is
  48. Xlogarithm) is an astrology calculation program written in C. It main
  49. Xfunction is to calculate birthcharts and give accurate positions of
  50. Xplanet objects and house positions at particular times, but it also
  51. Xsupports different display formats, forms of chart comparisons, and
  52. Xother astrology related functions, including graphics charts for X11.
  53. X
  54. XAstrolog works best when run on a Unix system with X windows, however
  55. Xneither Unix nor X11 are needed in order to be able to run the
  56. Xprogram. The X11 features can easily be compiled out for those who
  57. Xdon't have them, and various users have gotten this and previous
  58. Xversions of the program compiled properly on VMS, MS-DOS, and Mac
  59. Xsystems with only a couple of modifications necessary, most of those
  60. Xchanges of which I have tried to include in this version of the code.
  61. X
  62. XIMPORTANT: The planetary calculation routines used in this program
  63. Xhave been Copyrighted and the core of this program is basically a
  64. Xconversion to C of the routines created by James Neely as listed in
  65. XMichael Erlewine's 'Manual of Computer Programming for Astrologers',
  66. Xavailable from Matrix Software. The copyright gives us permission to
  67. Xuse the routines for our own purposes but not to sell them or profit
  68. Xfrom them in any way.
  69. X
  70. XIN ADDITION: the graphics database and chart display routines used in
  71. Xthis program are Copyright (C) 1991 by Walter D. Pullen. Permission is
  72. Xgranted to freely use and distribute these routines provided one
  73. Xdoesn't sell, restrict, or profit from them in any way. Modification
  74. Xis allowed provided these notices remain with any altered or edited
  75. Xversions of the program.
  76. X
  77. XTo compile this version 2.10, first edit the top of the file
  78. Xastrolog.h, putting in your own appropriate values for the default
  79. Xlongitude, latitude, time zone, and default directory. Also comment
  80. Xout any of the #defines which set various features that aren't valid
  81. Xon your system, such as the X11, TIME, and SWITCHES variables, and
  82. Xedit or comment out the DEFAULT_SYSTEM and ASTEROIDS variables to your
  83. Xtastes. Then, for unix systems, run the command 'make' on the Makefile
  84. X(or you can always compile by hand: "cc -O -c *.c; cc -o astrolog *.o
  85. X-lm -lX11" will do it; just make sure to compile each source file and
  86. Xlink them together at the end with the math and X11 libraries.)
  87. X
  88. XNote: The file 'Helpfile' that comes with this distribution is a ~64K
  89. Xfile that lists lots of information about the program and how to use
  90. Xthe different features and options, which you will want to read. Due
  91. Xto its length, that file had to be split into two parts: Helpfile.p1
  92. Xand Helpfile.p2 - You will want to concatenate these parts back
  93. Xtogether again. Use your favorite editor to do this, or if you are on
  94. Xa unix system, do the command: cat Helpfile.p1 Helpfile.p2 > Helpfile
  95. X
  96. XEnjoy the program. May you have as much fun with it as I have. Send
  97. Xcomments to my e-mail address below.
  98. X
  99. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  100. X|     Walter D. "Cruiser1" Pullen     |     pullen@lynx.cs.washington.edu     |
  101. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  102. X|   "Who am I, What am I?  As I am, I am not.  But as we are, I AM.  And to   |
  103. X-   you my creation, My Perfect Love is your Perfect Freedom. And I will be   -
  104. X|   with you forever and ever, until the End, and then forever more." - GOD   |
  105. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  106. END_OF_FILE
  107. if test 3620 -ne `wc -c <'README'`; then
  108.     echo shar: \"'README'\" unpacked with wrong size!
  109. fi
  110. # end of 'README'
  111. fi
  112. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  113.   echo shar: Will not clobber existing file \"'Makefile'\"
  114. else
  115. echo shar: Extracting \"'Makefile'\" \(714 characters\)
  116. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  117. X# Makefile for Unix Astrolog version 2.10 (pullen@lynx.cs.washington.edu)
  118. X# First created 11/21/1991
  119. X#
  120. X# This Makefile is included only for convenience. One could easily compile
  121. X# Astrolog on a unix system with the command:
  122. X# % cc -c *.c; cc -o astrolog *.o -lm -lX11
  123. X#
  124. X# Generally, all that needs to be done to compile once astrolog.h has been
  125. X# edited, is compile each source file, and link them together with the math
  126. X# library, and if applicable, the main X library.
  127. X#
  128. XNAME = astrolog
  129. XOBJ = data.o formulas.o options.o graphics.o driver.o
  130. X# If you don't have X windows, delete the "-lX11" part from the line below:
  131. XLIBS = -lm -lX11
  132. XCFLAGS = -O
  133. X
  134. Xastrolog:: $(OBJ)
  135. X    cc -o $(NAME) $(OBJ) $(LIBS)
  136. X    strip $(NAME)
  137. X#
  138. END_OF_FILE
  139. if test 714 -ne `wc -c <'Makefile'`; then
  140.     echo shar: \"'Makefile'\" unpacked with wrong size!
  141. fi
  142. # end of 'Makefile'
  143. fi
  144. if test -f 'Helpfile.p2' -a "${1}" != "-c" ; then 
  145.   echo shar: Will not clobber existing file \"'Helpfile.p2'\"
  146. else
  147. echo shar: Extracting \"'Helpfile.p2'\" \(14114 characters\)
  148. sed "s/^X//" >'Helpfile.p2' <<'END_OF_FILE'
  149. X******************************
  150. XTHE DISPLAY AND OTHER FEATURES
  151. X******************************
  152. X
  153. XThe main part of the program is executed simply by entering "astrolog"
  154. X(assuming that's the name of the executable), and the program will ask
  155. Xyou for all the birth info and will give the planet/house positions.
  156. X(e.g. for here in Seattle right now for the seven prompts I would
  157. Xenter: [for February 22nd, 1992 AD at 11:52pm, with daylight time not
  158. Xin effect - if daylight time *were* in effect, I would have entered
  159. X22.52 for the fourth value instead]; 2; 22; 1992; 23.52; 122.20;
  160. X47.36) The program then calculates and displays the positions of all
  161. Xplanets, Chiron, the four main asteroids, as well as stuff like the
  162. XPart of Fortune and the Vertex.
  163. X
  164. XInformation in addition to the above planet positions are shown in the
  165. Xmain display when the chart is cast: (1) Whether or not each planet is
  166. Xin it's ruling sign, or fall, as well as displaying the same
  167. Xinformation for ruling or debilitating houses. (2) The sum of the
  168. Xsigns in each element and mode and their totals is displayed in a grid
  169. Xform. Also, planets in their exalted and debilitated signs are noted.
  170. XIn addition to the (R) indicating a planet in it's ruling sign, and an
  171. X(F) for a planet in it's fall, we have (e) if a planet is in its
  172. Xexalting sign, and a (d) for a planet in its debilitating sign (which
  173. Xis always opposite the exaltation, as how the fall is opposite the
  174. Xruler).
  175. X
  176. XAlso in the main display, the total number of planets in each of the
  177. Xhemispheres of the wheel, as well the number of objects in
  178. Xpositive/masculine and negative/feminine quality signs, are counted.
  179. XTo the right of the element table, we have a column of six numbers
  180. Xlabeled as follows: "+" is the number of "positive" objects (i.e. in
  181. XFire or Air signs); "-" is the number of "negative" objects (i.e. in
  182. XWater or Earth signs); "M" is the number of objects above the horizon
  183. X(i.e. in the hemisphere of the Midheaven); "N" is the number of
  184. Xobjects below the horizon (in the hemisphere of the Nadir); "A" is the
  185. Xnumber of objects in the Eastern half of the sky (in the hemisphere of
  186. Xthe Ascendant); and "D" is the number of objects in the Western half
  187. Xof the sky (in the hemisphere of the Descendant).
  188. X
  189. X
  190. XI often use Astrolog to look at and compare files containing charts of
  191. Xvarious people. I have many chart files, so I keep them in a separate
  192. Xdirectory. Since it is always a pain to have to cd into this special
  193. Xdirectory all the time, there is a DEFAULT_DIR string to be set at
  194. Xcompile time. Whenever the program reads in a chart file with the -i
  195. Xoption, it will first look in the current directory for it. If it's
  196. Xnot found there, Astrolog will then look for a file of the same name
  197. Xin the special default directory.
  198. X
  199. XA couple of people have e-mailed me saying that their computer (for
  200. Xexample, Mac's) won't accept command switches on the command line
  201. X(like they boot Astrolog from a menu for instance.) Therefore, they
  202. Xaren't able to access many features in the normal way. If this is the
  203. Xcase with your system (or if you just don't like command line
  204. Xoptions), then comment out the '#define SWITCHES' line at the
  205. Xbeginning of the astrolog.h file. If you do this, then the program
  206. Xwill ignore any switches and prompt you to enter them manually at the
  207. Xvery beginning of program execution.
  208. X
  209. XA couple of other compile time option variables are in the include
  210. Xfile astrolog.h. For those people who don't like Placidus, a default
  211. Xhouse system can be set to the value from 0..9 indicating what system
  212. Xto use if the user doesn't explicitly specify it with -c, Another
  213. Xthing: It must be mentioned that although the accuracy of Sun..Pluto
  214. Xand Chiron are to the nearest minute for years 1900-2000, the four
  215. Xasteroids are relatively inaccurate and can even be a couple of
  216. Xdegrees off in the worse case. Also, some people just don't like or
  217. Xcare about the minor bodies. If you don't want these values to appear
  218. Xby default, there is a #define that can be commented out so that it
  219. Xwill be as if -R is always included when the program is run. (Simply
  220. Xdo -R to get them back if you compile it this way.)
  221. X
  222. XNote for PC users: I have tried to make this program as much
  223. Xexecutable on personal computers and other non-unix systems as
  224. Xpossible. Although this version should be easier to compile than
  225. Xprevious ones were, still there are probably some things I've
  226. Xforgotten/left out. For instance, for as least one person the
  227. Xoptions.c and formulas.c files were too long and had to be split
  228. Xagain, so one should be aware of these possible factors.
  229. X
  230. X
  231. X********************************
  232. XDESCRIPTION OF X WINDOW FEATURES
  233. X********************************
  234. X
  235. XOne of the most impressive features of the program are the X windows
  236. Xfeatures, which are generally accessed in the program via the -X
  237. Xswitch and derivatives of it on the command line. There are four
  238. Xdifferent types of chart displays: A standard graphic display of a
  239. Xwheel chart in a window (with glyphs, aspects in the center, etc),
  240. Xgraphic displays of the Astro-graph charts (which look almost
  241. Xidentical to the astro*carto*graphy maps from Jim Lewis) complete with
  242. Xall the labeled lines drawn on a map of the world, aspect/midpoint
  243. Xgrids showing the aspects and orbs in effect between every body in a
  244. Xchart, and a local sky chart showing where each planet is located on a
  245. Xmap of the local horizon area. There are also other commands that can
  246. Xbe given to the window once it is up and running, which can do other
  247. Xthings, such as continually update the window every few seconds to the
  248. Xcurrent status (i.e. an extended version of the -n option) as well as
  249. Xother forms of animation. Note that the program is still text based,
  250. Xand one can easily turn off all the X features by commenting out the
  251. X#define X11 in astrolog.h if they don't have X windows.
  252. X
  253. XProbably the only thing more impressive that the X windows features
  254. Xare the X window features displayed on color monitors. (The charts
  255. Xdisplayed in color are *much* more eye catching than the B/W ones,
  256. XIMHO.) Here is how the colors have been assigned for the normal wheel
  257. Xand astro-graph charts: Four colors have been allocated for the four
  258. Xelements - Fire = Red, Earth = Brown, Air = Green, Water = Blue. The
  259. Xvarious sign glyphs (and the corresponding house labels) are in the
  260. Xcolor of their element. Planets are in the color of the sign of their
  261. Xmain ruler. Chiron and the four asteroids are Gold, while the north
  262. Xnode, and other non-physical objects like the fortune and vertex are
  263. XViolet. Representations of the Ascendant/ Descendant/ Midheaven/ Nadir
  264. X(in the astro-graph map lines and elsewhere) are in the element color
  265. Xof the corresponding sign/house that the angular lines refer to, i.e.
  266. XAscendant = Red, Midheaven = Brown, Descendant = Green, Nadir = Blue.
  267. XA few extra things have been added for color wheel charts only: dark
  268. Xgray lines marking off each house (in addition to the main lines on
  269. Xthe horizon and meridian), and each degree instead of every 5th degree
  270. Xbeing marked in dark gray on the outer circle (every 5th degree being
  271. Xwhite). Aspects lines are colored too, as follows: Conjunctions =
  272. XYellow, Sextiles = Light Blue, Squares = Red, Trines = Green,
  273. XOppositions = Dark Blue. For the minor aspects we have:
  274. XInconjuncts/Semisextiles = Brown, Semisquares/ Sesquiquadratures =
  275. XOrange, (Bi/Semi)Quintiles = Violet, (Bi/Tri)Septiles = Gold,
  276. X(Bi/Quatro)Noviles = Pink.
  277. X
  278. XThe X wheel charts have their graphic information organized as
  279. Xfollows: There's an outer circle showing the signs and sign glyphs,
  280. Xinside of which is a smaller circle divided up into 5 degree
  281. Xincrements to make determining exact degrees easier. Inside of this is
  282. Xa circle divided up into the 12 houses labeled with numbers. The
  283. Xentire chart is divided by two dashed lines through the Ascendant/
  284. XDescendant (which is always horizontal of course) and the
  285. XMidheaven/Nadir. Inside the house circle are the planet glyphs in
  286. Xtheir appropriate positions. Small pointer lines run from each glyph
  287. Xto just before single dots. These dots indicate the precise locations
  288. Xin the zodiac of each object. The pointer lines (which are dashed if
  289. Xthe object is retrograde and solid otherwise) are necessary so as not
  290. Xto have to draw planet glyphs on top of one another when planets are
  291. Xconjunct. Inside the ring of the single dots, are the aspect lines
  292. Xconnecting these positions. Since the default number of aspects to use
  293. Xis just the 5 majors, one can determine which aspect is in place just
  294. Xby looking at the aspect line. The accuracy of the aspect is
  295. Xdetermined by the dashedness of the line: A solid line means the orb
  296. Xis < 2 degrees; a dashed line means the orb is < 4 degrees; a really
  297. Xdashed line mean the orb is < 6 degrees, etc.
  298. X
  299. XThe X astro-graph charts are organized as follows: A map of the world
  300. Xis shown. The edges of the map are labeled with ruler lines that are 5
  301. Xdegrees apart (with longer ruler lines for more important longitudes
  302. Xand latitudes, like those that are multiples of 10, 30, etc.) The
  303. Xequator is labeled with a dashed line. The polar regions of the world
  304. Xaren't shown; the map shown ranges from 60 degrees S latitude to 75
  305. Xdegrees N latitude. Note that each pixel on the screen represents
  306. Xexactly one half a degree on the world. (For -Xs 100 the ratio is one
  307. Xpixel to one degree, and for -Xs 300 the ratio is one pixel to 1/3
  308. Xdegree.) On this map are drawn the lines indicating where on the world
  309. Xthe various planets are angular at the time in question. (Note: you
  310. Xmight want to -R restrict some objects because otherwise the map tends
  311. Xto get pretty cluttered with lines.) As expected, Midheaven and Nadir
  312. Xlines are vertical, and the Ascendant and Descendant lines are curved.
  313. XLittle square boxes on the Midheaven lines indicate the exact zenith
  314. Xlatitude location. Each line is labeled at the top or the bottom of
  315. Xthe screen, showing what planet is in question and (sometimes) what
  316. Xangle is in question. All Ascendant and Midheaven lines are labeled
  317. Xat the bottom of the screen, and all Descendant and Nadir lines are
  318. Xlabeled at the top. Each line goes a bit beyond to the top or bottom
  319. Xof the world map, and then another pointer segment (which is again
  320. Xdashed of the object in question is retrograde) goes and points to the
  321. Xplanet glyph. There is a capital "A" or "M" under each of the glyphs
  322. Xat the bottom of the screen, explicitly indicating whether the line is
  323. Xan Ascendant or Midheaven line. At the top of the screen, however,
  324. Xthere are only the glyphs, but one can still determine whether these
  325. Xlines are Descendant or Nadir lines based on whether they are curved
  326. Xor not. Note that not all the Descendant lines are labeled; this is
  327. Xbecause some of the Ascendant/Descendant lines actually connect near
  328. Xthe top of the screen and don't actually cross it.
  329. X
  330. XAspect grid windows with the appropriate aspect glyphs can be
  331. Xdisplayed by combining the -g option with the -X option (astrolog -g
  332. X-X). Both the split aspect/midpoint grids labeled down the diagonal,
  333. Xas well as the relationship aspect grids between two charts (astrolog
  334. X-r <file1> <file2> -g -X) are supported. The aspects glyphs, objects,
  335. Xand the signs in the grids are in their colors as defined earlier.
  336. XLike the astro-graph windows, these charts can't be resized in the
  337. Xnormal way unless one uses the '>' and '<' keys. For anything less
  338. Xthan the largest scale size (achieved with the switch -Xs 300, or by
  339. Xpressing '>' within a window) all that will be displayed in each
  340. Xaspect grid cell is the glyphs of the aspect in effect, the planet
  341. Xbeing aspected, or the sign of the midpoint. However, once the largest
  342. Xscale size is reached, there is room in each cell to display the
  343. Xaspect orb to the nearest minute off of exact (with a plus or minus
  344. Xsign indicating whether the actual angle is slightly greater than or
  345. Xless than exact); the degree and minute in addition to the sign for
  346. Xmidpoints; and the degree and sign location for each planet that's in
  347. Xthe grid. Remember, the ASCII aspect grids in the text options are
  348. Xrather limited, only displaying orbs to the nearest 0.1 degree,
  349. Xmidpoints to the nearest degree, as well as the confusing '.' vs. ','
  350. Xfor angles slightly greater or less than exact (not to mention leaving
  351. Xthe vertex out for the relationship grids between two charts). Well no
  352. Xlonger: with X11, we can see *real* aspect grids with Astrolog!
  353. X
  354. XThe -Z local horizon feature can be displayed in an X window as well
  355. X(e.g. astrolog -Z -X), in which all the planets will be displayed in a
  356. Xwindow depicting the sky. The small dot above or below each glyph
  357. Xindicates exactly where each planet is. (Some of the glyphs may be
  358. Xoverlapping, although the program tries to cut down on this.) There
  359. Xis a horizontal line dividing the window representing the local
  360. Xhorizon; planets above this line are visible, while planets below it
  361. Xare set. There are three vertical lines dividing the window as well:
  362. XThe middle line represents the due south direction, the one to the
  363. Xleft is due east, the one to the right is due west, and the edges of
  364. Xthe window are due north. Like the standard chart display, this window
  365. Xmay be resized to any proportion. One can press the 'Z' key in any
  366. Xwindow to enter this display type in that window at any time.
  367. X
  368. X
  369. XA couple of conveniences for the X window features exist. Note that
  370. Xthe -Xo <bitmapfilename> option is only used in conjunction with the
  371. X-Xb write output to bitmap switch. Therefore, -Xo automatically
  372. Xassumes -Xb is set. (Invoking -Xb itself without -Xo will have the
  373. Xprogram prompt the user for the bitmap filename.) In other words,
  374. Xastrolog -Xb -Xo 'file' is the same as just astrolog -Xo 'file'. (This
  375. Xmay change if I add other file types, but for now none are planned.)
  376. XAlso, I should mention that Astrolog includes its own appropriate
  377. Xbitmap (a rainbow over an opened Third Eye) if one iconifies the
  378. Xwindow, instead of reverting to the braindead UnknownIcon :)
  379. X
  380. X
  381. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  382. X|     Walter D. "Cruiser1" Pullen     |     pullen@lynx.cs.washington.edu     |
  383. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  384. END_OF_FILE
  385. if test 14114 -ne `wc -c <'Helpfile.p2'`; then
  386.     echo shar: \"'Helpfile.p2'\" unpacked with wrong size!
  387. fi
  388. # end of 'Helpfile.p2'
  389. fi
  390. if test -f 'Update' -a "${1}" != "-c" ; then 
  391.   echo shar: Will not clobber existing file \"'Update'\"
  392. else
  393. echo shar: Extracting \"'Update'\" \(26986 characters\)
  394. sed "s/^X//" >'Update' <<'END_OF_FILE'
  395. XThis file describes the new features in version 2.10 of the Astrolog
  396. Xastrology program. It has been over two months since the last version,
  397. Xhowever some of the many new features should make it worth the wait.
  398. XSome of these included are: X windows in Color, several new X window
  399. Xchart displays, lots more progression and aspect support, ability to
  400. Xdo transits to composite and other charts, latitude crossings for
  401. Xastro-carto-graphy, and other things, along with our standard batch of
  402. Xbug fixes.
  403. X
  404. X--
  405. X
  406. XHere is a complete list of new features now in Astrolog over version 2.00,
  407. Xlisted in rough order from the most significant to least significant:
  408. X
  409. XA) Color X windows is probably the main new feature added to Astrolog
  410. X   2.10. The charts displayed in color are *much* more eye catching than
  411. X   the old B/W ones, IMHO. Here is how the colors have been assigned for
  412. X   the normal wheel and astro-graph charts: Four colors have been
  413. X   allocated for the four elements - Fire = Red, Earth = Brown, Air =
  414. X   Green, Water = Blue. The various sign glyphs (and the corresponding
  415. X   house labels) are in the color of their element. Planets are in the
  416. X   color of the sign of their main ruler. Chiron and the four asteroids
  417. X   are Gold, while the north node, and other non-physical objects like
  418. X   the fortune and vertex are Violet. Representations of the Ascendant/
  419. X   Descendant/ Midheaven/ Nadir (in the astro-graph map lines and
  420. X   elsewhere) are in the element color of the corresponding sign/house
  421. X   that the angular lines refer to, i.e. Ascendant = Red, Midheaven =
  422. X   Brown, Descendant = Green, Nadir = Blue. A few extra things have been
  423. X   added for color wheel charts only: dark gray lines marking off each
  424. X   house (in addition to the main lines on the horizon and meridian), and
  425. X   each degree instead of every 5th degree being marked in dark gray on
  426. X   the outer circle (every 5th degree being white). Aspects lines are
  427. X   colored too, as follows: Conjunctions = Yellow, Sextiles = Light Blue,
  428. X   Squares = Red, Trines = Green, Oppositions = Dark Blue. For the minor
  429. X   aspects we have: Inconjuncts/Semisextiles = Brown, Semisquares/
  430. X   Sesquiquadratures = Orange, (Bi/Semi)Quintiles = Violet,
  431. X   (Bi/Tri)Septiles = Gold, (Bi/Quatro)Noviles = Pink.
  432. X
  433. XB) For color X systems, the new -Xm switch will create all windows in
  434. X   monochrome B/W mode, as they were in 2.00. In addition, pressing the
  435. X   'm' key within a window will toggle in and out of monochrone mode on
  436. X   color systems.
  437. X
  438. XC) Aspect grid windows with the appropriate aspect glyphs can be
  439. X   displayed by combining the -g option with the -X option (astrolog -g
  440. X   -X). Both the split aspect/midpoint grids labeled down the diagonal,
  441. X   as well as the relationship aspect grids between two charts (astrolog
  442. X   -r <file1> <file2> -g) are supported. The aspects glyphs, objects, and
  443. X   the signs in the grids are in their colors as defined earlier. Like
  444. X   the astro-graph windows, these charts can't be resized in the normal
  445. X   way unless one uses the '>' and '<' keys. For anything less than the
  446. X   largest scale size (achieved with the switch -Xs 300, or by pressing
  447. X   '>' within a window) all that will be displayed in each aspect grid
  448. X   cell is the glyphs of the aspect in effect, the planet being aspected,
  449. X   or the sign of the midpoint. However, once the largest scale size is
  450. X   reached, there is room in each cell to display the aspect orb to the
  451. X   nearest minute off of exact (with a plus or minus sign indicating
  452. X   whether the actual angle is slightly greater than or less than exact);
  453. X   the degree and minute in addition to the sign for midpoints; and the
  454. X   degree and sign location for each planet that's in the grid.
  455. X   Remember, the ASCII aspect grids in earlier versions were rather
  456. X   limited, only displaying orbs to the nearest 0.1 degree, midpoints to
  457. X   the nearest degree, as well as the confusing '.' vs. ',' for angles
  458. X   slightly greater or less than exact (not to mention leaving the vertex
  459. X   out for the relationship grids between two charts). Well no longer: we
  460. X   can now see *real* aspect grids with Astrolog!
  461. X
  462. XD) The -A display aspects option has been extended to display a brief
  463. X   verbal description of what each aspect glyph look like. This is in
  464. X   case one doesn't know what aspects the weird symbols in the -g -X
  465. X   displays are referring to.
  466. X
  467. XE) A new text display switch has been included, -Z, which prints out
  468. X   where each object is on the local horizon in terms of altitude and
  469. X   azimuth. For each object, the following is displayed: Its altitude on
  470. X   the local horizon from +90 degrees (straight up) to -90 degrees
  471. X   (straight down), and its azimuth from 0..360 degrees, where 0 = due
  472. X   east, 90 = north, 180 = west, 270 = south. To make visualizing the
  473. X   azimuth easier, an "azimuth vector" with a N/S component and a W/E
  474. X   component is displayed, e.g. (1.00s 0.33w) means that the object is
  475. X   mainly south, with its true angle being formed by an vector component
  476. X   west that's 1/3 the strength of the south component, i.e. the object
  477. X   is about 18 degrees west of south. This along with the altitude should
  478. X   make it easy to physically point to where any planet is at any moment,
  479. X   making it easy to locate planets in the night sky. This feature can
  480. X   also be used to determine the times that a planet rises and sets.
  481. X   Also displayed are altitude and azimuth differences between each
  482. X   object and the Sun and Moon, first showing the number of degrees that
  483. X   the Sun/Moon is "ahead" (or farther east in the zodiac) of the object
  484. X   in question, and then the number of degrees that the Sun/Moon is above
  485. X   the object in question. This feature can be used to roughly predict
  486. X   eclipses! Both the Sun and Moon span about 0.5 degrees in the sky,
  487. X   therefore if both the azimuth and altitude differences are < 0.5 (or
  488. X   1.0 if the difference is between the Sun and Moon themselves) then the
  489. X   object in question is probably being occulted somewhat by the
  490. X   Sun/Moon. Note that there are three types of planetary position
  491. X   displays: Right ascension and declination showing the object's
  492. X   position with respect to the stars, longitude and latitude showing
  493. X   where on the Earth the object is straight up (as in the astro-graph
  494. X   zenith locations), and finally azimuth and altitude showing the
  495. X   positions of the object relative to the local horizon.
  496. X
  497. XF) This new -Z local horizon feature can be displayed in an X window
  498. X   as well (e.g. astrolog -Z -X), in which all the planets will be
  499. X   displayed in a window depicting the sky. The small dot above or below
  500. X   each glyph indicates exactly where each planet is. (Some of the glyphs
  501. X   may be overlapping, although the program tries to cut down on this.)
  502. X   There is a horizontal line dividing the window representing the local
  503. X   horizon; planets above this line are visible, while planets below it
  504. X   are set. There are three vertical lines dividing the window as well:
  505. X   The middle line represents the due south direction, the one to the
  506. X   left is due east, the one to the right is due west, and the edges of
  507. X   the window are due north. Like the standard chart display, this window
  508. X   may be resized to any proportion. One can press the 'Z' key in any
  509. X   window to enter this display type in that window at any time.
  510. X
  511. XG) Ability to write the actual sign and house positions of a chart to
  512. X   a file (instead of just the time and place) has been implemented via
  513. X   the -o0 <file> option. This option can be used interchangeably with
  514. X   the old -o output to file switch. The information written includes the
  515. X   zodiac position of the 20 main objects, their retrograde status and
  516. X   declination, as well as the positions of the (first six) house cusps.
  517. X   This file information can easily be passed into another program, and
  518. X   can be read back into Astrolog with the -i option. The -i option will
  519. X   automatically determine which type the file is, and will either use
  520. X   the given positions, or else calculate them as needed (note that some
  521. X   switches, such as the -c house system selection, will have no effect
  522. X   for this new file type.) Check an example of one of these files to see
  523. X   the precise format (a zodiac position is recorded as three numbers:
  524. X   degree in sign, sign as 1..12, and floating point minute within
  525. X   degree.) When the files are read back in, they will be flagged as
  526. X   "having no space or time" like the composite charts in the chart
  527. X   header displays.
  528. X
  529. XH) The new file format can allow one to do things such as transits to
  530. X   composite charts (send the composite chart to file with -o0 option and
  531. X   then use that file as the first parameter to the -T option) composites
  532. X   between two composite charts (use -rc between two composite charts
  533. X   sent to a file) and even, if one is willing to do a small amount of
  534. X   editing, to do transits to midpoints or the 0 degrees Aries point.
  535. X   Note that one can easily edit the positions in the -o0 position file
  536. X   to be whatever they like, so one could replace some unimportant object
  537. X   (like the vertex) with 0 degrees Aries or an important midpoint value.
  538. X   Note that trying to still use the -o time and space output with an
  539. X   output chart that doesn't have space/time will confuse the program; it
  540. X   will either say it can't make the file or else will output the
  541. X   time/space of the most recent parameter file it read in.
  542. X
  543. XI) Another file output feature, the ability to concatenate "comment
  544. X   lines" at the end of a data file, been been added to both the -o and
  545. X   -o0 options. (Some people have complained that the info in the
  546. X   Astrolog chart files are too cryptic.) After scanning the filename,
  547. X   the -o[0] option will then write any parameter that follows it at the
  548. X   end of the file, until a parameter beginning with a '-' (the next
  549. X   switch) is reached. For example: -o 'file' "Walter D. Pullen" Seattle
  550. X   will add my name and my birth city in two separate lines at the end of
  551. X   'file'. (In unix, quotes can be used to allow spaces within one
  552. X   parameter.)
  553. X
  554. XJ) Determining dates of transits of progressed planets to natal
  555. X   planets can be done with the new -Tp <file> <month> <year> option.
  556. X   This is just like the -T option, except that the exact aspects of
  557. X   progressed planets (rather than transiting planets) to the planets in
  558. X   'file' are displayed. Again, one can substitute '0' for the month to
  559. X   scan the entire year.
  560. X
  561. XK) Another added progression feature allows determining aspect times
  562. X   of progressed planets among themselves. The -i <file> -dp <month>
  563. X   <year> switch will, like the -d option, display times of aspects and
  564. X   sign changes, except that they will be for the chart in file,
  565. X   progressed throughout the month specified. Progressed planets move
  566. X   very slowly ("year for a day") so therefore there will usually be, if
  567. X   any, only a couple of aspects in a given month; again, one might want
  568. X   to substitute '0' for the month to scan the whole year. Also, since
  569. X   they move so slow, the accuracy is cut down, do the dates given are
  570. X   probably only accurate to the nearest day, in spite of the times given
  571. X   to the minute. Note that Astrolog can now scan for aspects of:
  572. X   transiting planets among themselves (-d switch), transiting planets to
  573. X   natal planets (-T switch), progressed planets to natal planets (-Tp),
  574. X   and progressed planets among themselves (-dp). Only thing Astrolog
  575. X   can't do is do progressed planets to transiting planets, although that
  576. X   may change in the next version :)
  577. X
  578. XL) The new -pn switch is like the -p <month> <date> <year> switch
  579. X   except that (like the -n switch) it assumes the current moment now to
  580. X   cast the progressed chart to. This is just another shorthand
  581. X   convenience to see what ones progressed chart is like presently; just
  582. X   do: astrolog -i file -pn.
  583. X
  584. XM) Determination of latitude crossing points has been added to the
  585. X   astro-graph routines! The new -L0 option will do the same thing as the
  586. X   -L option, except that after displaying the longitude and latitude
  587. X   locations of the Asc/Desc/MC/IC lines, it will then search among the
  588. X   lines and display (in order from farthest North to farthest South) the
  589. X   latitude of any points where lines cross each other. This includes the
  590. X   curvy Asc/Desc lines crossing the straight MC/IC lines as well as
  591. X   cases where different Asc/Desc lines cross themselves. And unlike Jim
  592. X   Lewis' astro*carto*graphy, Astrolog will also display the longitude of
  593. X   the crossing (useful for Asc/Desc crossings) in addition to the
  594. X   latitude (as well allowing more planetary bodies to be included in the
  595. X   scan, and going farther North and South than Jim Lewis' printouts go.)
  596. X   Note however, that there is presently a small (very rare) minor
  597. X   omission glitch in the code, where if a crossing is within a couple of
  598. X   degrees of 180 deg W/E, it may not be displayed.
  599. X
  600. XN) Change the default orbs of the various aspects with the -Ao <orb1>
  601. X   <orb2>... <orbn> switch. Do you not like the 7 degree orbs for
  602. X   conjunctions that are in there by default? One can change the first n
  603. X   aspect orbs (i.e. as many orb values that one puts after the -Ao)
  604. X   anywhere from just the conjunction to all 18 aspects. Non-integer
  605. X   values are allowed of course. Use negative orb values to completely
  606. X   eliminate an aspect from ever appearing. For example: astrolog -A 6
  607. X   -Ao 5 5 -1 10 narrows the orbs for Conjunction and Opposition,
  608. X   completely eliminates the Square, widens the orb for Trines, and
  609. X   leaves the Sextiles and Inconjuncts in the default values. Note that
  610. X   for very wide orbs more than one aspect may apply for a particular
  611. X   angle, in which case the more fundamental aspect is chosen. Also for
  612. X   wide aspects the decimal value of the orb may be lost in the -g text
  613. X   grid (due to too many characters) and their might be some slight
  614. X   overlap in the X window -g cells.
  615. X
  616. XO) Note that Astrolog imposes restrictions on the max orb that any
  617. X   particular aspect can have to certain particular objects, namely the
  618. X   node, fortune, and vertex, which can't have aspects to them in excess
  619. X   of 2 degrees. One can suspend these restrictions by replacing the -Ao
  620. X   <orbs> option above, invoking it as -AO <orbs> instead. For a fun (and
  621. X   perhaps useful) display, try: astrolog -A 1 -AO 180 -g [-X], and see
  622. X   everything conjunct everything else.
  623. X
  624. XP) Search through the aspect grid for major aspect configurations,
  625. X   including Grand Trines, T-Squares, Grand Crosses, Yod's, and Cradles
  626. X   with the -g0 option. This option will produce the same aspect grid
  627. X   that -g displays, but afterwards will go through the grid and list any
  628. X   of these aspect configurations and what objects are forming them. Of
  629. X   course, to see any Yod's, one has to -A 6 or more so that Inconjuncts
  630. X   will be included in the aspect grid.
  631. X   
  632. XQ) Display the locations of the "Uranian" planets with the -u switch.
  633. X   Transneptunian or Uranian planets are an interesting subset of
  634. X   astrology which includes various objects alleged to be beyond Pluto
  635. X   (or something like that, I'm just the programmer). Anyway, Astrolog
  636. X   can display the zodiac positions of these bodies as well, and will do
  637. X   this by taking the eight Uranian bodies and literally replacing
  638. X   Mercury..Pluto with them. (Do: astrolog -u -O to list them.) This
  639. X   replacement will allow the Uranians to be included in Astrolog's
  640. X   various options, although of course this means that they can't
  641. X   interact with Mercury..Pluto in any way. (Note, I didn't bother to
  642. X   change the X glyphs or sign rulerships since I don't know what they
  643. X   are for the Uranians.)
  644. X
  645. XR) Decan displays are now supported in Astrolog, and one can display a
  646. X   decan influenced chart with the -3 switch. The decan theory is that
  647. X   each sign in the zodiac can be divided into three parts: The first 10
  648. X   degrees (i.e. the first decan) is mainly influenced by the sign in
  649. X   question, the second 10 degrees (second decan) although still
  650. X   influenced by the sign in question is also somewhat influenced by the
  651. X   next sign of the same element, while the last decan is influenced by
  652. X   the third sign of the same element. The -3 switch applied to a chart
  653. X   will move each object into the sign of its decan. For example, if the
  654. X   Sun is at 29 degrees Aquarius and the Moon at 5 degrees Virgo, in the
  655. X   resulting chart, the Sun will go to Libra (26 degrees) and the Moon
  656. X   will remain in Virgo (although be at 15 degrees now since it was
  657. X   previously in the middle of the first decan of Virgo.)
  658. X
  659. XS) In the -w text wheel option, the objects in each house are printed
  660. X   from top to bottom in order from earliest in the house to latest. This
  661. X   looks good except for in houses 5..8 where this appears backwards
  662. X   (i.e. a planet having just entered the 6th house from the 5th is
  663. X   displayed right under the Descendant.) Replace -w with the -w0 switch
  664. X   and the objects from houses 4 through 9 will be reversed and printed
  665. X   in order from bottom to top, making a more flowing looking chart.
  666. X
  667. XT) The new -q0 <month> <date> <year> <time> option takes the four
  668. X   parameters and casts a chart for the time in question. The time zone
  669. X   and location are taken from the default compiled values. This is just
  670. X   yet another useful shorthand way to quickly make a chart. Note that
  671. X   this is just like the -q <month> <date> <year> option except that -q
  672. X   always casts it for noon in the default zone. Also note that the -a
  673. X   option which takes all seven chart parameters can be duplicated with
  674. X   -q0 along with the -z <zone> and -l <long> <lat> options.
  675. X
  676. XU) A couple of new compile time option variables have been added to
  677. X   the include file astrolog.h. For those people who don't like Placidus,
  678. X   a new default house system can be set to the value from 0..9
  679. X   indicating what system to use if the user doesn't explicitly specify
  680. X   it with -c, Another thing: It must be mentioned that although the
  681. X   accuracy of Sun..Pluto and Chiron are to the nearest minute for years
  682. X   1900-2000, the four asteroids are relatively inaccurate and can even
  683. X   be a couple of degrees off in the worse case. Also, some people just
  684. X   don't like or care about the minor bodies. If you don't want these
  685. X   values to appear by default, there is a new #define that can be
  686. X   commented out so that it will be as if -R is always included when the
  687. X   program is run. (Simply do -R to get them back if you compile it this
  688. X   way.) There is a new feature added to all the X window displays which
  689. X   can toggle the restriction status of the asteroids and other minors.
  690. X   Press the 'R' (restrict) key in the window and the screen will be
  691. X   redrawn with the restriction status of these toggled.
  692. X
  693. XV) The -Xn [<value>] option can be used to start up an X window in
  694. X   animation mode. Before, one would have to explicitly press 'N' or a
  695. X   shift+number key to start the window animation. Without a parameter
  696. X   after -Xn, the option will start it up in continuous update to "now"
  697. X   mode (which is like pressing 'N' in that any chart will be erased with
  698. X   the current chart now.) The switch can accept parameters from 1..9,
  699. X   corresponding to the animation rates obtained by pressing shift 1..9
  700. X   in the window, i.e. update whatever chart is passed to it seconds,
  701. X   minutes, hours, days, months, years, etc. later each time.
  702. X
  703. XW) Familiar with ley lines? They are energy lines crossing the Earth.
  704. X   I was experimenting earlier with the master ley line grids on the
  705. X   Earth (in the pattern of an overlapped 20 sided Icosahedron and 12
  706. X   sided Dodecahedron) and I figured Astrolog with it's world map would
  707. X   be an interesting program to explore this with. The -XW world map
  708. X   display option is always still, and can never be animated. If however
  709. X   one tries to animate it, either by the -Xn switch or pressing 'N' in
  710. X   the window, a new display showing the ley lines will be shown.
  711. X   Actually this is mainly a hack, but I figured I would leave it in
  712. X   there for amusement and inspiration. Hackers note: there is an
  713. X   interesting "bug" that can arise with the -XW as well as the -XG (and
  714. X   -XP, described below) switches: These displays can be brought up
  715. X   without having to specify an actual chart. Now suppose one presses
  716. X   'C', 'W', etc. to bring up a chart - what will be displayed? The
  717. X   answer will be whatever default values were already there, and if
  718. X   you're curious, I set to be the time of the New Moon on 1-4-1992 at
  719. X   11:11pm GMT at Greenwich England. (i.e. one week before the 11:11)
  720. X
  721. XX) The -XP option will generate a polar view of the Earth as a globe.
  722. X   This is like the -XG globe option except that the view is from the top
  723. X   (or bottom) and therefore doesn't rotate. By default, the view is
  724. X   looking down on the north pole with 0 deg W/E toward the bottom of the
  725. X   screen. To see a (fixed) view of the south pole hemisphere, go into
  726. X   animation mode. Again, like with all the other X window display
  727. X   options, one can enter this display with a keystroke: press 'P' in any
  728. X   Astrolog window and it will revert to this display.
  729. X
  730. XY) A couple of conveniences for the X window features have been added.
  731. X   Note that the -Xo <bitmapfilename> option is only used in conjunction
  732. X   with the -Xb write output to bitmap switch. Therefore, I have -Xo
  733. X   automatically assume -Xb is set. (Invoking -Xb itself without -Xo will
  734. X   have the program prompt the user for the bitmap filename.) In other
  735. X   words, astrolog -Xb -Xo 'file' is the same as just astrolog -Xo
  736. X   'file'. (This may change if I add other file types, but for now none
  737. X   are planned.) Also, I should mention that Astrolog includes it's own
  738. X   appropriate bitmap if one iconifies the window, instead of reverting
  739. X   to the braindead UnknownIcon as it did before.
  740. X
  741. XZ) A few other minor things have been done to the program, such as the
  742. X   -H help switch displays more information (e.g. what the difference
  743. X   between -T and -T0 is) as well as mentioning for X that you can press
  744. X   the 'H' key while within the X window to get a list of all the neat
  745. X   things you can do in window once it's already been created.
  746. X
  747. X
  748. XI could have added a bunch of other features to this version, but as
  749. Xyou can see, I ran out of letters :) Oh well, wait for version 2.20!
  750. XRemember now that the -e everything switch includes a lot more chart
  751. Xinformation in it since there are more features now.
  752. X
  753. X
  754. XHere is the list of bug fixes over version 2.00,
  755. Xlisted in rough order from the most major to the least major:
  756. X
  757. X1) I inadvertently disabled the -p progression option while updating
  758. X   the program from version 1.40 to 2.00, so that it would produce
  759. X   progressed charts way off. This has been fixed and the program
  760. X   produces those charts as well as it did in version 1.40 and before.
  761. X2) There was a bug in the midpoint routine which would yield results
  762. X   180 degrees off occasionally when the two points being passed to the
  763. X   routine were themselves almost 180 degrees apart. This would mainly
  764. X   affect composite charts and the midpoint grid. This has been fixed for
  765. X   all cases now.
  766. X3) Some composite charts where the house cusps in the two charts are
  767. X   almost 180 degrees apart would have the composite cusps in
  768. X   non-sequential order, 180 degrees apart from where they should be,
  769. X   e.g. two opposing cusps could be interchanged. The program now makes
  770. X   sure this won't happen, and takes corrective measures if necessary.
  771. X   Also, composite charts are no longer displayed in the chart headers
  772. X   with a bunch of 0's for the date, time, etc. Composite charts are
  773. X   properly labeled as being such, while only charts that exists in
  774. X   space/time will have their coordinates printed.
  775. X4) Some of the values in the header displays, such as time, long/lat,
  776. X   etc, would occasionally be displayed one number higher than they
  777. X   should be, due to improperly rounding up. This has been fixed. A few
  778. X   other minor display areas have been fixed, e.g. in the heliocentric
  779. X   planet list -h -O, Earth was abbreviated as "Eart" before.
  780. X5) In the -w text wheel option, the objects in each house are supposed
  781. X   to be printed from top to bottom in order from earliest in the house
  782. X   to latest. The program did this correctly except for cases in which a
  783. X   house spanned 0 degrees Aries, in which case the Aries planets would
  784. X   be printed before the Pisces planets. This should be the other way
  785. X   around, as it is now.
  786. X6) I probably should have made the -g text aspect grid and the -E
  787. X   ephemeris display be able to be affected by the -R restrictions. They
  788. X   weren't before and they are now.
  789. X7) Some of my very bad X windows programming in version 2.00 has been
  790. X   cleaned up, as least slightly. The program no longer core dumps if the
  791. X   DISPLAY environment variable isn't set properly. Before, the windows
  792. X   would come up white on black on some machines, and yet black on white
  793. X   on others; now as expected everything will come up white on black
  794. X   unless one specifies otherwise with the -Xr switch. Finally, a couple
  795. X   of people have mentioned that version 2.00 would eat up *lots* of cpu
  796. X   even while doing nothing (unless in 'p'ause mode). Also while in pause
  797. X   mode, uncovering part of the Astrolog window would leave that part
  798. X   blank until pause mode was left. Now, Astrolog doesn't eat cpu unless
  799. X   it's doing something useful, and it will always redraw its windows if
  800. X   unmapped.
  801. X8) Some things that caused problems for PC users have been corrected;
  802. X   Astrolog now is explicitly declaring 32 bit longs in places where the
  803. X   PC assuming 16 bit ints would cause problems, as well as eliminating a
  804. X   couple of unnecessary declarations and adding some more declarations
  805. X   which aren't necessary for unix but would confuse a PC.
  806. X
  807. XNote for PC users: I have tried to make this program as much
  808. Xexecutable on personal computers and other non-unix systems as
  809. Xpossible. Although this version should be easier to compile than
  810. Xprevious ones were, still there are probably some things I've
  811. Xforgotten/left out. For instance, for as least one person the
  812. Xoptions.c and formulas.c files were too long in version 2.00 and had
  813. Xto be split again, so one should be aware of these possible factors.
  814. X
  815. XUnfortunately, I am graduating in a little over a month from now, and
  816. Xtherefore probably won't be able to work on or support Astrolog much
  817. Xunless I can get another account somewhere. Still, I hope to release
  818. Xan Astrolog 2.20 in another month, perhaps including features like
  819. Xfixed star tracking. (Have you Sun conjunct the Pleiades? Find out!)
  820. X
  821. XI wish to express thanks to the many people who have pointed out the
  822. Xbugs (and have made suggestions for new features) in this (as well as
  823. Xprevious) versions so that they could be corrected. You know who you
  824. Xare! :)
  825. X
  826. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  827. X|     Walter D. "Cruiser1" Pullen     |     pullen@lynx.cs.washington.edu     |
  828. X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
  829. END_OF_FILE
  830. if test 26986 -ne `wc -c <'Update'`; then
  831.     echo shar: \"'Update'\" unpacked with wrong size!
  832. fi
  833. # end of 'Update'
  834. fi
  835. if test -f 'astrolog.h' -a "${1}" != "-c" ; then 
  836.   echo shar: Will not clobber existing file \"'astrolog.h'\"
  837. else
  838. echo shar: Extracting \"'astrolog.h'\" \(7038 characters\)
  839. sed "s/^X//" >'astrolog.h' <<'END_OF_FILE'
  840. X/*
  841. X** Astrolog (Version 2.10 - Seventh Posting to alt.astrology)
  842. X** By Walter D. Pullen (pullen@lynx.cs.washington.edu)
  843. X** Programmed 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
  844. X** Last Revision 1/6,16, 2/17/1992.
  845. X**
  846. X** IMPORTANT: The planetary calculation routines used in this program
  847. X** have been Copyrighted and the core of this program is basically a
  848. X** conversion to C of the routines created by James Neely as listed in
  849. X** Michael Erlewine's 'Manual of Computer Programming for Astrologers',
  850. X** available from Matrix Software. The copyright gives us permission to
  851. X** use the routines for our own purposes but not to sell them or profit
  852. X** from them in any way.
  853. X**
  854. X** IN ADDITION: the graphics database and chart display routines used in
  855. X** this program are Copyright (C) 1991 by Walter D. Pullen. Permission is
  856. X** granted to freely use and distribute these routines provided one
  857. X** doesn't sell, restrict, or profit from them in any way. Modification
  858. X** is allowed provided these notices remain with any altered or edited
  859. X** versions of the program.
  860. X*/
  861. X
  862. X/*
  863. X** To compile: For most systems, especially ones Unix based, the only changes
  864. X** that should need to be made to the code are to edit or (un)comment the eight
  865. X** #define's below to equal the particulars of your own locale and system:
  866. X*/
  867. X
  868. X#define DEFAULT_LONG 122.20  /* Change these values to the longitude W and */
  869. X#define DEFAULT_LAT   47.36  /* latitude N of your current location.       */
  870. X#define DEFAULT_ZONE   8.00  /* Change to default time zone of current     */
  871. X                             /* location in hours before (west of) GMT.    */
  872. X
  873. X#define DEFAULT_DIR "/fileserv/Lynx/users2/pullen/ast/etc/"
  874. X                     /* Change this string to directory path program       */
  875. X                     /* should look in for chart files if not in current.  */
  876. X
  877. X#define SWITCHES /* Comment out this #define if your system can not handle */
  878. X                 /* parameters on the command line (like Mac's, etc.)      */
  879. X#define TIME     /* Comment out this #define if your compiler can't take   */
  880. X                 /* the calls to 'time' or 'localtime' as in time.h        */
  881. X#define X11      /* Comment out this #define if you don't have X windows.  */
  882. X#define UNIX     /* Comment out this #define if you have a VMS system or   */
  883. X                 /* a system in which atof() isn't defined in stdio.h      */
  884. X
  885. X/*
  886. X** Although not necessary, one may like to change some of the value below:
  887. X** These constants affect some of the default parameters, e.g. fonts, etc.
  888. X*/
  889. X
  890. X#define ASTEROIDS            /* Comment out this #define if you don't want */
  891. X                             /* Chiron, the asteroids, the part of         */
  892. X                             /* fortune, and vertex to appear by default.  */
  893. X#define DEFAULT_SYSTEM 0     /* Normally, Placidus houses are used (unless */
  894. X                             /* user specifies otherwise). If you want a   */
  895. X                             /* different default system, change this numb */
  896. X                             /* to value from 0..9 (values same as in -c). */
  897. X
  898. X#define WHEELCOLS 15    /* Affects the width of each house in wheel display */
  899. X#define WHEELROWS  4    /* Max no. of objects that can be in a wheel house. */
  900. X#define MAXINDAY 100    /* Max number of aspects or transits displayable.   */
  901. X#define MAXCROSS 500    /* Max number of latitude crossings displayable.    */
  902. X#define DIVISIONS 24    /* Greater numbers == more accuracy but slower      */
  903. X                        /* calculation, of exact aspect and transit times.  */
  904. X
  905. X#ifdef X11
  906. X#define BITMAPMODE 'S'  /* For X windows, this char affects how bitmaps are */
  907. X                        /* written. 'B' is written like with the 'bitmap'   */
  908. X                        /* program, 'C' is compacted somewhat (files have   */
  909. X                        /* less spaces), and 'S' is compacted even more.    */
  910. X#define FONT "6x10"
  911. X#define FONT_X   6      /* Font_x and Font_y should be set to the pixel     */
  912. X#define FONT_Y  10      /* width and height of the (fixed) font chosen.     */
  913. X#endif
  914. X
  915. X
  916. X/*
  917. X** One shouldn't need to change anything below this line to compile.
  918. X*/
  919. X
  920. X#include <stdio.h>
  921. X#ifndef UNIX
  922. X#include <stdlib.h>
  923. X#endif
  924. X#include <math.h>
  925. X#ifdef TIME
  926. X#include <time.h>
  927. X#endif
  928. X
  929. X#define VERSION "2.10"
  930. X#define DATE "Feb 1992"
  931. X#define FALSE 0
  932. X#define TRUE 1
  933. X#define OFF 0
  934. X#define ON 1
  935. X#define STRING 80
  936. X#define PI 3.14159265358979323846
  937. X#define DEGREES 360.0
  938. X#define DEGTORAD (180.0/PI)
  939. X#define SIGNS    12
  940. X#define OBJECTS  20
  941. X#define THINGS   16
  942. X#define PLANETS  14
  943. X#define URANIANS 8
  944. X#define ASPECTS  18
  945. X#define SYSTEMS  10
  946. X
  947. X
  948. X/*
  949. X*******************************************************************************
  950. X** Macro functions
  951. X*******************************************************************************
  952. X*/
  953. X
  954. X#define MAX(A, B) ((A) > (B) ? (A) : (B))
  955. X#define MIN(A, B) ((A) < (B) ? (A) : (B))
  956. X#define CAP(B) ((B) >= 'a' && (B) <= 'z' ? (B) - 'a' + 'A' : (B))
  957. X#define DTOR(A) ((A)/DEGTORAD)
  958. X#define RTOD(A) ((A)*DEGTORAD)
  959. X#define ASIN(A) atan((A)/sqrt(1.0-(A)*(A)))
  960. X#define ACOS(A) atan(sqrt(1.0-(A)*(A))/(A))
  961. X#define SIND(A) sin((A)/DEGTORAD)
  962. X#define COSD(A) cos((A)/DEGTORAD)
  963. X
  964. X#define SIGNAM(A) signname[A][0], signname[A][1], signname[A][2]
  965. X#define OBJNAM(A) objectname[A][0], objectname[A][1], objectname[A][2]
  966. X
  967. X
  968. X/*
  969. X*******************************************************************************
  970. X** External declarations
  971. X*******************************************************************************
  972. X*/
  973. X
  974. Xextern FILE *data;
  975. Xextern char *filename, *filename2;
  976. X
  977. Xextern int
  978. X  objects, aspects, siderial, heliocentric, todisplay, housesystem, uranian,
  979. X  multiplyfactor, onasc, flip, decan, progress, autom, relation, operation;
  980. Xextern double defzone, deflong, deflat, modulus;
  981. Xextern double Mon, Day, Yea, Tim, Zon, Lon, Lat,
  982. X  M, D, Y, F, X, L5, LA,
  983. X  SD, Mon2, Yea2, Delta, JD, Jdp,
  984. X  MC, Asc, Vtx;
  985. X
  986. Xextern double planet[], planetalt[], house[], ret[],
  987. X  planet1[], planet2[], planetalt1[], planetalt2[],
  988. X  house1[], house2[], ret1[], ret2[];
  989. Xextern int inhouse[], ignore[], errorcount[];
  990. X
  991. Xextern char *signname[], signabbrev[][3], objectname[][10],
  992. X  uranianname[][10], *systemname[],
  993. X  *aspectname[], aspectabbrev[][4], *aspectglyph[], 
  994. X  *element[], *mode[], post[][3], *monthname[];
  995. Xextern double aspectangle[], aspectorb[], planetorbmax[];
  996. Xextern int ruler1[], ruler2[], exalt[],
  997. X  grid[OBJECTS+1][OBJECTS+1], gridname[OBJECTS+1][OBJECTS+1],
  998. X  inhouse1[OBJECTS+1], inhouse2[OBJECTS+1];
  999. Xextern char *signdraw[], *objectdraw[], *housedraw[], *aspectdraw[];
  1000. X
  1001. Xextern void swapint(), swapdoub(), inputdata();
  1002. Xextern int stringlen(), mod12(), dayinmonth(),
  1003. X  readworlddata();
  1004. Xextern double dabs(), sgn(), dectodeg(), mod(), mindistance(), midpoint(),
  1005. X  readplanetdata();
  1006. Xextern char dignify();
  1007. X
  1008. Xextern double mdytojulian();
  1009. Xextern void ecltoequ(), houseplace(), castchart();
  1010. X
  1011. Xextern void createcrid(), printtransit(), printephemeris(),
  1012. X  castrelation(), printchart();
  1013. X
  1014. Xextern void displayswitchesx(), actionx();
  1015. Xextern int processx();
  1016. X
  1017. X/**/
  1018. END_OF_FILE
  1019. if test 7038 -ne `wc -c <'astrolog.h'`; then
  1020.     echo shar: \"'astrolog.h'\" unpacked with wrong size!
  1021. fi
  1022. # end of 'astrolog.h'
  1023. fi
  1024. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  1025.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  1026. else
  1027. echo shar: Extracting \"'MANIFEST'\" \(1045 characters\)
  1028. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  1029. X   File Name        Archive #    Description
  1030. X-----------------------------------------------------------
  1031. X README                     1    Easy instructions on how to compile Astrolog.
  1032. X Makefile                   1    Unix Makefile to easily compile program.
  1033. X Helpfile.p1                2    List of Astrolog features and how to use them.
  1034. X Helpfile.p2                1    Part 2 of the above file. (See the README).
  1035. X Update                     1    New features and bug fixes in version 2.10
  1036. X History                    3    Features and bug fixes in previous versions.
  1037. X astrolog.h                 1    Compile time options and program definitions.
  1038. X data.c                     4    Table information and simple program functions.
  1039. X formulas.c                 4    Planetary and house position calculations.
  1040. X options.c                  5    Main display and search routines in program.
  1041. X graphics.c                 6    X window/bitmap primitives and chart displays.
  1042. X driver.c                   5    Main program to connect all the other parts.
  1043. X MANIFEST                   1    This shipping list
  1044. END_OF_FILE
  1045. if test 1045 -ne `wc -c <'MANIFEST'`; then
  1046.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  1047. fi
  1048. # end of 'MANIFEST'
  1049. fi
  1050. echo shar: End of archive 1 \(of 6\).
  1051. cp /dev/null ark1isdone
  1052. MISSING=""
  1053. for I in 1 2 3 4 5 6 ; do
  1054.     if test ! -f ark${I}isdone ; then
  1055.     MISSING="${MISSING} ${I}"
  1056.     fi
  1057. done
  1058. if test "${MISSING}" = "" ; then
  1059.     echo You have unpacked all 6 archives.
  1060.     rm -f ark[1-9]isdone
  1061. else
  1062.     echo You still need to unpack the following archives:
  1063.     echo "        " ${MISSING}
  1064. fi
  1065. ##  End of shell archive.
  1066. exit 0
  1067.  
  1068. exit 0 # Just in case...
  1069.