home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-03-14 | 57.5 KB | 1,069 lines |
- Newsgroups: comp.sources.misc
- From: pullen@cs.washington.edu (Walter D. Pullen)
- Subject: v28i104: astrolog - Generation of astrology charts v2.10, Part01/06
- Message-ID: <csm-v28i104=astrolog.204628@sparky.IMD.Sterling.COM>
- X-Md4-Signature: cc115fde8a1dd53b53a1f87226653487
- Date: Mon, 16 Mar 1992 02:47:18 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: pullen@cs.washington.edu (Walter D. Pullen)
- Posting-number: Volume 28, Issue 104
- Archive-name: astrolog/part01
- Environment: UNIX, VMS
-
- Astrolog is an astrology calculation program written in C. It main
- function is to calculate birthcharts and give accurate positions of
- planet objects and house positions at particular times, but it also
- supports different display formats, forms of chart comparisons, and
- other astrology related functions, including graphics charts for X11.
-
- Astrolog works best when run on a Unix system with X windows, however
- neither Unix nor X11 are needed in order to be able to run the
- program. The X11 features can easily be compiled out for those who
- don't have them, and various users have gotten this and previous
- versions of the program compiled properly on VMS, MS-DOS, and Mac
- systems with only a couple of modifications necessary, most of those
- changes of which I have tried to include in this version of the code.
- ------
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 6)."
- # Contents: README Makefile Helpfile.p2 Update astrolog.h MANIFEST
- # Wrapped by pullen@lynx.cs.washington.edu on Sun Mar 15 16:05:14 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(3620 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X************************************************************************
- X
- XAstrolog version 2.10 (February 1992)
- X
- XAstrolog (pronounced astro-log; astro as in astronomy, log as is
- Xlogarithm) is an astrology calculation program written in C. It main
- Xfunction is to calculate birthcharts and give accurate positions of
- Xplanet objects and house positions at particular times, but it also
- Xsupports different display formats, forms of chart comparisons, and
- Xother astrology related functions, including graphics charts for X11.
- X
- XAstrolog works best when run on a Unix system with X windows, however
- Xneither Unix nor X11 are needed in order to be able to run the
- Xprogram. The X11 features can easily be compiled out for those who
- Xdon't have them, and various users have gotten this and previous
- Xversions of the program compiled properly on VMS, MS-DOS, and Mac
- Xsystems with only a couple of modifications necessary, most of those
- Xchanges of which I have tried to include in this version of the code.
- X
- XIMPORTANT: The planetary calculation routines used in this program
- Xhave been Copyrighted and the core of this program is basically a
- Xconversion to C of the routines created by James Neely as listed in
- XMichael Erlewine's 'Manual of Computer Programming for Astrologers',
- Xavailable from Matrix Software. The copyright gives us permission to
- Xuse the routines for our own purposes but not to sell them or profit
- Xfrom them in any way.
- X
- XIN ADDITION: the graphics database and chart display routines used in
- Xthis program are Copyright (C) 1991 by Walter D. Pullen. Permission is
- Xgranted to freely use and distribute these routines provided one
- Xdoesn't sell, restrict, or profit from them in any way. Modification
- Xis allowed provided these notices remain with any altered or edited
- Xversions of the program.
- X
- XTo compile this version 2.10, first edit the top of the file
- Xastrolog.h, putting in your own appropriate values for the default
- Xlongitude, latitude, time zone, and default directory. Also comment
- Xout any of the #defines which set various features that aren't valid
- Xon your system, such as the X11, TIME, and SWITCHES variables, and
- Xedit or comment out the DEFAULT_SYSTEM and ASTEROIDS variables to your
- Xtastes. Then, for unix systems, run the command 'make' on the Makefile
- X(or you can always compile by hand: "cc -O -c *.c; cc -o astrolog *.o
- X-lm -lX11" will do it; just make sure to compile each source file and
- Xlink them together at the end with the math and X11 libraries.)
- X
- XNote: The file 'Helpfile' that comes with this distribution is a ~64K
- Xfile that lists lots of information about the program and how to use
- Xthe different features and options, which you will want to read. Due
- Xto its length, that file had to be split into two parts: Helpfile.p1
- Xand Helpfile.p2 - You will want to concatenate these parts back
- Xtogether again. Use your favorite editor to do this, or if you are on
- Xa unix system, do the command: cat Helpfile.p1 Helpfile.p2 > Helpfile
- X
- XEnjoy the program. May you have as much fun with it as I have. Send
- Xcomments to my e-mail address below.
- X
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- X| Walter D. "Cruiser1" Pullen | pullen@lynx.cs.washington.edu |
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- X| "Who am I, What am I? As I am, I am not. But as we are, I AM. And to |
- X- you my creation, My Perfect Love is your Perfect Freedom. And I will be -
- X| with you forever and ever, until the End, and then forever more." - GOD |
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- END_OF_FILE
- if test 3620 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Makefile'\"
- else
- echo shar: Extracting \"'Makefile'\" \(714 characters\)
- sed "s/^X//" >'Makefile' <<'END_OF_FILE'
- X# Makefile for Unix Astrolog version 2.10 (pullen@lynx.cs.washington.edu)
- X# First created 11/21/1991
- X#
- X# This Makefile is included only for convenience. One could easily compile
- X# Astrolog on a unix system with the command:
- X# % cc -c *.c; cc -o astrolog *.o -lm -lX11
- X#
- X# Generally, all that needs to be done to compile once astrolog.h has been
- X# edited, is compile each source file, and link them together with the math
- X# library, and if applicable, the main X library.
- X#
- XNAME = astrolog
- XOBJ = data.o formulas.o options.o graphics.o driver.o
- X# If you don't have X windows, delete the "-lX11" part from the line below:
- XLIBS = -lm -lX11
- XCFLAGS = -O
- X
- Xastrolog:: $(OBJ)
- X cc -o $(NAME) $(OBJ) $(LIBS)
- X strip $(NAME)
- X#
- END_OF_FILE
- if test 714 -ne `wc -c <'Makefile'`; then
- echo shar: \"'Makefile'\" unpacked with wrong size!
- fi
- # end of 'Makefile'
- fi
- if test -f 'Helpfile.p2' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Helpfile.p2'\"
- else
- echo shar: Extracting \"'Helpfile.p2'\" \(14114 characters\)
- sed "s/^X//" >'Helpfile.p2' <<'END_OF_FILE'
- X******************************
- XTHE DISPLAY AND OTHER FEATURES
- X******************************
- X
- XThe main part of the program is executed simply by entering "astrolog"
- X(assuming that's the name of the executable), and the program will ask
- Xyou for all the birth info and will give the planet/house positions.
- X(e.g. for here in Seattle right now for the seven prompts I would
- Xenter: [for February 22nd, 1992 AD at 11:52pm, with daylight time not
- Xin effect - if daylight time *were* in effect, I would have entered
- X22.52 for the fourth value instead]; 2; 22; 1992; 23.52; 122.20;
- X47.36) The program then calculates and displays the positions of all
- Xplanets, Chiron, the four main asteroids, as well as stuff like the
- XPart of Fortune and the Vertex.
- X
- XInformation in addition to the above planet positions are shown in the
- Xmain display when the chart is cast: (1) Whether or not each planet is
- Xin it's ruling sign, or fall, as well as displaying the same
- Xinformation for ruling or debilitating houses. (2) The sum of the
- Xsigns in each element and mode and their totals is displayed in a grid
- Xform. Also, planets in their exalted and debilitated signs are noted.
- XIn addition to the (R) indicating a planet in it's ruling sign, and an
- X(F) for a planet in it's fall, we have (e) if a planet is in its
- Xexalting sign, and a (d) for a planet in its debilitating sign (which
- Xis always opposite the exaltation, as how the fall is opposite the
- Xruler).
- X
- XAlso in the main display, the total number of planets in each of the
- Xhemispheres of the wheel, as well the number of objects in
- Xpositive/masculine and negative/feminine quality signs, are counted.
- XTo the right of the element table, we have a column of six numbers
- Xlabeled as follows: "+" is the number of "positive" objects (i.e. in
- XFire or Air signs); "-" is the number of "negative" objects (i.e. in
- XWater or Earth signs); "M" is the number of objects above the horizon
- X(i.e. in the hemisphere of the Midheaven); "N" is the number of
- Xobjects below the horizon (in the hemisphere of the Nadir); "A" is the
- Xnumber of objects in the Eastern half of the sky (in the hemisphere of
- Xthe Ascendant); and "D" is the number of objects in the Western half
- Xof the sky (in the hemisphere of the Descendant).
- X
- X
- XI often use Astrolog to look at and compare files containing charts of
- Xvarious people. I have many chart files, so I keep them in a separate
- Xdirectory. Since it is always a pain to have to cd into this special
- Xdirectory all the time, there is a DEFAULT_DIR string to be set at
- Xcompile time. Whenever the program reads in a chart file with the -i
- Xoption, it will first look in the current directory for it. If it's
- Xnot found there, Astrolog will then look for a file of the same name
- Xin the special default directory.
- X
- XA couple of people have e-mailed me saying that their computer (for
- Xexample, Mac's) won't accept command switches on the command line
- X(like they boot Astrolog from a menu for instance.) Therefore, they
- Xaren't able to access many features in the normal way. If this is the
- Xcase with your system (or if you just don't like command line
- Xoptions), then comment out the '#define SWITCHES' line at the
- Xbeginning of the astrolog.h file. If you do this, then the program
- Xwill ignore any switches and prompt you to enter them manually at the
- Xvery beginning of program execution.
- X
- XA couple of other compile time option variables are in the include
- Xfile astrolog.h. For those people who don't like Placidus, a default
- Xhouse system can be set to the value from 0..9 indicating what system
- Xto use if the user doesn't explicitly specify it with -c, Another
- Xthing: It must be mentioned that although the accuracy of Sun..Pluto
- Xand Chiron are to the nearest minute for years 1900-2000, the four
- Xasteroids are relatively inaccurate and can even be a couple of
- Xdegrees off in the worse case. Also, some people just don't like or
- Xcare about the minor bodies. If you don't want these values to appear
- Xby default, there is a #define that can be commented out so that it
- Xwill be as if -R is always included when the program is run. (Simply
- Xdo -R to get them back if you compile it this way.)
- X
- XNote for PC users: I have tried to make this program as much
- Xexecutable on personal computers and other non-unix systems as
- Xpossible. Although this version should be easier to compile than
- Xprevious ones were, still there are probably some things I've
- Xforgotten/left out. For instance, for as least one person the
- Xoptions.c and formulas.c files were too long and had to be split
- Xagain, so one should be aware of these possible factors.
- X
- X
- X********************************
- XDESCRIPTION OF X WINDOW FEATURES
- X********************************
- X
- XOne of the most impressive features of the program are the X windows
- Xfeatures, which are generally accessed in the program via the -X
- Xswitch and derivatives of it on the command line. There are four
- Xdifferent types of chart displays: A standard graphic display of a
- Xwheel chart in a window (with glyphs, aspects in the center, etc),
- Xgraphic displays of the Astro-graph charts (which look almost
- Xidentical to the astro*carto*graphy maps from Jim Lewis) complete with
- Xall the labeled lines drawn on a map of the world, aspect/midpoint
- Xgrids showing the aspects and orbs in effect between every body in a
- Xchart, and a local sky chart showing where each planet is located on a
- Xmap of the local horizon area. There are also other commands that can
- Xbe given to the window once it is up and running, which can do other
- Xthings, such as continually update the window every few seconds to the
- Xcurrent status (i.e. an extended version of the -n option) as well as
- Xother forms of animation. Note that the program is still text based,
- Xand one can easily turn off all the X features by commenting out the
- X#define X11 in astrolog.h if they don't have X windows.
- X
- XProbably the only thing more impressive that the X windows features
- Xare the X window features displayed on color monitors. (The charts
- Xdisplayed in color are *much* more eye catching than the B/W ones,
- XIMHO.) Here is how the colors have been assigned for the normal wheel
- Xand astro-graph charts: Four colors have been allocated for the four
- Xelements - Fire = Red, Earth = Brown, Air = Green, Water = Blue. The
- Xvarious sign glyphs (and the corresponding house labels) are in the
- Xcolor of their element. Planets are in the color of the sign of their
- Xmain ruler. Chiron and the four asteroids are Gold, while the north
- Xnode, and other non-physical objects like the fortune and vertex are
- XViolet. Representations of the Ascendant/ Descendant/ Midheaven/ Nadir
- X(in the astro-graph map lines and elsewhere) are in the element color
- Xof the corresponding sign/house that the angular lines refer to, i.e.
- XAscendant = Red, Midheaven = Brown, Descendant = Green, Nadir = Blue.
- XA few extra things have been added for color wheel charts only: dark
- Xgray lines marking off each house (in addition to the main lines on
- Xthe horizon and meridian), and each degree instead of every 5th degree
- Xbeing marked in dark gray on the outer circle (every 5th degree being
- Xwhite). Aspects lines are colored too, as follows: Conjunctions =
- XYellow, Sextiles = Light Blue, Squares = Red, Trines = Green,
- XOppositions = Dark Blue. For the minor aspects we have:
- XInconjuncts/Semisextiles = Brown, Semisquares/ Sesquiquadratures =
- XOrange, (Bi/Semi)Quintiles = Violet, (Bi/Tri)Septiles = Gold,
- X(Bi/Quatro)Noviles = Pink.
- X
- XThe X wheel charts have their graphic information organized as
- Xfollows: There's an outer circle showing the signs and sign glyphs,
- Xinside of which is a smaller circle divided up into 5 degree
- Xincrements to make determining exact degrees easier. Inside of this is
- Xa circle divided up into the 12 houses labeled with numbers. The
- Xentire chart is divided by two dashed lines through the Ascendant/
- XDescendant (which is always horizontal of course) and the
- XMidheaven/Nadir. Inside the house circle are the planet glyphs in
- Xtheir appropriate positions. Small pointer lines run from each glyph
- Xto just before single dots. These dots indicate the precise locations
- Xin the zodiac of each object. The pointer lines (which are dashed if
- Xthe object is retrograde and solid otherwise) are necessary so as not
- Xto have to draw planet glyphs on top of one another when planets are
- Xconjunct. Inside the ring of the single dots, are the aspect lines
- Xconnecting these positions. Since the default number of aspects to use
- Xis just the 5 majors, one can determine which aspect is in place just
- Xby looking at the aspect line. The accuracy of the aspect is
- Xdetermined by the dashedness of the line: A solid line means the orb
- Xis < 2 degrees; a dashed line means the orb is < 4 degrees; a really
- Xdashed line mean the orb is < 6 degrees, etc.
- X
- XThe X astro-graph charts are organized as follows: A map of the world
- Xis shown. The edges of the map are labeled with ruler lines that are 5
- Xdegrees apart (with longer ruler lines for more important longitudes
- Xand latitudes, like those that are multiples of 10, 30, etc.) The
- Xequator is labeled with a dashed line. The polar regions of the world
- Xaren't shown; the map shown ranges from 60 degrees S latitude to 75
- Xdegrees N latitude. Note that each pixel on the screen represents
- Xexactly one half a degree on the world. (For -Xs 100 the ratio is one
- Xpixel to one degree, and for -Xs 300 the ratio is one pixel to 1/3
- Xdegree.) On this map are drawn the lines indicating where on the world
- Xthe various planets are angular at the time in question. (Note: you
- Xmight want to -R restrict some objects because otherwise the map tends
- Xto get pretty cluttered with lines.) As expected, Midheaven and Nadir
- Xlines are vertical, and the Ascendant and Descendant lines are curved.
- XLittle square boxes on the Midheaven lines indicate the exact zenith
- Xlatitude location. Each line is labeled at the top or the bottom of
- Xthe screen, showing what planet is in question and (sometimes) what
- Xangle is in question. All Ascendant and Midheaven lines are labeled
- Xat the bottom of the screen, and all Descendant and Nadir lines are
- Xlabeled at the top. Each line goes a bit beyond to the top or bottom
- Xof the world map, and then another pointer segment (which is again
- Xdashed of the object in question is retrograde) goes and points to the
- Xplanet glyph. There is a capital "A" or "M" under each of the glyphs
- Xat the bottom of the screen, explicitly indicating whether the line is
- Xan Ascendant or Midheaven line. At the top of the screen, however,
- Xthere are only the glyphs, but one can still determine whether these
- Xlines are Descendant or Nadir lines based on whether they are curved
- Xor not. Note that not all the Descendant lines are labeled; this is
- Xbecause some of the Ascendant/Descendant lines actually connect near
- Xthe top of the screen and don't actually cross it.
- X
- XAspect grid windows with the appropriate aspect glyphs can be
- Xdisplayed by combining the -g option with the -X option (astrolog -g
- X-X). Both the split aspect/midpoint grids labeled down the diagonal,
- Xas well as the relationship aspect grids between two charts (astrolog
- X-r <file1> <file2> -g -X) are supported. The aspects glyphs, objects,
- Xand the signs in the grids are in their colors as defined earlier.
- XLike the astro-graph windows, these charts can't be resized in the
- Xnormal way unless one uses the '>' and '<' keys. For anything less
- Xthan the largest scale size (achieved with the switch -Xs 300, or by
- Xpressing '>' within a window) all that will be displayed in each
- Xaspect grid cell is the glyphs of the aspect in effect, the planet
- Xbeing aspected, or the sign of the midpoint. However, once the largest
- Xscale size is reached, there is room in each cell to display the
- Xaspect orb to the nearest minute off of exact (with a plus or minus
- Xsign indicating whether the actual angle is slightly greater than or
- Xless than exact); the degree and minute in addition to the sign for
- Xmidpoints; and the degree and sign location for each planet that's in
- Xthe grid. Remember, the ASCII aspect grids in the text options are
- Xrather limited, only displaying orbs to the nearest 0.1 degree,
- Xmidpoints to the nearest degree, as well as the confusing '.' vs. ','
- Xfor angles slightly greater or less than exact (not to mention leaving
- Xthe vertex out for the relationship grids between two charts). Well no
- Xlonger: with X11, we can see *real* aspect grids with Astrolog!
- X
- XThe -Z local horizon feature can be displayed in an X window as well
- X(e.g. astrolog -Z -X), in which all the planets will be displayed in a
- Xwindow depicting the sky. The small dot above or below each glyph
- Xindicates exactly where each planet is. (Some of the glyphs may be
- Xoverlapping, although the program tries to cut down on this.) There
- Xis a horizontal line dividing the window representing the local
- Xhorizon; planets above this line are visible, while planets below it
- Xare set. There are three vertical lines dividing the window as well:
- XThe middle line represents the due south direction, the one to the
- Xleft is due east, the one to the right is due west, and the edges of
- Xthe window are due north. Like the standard chart display, this window
- Xmay be resized to any proportion. One can press the 'Z' key in any
- Xwindow to enter this display type in that window at any time.
- X
- X
- XA couple of conveniences for the X window features exist. Note that
- Xthe -Xo <bitmapfilename> option is only used in conjunction with the
- X-Xb write output to bitmap switch. Therefore, -Xo automatically
- Xassumes -Xb is set. (Invoking -Xb itself without -Xo will have the
- Xprogram prompt the user for the bitmap filename.) In other words,
- Xastrolog -Xb -Xo 'file' is the same as just astrolog -Xo 'file'. (This
- Xmay change if I add other file types, but for now none are planned.)
- XAlso, I should mention that Astrolog includes its own appropriate
- Xbitmap (a rainbow over an opened Third Eye) if one iconifies the
- Xwindow, instead of reverting to the braindead UnknownIcon :)
- X
- X
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- X| Walter D. "Cruiser1" Pullen | pullen@lynx.cs.washington.edu |
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- END_OF_FILE
- if test 14114 -ne `wc -c <'Helpfile.p2'`; then
- echo shar: \"'Helpfile.p2'\" unpacked with wrong size!
- fi
- # end of 'Helpfile.p2'
- fi
- if test -f 'Update' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Update'\"
- else
- echo shar: Extracting \"'Update'\" \(26986 characters\)
- sed "s/^X//" >'Update' <<'END_OF_FILE'
- XThis file describes the new features in version 2.10 of the Astrolog
- Xastrology program. It has been over two months since the last version,
- Xhowever some of the many new features should make it worth the wait.
- XSome of these included are: X windows in Color, several new X window
- Xchart displays, lots more progression and aspect support, ability to
- Xdo transits to composite and other charts, latitude crossings for
- Xastro-carto-graphy, and other things, along with our standard batch of
- Xbug fixes.
- X
- X--
- X
- XHere is a complete list of new features now in Astrolog over version 2.00,
- Xlisted in rough order from the most significant to least significant:
- X
- XA) Color X windows is probably the main new feature added to Astrolog
- X 2.10. The charts displayed in color are *much* more eye catching than
- X the old B/W ones, IMHO. Here is how the colors have been assigned for
- X the normal wheel and astro-graph charts: Four colors have been
- X allocated for the four elements - Fire = Red, Earth = Brown, Air =
- X Green, Water = Blue. The various sign glyphs (and the corresponding
- X house labels) are in the color of their element. Planets are in the
- X color of the sign of their main ruler. Chiron and the four asteroids
- X are Gold, while the north node, and other non-physical objects like
- X the fortune and vertex are Violet. Representations of the Ascendant/
- X Descendant/ Midheaven/ Nadir (in the astro-graph map lines and
- X elsewhere) are in the element color of the corresponding sign/house
- X that the angular lines refer to, i.e. Ascendant = Red, Midheaven =
- X Brown, Descendant = Green, Nadir = Blue. A few extra things have been
- X added for color wheel charts only: dark gray lines marking off each
- X house (in addition to the main lines on the horizon and meridian), and
- X each degree instead of every 5th degree being marked in dark gray on
- X the outer circle (every 5th degree being white). Aspects lines are
- X colored too, as follows: Conjunctions = Yellow, Sextiles = Light Blue,
- X Squares = Red, Trines = Green, Oppositions = Dark Blue. For the minor
- X aspects we have: Inconjuncts/Semisextiles = Brown, Semisquares/
- X Sesquiquadratures = Orange, (Bi/Semi)Quintiles = Violet,
- X (Bi/Tri)Septiles = Gold, (Bi/Quatro)Noviles = Pink.
- X
- XB) For color X systems, the new -Xm switch will create all windows in
- X monochrome B/W mode, as they were in 2.00. In addition, pressing the
- X 'm' key within a window will toggle in and out of monochrone mode on
- X color systems.
- X
- XC) Aspect grid windows with the appropriate aspect glyphs can be
- X displayed by combining the -g option with the -X option (astrolog -g
- X -X). Both the split aspect/midpoint grids labeled down the diagonal,
- X as well as the relationship aspect grids between two charts (astrolog
- X -r <file1> <file2> -g) are supported. The aspects glyphs, objects, and
- X the signs in the grids are in their colors as defined earlier. Like
- X the astro-graph windows, these charts can't be resized in the normal
- X way unless one uses the '>' and '<' keys. For anything less than the
- X largest scale size (achieved with the switch -Xs 300, or by pressing
- X '>' within a window) all that will be displayed in each aspect grid
- X cell is the glyphs of the aspect in effect, the planet being aspected,
- X or the sign of the midpoint. However, once the largest scale size is
- X reached, there is room in each cell to display the aspect orb to the
- X nearest minute off of exact (with a plus or minus sign indicating
- X whether the actual angle is slightly greater than or less than exact);
- X the degree and minute in addition to the sign for midpoints; and the
- X degree and sign location for each planet that's in the grid.
- X Remember, the ASCII aspect grids in earlier versions were rather
- X limited, only displaying orbs to the nearest 0.1 degree, midpoints to
- X the nearest degree, as well as the confusing '.' vs. ',' for angles
- X slightly greater or less than exact (not to mention leaving the vertex
- X out for the relationship grids between two charts). Well no longer: we
- X can now see *real* aspect grids with Astrolog!
- X
- XD) The -A display aspects option has been extended to display a brief
- X verbal description of what each aspect glyph look like. This is in
- X case one doesn't know what aspects the weird symbols in the -g -X
- X displays are referring to.
- X
- XE) A new text display switch has been included, -Z, which prints out
- X where each object is on the local horizon in terms of altitude and
- X azimuth. For each object, the following is displayed: Its altitude on
- X the local horizon from +90 degrees (straight up) to -90 degrees
- X (straight down), and its azimuth from 0..360 degrees, where 0 = due
- X east, 90 = north, 180 = west, 270 = south. To make visualizing the
- X azimuth easier, an "azimuth vector" with a N/S component and a W/E
- X component is displayed, e.g. (1.00s 0.33w) means that the object is
- X mainly south, with its true angle being formed by an vector component
- X west that's 1/3 the strength of the south component, i.e. the object
- X is about 18 degrees west of south. This along with the altitude should
- X make it easy to physically point to where any planet is at any moment,
- X making it easy to locate planets in the night sky. This feature can
- X also be used to determine the times that a planet rises and sets.
- X Also displayed are altitude and azimuth differences between each
- X object and the Sun and Moon, first showing the number of degrees that
- X the Sun/Moon is "ahead" (or farther east in the zodiac) of the object
- X in question, and then the number of degrees that the Sun/Moon is above
- X the object in question. This feature can be used to roughly predict
- X eclipses! Both the Sun and Moon span about 0.5 degrees in the sky,
- X therefore if both the azimuth and altitude differences are < 0.5 (or
- X 1.0 if the difference is between the Sun and Moon themselves) then the
- X object in question is probably being occulted somewhat by the
- X Sun/Moon. Note that there are three types of planetary position
- X displays: Right ascension and declination showing the object's
- X position with respect to the stars, longitude and latitude showing
- X where on the Earth the object is straight up (as in the astro-graph
- X zenith locations), and finally azimuth and altitude showing the
- X positions of the object relative to the local horizon.
- X
- XF) This new -Z local horizon feature can be displayed in an X window
- X as well (e.g. astrolog -Z -X), in which all the planets will be
- X displayed in a window depicting the sky. The small dot above or below
- X each glyph indicates exactly where each planet is. (Some of the glyphs
- X may be overlapping, although the program tries to cut down on this.)
- X There is a horizontal line dividing the window representing the local
- X horizon; planets above this line are visible, while planets below it
- X are set. There are three vertical lines dividing the window as well:
- X The middle line represents the due south direction, the one to the
- X left is due east, the one to the right is due west, and the edges of
- X the window are due north. Like the standard chart display, this window
- X may be resized to any proportion. One can press the 'Z' key in any
- X window to enter this display type in that window at any time.
- X
- XG) Ability to write the actual sign and house positions of a chart to
- X a file (instead of just the time and place) has been implemented via
- X the -o0 <file> option. This option can be used interchangeably with
- X the old -o output to file switch. The information written includes the
- X zodiac position of the 20 main objects, their retrograde status and
- X declination, as well as the positions of the (first six) house cusps.
- X This file information can easily be passed into another program, and
- X can be read back into Astrolog with the -i option. The -i option will
- X automatically determine which type the file is, and will either use
- X the given positions, or else calculate them as needed (note that some
- X switches, such as the -c house system selection, will have no effect
- X for this new file type.) Check an example of one of these files to see
- X the precise format (a zodiac position is recorded as three numbers:
- X degree in sign, sign as 1..12, and floating point minute within
- X degree.) When the files are read back in, they will be flagged as
- X "having no space or time" like the composite charts in the chart
- X header displays.
- X
- XH) The new file format can allow one to do things such as transits to
- X composite charts (send the composite chart to file with -o0 option and
- X then use that file as the first parameter to the -T option) composites
- X between two composite charts (use -rc between two composite charts
- X sent to a file) and even, if one is willing to do a small amount of
- X editing, to do transits to midpoints or the 0 degrees Aries point.
- X Note that one can easily edit the positions in the -o0 position file
- X to be whatever they like, so one could replace some unimportant object
- X (like the vertex) with 0 degrees Aries or an important midpoint value.
- X Note that trying to still use the -o time and space output with an
- X output chart that doesn't have space/time will confuse the program; it
- X will either say it can't make the file or else will output the
- X time/space of the most recent parameter file it read in.
- X
- XI) Another file output feature, the ability to concatenate "comment
- X lines" at the end of a data file, been been added to both the -o and
- X -o0 options. (Some people have complained that the info in the
- X Astrolog chart files are too cryptic.) After scanning the filename,
- X the -o[0] option will then write any parameter that follows it at the
- X end of the file, until a parameter beginning with a '-' (the next
- X switch) is reached. For example: -o 'file' "Walter D. Pullen" Seattle
- X will add my name and my birth city in two separate lines at the end of
- X 'file'. (In unix, quotes can be used to allow spaces within one
- X parameter.)
- X
- XJ) Determining dates of transits of progressed planets to natal
- X planets can be done with the new -Tp <file> <month> <year> option.
- X This is just like the -T option, except that the exact aspects of
- X progressed planets (rather than transiting planets) to the planets in
- X 'file' are displayed. Again, one can substitute '0' for the month to
- X scan the entire year.
- X
- XK) Another added progression feature allows determining aspect times
- X of progressed planets among themselves. The -i <file> -dp <month>
- X <year> switch will, like the -d option, display times of aspects and
- X sign changes, except that they will be for the chart in file,
- X progressed throughout the month specified. Progressed planets move
- X very slowly ("year for a day") so therefore there will usually be, if
- X any, only a couple of aspects in a given month; again, one might want
- X to substitute '0' for the month to scan the whole year. Also, since
- X they move so slow, the accuracy is cut down, do the dates given are
- X probably only accurate to the nearest day, in spite of the times given
- X to the minute. Note that Astrolog can now scan for aspects of:
- X transiting planets among themselves (-d switch), transiting planets to
- X natal planets (-T switch), progressed planets to natal planets (-Tp),
- X and progressed planets among themselves (-dp). Only thing Astrolog
- X can't do is do progressed planets to transiting planets, although that
- X may change in the next version :)
- X
- XL) The new -pn switch is like the -p <month> <date> <year> switch
- X except that (like the -n switch) it assumes the current moment now to
- X cast the progressed chart to. This is just another shorthand
- X convenience to see what ones progressed chart is like presently; just
- X do: astrolog -i file -pn.
- X
- XM) Determination of latitude crossing points has been added to the
- X astro-graph routines! The new -L0 option will do the same thing as the
- X -L option, except that after displaying the longitude and latitude
- X locations of the Asc/Desc/MC/IC lines, it will then search among the
- X lines and display (in order from farthest North to farthest South) the
- X latitude of any points where lines cross each other. This includes the
- X curvy Asc/Desc lines crossing the straight MC/IC lines as well as
- X cases where different Asc/Desc lines cross themselves. And unlike Jim
- X Lewis' astro*carto*graphy, Astrolog will also display the longitude of
- X the crossing (useful for Asc/Desc crossings) in addition to the
- X latitude (as well allowing more planetary bodies to be included in the
- X scan, and going farther North and South than Jim Lewis' printouts go.)
- X Note however, that there is presently a small (very rare) minor
- X omission glitch in the code, where if a crossing is within a couple of
- X degrees of 180 deg W/E, it may not be displayed.
- X
- XN) Change the default orbs of the various aspects with the -Ao <orb1>
- X <orb2>... <orbn> switch. Do you not like the 7 degree orbs for
- X conjunctions that are in there by default? One can change the first n
- X aspect orbs (i.e. as many orb values that one puts after the -Ao)
- X anywhere from just the conjunction to all 18 aspects. Non-integer
- X values are allowed of course. Use negative orb values to completely
- X eliminate an aspect from ever appearing. For example: astrolog -A 6
- X -Ao 5 5 -1 10 narrows the orbs for Conjunction and Opposition,
- X completely eliminates the Square, widens the orb for Trines, and
- X leaves the Sextiles and Inconjuncts in the default values. Note that
- X for very wide orbs more than one aspect may apply for a particular
- X angle, in which case the more fundamental aspect is chosen. Also for
- X wide aspects the decimal value of the orb may be lost in the -g text
- X grid (due to too many characters) and their might be some slight
- X overlap in the X window -g cells.
- X
- XO) Note that Astrolog imposes restrictions on the max orb that any
- X particular aspect can have to certain particular objects, namely the
- X node, fortune, and vertex, which can't have aspects to them in excess
- X of 2 degrees. One can suspend these restrictions by replacing the -Ao
- X <orbs> option above, invoking it as -AO <orbs> instead. For a fun (and
- X perhaps useful) display, try: astrolog -A 1 -AO 180 -g [-X], and see
- X everything conjunct everything else.
- X
- XP) Search through the aspect grid for major aspect configurations,
- X including Grand Trines, T-Squares, Grand Crosses, Yod's, and Cradles
- X with the -g0 option. This option will produce the same aspect grid
- X that -g displays, but afterwards will go through the grid and list any
- X of these aspect configurations and what objects are forming them. Of
- X course, to see any Yod's, one has to -A 6 or more so that Inconjuncts
- X will be included in the aspect grid.
- X
- XQ) Display the locations of the "Uranian" planets with the -u switch.
- X Transneptunian or Uranian planets are an interesting subset of
- X astrology which includes various objects alleged to be beyond Pluto
- X (or something like that, I'm just the programmer). Anyway, Astrolog
- X can display the zodiac positions of these bodies as well, and will do
- X this by taking the eight Uranian bodies and literally replacing
- X Mercury..Pluto with them. (Do: astrolog -u -O to list them.) This
- X replacement will allow the Uranians to be included in Astrolog's
- X various options, although of course this means that they can't
- X interact with Mercury..Pluto in any way. (Note, I didn't bother to
- X change the X glyphs or sign rulerships since I don't know what they
- X are for the Uranians.)
- X
- XR) Decan displays are now supported in Astrolog, and one can display a
- X decan influenced chart with the -3 switch. The decan theory is that
- X each sign in the zodiac can be divided into three parts: The first 10
- X degrees (i.e. the first decan) is mainly influenced by the sign in
- X question, the second 10 degrees (second decan) although still
- X influenced by the sign in question is also somewhat influenced by the
- X next sign of the same element, while the last decan is influenced by
- X the third sign of the same element. The -3 switch applied to a chart
- X will move each object into the sign of its decan. For example, if the
- X Sun is at 29 degrees Aquarius and the Moon at 5 degrees Virgo, in the
- X resulting chart, the Sun will go to Libra (26 degrees) and the Moon
- X will remain in Virgo (although be at 15 degrees now since it was
- X previously in the middle of the first decan of Virgo.)
- X
- XS) In the -w text wheel option, the objects in each house are printed
- X from top to bottom in order from earliest in the house to latest. This
- X looks good except for in houses 5..8 where this appears backwards
- X (i.e. a planet having just entered the 6th house from the 5th is
- X displayed right under the Descendant.) Replace -w with the -w0 switch
- X and the objects from houses 4 through 9 will be reversed and printed
- X in order from bottom to top, making a more flowing looking chart.
- X
- XT) The new -q0 <month> <date> <year> <time> option takes the four
- X parameters and casts a chart for the time in question. The time zone
- X and location are taken from the default compiled values. This is just
- X yet another useful shorthand way to quickly make a chart. Note that
- X this is just like the -q <month> <date> <year> option except that -q
- X always casts it for noon in the default zone. Also note that the -a
- X option which takes all seven chart parameters can be duplicated with
- X -q0 along with the -z <zone> and -l <long> <lat> options.
- X
- XU) A couple of new compile time option variables have been added to
- X the include file astrolog.h. For those people who don't like Placidus,
- X a new default house system can be set to the value from 0..9
- X indicating what system to use if the user doesn't explicitly specify
- X it with -c, Another thing: It must be mentioned that although the
- X accuracy of Sun..Pluto and Chiron are to the nearest minute for years
- X 1900-2000, the four asteroids are relatively inaccurate and can even
- X be a couple of degrees off in the worse case. Also, some people just
- X don't like or care about the minor bodies. If you don't want these
- X values to appear by default, there is a new #define that can be
- X commented out so that it will be as if -R is always included when the
- X program is run. (Simply do -R to get them back if you compile it this
- X way.) There is a new feature added to all the X window displays which
- X can toggle the restriction status of the asteroids and other minors.
- X Press the 'R' (restrict) key in the window and the screen will be
- X redrawn with the restriction status of these toggled.
- X
- XV) The -Xn [<value>] option can be used to start up an X window in
- X animation mode. Before, one would have to explicitly press 'N' or a
- X shift+number key to start the window animation. Without a parameter
- X after -Xn, the option will start it up in continuous update to "now"
- X mode (which is like pressing 'N' in that any chart will be erased with
- X the current chart now.) The switch can accept parameters from 1..9,
- X corresponding to the animation rates obtained by pressing shift 1..9
- X in the window, i.e. update whatever chart is passed to it seconds,
- X minutes, hours, days, months, years, etc. later each time.
- X
- XW) Familiar with ley lines? They are energy lines crossing the Earth.
- X I was experimenting earlier with the master ley line grids on the
- X Earth (in the pattern of an overlapped 20 sided Icosahedron and 12
- X sided Dodecahedron) and I figured Astrolog with it's world map would
- X be an interesting program to explore this with. The -XW world map
- X display option is always still, and can never be animated. If however
- X one tries to animate it, either by the -Xn switch or pressing 'N' in
- X the window, a new display showing the ley lines will be shown.
- X Actually this is mainly a hack, but I figured I would leave it in
- X there for amusement and inspiration. Hackers note: there is an
- X interesting "bug" that can arise with the -XW as well as the -XG (and
- X -XP, described below) switches: These displays can be brought up
- X without having to specify an actual chart. Now suppose one presses
- X 'C', 'W', etc. to bring up a chart - what will be displayed? The
- X answer will be whatever default values were already there, and if
- X you're curious, I set to be the time of the New Moon on 1-4-1992 at
- X 11:11pm GMT at Greenwich England. (i.e. one week before the 11:11)
- X
- XX) The -XP option will generate a polar view of the Earth as a globe.
- X This is like the -XG globe option except that the view is from the top
- X (or bottom) and therefore doesn't rotate. By default, the view is
- X looking down on the north pole with 0 deg W/E toward the bottom of the
- X screen. To see a (fixed) view of the south pole hemisphere, go into
- X animation mode. Again, like with all the other X window display
- X options, one can enter this display with a keystroke: press 'P' in any
- X Astrolog window and it will revert to this display.
- X
- XY) A couple of conveniences for the X window features have been added.
- X Note that the -Xo <bitmapfilename> option is only used in conjunction
- X with the -Xb write output to bitmap switch. Therefore, I have -Xo
- X automatically assume -Xb is set. (Invoking -Xb itself without -Xo will
- X have the program prompt the user for the bitmap filename.) In other
- X words, astrolog -Xb -Xo 'file' is the same as just astrolog -Xo
- X 'file'. (This may change if I add other file types, but for now none
- X are planned.) Also, I should mention that Astrolog includes it's own
- X appropriate bitmap if one iconifies the window, instead of reverting
- X to the braindead UnknownIcon as it did before.
- X
- XZ) A few other minor things have been done to the program, such as the
- X -H help switch displays more information (e.g. what the difference
- X between -T and -T0 is) as well as mentioning for X that you can press
- X the 'H' key while within the X window to get a list of all the neat
- X things you can do in window once it's already been created.
- X
- X
- XI could have added a bunch of other features to this version, but as
- Xyou can see, I ran out of letters :) Oh well, wait for version 2.20!
- XRemember now that the -e everything switch includes a lot more chart
- Xinformation in it since there are more features now.
- X
- X
- XHere is the list of bug fixes over version 2.00,
- Xlisted in rough order from the most major to the least major:
- X
- X1) I inadvertently disabled the -p progression option while updating
- X the program from version 1.40 to 2.00, so that it would produce
- X progressed charts way off. This has been fixed and the program
- X produces those charts as well as it did in version 1.40 and before.
- X2) There was a bug in the midpoint routine which would yield results
- X 180 degrees off occasionally when the two points being passed to the
- X routine were themselves almost 180 degrees apart. This would mainly
- X affect composite charts and the midpoint grid. This has been fixed for
- X all cases now.
- X3) Some composite charts where the house cusps in the two charts are
- X almost 180 degrees apart would have the composite cusps in
- X non-sequential order, 180 degrees apart from where they should be,
- X e.g. two opposing cusps could be interchanged. The program now makes
- X sure this won't happen, and takes corrective measures if necessary.
- X Also, composite charts are no longer displayed in the chart headers
- X with a bunch of 0's for the date, time, etc. Composite charts are
- X properly labeled as being such, while only charts that exists in
- X space/time will have their coordinates printed.
- X4) Some of the values in the header displays, such as time, long/lat,
- X etc, would occasionally be displayed one number higher than they
- X should be, due to improperly rounding up. This has been fixed. A few
- X other minor display areas have been fixed, e.g. in the heliocentric
- X planet list -h -O, Earth was abbreviated as "Eart" before.
- X5) In the -w text wheel option, the objects in each house are supposed
- X to be printed from top to bottom in order from earliest in the house
- X to latest. The program did this correctly except for cases in which a
- X house spanned 0 degrees Aries, in which case the Aries planets would
- X be printed before the Pisces planets. This should be the other way
- X around, as it is now.
- X6) I probably should have made the -g text aspect grid and the -E
- X ephemeris display be able to be affected by the -R restrictions. They
- X weren't before and they are now.
- X7) Some of my very bad X windows programming in version 2.00 has been
- X cleaned up, as least slightly. The program no longer core dumps if the
- X DISPLAY environment variable isn't set properly. Before, the windows
- X would come up white on black on some machines, and yet black on white
- X on others; now as expected everything will come up white on black
- X unless one specifies otherwise with the -Xr switch. Finally, a couple
- X of people have mentioned that version 2.00 would eat up *lots* of cpu
- X even while doing nothing (unless in 'p'ause mode). Also while in pause
- X mode, uncovering part of the Astrolog window would leave that part
- X blank until pause mode was left. Now, Astrolog doesn't eat cpu unless
- X it's doing something useful, and it will always redraw its windows if
- X unmapped.
- X8) Some things that caused problems for PC users have been corrected;
- X Astrolog now is explicitly declaring 32 bit longs in places where the
- X PC assuming 16 bit ints would cause problems, as well as eliminating a
- X couple of unnecessary declarations and adding some more declarations
- X which aren't necessary for unix but would confuse a PC.
- X
- XNote for PC users: I have tried to make this program as much
- Xexecutable on personal computers and other non-unix systems as
- Xpossible. Although this version should be easier to compile than
- Xprevious ones were, still there are probably some things I've
- Xforgotten/left out. For instance, for as least one person the
- Xoptions.c and formulas.c files were too long in version 2.00 and had
- Xto be split again, so one should be aware of these possible factors.
- X
- XUnfortunately, I am graduating in a little over a month from now, and
- Xtherefore probably won't be able to work on or support Astrolog much
- Xunless I can get another account somewhere. Still, I hope to release
- Xan Astrolog 2.20 in another month, perhaps including features like
- Xfixed star tracking. (Have you Sun conjunct the Pleiades? Find out!)
- X
- XI wish to express thanks to the many people who have pointed out the
- Xbugs (and have made suggestions for new features) in this (as well as
- Xprevious) versions so that they could be corrected. You know who you
- Xare! :)
- X
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- X| Walter D. "Cruiser1" Pullen | pullen@lynx.cs.washington.edu |
- X-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-
- END_OF_FILE
- if test 26986 -ne `wc -c <'Update'`; then
- echo shar: \"'Update'\" unpacked with wrong size!
- fi
- # end of 'Update'
- fi
- if test -f 'astrolog.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'astrolog.h'\"
- else
- echo shar: Extracting \"'astrolog.h'\" \(7038 characters\)
- sed "s/^X//" >'astrolog.h' <<'END_OF_FILE'
- X/*
- X** Astrolog (Version 2.10 - Seventh Posting to alt.astrology)
- X** By Walter D. Pullen (pullen@lynx.cs.washington.edu)
- X** Programmed 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
- X** Last Revision 1/6,16, 2/17/1992.
- X**
- X** IMPORTANT: The planetary calculation routines used in this program
- X** have been Copyrighted and the core of this program is basically a
- X** conversion to C of the routines created by James Neely as listed in
- X** Michael Erlewine's 'Manual of Computer Programming for Astrologers',
- X** available from Matrix Software. The copyright gives us permission to
- X** use the routines for our own purposes but not to sell them or profit
- X** from them in any way.
- X**
- X** IN ADDITION: the graphics database and chart display routines used in
- X** this program are Copyright (C) 1991 by Walter D. Pullen. Permission is
- X** granted to freely use and distribute these routines provided one
- X** doesn't sell, restrict, or profit from them in any way. Modification
- X** is allowed provided these notices remain with any altered or edited
- X** versions of the program.
- X*/
- X
- X/*
- X** To compile: For most systems, especially ones Unix based, the only changes
- X** that should need to be made to the code are to edit or (un)comment the eight
- X** #define's below to equal the particulars of your own locale and system:
- X*/
- X
- X#define DEFAULT_LONG 122.20 /* Change these values to the longitude W and */
- X#define DEFAULT_LAT 47.36 /* latitude N of your current location. */
- X#define DEFAULT_ZONE 8.00 /* Change to default time zone of current */
- X /* location in hours before (west of) GMT. */
- X
- X#define DEFAULT_DIR "/fileserv/Lynx/users2/pullen/ast/etc/"
- X /* Change this string to directory path program */
- X /* should look in for chart files if not in current. */
- X
- X#define SWITCHES /* Comment out this #define if your system can not handle */
- X /* parameters on the command line (like Mac's, etc.) */
- X#define TIME /* Comment out this #define if your compiler can't take */
- X /* the calls to 'time' or 'localtime' as in time.h */
- X#define X11 /* Comment out this #define if you don't have X windows. */
- X#define UNIX /* Comment out this #define if you have a VMS system or */
- X /* a system in which atof() isn't defined in stdio.h */
- X
- X/*
- X** Although not necessary, one may like to change some of the value below:
- X** These constants affect some of the default parameters, e.g. fonts, etc.
- X*/
- X
- X#define ASTEROIDS /* Comment out this #define if you don't want */
- X /* Chiron, the asteroids, the part of */
- X /* fortune, and vertex to appear by default. */
- X#define DEFAULT_SYSTEM 0 /* Normally, Placidus houses are used (unless */
- X /* user specifies otherwise). If you want a */
- X /* different default system, change this numb */
- X /* to value from 0..9 (values same as in -c). */
- X
- X#define WHEELCOLS 15 /* Affects the width of each house in wheel display */
- X#define WHEELROWS 4 /* Max no. of objects that can be in a wheel house. */
- X#define MAXINDAY 100 /* Max number of aspects or transits displayable. */
- X#define MAXCROSS 500 /* Max number of latitude crossings displayable. */
- X#define DIVISIONS 24 /* Greater numbers == more accuracy but slower */
- X /* calculation, of exact aspect and transit times. */
- X
- X#ifdef X11
- X#define BITMAPMODE 'S' /* For X windows, this char affects how bitmaps are */
- X /* written. 'B' is written like with the 'bitmap' */
- X /* program, 'C' is compacted somewhat (files have */
- X /* less spaces), and 'S' is compacted even more. */
- X#define FONT "6x10"
- X#define FONT_X 6 /* Font_x and Font_y should be set to the pixel */
- X#define FONT_Y 10 /* width and height of the (fixed) font chosen. */
- X#endif
- X
- X
- X/*
- X** One shouldn't need to change anything below this line to compile.
- X*/
- X
- X#include <stdio.h>
- X#ifndef UNIX
- X#include <stdlib.h>
- X#endif
- X#include <math.h>
- X#ifdef TIME
- X#include <time.h>
- X#endif
- X
- X#define VERSION "2.10"
- X#define DATE "Feb 1992"
- X#define FALSE 0
- X#define TRUE 1
- X#define OFF 0
- X#define ON 1
- X#define STRING 80
- X#define PI 3.14159265358979323846
- X#define DEGREES 360.0
- X#define DEGTORAD (180.0/PI)
- X#define SIGNS 12
- X#define OBJECTS 20
- X#define THINGS 16
- X#define PLANETS 14
- X#define URANIANS 8
- X#define ASPECTS 18
- X#define SYSTEMS 10
- X
- X
- X/*
- X*******************************************************************************
- X** Macro functions
- X*******************************************************************************
- X*/
- X
- X#define MAX(A, B) ((A) > (B) ? (A) : (B))
- X#define MIN(A, B) ((A) < (B) ? (A) : (B))
- X#define CAP(B) ((B) >= 'a' && (B) <= 'z' ? (B) - 'a' + 'A' : (B))
- X#define DTOR(A) ((A)/DEGTORAD)
- X#define RTOD(A) ((A)*DEGTORAD)
- X#define ASIN(A) atan((A)/sqrt(1.0-(A)*(A)))
- X#define ACOS(A) atan(sqrt(1.0-(A)*(A))/(A))
- X#define SIND(A) sin((A)/DEGTORAD)
- X#define COSD(A) cos((A)/DEGTORAD)
- X
- X#define SIGNAM(A) signname[A][0], signname[A][1], signname[A][2]
- X#define OBJNAM(A) objectname[A][0], objectname[A][1], objectname[A][2]
- X
- X
- X/*
- X*******************************************************************************
- X** External declarations
- X*******************************************************************************
- X*/
- X
- Xextern FILE *data;
- Xextern char *filename, *filename2;
- X
- Xextern int
- X objects, aspects, siderial, heliocentric, todisplay, housesystem, uranian,
- X multiplyfactor, onasc, flip, decan, progress, autom, relation, operation;
- Xextern double defzone, deflong, deflat, modulus;
- Xextern double Mon, Day, Yea, Tim, Zon, Lon, Lat,
- X M, D, Y, F, X, L5, LA,
- X SD, Mon2, Yea2, Delta, JD, Jdp,
- X MC, Asc, Vtx;
- X
- Xextern double planet[], planetalt[], house[], ret[],
- X planet1[], planet2[], planetalt1[], planetalt2[],
- X house1[], house2[], ret1[], ret2[];
- Xextern int inhouse[], ignore[], errorcount[];
- X
- Xextern char *signname[], signabbrev[][3], objectname[][10],
- X uranianname[][10], *systemname[],
- X *aspectname[], aspectabbrev[][4], *aspectglyph[],
- X *element[], *mode[], post[][3], *monthname[];
- Xextern double aspectangle[], aspectorb[], planetorbmax[];
- Xextern int ruler1[], ruler2[], exalt[],
- X grid[OBJECTS+1][OBJECTS+1], gridname[OBJECTS+1][OBJECTS+1],
- X inhouse1[OBJECTS+1], inhouse2[OBJECTS+1];
- Xextern char *signdraw[], *objectdraw[], *housedraw[], *aspectdraw[];
- X
- Xextern void swapint(), swapdoub(), inputdata();
- Xextern int stringlen(), mod12(), dayinmonth(),
- X readworlddata();
- Xextern double dabs(), sgn(), dectodeg(), mod(), mindistance(), midpoint(),
- X readplanetdata();
- Xextern char dignify();
- X
- Xextern double mdytojulian();
- Xextern void ecltoequ(), houseplace(), castchart();
- X
- Xextern void createcrid(), printtransit(), printephemeris(),
- X castrelation(), printchart();
- X
- Xextern void displayswitchesx(), actionx();
- Xextern int processx();
- X
- X/**/
- END_OF_FILE
- if test 7038 -ne `wc -c <'astrolog.h'`; then
- echo shar: \"'astrolog.h'\" unpacked with wrong size!
- fi
- # end of 'astrolog.h'
- fi
- if test -f 'MANIFEST' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'MANIFEST'\"
- else
- echo shar: Extracting \"'MANIFEST'\" \(1045 characters\)
- sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
- X File Name Archive # Description
- X-----------------------------------------------------------
- X README 1 Easy instructions on how to compile Astrolog.
- X Makefile 1 Unix Makefile to easily compile program.
- X Helpfile.p1 2 List of Astrolog features and how to use them.
- X Helpfile.p2 1 Part 2 of the above file. (See the README).
- X Update 1 New features and bug fixes in version 2.10
- X History 3 Features and bug fixes in previous versions.
- X astrolog.h 1 Compile time options and program definitions.
- X data.c 4 Table information and simple program functions.
- X formulas.c 4 Planetary and house position calculations.
- X options.c 5 Main display and search routines in program.
- X graphics.c 6 X window/bitmap primitives and chart displays.
- X driver.c 5 Main program to connect all the other parts.
- X MANIFEST 1 This shipping list
- END_OF_FILE
- if test 1045 -ne `wc -c <'MANIFEST'`; then
- echo shar: \"'MANIFEST'\" unpacked with wrong size!
- fi
- # end of 'MANIFEST'
- fi
- echo shar: End of archive 1 \(of 6\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 6 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 6 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-
- exit 0 # Just in case...
-