home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-04-06 | 39.7 KB | 1,881 lines |
-
- #! /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 28 (of 32)."
- # Contents: starchart/starimages.c
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'starchart/starimages.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'starchart/starimages.c'\"
- else
- echo shar: Extracting \"'starchart/starimages.c'\" \(37431 characters\)
- sed "s/^X//" >'starchart/starimages.c' <<'END_OF_FILE'
- X/*
- X** This file defines the star and planet images for vector type devices.
- X** All vector formed images are here (for tektronix, hp series and laserjet)
- X**
- X** Original images by Alan W. Paeth, dynamic 'star compilation' and
- X** cluster/galaxy images added by (pl) 15-Mar-87
- X**
- X** New images added by Steve Kennedy 31-Dec-87 and 1989
- X**
- X** Modified for 3.0 by Craig Counterman Jan, 1989
- X *
- X * Copyright (c) 1990 by Steve Kennedy and Craig Counterman.
- X * All rights reserved.
- X *
- X * This software may be redistributed freely, not sold.
- X * This copyright notice and disclaimer of warranty must remain
- X * unchanged.
- X *
- X * No representation is made about the suitability of this
- X * software for any purpose. It is provided "as is" without express or
- X * implied warranty, to the extent permitted by applicable law.
- X *
- X */
- X
- Xstatic char rcsid[]="$Header: starimages.c,v 2.11 90/03/10 15:34:34 ccount Exp $";
- X
- X#include <stdio.h>
- X#include <math.h>
- X#ifndef SYSV
- X#include <strings.h>
- X#else
- X#include <string.h>
- X#endif
- X
- X#include "star3.h"
- X
- X
- X#define IMAROWS 20
- X#define IMACOLS 20 /* both should be more than plenty */
- X#define ENDCOORD 32767 /* should be out of offset range */
- X#define MIN_MAG (-1.5) /* all magnitude below become this */
- X#define MAX_MAG (10.0) /* all magnitude above become this */
- X
- X/* Externs */
- Xextern int g_argc;
- Xextern char **g_argv;
- X
- Xextern char *title; /* Title of page */
- X
- Xextern mapwindow *mapwin[MAXWINDOWS];
- Xextern int numwins;
- X
- Xextern int cur_function;
- Xextern int cur_map_type;
- Xextern int cur_map_tag;
- Xextern char *cur_tag_field;
- X
- X
- X/* Defined in lower level routines */
- X
- X/* Point sizes for font calls */
- Xextern int titlesize;
- Xextern int subtlsize;
- Xextern int namesize;
- Xextern int lblsize;
- Xextern int magsize;
- X
- X/* Fonts for font calls */
- Xextern int namefnt;
- Xextern int lblfnt;
- Xextern int magfnt;
- Xextern int titlefnt;
- Xextern int subtlfnt;
- X
- X/* externs for labels */
- Xextern int x_nameoffset, y_nameoffset;
- Xextern int x_lbloffset, y_lbloffset;
- Xextern int x_magoffset, y_magoffset;
- X
- X/* externs for legend: variables of positioning are here */
- Xextern int l_til;
- Xextern int l_stil;
- X
- Xextern int l_lmar1;
- Xextern int l_lmar2;
- Xextern int l_ltext;
- Xextern int l_rmar1;
- Xextern int l_rmar2;
- Xextern int l_rtext;
- X
- Xextern int l_line1;
- Xextern int l_line2;
- Xextern int l_line3;
- Xextern int l_line4;
- Xextern int l_line5;
- Xextern int l_line6;
- X
- X
- X/*** begin star definition ***/
- X
- X/*
- X * Star Images
- X */
- X
- Xchar *S1[] = {
- X "*",
- X NULL
- X }; /* area = 1 */
- X
- X/* inner circle, r = 1 */
- Xchar *S2[] = {
- X "**",
- X "**",
- X NULL
- X }; /* area = 4 */
- X
- X/* outer circle, r = 1 */
- Xchar *S3[] = {
- X " * ",
- X "***",
- X " * ",
- X NULL
- X }; /* area = 5 */
- X
- Xchar *S3a[] = {
- X "***",
- X "***",
- X "***",
- X NULL
- X }; /* area = 9 */
- X
- X/* inner circle, r = 2 */
- Xchar *S4[] = {
- X " ** ",
- X "****",
- X "****",
- X " ** ",
- X NULL
- X }; /* area = 12 */
- X
- Xchar *S4a[] = {
- X " * ",
- X " *** ",
- X "*****",
- X " *** ",
- X " * ",
- X NULL
- X }; /* area = 13 */
- X
- X/* outer circle, r = 2 */
- Xchar *S5[] = {
- X " *** ",
- X "*****",
- X "*****",
- X "*****",
- X " *** ",
- X NULL
- X }; /* area = 21 */
- X
- X/* inner circle, r = 3 */
- Xchar *S6[] = {
- X " **** ",
- X "******",
- X "******",
- X "******",
- X "******",
- X " **** ",
- X NULL
- X }; /* area = 32 */
- X
- X/* outer circle, r = 3 */
- Xchar *S7[] = {
- X " *** ",
- X " ***** ",
- X "*******",
- X "*******",
- X "*******",
- X " ***** ",
- X " *** ",
- X NULL
- X }; /* area = 37 */
- X
- X/* inner circle, r = 4 */
- Xchar *S8[] = {
- X " **** ",
- X " ****** ",
- X "********",
- X "********",
- X "********",
- X "********",
- X " ****** ",
- X " **** ",
- X NULL
- X }; /* area = 52 */
- X
- X/* outer circle, r = 4 */
- Xchar *S9[] = {
- X " *** ",
- X " ******* ",
- X " ******* ",
- X "*********",
- X "*********",
- X "*********",
- X " ******* ",
- X " ******* ",
- X " *** ",
- X NULL
- X }; /* area = 61 */
- X
- X/* inner circle, r = 5 */
- Xchar *S10[] = {
- X " **** ",
- X " ****** ",
- X " ******** ",
- X "**********",
- X "**********",
- X "**********",
- X "**********",
- X " ******** ",
- X " ****** ",
- X " **** ",
- X NULL
- X }; /* area = 76 */
- X
- X/* outer circle, r = 5 */
- Xchar *S11[] = {
- X " ***** ",
- X " ******* ",
- X " ********* ",
- X "***********",
- X "***********",
- X "***********",
- X "***********",
- X "***********",
- X " ********* ",
- X " ******* ",
- X " ***** ",
- X NULL
- X }; /* area = 97 */
- X
- X/* inner circle, r = 6 */
- Xchar *S12[] = {
- X " **** ",
- X " ******** ",
- X " ********** ",
- X " ********** ",
- X "************",
- X "************",
- X "************",
- X "************",
- X " ********** ",
- X " ********** ",
- X " ******** ",
- X " **** ",
- X NULL
- X }; /* area = 112 */
- X
- X/* outer circle, r = 6 */
- Xchar *S13[] = {
- X " ***** ",
- X " ********* ",
- X " *********** ",
- X " *********** ",
- X "*************",
- X "*************",
- X "*************",
- X "*************",
- X "*************",
- X " *********** ",
- X " *********** ",
- X " ********* ",
- X " ***** ",
- X NULL
- X }; /* area = 129 */
- X
- X/* inner circle, r = 7 */
- Xchar *S14[] = {
- X " ****** ",
- X " ******** ",
- X " ********** ",
- X " ************ ",
- X "**************",
- X "**************",
- X "**************",
- X "**************",
- X "**************",
- X "**************",
- X " ************ ",
- X " ********** ",
- X " ******** ",
- X " ****** ",
- X NULL
- X }; /* area = 156 */
- X
- X/* outer circle, r = 7 */
- Xchar *S15[] = {
- X " ***** ",
- X " ********* ",
- X " *********** ",
- X " ************* ",
- X " ************* ",
- X "***************",
- X "***************",
- X "***************",
- X "***************",
- X "***************",
- X " ************* ",
- X " ************* ",
- X " *********** ",
- X " ********* ",
- X " ***** ",
- X NULL
- X }; /* area = 177 */
- X
- X/* inner circle, r = 8 */
- Xchar *S16[] = {
- X " ****** ",
- X " ********** ",
- X " ************ ",
- X " ************** ",
- X " ************** ",
- X "****************",
- X "****************",
- X "****************",
- X "****************",
- X "****************",
- X "****************",
- X " ************** ",
- X " ************** ",
- X " ************ ",
- X " ********** ",
- X " ****** ",
- X NULL
- X }; /* area = 208 */
- X
- X/* outer circle, r = 8 */
- Xchar *S17[] = {
- X " ***** ",
- X " ********* ",
- X " *********** ",
- X " ************* ",
- X " *************** ",
- X " *************** ",
- X "*****************",
- X "*****************",
- X "*****************",
- X "*****************",
- X "*****************",
- X " *************** ",
- X " *************** ",
- X " ************* ",
- X " *********** ",
- X " ********* ",
- X " ***** ",
- X NULL
- X }; /* area = 221 */
- X
- X/* inner circle, r = 9 */
- Xchar *S18[] = {
- X " ****** ",
- X " ********** ",
- X " ************ ",
- X " ************** ",
- X " **************** ",
- X " **************** ",
- X "******************",
- X "******************",
- X "******************",
- X "******************",
- X "******************",
- X "******************",
- X " **************** ",
- X " **************** ",
- X " ************** ",
- X " ************ ",
- X " ********** ",
- X " ****** ",
- X NULL
- X }; /* area = 256 */
- X
- X/* outer circle, r = 9 */
- Xchar *S19[] = {
- X " ***** ",
- X " ********* ",
- X " ************* ",
- X " *************** ",
- X " *************** ",
- X " ***************** ",
- X " ***************** ",
- X "*******************",
- X "*******************",
- X "*******************",
- X "*******************",
- X "*******************",
- X " ***************** ",
- X " ***************** ",
- X " *************** ",
- X " *************** ",
- X " ************* ",
- X " ********* ",
- X " ***** ",
- X NULL
- X }; /* area = 277 */
- X
- X/* inner circle, r = 10 */
- Xchar *S20[] = {
- X " ****** ",
- X " ********** ",
- X " ************ ",
- X " ************** ",
- X " **************** ",
- X " ****************** ",
- X " ****************** ",
- X "********************",
- X "********************",
- X "********************",
- X "********************",
- X "********************",
- X "********************",
- X " ****************** ",
- X " ****************** ",
- X " **************** ",
- X " ************** ",
- X " ************ ",
- X " ********** ",
- X " ****** ",
- X NULL
- X }; /* area = 308 */
- X
- X/* outer circle, r = 10 */
- Xchar *S21[] = {
- X " ******* ",
- X " *********** ",
- X " ************* ",
- X " *************** ",
- X " ***************** ",
- X " ******************* ",
- X " ******************* ",
- X "*********************",
- X "*********************",
- X "*********************",
- X "*********************",
- X "*********************",
- X "*********************",
- X "*********************",
- X " ******************* ",
- X " ******************* ",
- X " ***************** ",
- X " *************** ",
- X " ************* ",
- X " *********** ",
- X " ******* ",
- X NULL
- X }; /* area = 349 */
- X
- X/* inner circle, r = 11 */
- Xchar *S22[] = {
- X " ****** ",
- X " ********** ",
- X " ************** ",
- X " **************** ",
- X " ****************** ",
- X " ****************** ",
- X " ******************** ",
- X " ******************** ",
- X "**********************",
- X "**********************",
- X "**********************",
- X "**********************",
- X "**********************",
- X "**********************",
- X " ******************** ",
- X " ******************** ",
- X " ****************** ",
- X " ****************** ",
- X " **************** ",
- X " ************** ",
- X " ********** ",
- X " ****** ",
- X NULL
- X }; /* area = 376 */
- X
- X/* outer circle, r = 11 */
- Xchar *S23[] = {
- X " ******* ",
- X " *********** ",
- X " ************* ",
- X " ***************** ",
- X " ***************** ",
- X " ******************* ",
- X " ********************* ",
- X " ********************* ",
- X "***********************",
- X "***********************",
- X "***********************",
- X "***********************",
- X "***********************",
- X "***********************",
- X "***********************",
- X " ********************* ",
- X " ********************* ",
- X " ******************* ",
- X " ***************** ",
- X " ***************** ",
- X " ************* ",
- X " *********** ",
- X " ******* ",
- X NULL
- X }; /* area = 413 */
- X
- X/* inner circle, r = 12 */
- Xchar *S24[] = {
- X " ****** ",
- X " ************ ",
- X " ************** ",
- X " **************** ",
- X " ****************** ",
- X " ******************** ",
- X " ********************** ",
- X " ********************** ",
- X " ********************** ",
- X "************************",
- X "************************",
- X "************************",
- X "************************",
- X "************************",
- X "************************",
- X " ********************** ",
- X " ********************** ",
- X " ********************** ",
- X " ******************** ",
- X " ****************** ",
- X " **************** ",
- X " ************** ",
- X " ************ ",
- X " ****** ",
- X NULL
- X }; /* area = 448 */
- X
- X/* outer circle, r = 12 */
- Xchar *S25[] = {
- X " ******* ",
- X " *********** ",
- X " *************** ",
- X " ***************** ",
- X " ******************* ",
- X " ********************* ",
- X " ********************* ",
- X " *********************** ",
- X " *********************** ",
- X "*************************",
- X "*************************",
- X "*************************",
- X "*************************",
- X "*************************",
- X "*************************",
- X "*************************",
- X " *********************** ",
- X " *********************** ",
- X " ********************* ",
- X " ********************* ",
- X " ******************* ",
- X " ***************** ",
- X " *************** ",
- X " *********** ",
- X " ******* ",
- X NULL
- X }; /* area = 489 */
- X
- X/* inner circle, r = 13 */
- Xchar *S26[] = {
- X " ******** ",
- X " ************ ",
- X " **************** ",
- X " ****************** ",
- X " ******************** ",
- X " ********************** ",
- X " ********************** ",
- X " ************************ ",
- X " ************************ ",
- X "**************************",
- X "**************************",
- X "**************************",
- X "**************************",
- X "**************************",
- X "**************************",
- X "**************************",
- X "**************************",
- X " ************************ ",
- X " ************************ ",
- X " ********************** ",
- X " ********************** ",
- X " ******************** ",
- X " ****************** ",
- X " **************** ",
- X " ************ ",
- X " ******** ",
- X NULL
- X }; /* area = 540 */
- X
- X/* outer circle, r = 13 */
- Xchar *S27[] = {
- X " ******* ",
- X " ************* ",
- X " *************** ",
- X " ***************** ",
- X " ******************* ",
- X " ********************* ",
- X " *********************** ",
- X " ************************* ",
- X " ************************* ",
- X " ************************* ",
- X "***************************",
- X "***************************",
- X "***************************",
- X "***************************",
- X "***************************",
- X "***************************",
- X "***************************",
- X " ************************* ",
- X " ************************* ",
- X " ************************* ",
- X " *********************** ",
- X " ********************* ",
- X " ******************* ",
- X " ***************** ",
- X " *************** ",
- X " ************* ",
- X " ******* ",
- X NULL
- X }; /* area = 569 */
- X
- X/* inner circle, r = 14 */
- Xchar *S28[] = {
- X " ******** ",
- X " ************ ",
- X " **************** ",
- X " ****************** ",
- X " ******************** ",
- X " ********************** ",
- X " ************************ ",
- X " ************************ ",
- X " ************************** ",
- X " ************************** ",
- X "****************************",
- X "****************************",
- X "****************************",
- X "****************************",
- X "****************************",
- X "****************************",
- X "****************************",
- X "****************************",
- X " ************************** ",
- X " ************************** ",
- X " ************************ ",
- X " ************************ ",
- X " ********************** ",
- X " ******************** ",
- X " ****************** ",
- X " **************** ",
- X " ************ ",
- X " ******** ",
- X NULL
- X }; /* area = 616 */
- X
- X/* outer circle, r = 14 */
- Xchar *S29[] = {
- X " ******* ",
- X " ************* ",
- X " *************** ",
- X " ******************* ",
- X " ********************* ",
- X " *********************** ",
- X " *********************** ",
- X " ************************* ",
- X " *************************** ",
- X " *************************** ",
- X " *************************** ",
- X "*****************************",
- X "*****************************",
- X "*****************************",
- X "*****************************",
- X "*****************************",
- X "*****************************",
- X "*****************************",
- X " *************************** ",
- X " *************************** ",
- X " *************************** ",
- X " ************************* ",
- X " *********************** ",
- X " *********************** ",
- X " ********************* ",
- X " ******************* ",
- X " *************** ",
- X " ************* ",
- X " ******* ",
- X NULL
- X }; /* area = 657 */
- X
- X/*
- X * list of images in order of decreasing size
- X */
- Xchar **star_image_tab[] = {
- X S1, S2, S3, S3a, S4, S4a, S5, S6, S7, S8, S9, S10,
- X S11, S12, S13, S14, S15, S16, S17, S18, S19, S20,
- X S21, S22, S23, S24, S25, S26, S27, S28, S29
- X };
- X
- X/*
- X * pointer to "compiled" version of each image
- X */
- X#define N_IMAGES (sizeof star_image_tab /sizeof (char **))
- Xint *star_def_tab[N_IMAGES];
- X
- X/*
- X * table which converts from star magnitude to an index into star_def_tab.
- X *
- X * table entry 0 corresponds to magnitude -1.5 and so on up to
- X * magnitude 10.0 increments of 0.1 magnitude.
- X */
- X#ifdef BIG_STARS
- Xshort star_mag_to_image[] = {
- X 30, /* -1.5 */
- X 30, /* -1.4 */
- X 30, /* -1.3 */
- X 30, /* -1.2 */
- X 30, /* -1.1 */
- X 30, /* -1.0 */
- X 30, /* -0.9 */
- X 30, /* -0.8 */
- X 29, /* -0.7 */
- X 28, /* -0.6 */
- X 27, /* -0.5 */
- X 26, /* -0.4 */
- X 26, /* -0.3 */
- X 25, /* -0.2 */
- X 24, /* -0.1 */
- X 23, /* 0.0 */
- X 22, /* 0.1 */
- X 22, /* 0.2 */
- X 21, /* 0.3 */
- X 20, /* 0.4 */
- X 20, /* 0.5 */
- X 19, /* 0.6 */
- X 18, /* 0.7 */
- X 18, /* 0.8 */
- X 17, /* 0.9 */
- X 16, /* 1.0 */
- X 16, /* 1.1 */
- X 16, /* 1.2 */
- X 15, /* 1.3 */
- X 15, /* 1.4 */
- X 14, /* 1.5 */
- X 14, /* 1.6 */
- X 13, /* 1.7 */
- X 13, /* 1.8 */
- X 12, /* 1.9 */
- X 12, /* 2.0 */
- X 12, /* 2.1 */
- X 11, /* 2.2 */
- X 11, /* 2.3 */
- X 11, /* 2.4 */
- X 10, /* 2.5 */
- X 10, /* 2.6 */
- X 10, /* 2.7 */
- X 9, /* 2.8 */
- X 9, /* 2.9 */
- X 9, /* 3.0 */
- X 9, /* 3.1 */
- X 8, /* 3.2 */
- X 8, /* 3.3 */
- X 8, /* 3.4 */
- X 7, /* 3.5 */
- X 7, /* 3.6 */
- X 7, /* 3.7 */
- X 7, /* 3.8 */
- X 6, /* 3.9 */
- X 6, /* 4.0 */
- X 6, /* 4.1 */
- X 6, /* 4.2 */
- X 6, /* 4.3 */
- X 6, /* 4.4 */
- X 6, /* 4.5 */
- X 5, /* 4.6 */
- X 5, /* 4.7 */
- X 5, /* 4.8 */
- X 5, /* 4.9 */
- X 4, /* 5.0 */
- X 4, /* 5.1 */
- X 3, /* 5.2 */
- X 3, /* 5.3 */
- X 3, /* 5.4 */
- X 3, /* 5.5 */
- X 3, /* 5.6 */
- X 3, /* 5.7 */
- X 3, /* 5.8 */
- X 2, /* 5.9 */
- X 2, /* 6.0 */
- X 2, /* 6.1 */
- X 2, /* 6.2 */
- X 2, /* 6.3 */
- X 2, /* 6.4 */
- X 1, /* 6.5 */
- X 1, /* 6.6 */
- X 1, /* 6.7 */
- X 1, /* 6.8 */
- X 1, /* 6.9 */
- X 1, /* 7.0 */
- X 1, /* 7.1 */
- X 1, /* 7.2 */
- X 0, /* 7.3 */
- X 0, /* 7.4 */
- X 0, /* 7.5 */
- X 0, /* 7.6 */
- X 0, /* 7.7 */
- X 0, /* 7.8 */
- X 0, /* 7.9 */
- X 0, /* 8.0 */
- X 0, /* 8.1 */
- X 0, /* 8.2 */
- X 0, /* 8.3 */
- X 0, /* 8.4 */
- X 0, /* 8.5 */
- X 0, /* 8.6 */
- X 0, /* 8.7 */
- X 0, /* 8.8 */
- X 0, /* 8.9 */
- X 0, /* 9.0 */
- X 0, /* 9.1 */
- X 0, /* 9.2 */
- X 0, /* 9.3 */
- X 0, /* 9.4 */
- X 0, /* 9.5 */
- X 0, /* 9.6 */
- X 0, /* 9.7 */
- X 0, /* 9.8 */
- X 0, /* 9.9 */
- X 0, /* 10.0 */
- X};
- X#else
- Xshort star_mag_to_image[] = {
- X 8, /* -1.5 */
- X 8, /* -1.4 */
- X 8, /* -1.3 */
- X 8, /* -1.2 */
- X 8, /* -1.1 */
- X 8, /* -1.0 */
- X 8, /* -0.9 */
- X 8, /* -0.8 */
- X 8, /* -0.7 */
- X 8, /* -0.6 */
- X 8, /* -0.5 */
- X 8, /* -0.4 */
- X 8, /* -0.3 */
- X 8, /* -0.2 */
- X 8, /* -0.1 */
- X 8, /* 0.0 */
- X 8, /* 0.1 */
- X 8, /* 0.2 */
- X 8, /* 0.3 */
- X 8, /* 0.4 */
- X 7, /* 0.5 */
- X 7, /* 0.6 */
- X 7, /* 0.7 */
- X 7, /* 0.8 */
- X 7, /* 0.9 */
- X 7, /* 1.0 */
- X 7, /* 1.1 */
- X 7, /* 1.2 */
- X 7, /* 1.3 */
- X 7, /* 1.4 */
- X 6, /* 1.5 */
- X 6, /* 1.6 */
- X 6, /* 1.7 */
- X 6, /* 1.8 */
- X 6, /* 1.9 */
- X 6, /* 2.0 */
- X 6, /* 2.1 */
- X 6, /* 2.2 */
- X 6, /* 2.3 */
- X 6, /* 2.4 */
- X 5, /* 2.5 */
- X 5, /* 2.6 */
- X 5, /* 2.7 */
- X 5, /* 2.8 */
- X 5, /* 2.9 */
- X 5, /* 3.0 */
- X 5, /* 3.1 */
- X 5, /* 3.2 */
- X 5, /* 3.3 */
- X 5, /* 3.4 */
- X 4, /* 3.5 */
- X 4, /* 3.6 */
- X 4, /* 3.7 */
- X 4, /* 3.8 */
- X 4, /* 3.9 */
- X 4, /* 4.0 */
- X 4, /* 4.1 */
- X 4, /* 4.2 */
- X 4, /* 4.3 */
- X 4, /* 4.4 */
- X 3, /* 4.5 */
- X 3, /* 4.6 */
- X 3, /* 4.7 */
- X 3, /* 4.8 */
- X 3, /* 4.9 */
- X 3, /* 5.0 */
- X 3, /* 5.1 */
- X 3, /* 5.2 */
- X 3, /* 5.3 */
- X 3, /* 5.4 */
- X 2, /* 5.5 */
- X 2, /* 5.6 */
- X 2, /* 5.7 */
- X 2, /* 5.8 */
- X 2, /* 5.9 */
- X 2, /* 6.0 */
- X 2, /* 6.1 */
- X 2, /* 6.2 */
- X 2, /* 6.3 */
- X 2, /* 6.4 */
- X 1, /* 6.5 */
- X 1, /* 6.6 */
- X 1, /* 6.7 */
- X 1, /* 6.8 */
- X 1, /* 6.9 */
- X 1, /* 7.0 */
- X 1, /* 7.1 */
- X 1, /* 7.2 */
- X 1, /* 7.3 */
- X 1, /* 7.4 */
- X 0, /* 7.5 */
- X 0, /* 7.6 */
- X 0, /* 7.7 */
- X 0, /* 7.8 */
- X 0, /* 7.9 */
- X 0, /* 8.0 */
- X 0, /* 8.1 */
- X 0, /* 8.2 */
- X 0, /* 8.3 */
- X 0, /* 8.4 */
- X 0, /* 8.5 */
- X 0, /* 8.6 */
- X 0, /* 8.7 */
- X 0, /* 8.8 */
- X 0, /* 8.9 */
- X 0, /* 9.0 */
- X 0, /* 9.1 */
- X 0, /* 9.2 */
- X 0, /* 9.3 */
- X 0, /* 9.4 */
- X 0, /* 9.5 */
- X 0, /* 9.6 */
- X 0, /* 9.7 */
- X 0, /* 9.8 */
- X 0, /* 9.9 */
- X 0, /* 10.0 */
- X};
- X#endif
- X
- X/*** end of star definition ***/
- X
- X/* Planetary images */
- X
- Xchar *Sun[] = {
- X " ",
- X " ",
- X " *** ",
- X " * * ",
- X " * * * ",
- X " * * ",
- X " *** ",
- X " ",
- X " ",
- X NULL
- X };
- X
- Xchar *Luna[] = {
- X " ** ",
- X " ** ",
- X " ** ",
- X " * * ",
- X " * * ",
- X " * * ",
- X " ** ",
- X " ** ",
- X " ** ",
- X NULL
- X };
- X
- Xchar *Mercury[] = {
- X " * * ",
- X " *** ",
- X " * * ",
- X " * * ",
- X " * * ",
- X " *** ",
- X " * ",
- X " *** ",
- X " * ",
- X NULL
- X };
- X
- Xchar *Venus[] = {
- X " ",
- X " *** ",
- X " * * ",
- X " * * ",
- X " * * ",
- X " *** ",
- X " * ",
- X " *** ",
- X " * ",
- X NULL
- X };
- X
- Xchar *Mars[] = {
- X " ",
- X " *** ",
- X " ** ",
- X " * * ",
- X " * ",
- X " *** ",
- X " * * ",
- X " * * ",
- X " *** ",
- X NULL
- X };
- X
- Xchar *Jupiter[] = {
- X " * ",
- X " * * * ",
- X " * * ",
- X " * * ",
- X " * * ",
- X " * * ",
- X " **** ",
- X " * ",
- X " ",
- X NULL
- X };
- X
- Xchar *Saturn[] = {
- X " ",
- X " *** ",
- X " * ",
- X " * ",
- X " *** ",
- X " * * ",
- X " * * ",
- X " * * ",
- X " * ",
- X NULL
- X };
- X
- Xchar *Uranus[] = {
- X " * ",
- X " *** ",
- X " * * * ",
- X " * ",
- X " *** ",
- X " * * ",
- X " * * * ",
- X " * * ",
- X " *** ",
- X NULL
- X };
- X
- Xchar *Neptune[] = {
- X " * * * ",
- X " * * * ",
- X " * * * ",
- X " * * * ",
- X " *** ",
- X " * ",
- X " *** ",
- X " * ",
- X " ",
- X NULL
- X };
- X
- Xchar *Pluto[] = {
- X " ",
- X " **** ",
- X " * * ",
- X " * * ",
- X " **** ",
- X " * ",
- X " ***** ",
- X " ",
- X NULL
- X };
- X
- Xchar *Comet[] = {
- X " * *",
- X " * * ",
- X " *** ",
- X " **** * *",
- X " ***** * ",
- X " *** ",
- X " * * ",
- X " * *",
- X NULL
- X };
- X
- Xchar *Aster[] = {
- X "* *",
- X " * * ",
- X " * * * ",
- X " *** ",
- X " *** ",
- X " * * * ",
- X " * * ",
- X "* *",
- X NULL
- X };
- X
- X/* Galaxy images */
- X
- Xchar *Gal_E[] = {
- X "*** ",
- X "**** ",
- X "***** ",
- X " *****",
- X " ****",
- X " ***",
- X NULL
- X };
- X
- Xchar *Gal_S[] = {
- X " *** ",
- X "* * ",
- X " ** ",
- X " **** ",
- X " ** ",
- X " * *",
- X " *** ",
- X NULL
- X };
- X
- X/* Cluster images */
- X
- Xchar *Clu_G[] = {
- X " * ",
- X " * * ",
- X " * ",
- X "* *** *",
- X " * ",
- X " * * ",
- X " * ",
- X NULL
- X };
- X
- Xchar *Clu_O[] = {
- X " * ",
- X " * * ",
- X " ",
- X "* *",
- X " ",
- X " * * ",
- X " * ",
- X NULL
- X };
- X
- X/* Nebula images */
- X
- Xchar *Neb_D[] = {
- X " * ",
- X " * * ",
- X "* *",
- X " * * ",
- X " * ",
- X NULL
- X };
- X
- Xchar *Neb_P[] = {
- X " ***",
- X " * *",
- X " * *",
- X "* * ",
- X "* * ",
- X "*** ",
- X NULL
- X };
- X
- X/* Other images */
- X
- Xchar *Unk_U[] = {
- X " *** ",
- X "* *",
- X " **",
- X " * ",
- X " * ",
- X " ",
- X " * ",
- X NULL
- X };
- X
- Xchar *Other_O[] = {
- X "* * * ",
- X " * * *",
- X "* * * ",
- X " * * *",
- X "* * * ",
- X " * * *",
- X NULL
- X };
- X
- Xchar *calloc();
- X
- X/**********************************************************************
- X**
- X** cimage:
- X**
- X** Parameters:
- X** image char ** pointer to ascii reprentation of images
- X**
- X** Function:
- X** 'compiles' star image data for drawlen from char pointers given
- X** this method simplifies the creation and updating of images.
- X** The lengths of rows of images MUST be equal !!
- X**
- X** Returns:
- X** NULL when ptr != NULL, pointer to allocated vector defining
- X** drawlen information and ending to ENDCOORD value when ptr == NULL
- X**
- X** History:
- X**
- X** Modified from cstar by Steve Kennedy 3/1/89
- X**
- X*/
- Xint *
- Xcimage(image)
- Xchar **image;
- X{
- X int n; /* number of lines gathered */
- X int len; /* longest line found */
- X int cx, cy; /* center points */
- X char *ptr;
- X char **rptr;
- X int *retarea;
- X int i,j, x, s, l;
- X
- X
- X n = 0;
- X len = 0;
- X for (rptr = image; *rptr != NULL; ++rptr, ++n)
- X {
- X cx = strlen (*rptr); /* get max len */
- X if (cx > len) len = cx;
- X }
- X
- X /*
- X ** start 'compilation'
- X */
- X cy = n / 2; /* align */
- X cx = len / 2;
- X
- X /*
- X ** allocate offset area
- X */
- X retarea = (int *) calloc
- X ((unsigned)(len * n * (n / 2 + 1) * 3 + 1), sizeof (int));
- X if (retarea == NULL) {
- X perror ("Memory allocation failed");
- X exit (2);
- X }
- X /*
- X ** fill return area
- X */
- X j = 0;
- X for (i = 0; i < n; i++) {
- X l = 0; s = 0; x = 0;
- X ptr = image [i];
- X while (*ptr) {
- X if (*ptr == ' ') {
- X if (l) { /* flush */
- X retarea [j++] = s - cx;
- X/* retarea [j++] = i - cy;*/
- X retarea [j++] = cy - i;
- X retarea [j++] = l;
- X
- X l = 0;
- X }
- X }
- X else {
- X if (l)
- X l++;
- X else {
- X s = x;
- X l = 1;
- X }
- X }
- X ptr++;
- X x++;
- X } /* while */
- X if (l) { /* flush */
- X retarea [j++] = s - cx;
- X/* retarea [j++] = i - cy;*/
- X retarea [j++] = cy - i;
- X retarea [j++] = l;
- X }
- X } /* for */
- X n = 0;
- X retarea [j] = ENDCOORD;
- X return retarea;
- X} /* cimage */
- X
- X
- X/* Interface Function */
- X/* Draw object at x, y. properties set by other parameters */
- Xdrawobj(x, y, mag, type, color_str, label_field, con_str, obj_name,
- X comment_str, file_line,
- X draw_glyph, draw_text, use_lbl, use_name, use_mag)
- X
- X int x, y;
- X double mag; /* Magnitude of object */
- X char *type; /* 2 chars, object code and subcode */
- X char *color_str; /* 2 chars, spectral type for stars,
- X color code otherwise */
- X char *label_field; /* 2 chars, Bayer or flamsteed for stars,
- X size in seconds for nebulae and
- X planets */
- X char *con_str; /* 3 chars, the constellation the object is in */
- X char *obj_name; /* Name of object */
- X char *comment_str; /* Comment field */
- X char *file_line; /* The full line from the file,
- X containing the above if it is in
- X standard format */
- X int draw_glyph; /* Draw object symbol */
- X int draw_text; /* Draw text */
- X int use_lbl; /* Label object with the label_field string */
- X int use_name; /* Label object with the obj_name string */
- X int use_mag; /* Label object with a 2 or 3 character string
- X containing the magnitude * 10 without
- X decimal point */
- X{
- X char magstr[10];
- X
- X/*fprintf(stderr, "%d %d %f <%s> <%s> <%s> <%s> <%s> <%s> <%s>\n", x, y, mag,
- X type, color_str, label_field, con_str, obj_name, comment_str,
- X file_line);*/
- X
- X if (draw_glyph)
- X switch(type[0]) {
- X case 'S': drawStar(x,y,mag,type[1],color_str);
- X break;
- X case 'P': drawPlan(x,y,mag,type[1],color_str, size_obj(label_field),
- X comment_str);
- X break;
- X case 'N': drawNebu(x,y,mag,type[1],color_str, size_obj(label_field));
- X break;
- X case 'G': drawGalx(x,y,mag,type[1],color_str, size_obj(label_field));
- X break;
- X case 'C': drawClus(x,y,mag,type[1],color_str, size_obj(label_field));
- X break;
- X case 'U':
- X drawUnknown(x,y,mag,type[1],color_str, size_obj(label_field));
- X break;
- X case 'O':
- X drawOther(x,y,mag,type[1],color_str, size_obj(label_field));
- X break;
- X case 'V':
- X case 'A':
- X case 'I':
- X break;
- X case '#':
- X default:
- X break;
- X };
- X
- X
- X/*
- X * use name or label
- X */
- X if (draw_text) {
- X if (type[0] == 'I')
- X D_color(color_str);
- X else
- X D_color(" ");
- X
- X if (use_name && obj_name[0]) {
- X D_fontsize(namesize, namefnt);
- X D_text(x+x_nameoffset, y+y_nameoffset, obj_name, FALSE);
- X } else if (use_lbl &&
- X ((label_field[0] != ' ') || (label_field[1] != ' '))) {
- X D_fontsize(lblsize, lblfnt);
- X D_text(x+x_lbloffset, y+y_lbloffset, label_field, TRUE);
- X }
- X/* If you want to mag label other objects, change this */
- X if (use_mag && (type[0] == 'S')) {
- X sprintf(magstr, "%02d", (int)(mag*10.0+0.5));
- X D_fontsize(magsize, magfnt);
- X D_text(x+x_magoffset, y+y_magoffset, magstr, FALSE);
- X }
- X }
- X}
- X
- XdrawStar (x, y, mag, type, color)
- X int x, y;
- X double mag;
- X char type, *color;
- X{
- X int *coord;
- X int i;
- X int i_mag;
- X int maxlen;
- X
- X
- X if (mag < MIN_MAG)
- X {
- X mag = MIN_MAG;
- X }
- X else if (mag > MAX_MAG)
- X {
- X mag = MAX_MAG;
- X }
- X mag += 1.5;
- X
- X i_mag = star_mag_to_image[(int) (mag*10.0 + 0.5)];
- X
- X D_color(color);
- X switch (type)
- X {
- X case 'S':
- X default:
- X if (star_def_tab[i_mag] == NULL)
- X {
- X star_def_tab[i_mag] = cimage(star_image_tab[i_mag]);
- X }
- X coord = star_def_tab[i_mag];
- X break;
- X }
- X
- X i = 0;
- X maxlen = 0;
- X while (coord [i] != ENDCOORD)
- X {
- X drawlen (x, y, coord [i], coord [i+1], coord [i+2]);
- X#ifdef NOTYET
- X if (type == 'D' && coord [i+2] > maxlen)
- X {
- X maxlen = coord [i + 2];
- X dx = coord [i];
- X }
- X#endif
- X i += 3;
- X }
- X#ifdef NOTYET
- X if (type == 'D' && maxlen >= 5)
- X {
- X fprintf(stderr, "(%d,%d) dx=%d, dy=%d, len=%d\n",
- X x, y, dx, 0, maxlen);
- X drawlen(x, y, dx - 2, 0, maxlen + 4);
- X }
- X#endif
- X
- X D_color(" ");
- X}
- X
- X
- XdrawPlan(x, y, mag, pcode, color, plansize, comment_str)
- X int x,y;
- X double mag;
- X char pcode, *color;
- X long plansize;
- X char *comment_str;
- X{
- X static int def[128], *coord[128];
- X#define MOONR 5
- X#define DTR(x) ((x)*.0174532925199)
- X static char moon[2*MOONR+1][2*MOONR+2];
- X int *tcoord;
- X int i;
- X
- X D_color(color);
- X if (!def[pcode]) {
- X def[pcode] = 1;
- X switch (pcode) {
- X case 'S':
- X tcoord = cimage(Sun);
- X break;
- X case 'L':
- X tcoord = cimage(Luna);
- X break;
- X case 'M':
- X tcoord = cimage(Mercury);
- X break;
- X case 'V':
- X tcoord = cimage(Venus);
- X break;
- X case 'm':
- X tcoord = cimage(Mars);
- X break;
- X case 'J':
- X tcoord = cimage(Jupiter);
- X break;
- X case 's':
- X tcoord = cimage(Saturn);
- X break;
- X case 'U':
- X tcoord = cimage(Uranus);
- X break;
- X case 'N':
- X tcoord = cimage(Neptune);
- X break;
- X case 'P':
- X tcoord = cimage(Pluto);
- X break;
- X case 'C':
- X tcoord = cimage(Comet);
- X break;
- X case 'A':
- X tcoord = cimage(Aster);
- X break;
- X default:
- X tcoord = cimage(Unk_U);
- X break;
- X }
- X coord[pcode] = tcoord;
- X }
- X
- X i = 0;
- X while (coord[pcode][i] != ENDCOORD) {
- X drawlen (x, y, coord[pcode][i], coord[pcode][i+1],
- X coord[pcode][i+2]);
- X i += 3;
- X }
- X D_color(" ");
- X}
- X
- X
- XdrawGalx(x, y, mag, type, color, nebsize)
- Xint x, y;
- Xdouble mag;
- Xchar type, *color;
- Xlong nebsize; /* -1 should give default size */
- X{
- X static int defSpiral, *coordSpiral;
- X static int defEll, *coordEll;
- X int *coord;
- X int i;
- X
- X D_color(color);
- X switch (type)
- X {
- X case 'S':
- X default:
- X if (!defSpiral) {
- X defSpiral = 1;
- X coordSpiral = cimage(Gal_S);
- X }
- X coord = coordSpiral;
- X break;
- X case 'E':
- X if (!defEll) {
- X defEll = 1;
- X coordEll = cimage(Gal_E);
- X }
- X coord = coordEll;
- X break;
- X }
- X
- X i = 0;
- X while (coord [i] != ENDCOORD) {
- X drawlen (x, y, coord [i], coord [i+1], coord [i+2]);
- X i += 3;
- X }
- X D_color(" ");
- X}
- X
- XdrawClus(x, y, mag, type, color, nebsize)
- Xint x, y;
- Xdouble mag;
- Xchar type, *color;
- Xlong nebsize; /* -1 should give default size */
- X{
- X static int defGlob, *coordGlob;
- X static int defOpen, *coordOpen;
- X int *coord;
- X int i;
- X
- X D_color(color);
- X switch (type)
- X {
- X case 'G':
- X if (!defGlob) {
- X defGlob = 1;
- X coordGlob = cimage(Clu_G);
- X }
- X coord = coordGlob;
- X break;
- X case 'O':
- X default:
- X if (! defOpen) {
- X defOpen = 1;
- X coordOpen = cimage(Clu_O);
- X }
- X coord = coordOpen;
- X break;
- X }
- X
- X i = 0;
- X while (coord [i] != ENDCOORD) {
- X drawlen (x, y, coord [i], coord [i+1], coord [i+2]);
- X i += 3;
- X }
- X D_color(" ");
- X}
- X
- XdrawNebu(x, y, mag, type, color, nebsize)
- Xint x, y;
- Xdouble mag;
- Xchar type, *color;
- Xlong nebsize; /* -1 should give default size */
- X{
- X static int defDiff, *coordDiff;
- X static int defPlan, *coordPlan;
- X int *coord;
- X int i;
- X
- X D_color(color);
- X switch (type)
- X {
- X case 'P':
- X if (!defPlan) {
- X defPlan = 1;
- X coordPlan = cimage(Neb_P);
- X }
- X coord = coordPlan;
- X break;
- X default:
- X case 'D':
- X if (!defDiff) {
- X defDiff = 1;
- X coordDiff = cimage(Neb_D);
- X }
- X coord = coordDiff;
- X break;
- X }
- X
- X i = 0;
- X while (coord [i] != ENDCOORD) {
- X drawlen (x, y, coord [i], coord [i+1], coord [i+2]);
- X i += 3;
- X }
- X D_color(" ");
- X}
- X
- XdrawUnknown(x, y, mag, type, color, nebsize)
- Xint x, y;
- Xdouble mag;
- Xchar type, *color;
- Xlong nebsize; /* -1 should give default size */
- X{
- X static int defUnk, *coordUnk;
- X int *coord;
- X int i;
- X
- X D_color(color);
- X switch (type)
- X {
- X case ' ':
- X default:
- X if (!defUnk) {
- X defUnk = 1;
- X coordUnk = cimage(Unk_U);
- X }
- X coord = coordUnk;
- X break;
- X }
- X
- X i = 0;
- X while (coord [i] != ENDCOORD) {
- X drawlen (x, y, coord [i], coord [i+1], coord [i+2]);
- X i += 3;
- X }
- X D_color(" ");
- X}
- X
- XdrawOther(x, y, mag, type, color, nebsize)
- Xint x, y;
- Xdouble mag;
- Xchar type, *color;
- Xlong nebsize; /* -1 should give default size */
- X{
- X static int defOthr_O, *coordOthr_O;
- X int *coord;
- X int i;
- X
- X D_color(color);
- X switch (type)
- X {
- X case ' ':
- X default:
- X if (!defOthr_O) {
- X defOthr_O = 1;
- X coordOthr_O = cimage(Other_O);
- X }
- X coord = coordOthr_O;
- X break;
- X }
- X
- X i = 0;
- X while (coord [i] != ENDCOORD) {
- X drawlen (x, y, coord [i], coord [i+1], coord [i+2]);
- X i += 3;
- X }
- X D_color(" ");
- X}
- X
- X
- X#ifdef AREAS
- X/* Functions for areas, drawn as lines for now */
- Xstatic struct {int x,y;} areapts[1000];
- Xstatic int nareapts;
- X/* Move to (x, y) to begin an area */
- XD_areamove(x, y)
- X int x, y;
- X{
- X nareapts = 0;
- X areapts[nareapts].x = x;
- X areapts[nareapts].y = y;
- X nareapts++;
- X}
- X
- X/* Add a segment to the area border */
- XD_areaadd(x, y)
- X int x, y;
- X{
- X areapts[nareapts].x = x;
- X areapts[nareapts].y = y;
- X nareapts++;
- X}
- X
- X/* Fill the area, after adding the last segment */
- XD_areafill(x, y)
- X int x, y;
- X{
- X int i;
- X
- X areapts[nareapts].x = x;
- X areapts[nareapts].y = y;
- X nareapts++;
- X
- X
- X D_move(areapts[0].x, areapts[0].y);
- X
- X for (i = 1; i < nareapts; i++)
- X D_draw(areapts[i].x, areapts[i].y);
- X}
- X#endif
- X
- X
- X
- X
- X/* Note externs which are used */
- X
- Xchartlegend(win)
- X mapwindow *win;
- X{
- X char ras[20], dls[20], outstr[40];
- X if (!title[0]) title = "LEGEND";
- X rastr(ras, win->racen);
- X declstr(dls, win->dlcen);
- X
- X if (win->map_type != FULLPAGEMAP) {
- X sprintf(outstr, "(%s,%s lim: %2.1f)", ras, dls, win->maglim);
- X D_fontsize(titlesize, titlefnt); D_text(l_lmar1, l_til, title, FALSE);
- X D_fontsize(subtlsize, subtlfnt); D_text(l_lmar1, l_stil, outstr, FALSE);
- X
- X drawStar(l_lmar2, l_line1, 0.0, 'S', " ");
- X D_fontsize(namesize, namefnt);
- X D_text(l_ltext, l_line1,"<0.5", FALSE);
- X if (win->maglim >= 0.5)
- X {
- X drawStar(l_rmar2, l_line1, 1.0, 'S', " ");
- X D_fontsize(namesize, namefnt);
- X D_text( l_rtext, l_line1,"<1.5", FALSE);
- X }
- X if (win->maglim >= 1.5)
- X {
- X drawStar(l_lmar2, l_line2, 2.0, 'S', " ");
- X D_fontsize(namesize, namefnt);
- X D_text(l_ltext, l_line2,"<2.5", FALSE);
- X }
- X if (win->maglim >= 2.5)
- X {
- X drawStar(l_rmar2, l_line2, 3.0, 'S', " ");
- X D_fontsize(namesize, namefnt);
- X D_text(l_rtext, l_line2,"<3.5", FALSE);
- X }
- X if (win->maglim >= 3.5)
- X {
- X drawStar(l_lmar2, l_line3, 4.0, 'S', " ");
- X D_fontsize(namesize, namefnt);
- X D_text(l_ltext, l_line3,"<4.5", FALSE);
- X }
- X if (win->maglim > 4.5)
- X {
- X drawStar(l_rmar2, l_line3, 5.0, 'S', " ");
- X D_fontsize(namesize, namefnt);
- X D_text(l_rtext, l_line3,">4.5", FALSE);
- X }
- X
- X D_fontsize(namesize, namefnt);
- X D_text(l_ltext,l_line4,"double", FALSE);
- X drawStar(l_lmar2,l_line4,2.0, 'D', " ");
- X D_fontsize(namesize, namefnt);
- X D_text(l_rtext,l_line4,"variable",FALSE);
- X drawStar(l_rmar2,l_line4,2.0, 'V', " ");
- X
- X D_fontsize(namesize, namefnt);
- X D_text(l_ltext,l_line5,"planet", FALSE);
- X drawPlan(l_lmar2,l_line5,1.0, ' ', " ", (long) -1, "");
- X
- X D_fontsize(namesize, namefnt);
- X D_text(l_rtext,l_line5,"galaxy", FALSE);
- X drawGalx(l_rmar2,l_line5,1.0, 'E', " ", (long) -1);
- X drawGalx(l_rmar1,l_line5,1.0, 'S', " ", (long) -1);
- X
- X D_fontsize(namesize, namefnt);
- X D_text(l_ltext,l_line6,"nebula", FALSE);
- X drawNebu(l_lmar2,l_line6,1.0, 'D', " ", (long) -1);
- X drawNebu( l_lmar1,l_line6,1.0, 'P', " ", (long) -1);
- X
- X D_fontsize(namesize, namefnt);
- X D_text(l_rtext,l_line6,"cluster", FALSE);
- X drawClus(l_rmar2,l_line6,1.0, 'O', " ", (long) -1);
- X drawClus(l_rmar1,l_line6,1.0, 'G', " ", (long) -1);
- X } else {
- X D_fontsize(namesize, namefnt);
- X
- X sprintf(outstr, "%s: %s,%s lim: %2.1f", title, ras, dls, win->maglim);
- X D_text(15, 15, outstr, FALSE);
- X }
- X}
- X
- X
- X
- END_OF_FILE
- if test 37431 -ne `wc -c <'starchart/starimages.c'`; then
- echo shar: \"'starchart/starimages.c'\" unpacked with wrong size!
- fi
- # end of 'starchart/starimages.c'
- fi
- echo shar: End of archive 28 \(of 32\).
- cp /dev/null ark28isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 32 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
-
-
-