home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume42
/
astrolog
/
part01
next >
Wrap
Internet Message Format
|
1994-03-25
|
65KB
From: cruiser1@u.washington.edu (Astrolog)
Newsgroups: comp.sources.misc
Subject: v42i001: astrolog - Generation of astrology charts v4.10, Part01/16
Date: 25 Mar 1994 15:08:07 -0600
Organization: Sterling Software
Sender: kent@sparky.sterling.com
Approved: kent@sparky.sterling.com
Message-ID: <csm-v42i001=astrolog.150725@sparky.Sterling.COM>
X-Md4-Signature: d38d2c05811231972a765c6b59d96b36
Submitted-by: cruiser1@u.washington.edu (Astrolog)
Posting-number: Volume 42, Issue 1
Archive-name: astrolog/part01
Environment: UNIX, DOS, VMS, X11, MSC
Supersedes: astrolog: Volume 37, Issue 70-81
Astrolog is an extensive and customizable astrology chart
calculation program. Astrolog can do standard natal wheel charts,
aspects, midpoints, relationship charts, transits, progressions, and
astro-graphy, as well as local horizon, solar system orbit, and
various influence charts. It supports different zodiacs, central
planets, 12 different house systems, and can display positions of
asteroids, Transneptunians, and several dozen stars. It supports
graphics charts in the X Windows environment, and when compiled on
PC's it can do EGA/VGA/SVGA screen graphics. Charts may be smoothly
animated forward and backward and in real time. Some charts access
the program's own internal map of the world which can be also be used
to a nice animation of a rotating globe! Graphics files may be
generated in X11 bitmap, PC bitmap and other formats. Astrolog can
also do a simple form of deduced interpretations.
Astrolog version 4.10 supersedes an older version (3.05) that
was posted here in May of 1993. File diffs weren't chosen in this
release due to the enormity of their size and the many changes made
since then. New additions include the ability to optionally access
if available ephemeris files covering over 8000 years for increased
accuracy. Graphics files may now be generated in PostScript and MS
Windows metafile formats in addition to bitmaps. The graphic wheel
charts are much enhanced, and graphical ephemeris and biorhythm
charts may now be done. More of the chart types may be interpreted,
and various new influence charts, planetary rising and setting times,
and calendars are available. This version has a bunch of other
enhancements (e.g. PC mouse support), several bug fixes, and some
general performance improvements.
The program (pronounced astro-log; astro as in astronomy, log as
is logarithm) works best when run on a Unix system with X windows, or
a DOS system with VGA. However neither X11 nor graphics, or even Unix
or a PC, are needed in order to be able to run the program. The X11
and other graphics features can easily be compiled out for those who
don't have them, and the program can be compiled properly (although I
haven't tested it myself) on VMS and even Mac systems with only a few
modifications necessary.
# 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 16)."
# Contents: README.410 Makefile makefile.pc astrolog.dat data.c
# xdata.c MANIFEST
# Wrapped by cruiser1@stein1 on Sun Mar 20 22:55:05 1994
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'README.410' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'README.410'\"
else
echo shar: Extracting \"'README.410'\" \(8565 characters\)
sed "s/^X//" >'README.410' <<'END_OF_FILE'
X############### ASTROLOG VERSION 4.10 (MARCH 1994) ###############
X
X Astrolog is an extensive and customizable astrology chart
calculation program. Astrolog can do standard natal wheel charts,
aspects, midpoints, relationship charts, transits, progressions, and
astro-graphy, as well as local horizon, solar system orbit, and
various influence charts. It supports different zodiacs, central
planets, 12 different house systems, and can display positions of
asteroids, Transneptunians, and several dozen stars. It supports
graphics charts in the X Windows environment, and when compiled on
PC's it can do EGA/VGA/SVGA screen graphics. Charts may be smoothly
animated forward and backward and in real time. Some charts access
the program's own internal map of the world which can be also be used
to a nice animation of a rotating globe! Graphics files may be
generated in X11 bitmap, PC bitmap and other formats. Astrolog can
also do a simple form of deduced interpretations.
X
X Astrolog version 4.10 superseeds an older version (3.05) that
was posted here in May of 1993. File diffs weren't chosen in this
release due to the enormity of their size and the many changes made
since then. New additions include the ability to optionally access
if available ephemeris files covering over 8000 years for increased
accuracy. Graphics files may now be generated in PostScript and MS
Windows metafile formats in addition to bitmaps. The graphic wheel
charts are much enhanced, and graphical ephemeris and biorhythm
charts may now be done. More of the chart types may be interpreted,
and various new influence charts, planetary rising and setting times,
and calendars are available. This version has a bunch of other
enhancements (e.g. PC mouse support), several bug fixes, and some
general performance improvements.
X
X The program (pronounced astro-log; astro as in astronomy, log as
is logarithm) works best when run on a Unix system with X windows, or
a DOS system with VGA. However neither X11 nor graphics, or even Unix
or a PC, are needed in order to be able to run the program. The X11
and other graphics features can easily be compiled out for those who
don't have them, and the program can be compiled properly (although I
haven't tested it myself) on VMS and even Mac systems with only a few
modifications necessary.
X
X--
X
X Note: The file 'Helpfile' that comes with this distribution is a
X225K file that lists comprehensive documentation about each feature
in the program and how to use it. Due to its length, this file had
to be split into four parts: Helpfile.p1, Helpfile.p2, Helpfile.p3,
and Helpfile.p4 - These should be concatenated back together again.
Use a favorite editor to do this, or if you are on a Unix system, do
the command: cat Helpfile.p1 Helpfile.p2 Helpfile.p3 Helpfile.p4 >
Helpfile.
X
X The files included in the shell archive give one all the files
and documentation that they need in order to be able to fully use the
program on a Unix system. One should however be aware of a particular
ftp site which carries binaries that can make using the program
easier. The site is hilbert.maths.utas.edu.au, and in the directory
X/pub/astrology/Astrolog are several relevant files. These include the
accurate ephemeris files, a DOS executable, and even a third party
Mac executable for an older version. For PC's a Microsoft nmakefile
and a MS Windows icon can be found here too. There is also a large
text History file which describes each version of the program since
its beginning and the changes that have been made in each release.
X
X--
X
X Compiling Astrolog version 4.10 is an easy process similar to
other programs: First edit the top of the file astrolog.h, commenting
out any of the #define's which set various features that aren't valid
on your system or you don't want, and changing default values and
directories to your preference. (Just look at the self-explanatory
section comments in this file.) Then in the same manner, also edit
these default parameter values in the astrolog.dat file to your
liking, at least the location and time zone values. Then, for Unix
systems, just run the command 'make' in the directory containing the
included Makefile. (You can also always compile by hand: "cc -O -c
X*.c; cc -o astrolog *.o -lm -lX11" will do it; just make sure to
compile each source file and link them together at the end with the
math library, and if applicable the X11 library.)
X
X Compiling Astrolog on a PC is easy too. One can usually do it by
simply compiling each file in turn and then linking them all
together. You won't have to worry about explicitly mentioning things
like the math library if your environments are set up properly. (I
used the Microsoft C7 compiler to generate the ready to run PC
executable, but I linked with the improved graphics.lib included with
Microsoft Visual C 1.00 (C8) for the DOS graphics features.) If you
have the nmake utility, the makefile included in the zip archive will
nicely compile and link astrolog 4.10 on a PC, with properly set
options and all. I compiled under the Large memory model, with 16K
bytes of stack space. The default directory for chart info files, the
astrolog.dat file, and the ephemeris files in this ready to run PC
executable are all set to C:\ASTROLOG, although this location will be
overridden with several environment variables if set. The time and
location defaults are set to my own area, but you can easily override
them with your own values using the astrolog.dat file.
X
X It is possible to easily compile Astrolog on a VMS system, even
with its X windows functionality. Here's an example of a simple VMS
X.COM file by Max Calvani which can automatically compile and link
Astrolog for VMS. This should work for version 4.10, although you
might need to include "/noopt" after the CC's since some compilers
with optimization may cause the program to pass parameters incorrectly.
X
X---- BEGIN INCLUDED FILE COMPILE.COM CUT HERE ----
X$ set ver
X$ define X11 decw$include
X$ define lnk$library sys$library:vaxcrtl
X$ CC CHARTS
X$ CC DATA
X$ CC DRIVER
X$ CC FORMULAS
X$ CC GENERAL
X$ CC INTRPRET
X$ CC OPTIONS
X$ CC PLACALC
X$ CC XCHARTS
X$ CC XDATA
X$ CC XDRIVER
X$ CC XGENERAL
X$ CC XOPTIONS
X$ link/exe=astrolog.exe -
X CHARTS.obj, -
X DATA.obj, -
X DRIVER.obj, -
X FORMULAS.obj, -
X GENERAL.obj, -
X INTRPRET.obj, -
X OPTIONS.obj, -
X PLACALC.obj, -
X XCHARTS.obj, -
X XDATA.obj, -
X XDRIVER.obj, -
X XGENERAL.obj, -
X XOPTIONS.obj, -
X sys$input/opt
sys$share:decw$xlibshr/share
X$ set nover
X$ exit
X---- END INCLUDED FILE COMPILE.COM CUT HERE ----
X
X--
X
X IMPORTANT NOTICE: the graphics database and chart display
routines used in this program are Copyright (C) 1991-1994 by Walter
D. Pullen (cruiser1@stein.u.washington.edu). Permission is granted to
freely use and distribute these routines provided one doesn't sell,
Restrict, or profit from them in any way. Modification is allowed
provided these notices remain with any altered or edited versions of
the program. The main planetary calculation routines used in this
program have been Copyrighted and the core of this program is
basically a conversion to C of the routines created by James Neely as
listed in Michael Erlewine's 'Manual of Computer Programming for
Astrologers', available from Matrix Software. The copyright gives us
permission to use the routines for personal use but not to sell them
or profit from them in any way. The PostScript code within the core
graphics routines are programmed and Copyright (C) 1992-1993 by Brian
D. Willoughby (brianw@sounds.wa.com). Conditions are identical to
those above. The extended accurate ephemeris databases and formulas
are from the calculation routines in the program "Placalc" and are
programmed and Copyright (C) 1989,1991,1993 by Astrodienst AG and
Alois Treindl (alois@azur.ch). The use of that source code is subject
to regulations made by Astrodienst Zurich, and the code is not in the
public domain. This copyright notice must not be changed or removed
by any user of this program.
X
X--
X
X#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#
X+ Walter D. "Cruiser1" Pullen | cruiser1@stein.u.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 8565 -ne `wc -c <'README.410'`; then
echo shar: \"'README.410'\" unpacked with wrong size!
fi
# end of 'README.410'
fi
if test -f 'Makefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'Makefile'\"
else
echo shar: Extracting \"'Makefile'\" \(1221 characters\)
sed "s/^X//" >'Makefile' <<'END_OF_FILE'
X# Astrolog (Version 4.10) File: Makefile (Unix version)
X#
X# IMPORTANT NOTICE: the graphics database and chart display routines
X# used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
X# (cruiser1@stein.u.washington.edu). Permission is granted to freely
X# use and distribute these routines provided one doesn't sell,
X# restrict, or profit from them in any way. Modification is allowed
X# provided these notices remain with any altered or edited versions of
X# the program.
X#
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 by hand with the command:
X# % cc -c -O *.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#
NAME = astrolog
OBJ = data.o general.o formulas.o charts.o options.o intrpret.o driver.o \
X xdata.o xgeneral.o xcharts.o xoptions.o xdriver.o placalc.o
X# If you don't have X windows, delete the "-lX11" part from the line below:
LIBS = -lm -lX11
CFLAGS = -O
X
astrolog:: $(OBJ)
X cc -o $(NAME) $(OBJ) $(LIBS)
X strip $(NAME)
X#
END_OF_FILE
if test 1221 -ne `wc -c <'Makefile'`; then
echo shar: \"'Makefile'\" unpacked with wrong size!
fi
# end of 'Makefile'
fi
if test -f 'makefile.pc' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'makefile.pc'\"
else
echo shar: Extracting \"'makefile.pc'\" \(1501 characters\)
sed "s/^X//" >'makefile.pc' <<'END_OF_FILE'
X# Astrolog (Version 4.10) File: Makefile (PC version)
X#
X# IMPORTANT NOTICE: the graphics database and chart display routines
X# used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
X# (cruiser1@stein.u.washington.edu). Permission is granted to freely
X# use and distribute these routines provided one doesn't sell,
X# restrict, or profit from them in any way. Modification is allowed
X# provided these notices remain with any altered or edited versions of
X# the program.
X#
X# This Makefile created for Microsoft nmake utility.
X# First created 2/9/1993.
X#
X# Generally, all that needs to be done to compile (once astrolog.h has been
X# customized), is compile each source file, and link them together with the
X# math library, and if applicable, the Microsoft C graphics library.
X#
X# If you don't have access to the mouse.c pseudo-library file, delete the
X# reference to mouse.obj on the "objs" line below.
X#
X#If you have a 286 or higher processor, you can add /G2 to the line below.
X#if you have a math coprocessor, you can add /FPi to the line below.
X#CFLAGS = /nologo /AL /Gt150 /W3 /G2 /FPi
CFLAGS = /nologo /AL /Gt150 /W3 /Ot /Oe /Ol /Op /Gs
X
CC = cl
name = astrolog
objs = data.obj general.obj formulas.obj charts.obj options.obj intrpret.obj\
X driver.obj xdata.obj xgeneral.obj xcharts.obj xoptions.obj xdriver.obj\
X placalc.obj mouse.obj
X
X$(name).exe : $(objs)
X# We are compiling in Large memory model with 16,384 bytes for stack storage.
X $(CC) /F 4000 /o $(name) *.obj graphics.lib
X#
END_OF_FILE
if test 1501 -ne `wc -c <'makefile.pc'`; then
echo shar: \"'makefile.pc'\" unpacked with wrong size!
fi
# end of 'makefile.pc'
fi
if test -f 'astrolog.dat' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'astrolog.dat'\"
else
echo shar: Extracting \"'astrolog.dat'\" \(2426 characters\)
sed "s/^X//" >'astrolog.dat' <<'END_OF_FILE'
Astrolog default parameter file astrolog.dat:
VERSION = 4.10
X
DEFAULT TIME AND PLACE:
Time zone = 8
Longitude = 122.20
Latitude = 47.36
X
DEFAULT VALUES:
Siderial zodiac = 0
Zodiac offset value = 0.0
Number of aspects = 5
House system index = 0
Display Ansi text = 0
Searching divisions = 24
Use ephemeris files = 0
Print zodiac seconds = 0
Wheel chart text rows = 4
Text screen columns = 80
XEuropean date format = 0
XEuropean time format = 0
X"Smart" cusp displays = 1
Clip at 80 columns = 0
X
DEFAULT RESTRICTIONS:
Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
X0 0 0 0 0 0 0 0 0 0
X0 0 0 0 0 0 0 0 0 0
X0 0 0 0 0 0 0 0 0 0 0 0
X
DEFAULT TRANSIT RESTRICTIONS:
Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
X0 1 0 0 0 0 0 0 0 0
X0 0 0 0 0 0 0 0 0 0
X0 0 0 0 0 0 0 0 0 0 0 0
X
Restrict sign changes = 0
Restrict direction changes = 0
X
DEFAULT ASPECT ORBS:
Row 1: Majors; Row 2: Minors; Row 3; Obscure. =
X7 7 7 7 6
X3 3 3 3 2 2
X1 1 1 1 1 1 1
X
DEFAULT MAX PLANET ASPECT ORBS:
Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
X360 360 360 360 360 360 360 360 360 360
X360 360 360 360 360 2 2 360 360 2
X360 360 360 360 360 360 360 360 360 360 360 360
X
DEFAULT PLANET ASPECT ORB ADDITIONS:
Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
X1 1 0 0 0 0 0 0 0 0
X0 0 0 0 0 0 0 0 0 0
X0 0 0 0 0 0 0 0 0 0 0 0
X
DEFAULT INFLUENCES:
In ruling sign = 20
XExalted in sign = 10
In ruling house = 15
XExalted in house = 5
Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians;
Row 4: Houses;
Row 5: Major aspects; Row 6: Minor aspects; Row 7; Obscure aspects. =
X30 25 10 10 10 10 10 10 10 10
X 5 5 5 5 5 5 5 15 20 5
X 10 10 10 10 3 3 3 3 3 3 3 3
X20 0 0 10 0 0 5 0 0 15 0 0
X1.0 0.8 0.8 0.6 0.6
X 0.4 0.4 0.2 0.2 0.2 0.2
X 0.1 0.1 0.1 0.1 0.1 0.1 0.1
X
DEFAULT TRANSIT INFLUENCES:
Row 1: Planets; Row 2: Minor planets; Row 3: Minor cusps and uranians. =
X10, 4, 8, 9, 20, 30, 35, 40, 45, 50,
X 30, 15, 15, 15, 15, 30, 1, 1, 1, 1,
X 1, 1, 1, 1, 50, 50, 50, 50, 50, 50, 50, 50
X
GRAPHICS DEFAULTS:
Default X resolution = 480
Default Y resolution = 480
Glyph selections = 0
Aspect grid cells = 20
Bitmap file type = C
Use actual fonts = 0
PS paper orientation = 0
PS paper X inch size = 8.5
PS paper Y inch size = 11.0
Hi-Res graphics mode = -3
Lo-Res graphics mode = 16
X
X/* astrolog.dat */
END_OF_FILE
if test 2426 -ne `wc -c <'astrolog.dat'`; then
echo shar: \"'astrolog.dat'\" unpacked with wrong size!
fi
# end of 'astrolog.dat'
fi
if test -f 'data.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'data.c'\"
else
echo shar: Extracting \"'data.c'\" \(21871 characters\)
sed "s/^X//" >'data.c' <<'END_OF_FILE'
X/*
X** Astrolog (Version 4.10) File: data.c
X**
X** IMPORTANT NOTICE: the graphics database and chart display routines
X** used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
X** (cruiser1@stein.u.washington.edu). Permission is granted to freely
X** use and distribute these routines provided one doesn't sell,
X** restrict, or profit from them in any way. Modification is allowed
X** provided these notices remain with any altered or edited versions of
X** the program.
X**
X** The main planetary calculation routines used in this program have
X** 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 personal use but not to sell them or profit from
X** them in any way.
X**
X** The PostScript code within the core graphics routines are programmed
X** and Copyright (C) 1992-1993 by Brian D. Willoughby
X** (brianw@sounds.wa.com). Conditions are identical to those above.
X**
X** The extended accurate ephemeris databases and formulas are from the
X** calculation routines in the program "Placalc" and are programmed and
X** Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
X** (alois@azur.ch). The use of that source code is subject to
X** regulations made by Astrodienst Zurich, and the code is not in the
X** public domain. This copyright notice must not be changed or removed
X** by any user of this program.
X**
X** Initial programming 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
X** X Window graphics initially programmed 10/23-29/1991.
X** PostScript graphics initially programmed 11/29-30/1992.
X** Last code change made 3/19/1994.
X*/
X
X#include "astrolog.h"
X
X
X/*
X******************************************************************************
X** Global Variables.
X******************************************************************************
X*/
X
XFILE *S = stdout;
X#ifdef SWITCHES
int noswitches = FALSE;
X#else
int noswitches = TRUE;
X#endif
int total = TOTAL;
int aspects = DEFAULT_ASPECTS;
int universe = 0;
int centerplanet = _SUN;
int placalc = FALSE;
int seconds = FALSE;
int housesystem = DEFAULT_SYSTEM;
int ansi = FALSE;
int divisions = DIVISIONS;
int screenwidth = SCREENWIDTH;
int eurodate = FALSE;
int eurotime = FALSE;
int smartcusp = FALSE;
int column80 = FALSE;
int todisplay = 0x0;
int exdisplay = 0x0;
int andisplay = 0x0;
int operation = 0x0;
int relation = 0; /* What relationship chart are we doing, if any? */
int ratio1 = 1; /* Chart ratio factors passed to -rc or -rm. */
int ratio2 = 1;
int interpret = FALSE; /* Is -I interpretation switch in effect? */
int progress = FALSE; /* Are we doing a -p progressed chart? */
int multiplyfactor = 1; /* Harmonic chart value passed to -x switch. */
int onasc = 0; /* House value passed to -1 or -2 switch. */
int wheelrows = 4; /* Number of rows per house to use for -w wheel. */
int graphstep = 5; /* Latitude step rate passed to -L switch. */
int autom = FALSE; /* Do we need to prompt user for chart info? */
real addfactor = 0.0; /* Position shifting value passed to -s switch. */
real progday = 365.25; /* Progression day value passed to -pd switch. */
real defzone = DEFAULT_ZONE;
real deflong = DEFAULT_LONG;
real deflat = DEFAULT_LAT;
real modulus = DEGREES;
char *progname, *filename, *filename2;
X
real SD = 0.0, JD, Jdp, T;
int Mon, Day, Yea, Mon2, Day2, Yea2, Delta = 0;
real Tim, Zon, Lon, Lat, Tim2, Zon2, Lon2, Lat2;
int MonX = 3, DayX = 20, YeaX = 1994;
real TimX = 12.28, ZonX = 8.0, LonX = 122.20, LatX = 47.36;
int MM = 11, DD = 19, YY = 1971;
real TT = 11.01, ZZ = 8.0, OO = 122.20, AA = 47.36;
X
X
X/*
X******************************************************************************
X** Global Arrays.
X******************************************************************************
X*/
X
real planet[TOTAL+1], planetalt[TOTAL+1], house[SIGNS+1], ret[TOTAL+1],
X spacex[BASE+1], spacey[BASE+1], spacez[BASE+1], force[TOTAL+1];
gridstruct PTR grid = NULL;
byte inhouse[TOTAL+1], inhouse1[TOTAL+1], inhouse2[TOTAL+1];
int starname[STARS+1], objectansi[TOTAL+1];
X
X/* Restriction status of each object, as specified with -R switch. */
X
byte ignore[TOTAL+1] = {
X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Planets */
X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Minors */
X 0, 0, 0, 0, /* Cusps */
X 0, 0, 0, 0, 0, 0, 0, 0, /* Uranians */
X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* Stars */
X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
X
X/* Restriction of objects when transiting, as specified with -RT switch. */
X
byte ignore2[TOTAL+1] = {
X 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Planets */
X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* Minors */
X 0, 0, 0, 0, /* Cusps */
X 0, 0, 0, 0, 0, 0, 0, 0, /* Uranians */
X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* Stars */
X 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
X
X
X/*
X******************************************************************************
X** Global Tables.
X******************************************************************************
X*/
X
char *appname = APPNAME;
X
char *signname[] = {"",
X "Aries", "Taurus", "Gemini", "Cancer", "Leo",
X "Virgo", "Libra", "Scorpio",
X "Sagittarius", "Capricorn", "Aquarius", "Pisces"};
X
char *signabbrev[] = {"",
X "Ar", "Ta", "Ge", "Cn", "Le", "Vi", "Li", "Sc", "Sg", "Cp", "Aq", "Pi"};
X
char *signenglish[] = {"",
X "Ram", "Bull", "Twins", "Crab", "Lion", "Virgin",
X "Scales", "Scorpion", "Archer", "Sea-Goat", "Water-Bearer", "Fishes"};
X
char *housetradition[] = {"",
X "Personality", "Money", "Communication", "Home",
X "Children", "Servants", "Marriage", "Death",
X "Long Journeys Over Water", "Career", "Friends", "Troubles"};
X
char *objectname[] = {
X "Earth", "Sun", "Moon", "Mercury", "Venus", "Mars", /* Planets */
X "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto",
X "Chiron", "Ceres", "Pallas", "Juno", "Vesta", /* Asteroids */
X "Node", "Fortune", "Midheaven", "Ascendant", "Vertex", /* Others */
X "11th Cusp", "12th Cusp", "2nd Cusp", "3rd Cusp", /* Cusps */
X "Cupido", "Hades", "Zeus", "Kronos", /* Uranians */
X "Apollon", "Admetos", "Vulkanus", "Poseidon",
X
X "Achernar", "Polaris", "Zeta Retic.", "Pleiades", /* Stars */
X "Aldebaran", "Capella", "Rigel", "Bellatrix", "Alnath",
X "Orion", "Betelgeuse", "Menkalinan", "Murzim", "Canopus",
X "Alhena", "Sirius", "Adara", "Wezen", "Castor",
X "Procyon", "Pollux", "Suhail", "Avior", "Miaplacidus",
X "Alphard", "Regulus", "Dubhe", "Acrux", "Gacrux",
X "Becrux", "Alioth", "Spica", "Alkaid", "Agena",
X "Arcturus", "Kentaurus", "Antares", "Shaula", "Sargas",
X "Kaus Austr.", "Vega", "Altair", "Peacock", "Deneb",
X "Alnair", "Fomalhaut", "Andromeda"};
X
char *systemname[] = {
X "Placidus", "Koch", "Equal", "Campanus",
X "Meridian", "Regiomontanus", "Porphyry", "Morinus",
X "Topocentric", "Equal (MC)", "Neo-Porphyry", "Null"};
X
char *aspectname[] = {"",
X "Conjunct", "Opposite", "Square", "Trine", "Sextile",
X "Inconjunct", "Semisextile", "Semisquare", "Sesquiquadrate",
X "Quintile", "Biquintile",
X "Semiquintile", "Septile", "Novile",
X "Binovile", "Biseptile", "Triseptile", "Quatronovile"};
X
char *aspectabbrev[] = {"",
X "Con", "Opp", "Squ", "Tri", "Sex",
X "Inc", "SSx", "SSq", "Ses", "Qui", "BQn",
X "SQn", "Sep", "Nov", "BNv", "BSp", "TSp", "QNv"};
X
char *aspectglyph[] = {"",
X "Circle with extending line", "Two circles joined by line",
X "Quadrilateral", "Triangle", "Six pointed asterisk",
X "'K' rotated right", "'K' rotated left", "Acute angle",
X "Square with extending lines", "Letter 'Q'", "'+' over '-'",
X "'-' over '+'", "Number '7'", "Number '9'", "'9' under Roman 'II'",
X "'7' under Roman 'II'", "'7' under Roman 'III'", "'9' under Roman 'IV'"};
X
char *element[] = {"Fire", "Earth", "Air", "Water"};
X
char *mode[] = {"Cardinal", "Fixed", "Mutuable"};
X
char *monthname[] = {"",
X "January", "February", "March", "April", "May", "June",
X "July", "August", "September", "October", "November", "December"};
X
char *dayname[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
X "Thursday", "Friday", "Saturday"};
X
char *dirname[] = {"North", "East", "South", "West"};
X
char *post[] = {"",
X "st", "nd", "rd", "th", "th", "th", "th", "th", "th", "th", "th", "th"};
X
real aspectangle[ASPECTS+1] = {0,
X 0.0, 180.0, 90.0, 120.0, 60.0, 150.0, 30.0, 45.0, 135.0, 72.0, 144.0,
X 36.0, DEGREES/7.0, 40.0, 80.0, 720.0/7.0, 1080.0/7.0, 160.0};
X
real aspectorb[ASPECTS+1] = {0,
X 7.0, 7.0, 7.0, 7.0, 6.0, 3.0, 3.0, 3.0, 3.0, 2.0, 2.0,
X 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0};
X
real planetorb[BASE+1] = {0,
X 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0,
X 360.0, 360.0, 360.0, 360.0, 360.0, 2.0, 2.0, 360.0, 360.0, 2.0,
X 360.0, 360.0, 360.0, 360.0,
X 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0, 360.0};
X
real planetadd[BASE+1] = {0,
X 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
X 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
X 0.0, 0.0, 0.0, 0.0,
X 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
X
int ruler1[BASE+1] = {0,
X 5, 4, 3, 7, 1, 9, 10, 11, 12, 8,
X 12, 2, 6, 7, 8, 11, 12, 10, 1, 7,
X 11, 12, 2, 3,
X 7, 8, 5, 10, 9, 6, 1, 9};
int ruler2[BASE+1] = {0,
X 0, 0, 6, 2, 8, 12, 11, 0, 0, 0,
X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
X 0, 0, 0, 0,
X 0, 0, 0, 0, 0, 0, 0, 0};
int exalt[BASE+1] = {0,
X 1, 2, 11, 12, 10, 4, 7, 8, 9, 6,
X 4, 4, 10, 5, 11, 6, 9, 7, 10, 12,
X 10, 9, 7, 6,
X 3, 6, 1, 9, 11, 8, 5, 12};
X
X /* This little array is the reverse of the ruler arrays: */
X /* Here, given a sign, return what planet rules it. */
int rules[SIGNS+1] = {0,
X 5, 4, 3, 2, 1, 3, 4, 10, 6, 7, 8, 9};
X
int mainansi[] = {BLACK, WHITE, LTGRAY, DKGRAY, YELLOW, MAGENTA, DKBLUE};
int rainbowansi[] = {WHITE,
X RED, ORANGE, YELLOW, GREEN, CYAN, BLUE, PURPLE};
int elemansi[] = {RED, YELLOW, GREEN, BLUE};
int aspectansi[] = {WHITE,
X YELLOW, BLUE, RED, GREEN, CYAN,
X MAGENTA, MAGENTA, ORANGE, ORANGE, DKCYAN, DKCYAN,
X DKCYAN, MAROON, PURPLE, PURPLE, MAROON, MAROON, PURPLE};
X
X/* Influence information used by ChartInfluence() follows. The influence of */
X/* a planet in its ruling or exalting sign or house is tacked onto the last */
X/* two positions of the object and house influence array, respectively. */
X
X /* The inherent strength of each planet - */
real objectinf[] = {0,
X 30, 25, 10, 10, 10, 10, 10, 10, 10, 10,
X 5, 5, 5, 5, 5, 5, 5, 15, 20, 5,
X 10, 10, 10, 10,
X 3, 3, 3, 3, 3, 3, 3, 3,
X 20, 10};
X
X /* The inherent strength of each house - */
real houseinf[] = {0,
X 20, 0, 0, 10, 0, 0, 5, 0, 0, 15, 0, 0,
X 15, 5};
X
X /* The inherent strength in each aspect - */
real aspectinf[] = {0.0,
X 1.0, 0.8, 0.8, 0.6, 0.6, 0.4, 0.4, 0.2, 0.2,
X 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1};
X
X /* The inherent strength of each planet when transiting - */
real transitinf[] = {0,
X 10, 4, 8, 9, 20, 30, 35, 40, 45, 50,
X 30, 15, 15, 15, 15, 30,
X 1, 1, 1, 1, 1, 1, 1, 1,
X 50, 50, 50, 50, 50, 50, 50, 50};
X
X
X/*
X******************************************************************************
X** Object Calculation Tables.
X******************************************************************************
X*/
X
X#ifdef MATRIX
byte errorcount[PLANETS+1] = {0, 0, 0, 0, 0, 0, 11, 5, 4, 4, 4};
X
real planetdata[] = {
X358.4758,35999.0498,-.0002,.01675,-.4E-4,0,1,101.2208,1.7192,.00045,0,0,0,0,0,
X0, /* Earth/Sun */
X102.2794,149472.515,0,.205614,.2E-4,0,.3871,28.7538,.3703,.0001,47.1459,1.1852,
X0.0002,7.009,.00186,0, /* Mercury */
X212.6032,58517.8039,.0013,.00682,-.5E-4,0,.7233,54.3842,.5082,-.14E-2,75.7796,
X0.8999,.4E-3,3.3936,.1E-2,0, /* Venus */
X319.5294,19139.8585,.2E-3,.09331,.9E-4,0,1.5237,285.4318,1.0698,.1E-3,48.7864,
X0.77099,0,1.8503,-.7E-3,0, /* Mars */
X
X225.4928,3033.6879,0,.04838,-.2E-4,0,5.2029,273.393,1.3383,0,99.4198,1.0583,0,
X1.3097,-.52E-2,0, /* Jupiter */
X-.001,-.0005,.0045,.0051,581.7,-9.7,-.0005,2510.7,-12.5,-.0026,1313.7,-61.4,
X0.0013,2370.79,-24.6,-.0013,3599.3,37.7,-.001,2574.7,31.4,-.00096,6708.2,
X-114.5,-.0006,5499.4,-74.97,-.0013,1419,54.2,.0006,6339.3,-109,.0007,4824.5,
X-50.9,.0020,-.0134,.0127,-.0023,676.2,.9,.00045,2361.4,174.9,.0015,1427.5,
X-188.8,.0006,2110.1,153.6,.0014,3606.8,-57.7,-.0017,2540.2,121.7,-.00099,
X6704.8,-22.3,-.0006,5480.2,24.5,.00096,1651.3,-118.3,.0006,6310.8,-4.8,.0007,
X4826.6,36.2, /* Jupiter error */
X
X174.2153,1223.50796,0,.05423,-.2E-3,0,9.5525,338.9117,-.3167,0,112.8261,.8259,
X0,2.4908,-.0047,0, /* Saturn */
X-.0009,.0037,0,.0134,1238.9,-16.4,-.00426,3040.9,-25.2,.0064,1835.3,36.1,
X-.0153,610.8,-44.2,-.0015,2480.5,-69.4,-.0014,.0026,0,.0111,1242.2,78.3,-.0045,
X3034.96,62.8,-.0066,1829.2,-51.5,-.0078,640.6,24.2,-.0016,2363.4,-141.4,.0006,
X-.0002,0,-.0005,1251.1,43.7,.0005,622.8,13.7,.0003,1824.7,-71.1,.0001,2997.1,
X78.2, /* Saturn error */
X
X74.1757,427.2742,0,.04682,.00042,0,19.2215,95.6863,2.0508,0,73.5222,.5242,0,
X0.7726,.1E-3,0, /* Uranus */
X-.0021,-.0159,0,.0299,422.3,-17.7,-.0049,3035.1,-31.3,-.0038,945.3,60.1,-.0023,
X1227,-4.99,.0134,-.02186,0,.0317,404.3,81.9,-.00495,3037.9,57.3,.004,993.5,
X-54.4,-.0018,1249.4,79.2,-.0003,.0005,0,.0005,352.5,-54.99,.0001,3027.5,54.2,
X-.0001,1150.3,-88, /* Uranus error */
X
X30.13294,240.45516,0,.00913,-.00127,0,30.11375,284.1683,-21.6329,0,130.68415,
X1.1005,0,1.7794,-.0098,0, /* Neptune */
X0.1832,-.6718,.2726,-.1923,175.7,31.8,.0122,542.1,189.6,.0027,1219.4,178.1,
X-.00496,3035.6,-31.3,-.1122,.166,-.0544,-.00496,3035.3,58.7,.0961,177.1,-68.8,
X-.0073,630.9,51,-.0025,1236.6,78,.00196,-.0119,.0111,.0001,3049.3,44.2,-.0002,
X893.9,48.5,.00007,1416.5,-25.2, /* Neptune error */
X
X229.781,145.1781,0,.24797,.002898,0,39.539,113.5366,.2086,0,108.944,1.3739,0,
X17.1514,-.0161,0, /* Pluto */
X-.0426,.073,-.029,.0371,372,-331.3,-.0049,3049.6,-39.2,-.0108,566.2,318.3,
X0.0003,1746.5,-238.3,-.0603,.5002,-.6126,.049,273.97,89.97,-.0049,3030.6,61.3,
X0.0027,1075.3,-28.1,-.0007,1402.3,20.3,.0145,-.0928,.1195,.0117,302.6,-77.3,
X0.00198,528.1,48.6,-.0002,1000.4,-46.1, /* Pluto error */
X
X34.6127752,713.5756219,0,.382270369,-.004694073,0,13.66975144,337.407213,
X2.163306646,0,208.1482658,1.247724355,0,6.911179715,.011236955,0, /* Chiron */
X108.2925,7820.36556,0,.0794314,0,0,2.7672273,71.0794444,0,0,80.23555556,
X1.3960111,0,10.59694444,0,0, /* Ceres */
X106.6641667,7806.531667,0,.2347096,0,0,2.7704955,310.166111,0,0,172.497222,
X1.39601111,0,34.81416667,0,0, /* Pallas Athena */
X267.685,8256.081111,0,.2562318,0,0,2.6689897,245.3752778,0,0,170.137777,
X1.396011111,.0003083333,13.01694444,0,0, /* Juno */
X138.7733333,9924.931111,0,.0902807,0,0,2.360723,149.6386111,0,0,103.2197222,
X1.396011111,.000308333,7.139444444,0,0, /* Vesta */
X
X104.5959,138.5369,0,0,0,0,40.99837, 0,0,0,0,0,0,0,0,0, /* Cupido */
X337.4517,101.2176,0,0,0,0,50.667443,0,0,0,0,0,0,0,0,0, /* Hades */
X104.0904,80.4057, 0,0,0,0,59.214362,0,0,0,0,0,0,0,0,0, /* Zeus */
X17.7346, 70.3863, 0,0,0,0,64.816896,0,0,0,0,0,0,0,0,0, /* Kronos */
X138.0354,62.5, 0,0,0,0,70.361652,0,0,0,0,0,0,0,0,0, /* Apollon */
X-8.678, 58.3468, 0,0,0,0,73.736476,0,0,0,0,0,0,0,0,0, /* Admetos */
X55.9826, 54.2986, 0,0,0,0,77.445895,0,0,0,0,0,0,0,0,0, /* Vulkanus */
X165.3595,48.6486, 0,0,0,0,83.493733,0,0,0,0,0,0,0,0,0 /* Poseidon */
X};
X#endif /* MATRIX */
X
real starbright[] = {0,
X 0.46, 2.02, 5.24, 5.09, 0.85, 0.08, 0.12, 1.64, 1.65, 1.70,
X 0.50, 1.90, 1.98,-0.72, 1.93,-1.46, 1.50, 1.84, 1.59, 0.38,
X 1.14, 1.78, 1.86, 1.68, 1.98, 1.35, 1.79, 1.58, 1.63, 1.25,
X 1.77, 0.98, 1.86, 0.61,-0.04,-0.01, 0.96, 1.63, 1.87, 1.85,
X 0.03, 0.77, 1.94, 1.25, 1.74, 1.16, 4.61};
X
real stardata[] = {
X 1,37,42.9,-57,14,12, 2,31,50.5, 89,15,51, 3,17,46.1,-62,34,32,
X 3,49,11.1, 24, 8,12, 4,35,55.2, 16,30,33, 5,16,41.3, 45,59,53,
X 5,14,32.2, -8,12, 6, 5,25, 7.8, 6,20,59, 5,26,17.5, 28,36,27,
X 5,36,12.7, -1,12, 7, 5,55,10.3, 7,24,25, 5,59,31.7, 44,56,51,
X 6,22,41.9,-17,57,22, 6,23,57.2,-52,41,44, 6,37,42.7, 16,23,57,
X 6,45, 8.9,-16,42,58, 6,58,37.5,-28,58,20, 7, 8,23.4,-26,23,35,
X 7,34,35.9, 31,53,18, 7,39,18.1, 5,13,30, 7,45,18.9, 28, 1,34,
X 8, 9,31.9,-47,20,12, 8,22,30.8,-59,30,34, 9,13,12.1,-69,43, 2,
X 9,27,35.2, -8,39,31, 10, 8,22.3, 11,58, 2, 11, 3,43.6, 61,45, 3,
X12,26,35.9,-63, 5,56, 12,31, 9.9,-57, 6,47, 12,47,43.3,-59,41,19,
X12,54, 1.7, 55,57,35, 13,25,11.5,-11, 9,41, 13,47,32.3, 49,18,48,
X14, 3,49.4,-60,22,22, 14,15,39.6, 19,10,57, 14,39,36.2,-60,50, 7,
X16,29,24.4,-26,25,55, 17,33,36.4,-37, 6,13, 17,37,19.0,-42,59,52,
X18,24,10.3,-34,23, 5, 18,36,56.2, 38,47, 1, 19,50,46.9, 8,52, 6,
X20,25,38.8,-56,44, 7, 20,41,25.8, 45,16,49, 22, 8,13.9,-46,57,40,
X22,57,39.0,-29,37,20, 0,42, 7.0, 41,16, 0};
X
X
X#ifdef INTERPRET
X/*
X******************************************************************************
X** Core Interpretation Tables.
X******************************************************************************
X*/
X
char *mindpart[] = {"",
X "spirit, ego, image of self, and sense of aliveness",
X "emotional nature, moods, feelings, and caring tendencies",
X "thoughts, intellect, and communicative activity",
X "creativity, tendencies for affection and calmness, and relationship needs",
X "will, energy, activity, and aggressive, assertive tendencies",
X "enthusiastic, faithful, wise, expansive, spontaneous nature",
X "part of mind that is disciplined, respectful, and solitary",
X "individuality, desires for change, and tendency to go against social norms",
X "intuitive, spiritual, compassionate, psychic nature",
X "destiny, and capacity to transform the self and the outer world",
X "ability to help, heal, and teach others, and where one has much experience",
X "tendency to direct energy to instinctive, creative, reproductive goals",
X "tendency to direct energy away from emotional and into mental pursuits",
X "tendency to give away individual power for the benefit of a relationship",
X "capacity to direct creative energy into personal or devotional goals",
X "karmic goals, and best direction of evolutionary growth",
X "place where opportunity and success can be found",
X "view as seen in the eyes of others, reputation, and social standing",
X "personality and outward appearance, as projected to the world",
X "karmic fate and method of reception of energies",
X "", "", "", "",
X "group associations and matters relating to art",
X "dark, secretive, past, shameful side",
X "fiery, creative, leadership tendencies",
X "lofty, extraordinary parts",
X "progressive, abundant energies",
X "intense, focused nature",
X "greatly forceful energies",
X "idealistic, honorable side"};
X
char *description[] = {"",
X "forceful, energetic, direct, courageous",
X "practical, often skeptical and stubborn",
X "inquisitive, witty, perceptive, adaptable",
X "introspective, emotional, protective",
X "proud, gregarious, dramatic, dignified",
X "analytical, critical, modest, helpful",
X "affectionate, tolerant, often indecisive, appreciates beauty",
X "penetrating, suspicious, introspective",
X "jovial, open minded, loves freedom",
X "industrious, practical, disciplined",
X "progressive, erratic, revolutionary, idealistic, humanitarian, inventive",
X "imaginative, other worldly, impressionable"};
X
char *desire[] = {"",
X "seeks adventure and challenge",
X "loves serenity and inner peace",
X "seeks out information",
X "wants inner and outer security",
X "desires self expression",
X "works toward perfection",
X "seeks balance, relationship, and calmness",
X "desires to transform and remove outer masks",
X "seeks meaning and new experience",
X "works for solitude and personal integrity",
X "desires individuality",
X "seeks transcendence of self"};
X
char *lifearea[] = {"",
X "establishment of personal identity",
X "self image, self worth, and material security",
X "communicating to and receiving from the environment",
X "imagination, fantasies, inner feelings, and domestic life",
X "finding joy, pleasure, and creative expression",
X "work and feeling talented and useful",
X "personal relationships and intimacy",
X "sex, death, the occult, and other hard to grasp topics",
X "changes, exploration, and the breaking of routine",
X "career, social stature, and destiny",
X "the future, life goals, and association with friends and groups",
X "things that disrupt or cause disassociation with the personality"};
X
char *interact[] = {"",
X "is %sconnected and fused together with",
X "%sopposes and creates tension with",
X "is %sin conflict with",
X "is %sin harmony with",
X "has %sopportunity for growth, exchange, and harmony in relation with",
X "is %sdifferent from",
X "%sgets new perspectives in relation with",
X "%screates internal friction with",
X "%screates internal agitation with",
X "%screatively relates externally with",
X "%screatively relates internally with"};
X
char *therefore[] = {"",
X "Both parts are prominent in their psyche", "Balance is needed",
X "Adaptation is required by both sides", "", "",
X "They can often relate in a discordant way", "", "", "", "", ""};
X
X/* Modifier array makes the interpretation stronger for narrower orbs. */
X
char *modifier[3][ASPECTI] = {{"always ", "always ", "irreconcilably ",
X "always ", "much ", "completely ", "often ", "often ", "often ", "often ",
X "often "}, {"", "", "", "", "", "", "", "", "", "", ""}, {"somewhat ",
X "somewhat ", "somewhat ", "somewhat ", "some ", "somewhat ", "sometimes ",
X "sometimes ", "sometimes ", "sometimes ", "sometimes "}};
X#endif /* INTERPRET */
X
X/* data.c */
END_OF_FILE
if test 21871 -ne `wc -c <'data.c'`; then
echo shar: \"'data.c'\" unpacked with wrong size!
fi
# end of 'data.c'
fi
if test -f 'xdata.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'xdata.c'\"
else
echo shar: Extracting \"'xdata.c'\" \(19782 characters\)
sed "s/^X//" >'xdata.c' <<'END_OF_FILE'
X/*
X** Astrolog (Version 4.10) File: xdata.c
X**
X** IMPORTANT NOTICE: the graphics database and chart display routines
X** used in this program are Copyright (C) 1991-1994 by Walter D. Pullen
X** (cruiser1@stein.u.washington.edu). Permission is granted to freely
X** use and distribute these routines provided one doesn't sell,
X** restrict, or profit from them in any way. Modification is allowed
X** provided these notices remain with any altered or edited versions of
X** the program.
X**
X** The main planetary calculation routines used in this program have
X** 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 personal use but not to sell them or profit from
X** them in any way.
X**
X** The PostScript code within the core graphics routines are programmed
X** and Copyright (C) 1992-1993 by Brian D. Willoughby
X** (brianw@sounds.wa.com). Conditions are identical to those above.
X**
X** The extended accurate ephemeris databases and formulas are from the
X** calculation routines in the program "Placalc" and are programmed and
X** Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl
X** (alois@azur.ch). The use of that source code is subject to
X** regulations made by Astrodienst Zurich, and the code is not in the
X** public domain. This copyright notice must not be changed or removed
X** by any user of this program.
X**
X** Initial programming 8/28,30, 9/10,13,16,20,23, 10/3,6,7, 11/7,10,21/1991.
X** X Window graphics initially programmed 10/23-29/1991.
X** PostScript graphics initially programmed 11/29-30/1992.
X** Last code change made 3/19/1994.
X*/
X
X#include "astrolog.h"
X
X#ifdef GRAPH
X
X/*
X******************************************************************************
X** Graphics Global Variables.
X******************************************************************************
X*/
X
bitmap bm; /* Pointer to allocated memory. */
int bitmaprow; /* Horizontal size of bitmap array in memory. */
word PTR metacur; /* Current mem position when making metafile. */
char modex = MODEv; /* Current type of chart to create. */
char bitmapmode = BITMAPMODE; /* Current bitmap file type (-Xb). */
char *outputfile = NULL; /* Current name of bitmap file (-Xo). */
char *dispname = NULL; /* Current X11 display name (-Xd). */
circlestruct PTR circ = NULL; /* Table of sine and cosine values. */
X
int xfile;
X#ifdef ISG
int xbitmap = FALSE; /* Are we creating a bitmap file (-Xb set). */
X#else
int xbitmap = TRUE;
X#endif
int psfile = FALSE; /* Are we generating a PostScript file (-Xp set). */
int metafile = FALSE; /* Are we generating a metafile graphic (-XM set). */
int xmono = FALSE; /* Is this a monochrome monitor. */
int xcolor = TRUE; /* Are we drawing a color chart (-Xm not set). */
int xreverse = FALSE; /* Are we drawing in reverse video (-Xr set). */
int xroot = FALSE; /* Are we drawing on the X11 background (-XB set). */
int xtext = TRUE; /* Are we printing chart info on chart (-XT set). */
int xfont = TRUE; /* Are we simulating fonts in charts (-XM0 set). */
int xbonus = FALSE; /* Are we drawing in alternate mode (-Xi set). */
int xlabel = TRUE; /* Are we labeling objects in charts (-Xl not set). */
int xborder = TRUE; /* Are we drawing borders around charts. */
X
int xnow = 0; /* Current animation mode. (-Xn). */
int xeast = 0; /* Current object to place on Asc (-X1). */
int scale = 200; /* Current character scale factor (-Xs). */
int textrows = 0; /* Numb. of rows to set text screen to (-V). */
int gridobjects = OBJECTS; /* Number of cells in -g graphic grids. */
int psinchz = 0; /* PostScript paper orientation indicator. */
real psinchx = 8.5; /* PostScript horizontal paper size inches. */
real psinchy = 11.0; /* PostScript vertical paper size inches. */
int metawid = 10; /* Pen width to use when creating metafiles. */
int offsetx = 0, offsety = 0; /* Viewport origin. */
int turtlex = 0, turtley = 0; /* Current coordinates of pen. */
int chartx = DEFAULTX, charty = DEFAULTY; /* Current size of graphic chart. */
int degree = 0; /* Current rotation of globe. */
real tilt = 0.0; /* Current vertical tilt of rotating globe. */
int scalet; /* Relative scale to draw chart text at. */
X
X/* Color tables for Astrolog's graphic palette. */
X
colrgb rgbbmp[] = {
X 0x000000L, 0x00007FL, 0x007F00L, 0x007F7FL,
X 0x7F0000L, 0x7F007FL, 0x7F7F00L, 0xBFBFBFL,
X 0x7F7F7FL, 0x0000FFL, 0x00FF00L, 0x00FFFFL,
X 0xFF0000L, 0xFF00FFL, 0xFFFF00L, 0xFFFFFFL};
X#ifdef MSG
colrgb rgb[] = {
X _BLACK, _RED, _GREEN, _BROWN,
X _BLUE, _MAGENTA, _CYAN, _WHITE,
X _GRAY, _LIGHTRED, _LIGHTGREEN, _YELLOW,
X _LIGHTBLUE, _LIGHTMAGENTA, _LIGHTCYAN, _BRIGHTWHITE};
X#endif
X#ifdef X11
char *rgbname[] = {
X "black", "orangered3", "green4", "darkorange2",
X "blue4", "violet", "cyan4", "grey65",
X "grey35", "orangered1", "green1", "yellow1",
X "blue1", "pink", "cyan1", "white"};
colrgb rgbind[16];
X#endif
X
X/* These are the actual color arrays and variables used by the program. */
X/* Technically, Astrolog always assumes we are drawning on a color terminal; */
X/* for B/W graphics, all the values below are filled with black or white. */
X
colrgb fg, bg;
colpal colcur = -1, metafillcol = -1, on, off, hilite, gray,
X maincolor[6+1], rainbowcolor[7+1],
X elemcolor[4], aspectcolor[ASPECTS+1], objectcolor[TOTAL+1];
X
X/* A bunch of physical X window variables dealing with the window itself. */
X
X#ifdef X11
Colormap cmap;
Display *disp;
GC gc, pmgc;
KeySym key;
Pixmap pixmap, icon;
Window window, root;
XXSizeHints hint;
X#if FALSE
XXWMHints *wmhint;
X#endif
int screen, depth;
char xkey[10];
X#endif
X
X
X/*
X******************************************************************************
X** Astrolog Icon.
X******************************************************************************
X*/
X
X#ifdef X11
X/* This information used to define Astrolog's X icon (Rainbow over Third */
X/* Eye) is identical to the output format used by the bitmap program. */
X/* You could extract this section and run xsetroot -bitmap on it. */
X
X#define icon_width 63
X#define icon_height 32
X/*static*/ char icon_bits[] = {
X 0x00,0x00,0x00,0xa8,0x0a,0x00,0x00,0x00,0x00,0x00,0x40,0x55,0x55,0x01,0x00,
X 0x00,0x00,0x00,0xa8,0xaa,0xaa,0x0a,0x00,0x00,0x00,0x00,0x54,0xf5,0x57,0x15,
X 0x00,0x00,0x00,0x80,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x40,0xd5,0xff,0xff,
X 0x55,0x01,0x00,0x00,0xa0,0xaa,0xaa,0xaa,0xaa,0x02,0x00,0x00,0x50,0xfd,0xff,
X 0xff,0x5f,0x05,0x00,0x00,0xa8,0xaa,0x2a,0xaa,0xaa,0x0a,0x00,0x00,0xd4,0xff,
X 0xaf,0xfa,0xff,0x15,0x00,0x00,0xaa,0x2a,0x00,0x00,0xaa,0x2a,0x00,0x00,0xf5,
X 0xbf,0xaa,0xaa,0xfe,0x57,0x00,0x80,0xaa,0x02,0x00,0x00,0xa0,0xaa,0x00,0x40,
X 0xfd,0xab,0xfa,0xaf,0xea,0x5f,0x01,0xa0,0xaa,0x80,0xff,0xff,0x80,0xaa,0x02,
X 0x50,0xff,0xea,0xff,0xff,0xab,0x7f,0x05,0xa0,0x2a,0xf0,0xff,0xff,0x07,0xaa,
X 0x02,0xd0,0xbf,0xfa,0x0f,0xf8,0xaf,0x7e,0x05,0xa8,0x0a,0xfc,0x01,0xc0,0x1f,
X 0xa8,0x0a,0xd4,0xaf,0x7e,0x00,0x00,0xbf,0xfa,0x15,0xa8,0x0a,0x3f,0x00,0x00,
X 0x7e,0xa8,0x0a,0xf4,0xaf,0x1f,0xe0,0x03,0xfc,0xfa,0x15,0xaa,0x82,0x0f,0xdc,
X 0x1d,0xf8,0xa0,0x2a,0xf4,0xab,0x07,0x23,0x62,0xf0,0xea,0x17,0xaa,0xc2,0x87,
X 0x91,0xc4,0xf0,0xa1,0x2a,0xf4,0xeb,0xc3,0xd0,0x85,0xe1,0xeb,0x17,0xaa,0xe0,
X 0x83,0x91,0xc4,0xe0,0x83,0x2a,0xf5,0xeb,0x03,0x23,0x62,0xe0,0xeb,0x57,0xaa,
X 0xe0,0x01,0xdc,0x1d,0xc0,0x83,0x2a,0xf5,0xeb,0x01,0xe0,0x03,0xc0,0xeb,0x57,
X 0xaa,0xe0,0x01,0x00,0x00,0xc0,0x83,0x2a,0xfd,0xeb,0x01,0x00,0x00,0xc0,0xeb,
X 0x5f};
X#endif
X
X
X/*
X******************************************************************************
X** Graphics Table Data.
X******************************************************************************
X*/
X
char *signdraw[] = {"",
X "ND4HU2HLGDFBR6EUHLGD2G", /* Aries */
X "BL3D2F2R2E2U2H2NE2L2NH2G2", /* Taurus */
X "BLU3LHBR7GLNL3D6NL3RFBL7ERU3", /* Gemini */
X "BGNDHLGDFRNEFR2EREBU3NHDGLHUENRHL2GLG", /* Cancer */
X "BF4H2UEU2H2L2G2D2FDGH", /* Leo */
X "BF4BLHNGNHEU5GHND5HGND6HGND6H", /* Virgo */
X "BGNL3HUER2FDGR3BD2L8", /* Libra */
X "BH4FND6EFND6EFD6FREU", /* Scorpio */
X "BG4E3NH2NF2E5NL2D2", /* Sagittarius */
X "BH3NLNUD3FND2EU2ENF2UFERFDGLF2D2G", /* Capricorn */
X "BG4EUEDFDEUEDFDEUEBU5GDGUHUGDGUHUGDG", /* Aquarius */
X "NL4NR4BH4F2D4G2BR8H2U4E2"}; /* Pisces */
X
char *objectdraw[] = {
X "ND4NL4NR4U4LGLDGD2FDRFR2ERUEU2HULHL", /* Earth */
X "U0BH3DGD2FDRFR2ERUEU2HULHL2GL", /* Sun */
X "BG3E2U2H2ER2FRDFD2GDLGL2H", /* Moon */
X "BD4UNL2NR2U2REU2HNEL2NHGD2FR", /* Mercury */
X "LHU2ER2FD2GLD2NL2NR2D2", /* Venus */
X "HLG2DF2RE2UHE4ND2L2", /* Mars */
X "BH3RFDGDGDR5NDNR2U6E", /* Jupiter */
X "BH3R2NUNR2D3ND3RERFDGDF", /* Saturn */
X "BD4NEHURBFULU3NUNR2L2NU2DGBU5NFBR6GD3F", /* Uranus */
X "BD4U2NL2NR2U5NUNRLBL2NUNLDF2R2E2UNRU", /* Neptune */
X "D2NL2NR2D2BU8GFEHBL3D2F2R2E2U2", /* Pluto */
X "BG2LDFEULU3NURFRFBU5GLGLU2", /* Chiron */
X "BD4UNL3NR3U2RE2UH2L2G", /* Ceres */
X "BD4UNL3NR3UE2HUHNUGDGF2", /* Pallas Athena */
X "BD4UNL2NR2U4NL4NR4NE3NF3NG3NH3U3", /* Juno */
X "BU4DBG3NLFDF2E2UERBH2GDGHUH", /* Vesta */
X "BG2LGFEU2HU2E2R2F2D2GD2FEHL", /* North Node */
X "NE2NF2NG2H2GD2F2R2E2U2H2L2G", /* Part of Fortune */
X "BG4U8F2ND6E2D8BR4NUL2U5R2D", /* Midheaven */
X "BG4U4NR2U3EFD7BR2NURU2HU2RDBR3ULD5RU", /* Ascendant */
X "U2NHNEBD4NGNFU2L2NHNGR4NEF", /* Vertex */
X "BH3ED8NLRBR2RNRU8G", /* 11th Cusp */
X "BG4RNRU8GBR4ER2FD2GLG2D2R4", /* 12th Cusp */
X "BH3ER4FD2GLGLG2DR6", /* 2nd Cusp */
X "BH3ER4FD2GNL3FD2GL4H", /* 3rd Cusp */
X "BH4BRFDG2DR8BG3UNL2NR2U5LUEFDL", /* Cupido */
X "BENUNL2NR2D3ND2NR2L2H2U2E2R4", /* Hades */
X "BU4NG2NF2D7NDBLHLBR6LGL2GLBR6LHL", /* Zeus */
X "BU2D3ND3NR2L2BH2UE2R4F2D", /* Kronos */
X "U3NLR2NRD3NL2NR2D4NRL2NLU4L4UEUH", /* Apollon */
X "BUNU2NL2NR2D2ND3LHU2ENHR2NEFD2GL", /* Admetos */
X "G2DGR6HUH2U4NG2F2", /* Vulcanus */
X "ND4U4BL3DF2R2E2UBD8UH2L2G2D"}; /* Poseidon */
X
char *housedraw[] = {"",
X "BD2NLNRU4L", "BHBUR2D2L2D2R2", "BHBUR2D2NL2D2L2",
X "BHBUD2R2NU2D2", "BEBUL2D2R2D2L2", "NLRD2L2U4R2",
X "BHBUR2DG2D", "NRLU2R2D4L2U2", "NRLU2R2D4L2",
X "BH2NLD4NLRBR2U4R2D4L2", "BH2NLD4NLRBR2RNRU4L", "BH2NLD4NLRBR2NR2U2R2U2L2"};
X
char *aspectdraw[] = {"",
X "HLG2DF2RE2UHE4", /* Conjunction */
X "BGL2GDFREU2E2U2ERFDGL2", /* Opposition */
X "BH4R8D8L8U8", /* Square */
X "BU4GDGDGDGDR8UHUHUHUH", /* Trine */
X "BLNH3NG3RNU4ND4RNE3F3", /* Sextile */
X "BG4EUEUEUEUNL4NR4BDFDFDFDF", /* Inconjunct */
X "BH4FDFDFDFDNL4NR4BUEUEUEUE", /* Semisextile */
X "BE4G8R8", /* Semisquare */
X "BD2L3U6R6D6L3D2R2", /* Sesquiquadrature */
X "F4BU3U2HULHL2GLDGD2FDRFR2E3", /* Quintile */
X "BD2U3NR3NU3L3BD5R6", /* Biquintile */
X "BU2D3NR3ND3L3BU5R6", /* Semiquintile */
X "BH3R6G6", /* Septile */
X "BR3L5HUER4FD4GL4H", /* Novile */
X "BF2UHL2GFR3DGL3BE6LNLU2NRLBL4LNLD2NLR", /* Binovile */
X "BL2R4G4BE6LNLU2NRLBL4LNLD2NLR", /* Biseptile */
X "BL2R4G4BE6L7NLU2NLR3ND2R3ND2R", /* Triseptile */
X "BF2UHL2GFR3DGL3BU6LNLU2NLRBR2F2E2"}; /* Quatronovile */
X
char *asciidraw[] = {"",
X "BR2D4BD2D0", "BRD2BR2U2", "BD2R4BD2L4BFU4BR2D4", "BR2D6BENL3EHL2HER3",
X "RDLNUBR4G4BR4DLUR", "BD2NF4UEFDG2DFRE2", "BR2DG", "BR3G2D2F2", "BRF2D2G2",
X "BD2FNGRNU2ND2RNEF", "BD3R2NU2ND2R2", "BD5BR2DG", "BD3R4", "BD6BRRULD",
X "BD5E4", /* Special Characters */
X
X "BDD4NE4FR2EU4HL2G", "BFED6NLR", "BDER2FDG4R4", "BDER2FDGNLFDGL2H",
X "D3R3NU3ND3R", "NR4D3R3FDGL2H", "BR3NFL2GD4FR2EUHL3", "R4DG4D",
X "BDDFNR2GDFR2EUHEUHL2G", "BD5FR2EU4HL2GDFR3", /* Numbers */
X
X "BR2BD2D0BD2D0", "BR2BD2D0BD2G", "BR3G3F3", "BD2R4BD2L4", "BRF3G3",
X "BDER2FDGLDBD2D0", "BF2DFEU2HL2GD4FR2", /* Special Characters */
X
X "BD6U4E2F2D2NL4D2", "D6R3EUHNL3EUHL3", "BR3NFL2GD4FR2E", "D6R2E2U2H2L2",
X "NR4D3NR3D3R4", "NR4D3NR3D3", "BR3NFL2GD4FR2EU2L2", "D3ND3R4NU3D3",
X "BRRNRD6NLR", "BD4DFR2EU5", "D3ND3RNE3F3", "D6R4", "ND6F2NDE2D6",
X "ND6F4ND2U4", "BDD4FR2EU4HL2G", "R3FDGL3NU3D3", "BDD4FRENHNFEU3HL2G",
X "ND6R3FDGL2NLF3", "BR3NFL2GDFR2FDGL2H", "R2NR2D6", "D5FR2EU5",
X "D2FDFNDEUEU2", "D6E2NUF2U6", "DF4DBL4UE4U", "D2FRND3REU2",
X "R4DG4DR4", /* Upper Case Letters */
X
X "BR3L2D6R2", "BDF4", "BRR2D6L2", "BD2E2F2", "BD6R4", "BR2DF", /* Symbols */
X "BF4G2LHU2ER2FD3", "D5NDFR2EU2HL2G", "BF4BUHL2GD2FR2E", "BR4D5NDGL2HU2ER2F",
X "BF4NL4UHL2GD2FR3", "BD3RNR3ND3U2ERF", "BD8R3EU4HL2GD2FR2E", "D3ND3ER2FD3",
X "BR2D0BD2D4", "BR2D0BD2D5GLH", "D4ND2REREBD4HLH", "BR2D6", "BD2DND3EFNDEFD3",
X "BD2DND3ER2FD3", "BD3D2FR2EU2HL2G", "BD2DND5ER2FD2GL2H",
X "BR4BD8U5HL2GD2FR2E", "BD2DND3ER2F", "BD6R3EHL2HER3", "BR2D2NL2NR2D4",
X "BD2D3FRE2NU2D2", "BD2DFDFEUEU", "BD2D3FENUFEU3", "BD2F2NG2NE2F2",
X "BD2D3FR2ENU3D2GL3", "BD2R4G4R4", /* Lower Case Letters */
X
X "BR3GDGFDF", "BR2D2BD2D2", "BRFDFGDG", "BFEFE", "BD6R4"}; /* Symbols */
X
char *worlddata[] = {
X"-031+70",
X"LLRRHLLLLDULLGLLLDULGLLLGLRREDEGGLGGLGLGLLGDRLDRLFFRRERFDFRRREUEEHLUERERUERRF\
GLGLDDFRRRRREFRLGLLLLLGEFDLHGDDLGHLGLLHGLHURDLRRELLLRHUGLDFDLGLLFHGGLGLLLDLLLD\
RRFFDDGLLLLLLGDFGDDRRFRERREEUEREUEFRRERRFFFRFRDDLLLLRFRUREURULHLHHHEF",
X"5EUROPE",
X"+006+50", "RRERRRRUELLUHHLLREULLELLDGHDUFDEGRDRRLFDLLRGRRGGL", "5ENGLAND",
X"+008+55", "GLFGRRREUULL", "5IRELAND",
X"+023+64", "RRFRERRREHLLLLLGHLLRFLLRFL", "5ICELAND",
X"-011+80", "DDURFRERLGRRLLFRRREEFRRRLHGELLLHRRFRRRRERLLLLLLLLLLLDHGULLL",
X"5SVALBARD",
X"-014+45",
X"FRFRFDDFRDRRLLFRURFHHUERRRRRHUUEERRRRGRDERRLHLRRERRGGRFRFFGLLLLHLLLLGLLDLLLFG\
RFFRERFRERDDDGDGLLDFFEUDDFFDFFDDFFFDFDDDRRERRERRRUERRERURUEEHHLHUGGLLLUUGUHUHU\
RRFFRFRRRDRRFRRRRRRRF",
X"5MIDDLE EAST",
X"-009+41", "DDRUULEUGD", "5SARDINIA",
X"-024+35", "RRLL", "5CRETE",
X"-032+35", "RRLL", "5CYPRUS",
X"-052+37", "LLHUURHUHUHERERRRDDLLLFFDDURFLLDFDDL", "0CASPAIN SEA",
X"-060+44", "LLUEERDFLDL", "0ARAL SEA",
X"-068+24",
X"FRGFRREDDDDDFDFDDFDDFERUEUUUUEEEEEREURRREFDFRDDDDRREFDDFDDGDDRFDDFDFFRUHUUHHH\
ULUEUUURDRFDFRDEEREUUUHHHUUEERRDDEURRERREREEEUEULLREUHUHLEERRHLGLULUREERDLDRER\
RFGRFDGRRREUHHUREUE",
X"6ASIA S",
X"-140+36",
X"DEUUEUHURREREEGLLHHDDGLDRGDDGGLGLLLGGLDLRDFEUHRRGEERDLLRGLRERRERRE",
X"6JAPAN",
X"-121+25", "GDFUEUL", "6TAIWAN",
X"-080+10", "DDDDREUHH", "6SRI LANKA",
X"-121+18", "LDDDRDDRHRRFFDDDLLEHDULRHDFDDGERDDREUUULUUHHLHEUUL",
X"2PHILIPPINES",
X"-131+43",
X"EFREEREEEUUUEUHLLUDLULEERERERRRRRRERRFLRRRRLUERERRRDRERURRGDLGLGLGLGGDDFDFEUR\
RUERUURULEEREDERRFRERERRRERRHLHLRRRREURDRRFRFRUURRHLLLDHHLLHLLHLLLLLLLDLLHRLLL\
LLLLGHULLLLLLLLLLULLLGL",
X"6SIBERIA",
X"-145+71",
X"RELLRHLLLLGDHGHLLLLGLLHUHLLLLLDLLLLHLLLLLDULUDLGLLLLRRERERRRELHLLLLLLLELLLLGD\
LLLLLUDLLLLLGLLLDLLLLLLLDFRDDHELLLLLLDRRLLHUDLGFGRRRRFRLHLLDGLGLLHRRREUHUUULLG\
GLDRFGHLLLHLLLLRFGHLGLLLULGLLLGLLHRHLDDDLLLLDLLLFLLHUHLRRFRRRREHLLHLLLHLL",
X"6RUSSIA",
X"-143+54", "GDDDDDDDEDUUURUUHUU", "6SAKHALIN",
X"-180+72", "GRRRRULLL", "6WRANGEL I.",
X"-137+76", "DRRRRRRRELLLLLLLL", "6SIBERIAN I.",
X"-091+80", "FERDRRRRRRULLLLLRRULLLLGL", "6SEVERNAYA",
X"-101+79", "GRRRRELLLL", "6ZEMLYA",
X"-068+77", "LLGLLLLLLGLLGGLGLRFRRRRLHERERERRRERRRREL", "6NOVAYA",
X"+123+49",
X"FGULLFDDDGFDDDFFDFRFRFDFFFDLFFRDFFEHHHHUHHUFRDFFFRDFFFDFGFRFRFRRFRRRRFFRRFRFF\
DRFFRFEUUGLHHUUEUHLLLLLEUUEULLLGDLLGLHHUHUUUEHEERERRFRRHRREFRRFDFDFEUUHUUUEERE\
RUUUHFDEUHFEURRRELUERRE",
X"4NORTH AMERICA S",
X"+113+42", "FH", "0SALT LAKE",
X"+156+20", "DRULHLHL", "4HAWAII",
X"+085+22", "RERFRRFRGRRRRHLHLHLLLLLG", "4CUBA",
X"+070+18", "RRHHLLLFLLLFRRRRRR", "4HAITI",
X"+078+18", "RRHLLF", "4JAMAICA",
X"+066+18", "ELLDR", "4PUERTO RICO",
X"+078+24", "UD", "4NASSAU",
X"+067+45",
X"REFLGDERERREHDLLLHUELLLGLGLREEERRRRRRREERRGGDGRRRFEFUUHLLLEUUHHGLRELLHHUHHHDG\
LGHHULLHLLLLLDFGFDDGLLFDDGHHUULLLLHLLHLLLUHUUEREEREERRRREUUHLLLDDGHULLLHLUHLGD\
RFGGULLLLLLLLLHLLGFLHLLLLLRHLLLLLHLLLLLLHGLLLLGUGLLLHLL",
X"4CANADA",
X"+088+49",
X"LGLGRRRRRRRFLLLGRGDDREUURUFRGRFGFERERREEREERLGGLGLLLGRLLGLEUERHLLLHULHL",
X"0GREAT LAKES",
X"+117+61", "REHRFRRERGLGLLLL", "0SLAVE LAKE",
X"+125+66", "RRERRRGREDLFHGLLLERLLLL", "0BEAR LAKE",
X"+097+50", "UULHURFDFG", "0LAKE WINNIPEG",
X"+090+72",
X"FRRLLFRRRRRRRRRRFRRGLLGRREEFRFLGLFLLLLFRERFRFRRFRRHLHFRRRUHLHRRFRURELLHLLLHRR\
HLHLHGHLHLLGLLEHFRRRHLLLLLLGLDFHLUELLGG",
X"4BAFFIN I.",
X"+125+72",
X"RFRREERRRLLGFFRRRRRLLLLLFRRRRRRRREFRRRRHRRLHLHHLRRULGLFLHLDLLULLLLHLLLLLLLDG",
X"4VICTORIA I.",
X"+141+70",
X"LLLLLLLLHGLHLLLHGLLGLLGLLDRRFRRDLLLULGLLFRRRRRRDLGLLGFDRRRDRRRRRGGGLLGLLGGLLR\
RERERRRERREERRELEERRRLLGDRERRURRFRRRRRFRRFUDRUDDHFDURDURLURDDLFRULURDHFFRGFEGR\
XFFRFRFLHLHLFFRFE",
X"4ALASKA",
X"+045+60",
X"REUEREUERRRRERERRRERRRRERLLLLLLHRRRGERHFRRRRHLUDLLHLRERFRERLEUHRRHLEERLLURRRR\
RRRRELLLLLLLLLLGLLLRERHGLRELLLLLLLELLLLLLLLLLGLLLLLLGLLLLLLGLULLLLLLLFRLLLLLGL\
RRRGLLLLLLLGRRRRRRRGLLLLRRFRRRRRRRRRRFDFDLFREFRDLLLDERRFGLLGFFDRFFFRRRF",
X"4GREENLAND",
X"+080+10",
X"DRFDFDDGGGDDGRDGDDFFDFDFFDFFRFFFDDDDDDGDDDDGDDDDGDGFGDDDEUDDDGUDDLDRGDDDFDFRF\
RRFERRLHLUHUURUEELHEREURULURREURREREUHUUDFRREEEEEUEUUEERERRREUEUEUUUUUEEEEUUUH\
LHLHLLLLHLHLGEHLGEUHUUHLHLLLHHLHULEDLLELLGHLLHLGDDHUELLGLGDGHHL",
X"3SOUTH AMERICA",
X"+060-51", "LDRRELL", "3FALKLAND ISLANDS",
X"+092+00", "FUL", "3GALAPAGOS I.",
X"-032+32",
X"LLGLHLLLLHLGDGHLLHHLLHLEUULLLLLLLLLGLGLLLLHDGLGDGDGGLDGGGDGDFDDDDGDDFFFFDFRFF\
RRRRRRRRERERRFFRRFFDDDGDFFFDFDDDFDGDGDDDFDFDFDDDFDFDFDDFFERRRRREEEEEEEUUEREUUH\
UEEEREEUUUUHUUUHUEUEEEEEREEUEUEEUUULLLLGLLHUHHLHUHHUUHHUUHUHHUU",
X"1AFRICA",
X"-049-12", "DGGGLGDDDDGDDFFREUEUEUUUEUUUUH", "1MADAGASCAR",
X"-032+00", "DDDREUELLL", "0LAKE VICTORIA",
X"-014+14", "LRFLU", "0LAKE CHAD",
X"-124-16",
X"LGDGGLGLLGLDDDGFDDFDFDGFRRRERRRRURERRRRRRRFFFEEDDRFDFRFREFRERRUUEUEEUUUUUUUHH\
HHHHHUUHHHUULDDDDGDGHLHLHEUELLLHLFLLULDRGDDLLHLGG",
X"2AUSTRALIA",
X"-173-35", "FFDGFDREURULHHHL", "2NEW ZEALAND N",
X"-174-41", "LLDGLGLGGRFREEUREEU", "2NEW ZEALAND S",
X"-145-41", "DFRRUUUDLLL", "2TASMANIA",
X"-178-17", "GRRURUGDH", "2FIJI",
X"-130+00", "FRFRLGFEFRFRFDGRRFRRUERFFFRRRLHHHHRHLHHLHLLHGGLHUHLGH",
X"2NEW GUINEA",
X"-115-04", "RUUEEURHUUEHHGGGGLLDDHLDDFDDRRDERF", "2BORNEO",
X"-095+06", "DFFFFFFDFFFFRUUUHFRHLHLUHHHHHLLH", "2SUMATRA",
X"-106-06", "GRFRRRRRRFRRHLHLLLLLHL", "2JAVA",
X"-120+00", "DGDDRDFHUEDFRHUHREFHLGHURRRRELLLLG", "2CELEBES",
X"+000-70",
X"ULDLLLLLLLLGLLGLLLGLLGLLLLGLGLLGLLLLGLLLLLHLGLLLLLHLLLLLHLLLLHLLUERLEUUUUUUEE\
RRRULLGLLLLGLGGLLLDRUDRDLGHLLGLLFGRRFLLLLLLLDHLLLLHLLLLLGLLLLHLLLLLLLGRFDLLLUL\
LLGHLLLLLLLLLLHGHLLGLLLLLLLGLLLLLLLLLLLGLLLGLLLLLLLLGLLLLLLLLLLLLLLLLLLLLL",
X"7ANTARCTICA W",
X"+180-78",
X"LLLLLLLHLLGHLLGHLUEERRERREHLLLLHLLLLLLHLLLLLLLLLLLHLHLLLLLHLLULDLLLLLDLLHLLLL\
GHFLLLLLHLLLLLLGLHLLHLGLLLLHLGLLGLLLULLLGLLHDFLLLGLGLLLELLLLHLLLLLLLLLLHLLLHLL\
LLGGHGHGLLLGLDLLLLHLLGHGLLLLLLLLLLLLLLHLGLLLLLLLLLLLLLL",
X"7ANTARCTICA E",
X"", "", ""};
X#endif /* GRAPH */
X
X/* xdata.c */
END_OF_FILE
if test 19782 -ne `wc -c <'xdata.c'`; then
echo shar: \"'xdata.c'\" unpacked with wrong size!
fi
# end of 'xdata.c'
fi
if test -f 'MANIFEST' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'MANIFEST'\"
else
echo shar: Extracting \"'MANIFEST'\" \(1895 characters\)
sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
X File Name Archive # Description
X-----------------------------------------------------------
X README.410 1 Astrolog 4.10 info and compiling instructions.
X Makefile 1 Unix Makefile to easily compile program.
X makefile.pc 1 Makefile for PC's with nmake utility.
X astrolog.dat 1 Data file with default program settings.
X data.c 1 Table information and global variable defs.
X xdata.c 1 Graphics variables and table information.
X astrolog.h 2 Compile time options and program definitions.
X placalc.h 2 Definitions for the Placalc formula set.
X general.c 3 Simple program functions and generic routines.
X formulas.c 3 Planetary and house position calculations.
X intrpret.c 4 Chart interpretation and influences.
X charts.c 4 Routines to display charts on text screen.
X options.c 5 Search routines and multiple date charts.
X placalc.c 6 More accurate ephemeris file calculation.
X placalc2.c 7 Subroutines file #included into placalc.c.
X driver.c 8 Main program to connect all the other parts.
X xgeneral.c 9 Primitives for screen and file graphics.
X xcharts.c 10 Routines to draw various graphic charts.
X xoptions.c 11 Multiple date and world map graphic charts.
X xdriver.c 12 Graphics dispatch and user interaction.
X Helpfile.p1 13 Documentation of features and how to use them.
X Helpfile.p2 14 Part 2 of the above file. (See the README).
X Helpfile.p3 15 Part 3 of the above file. (See the README).
X Helpfile.p4 16 Last part of the above file. (See the README).
X MANIFEST 1 This shipping list
END_OF_FILE
if test 1895 -ne `wc -c <'MANIFEST'`; then
echo shar: \"'MANIFEST'\" unpacked with wrong size!
fi
# end of 'MANIFEST'
fi
echo shar: End of archive 1 \(of 16\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 16 archives.
rm -f ark[1-9]isdone ark[1-9][0-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...