v12i003: Starchart 3.2 update to 3.2.1 part 3/4
ccount at ATHENA.MIT.EDU
ccount at ATHENA.MIT.EDU
Sat Apr 14 09:01:47 AEST 1990
Posting-number: Volume 12, Issue 3
Submitted-by: ccount at ATHENA.MIT.EDU
Archive-name: starchart2/part03
#! /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 3 (of 4)."
# Contents: stch_pch.ac
# Wrapped by ccount at e40-008-10 on Wed Apr 4 19:12:08 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'stch_pch.ac' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'stch_pch.ac'\"
else
echo shar: Extracting \"'stch_pch.ac'\" \(45933 characters\)
sed "s/^X//" >'stch_pch.ac' <<'END_OF_FILE'
X+ ddx += alpha4;
X+ e_xdyu();
X+ } else
X+ e_yu();
X+ d += ddy;
X+ dy++;
X+ betady += beta;
X+ ddy += beta4;
X+ } while (alphadx > betady);
X+
X+ d = beta2 * ((long) dy * (dy + 1)) + alpha2 * ((long) dx * (dx - 2) + 1)
X+ + beta * (1 - alpha2);
X+ ddx = alpha2 * (3 - (dx << 1));
X+ ddy = beta4 * (1 + dy);
X+
X+ do {
X+ if (d <= 0) {
X+ d += ddy;
X+ ddy += beta4;
X+ dy++;
X+ e_xdyu();
X+ } else
X+ e_xd();
X+ d += ddx;
X+ ddx += alpha4;
X+ dx--;
X+ } while (dx > 0);
X+ }
X+
X+ fillelip(x, y, irx, iry, c)
X+ int x, y, irx, iry;
X+ unsigned c;
X+ {
X+
X+ beta = (long) irx *(long) irx;
X+ alpha = (long) iry *(long) iry;
X+
X+ if (alpha == 0L)
X+ alpha = 1L;
X+ if (beta == 0L)
X+ beta = 1L;
X+
X+ dy = 0;
X+ dx = irx;
X+ alpha2 = alpha << 1;
X+ alpha4 = alpha2 << 1;
X+ beta2 = beta << 1;
X+ beta4 = beta2 << 1;
X+ alphadx = alpha * dx;
X+ betady = 0;
X+ ddx = alpha4 * (1 - dx);
X+ ddy = beta2 * 3;
X+
X+ d = alpha2 * ((long) (dx - 1) * dx) + alpha + beta2 * (1 - alpha);
X+ rectfill(x - dx, y, x + dx, y, c);
X+
X+ do {
X+ if (d >= 0) {
X+ d += ddx;
X+ dx--;
X+ alphadx -= alpha;
X+ ddx += alpha4;
X+ }
X+ d += ddy;
X+ dy++;
X+ betady += beta;
X+ ddy += beta4;
X+ rectfill(x - dx, y + dy, x + dx, y + dy, c);
X+ rectfill(x - dx, y - dy, x + dx, y - dy, c);
X+ } while (alphadx > betady);
X+
X+ d = beta2 * ((long) dy * (dy + 1)) + alpha2 * ((long) dx * (dx - 2) + 1)
X+ + beta * (1 - alpha2);
X+ ddx = alpha2 * (3 - (dx << 1));
X+ ddy = beta4 * (1 + dy);
X+
X+ do {
X+ dx--;
X+ if (d <= 0) {
X+ d += ddy;
X+ ddy += beta4;
X+ dy++;
X+ rectfill(x - dx, y + dy, x + dx, y + dy, c);
X+ rectfill(x - dx, y - dy, x + dx, y - dy, c);
X+ }
X+ d += ddx;
X+ ddx += alpha4;
X+ } while (dx > 0);
X+ }
Xdiff -r -c ../../starchart3.2/starchart/starimages.c ./starimages.c
X*** ../../starchart3.2/starchart/starimages.c Wed Apr 4 18:28:52 1990
X--- ./starimages.c Wed Apr 4 18:31:47 1990
X***************
X*** 9,20 ****
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--- 9,24 ----
X **
X ** Modified for 3.0 by Craig Counterman Jan, 1989
X *
X! * Copyright (c) 1990 by Alan W. Paeth, Steve Kennedy and Craig Counterman.
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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***************
X*** 22,28 ****
X *
X */
X
X! static 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--- 26,32 ----
X *
X */
X
X! static char rcsid[]="$Header: starimages.c,v 2.12 90/04/03 00:33:19 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
Xdiff -r -c ../../starchart3.2/starchart/starlaser.c ./starlaser.c
X*** ../../starchart3.2/starchart/starlaser.c Wed Apr 4 18:28:53 1990
X--- ./starlaser.c Wed Apr 4 18:31:49 1990
X***************
X*** 19,28 ****
X */
X /*
X ! Modified for 3.0 January 1989 by Craig Counterman
X- ! (email: ccount at royal.mit.edu)
X */
X
X! static char rcsid[]="$Header: starlaser.c,v 2.4 90/03/10 15:34:47 ccount Exp $";
X
X /*
X ** This code is intended for ALL Laserjet family printers.
X--- 19,27 ----
X */
X /*
X ! Modified for 3.0 January 1989 by Craig Counterman
X */
X
X! static char rcsid[]="$Header: starlaser.c,v 2.6 90/04/03 00:33:33 ccount Exp $";
X
X /*
X ** This code is intended for ALL Laserjet family printers.
X***************
X*** 297,302 ****
X--- 296,302 ----
X break;
X case 'M':
X break;
X+ case 'C':
X case 'R':
X case 'N':
X case 'S':
Xdiff -r -c ../../starchart3.2/starchart/starm2.c ./starm2.c
X*** ../../starchart3.2/starchart/starm2.c Wed Apr 4 18:28:54 1990
X--- ./starm2.c Wed Apr 4 18:31:50 1990
X***************
X*** 2,15 ****
X * starm2.c, more routines formerly in starchart.c/starmain.c
X * revision 3.1 August, 1989
X *
X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth at watcgl)
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 2,17 ----
X * starm2.c, more routines formerly in starchart.c/starmain.c
X * revision 3.1 August, 1989
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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*** 17,23 ****
X */
X
X
X! static char rcsid[]="$Header: starm2.c,v 1.13 90/03/08 20:20:37 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 19,25 ----
X */
X
X
X! static char rcsid[]="$Header: starm2.c,v 1.15 90/04/03 00:33:40 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 331,362 ****
X if (min) sprintf(str, "%s%02dm", str, min);
X }
X
X chartragrid(win)
X mapwindow *win;
X {
X double glonc, glatc, glon;
X! double olon, olat;
X int xloc, yloc, xloc2, yloc2;
X double tlat1, tlon1, tlat2, tlon2;
X
X if (!win->draw_ragrid) return;
X
X cur_function = GRID_RA;
X
X! for (glonc = 0.0; glonc <= 360.0; glonc += win->ra_step) {
X glon = glonc + win->ra_strt;
X if (glon < 0.0) glon += 360.0;
X if (glon > 360.0) glon -= 360.0;
X olon = glon;
X! olat = glatc = -90.0;
X! for (glatc = -90.0; glatc <= 90.0; glatc += 10.0) {
X! if (clipr_xform(olat, olon, glatc, glon,
X &xloc, &yloc, &xloc2, &yloc2, TRUE,
X &tlat1, &tlon1, &tlat2, &tlon2)) {
X drawcurveline(tlat1, tlon1, tlat2, tlon2,
X xloc, yloc, xloc2, yloc2, DOTTED, TRUE, 0);
X }
X- olat = glatc;
X }
X }
X }
X--- 333,366 ----
X if (min) sprintf(str, "%s%02dm", str, min);
X }
X
X+
X+ #define ANGSKIP 10.0
X chartragrid(win)
X mapwindow *win;
X {
X double glonc, glatc, glon;
X! double olon;
X int xloc, yloc, xloc2, yloc2;
X double tlat1, tlon1, tlat2, tlon2;
X
X if (!win->draw_ragrid) return;
X+
X+ if(win->ra_step < 0 ) win->ra_step = - win->ra_step;
X
X cur_function = GRID_RA;
X
X! for (glonc = 0.0; glonc < 360.0; glonc += win->ra_step) {
X glon = glonc + win->ra_strt;
X if (glon < 0.0) glon += 360.0;
X if (glon > 360.0) glon -= 360.0;
X olon = glon;
X! for (glatc = -90.0 + ANGSKIP; glatc <= 90.0; glatc += ANGSKIP) {
X! if (clipr_xform(glatc - ANGSKIP, olon, glatc, glon,
X &xloc, &yloc, &xloc2, &yloc2, TRUE,
X &tlat1, &tlon1, &tlat2, &tlon2)) {
X drawcurveline(tlat1, tlon1, tlat2, tlon2,
X xloc, yloc, xloc2, yloc2, DOTTED, TRUE, 0);
X }
X }
X }
X }
X***************
X*** 364,410 ****
X chartdecgrid(win)
X mapwindow *win;
X {
X! double glonc, glatc, glat;
X! double olon, olat;
X int xloc, yloc, xloc2, yloc2;
X double tlat1, tlon1, tlat2, tlon2;
X!
X if (!win->draw_decgrid) return;
X!
X cur_function = GRID_DEC;
X!
X! for (glatc = 0; glatc <= 90.0; glatc += win->dec_step) {
X! glat = glatc + win->dec_strt;
X! if (glat < 0.0) glat = 0.0;
X! if (glat > 90.0) glat = 90.0;
X! olat = glat;
X! olon = glonc = 0.0;
X! for (glonc = 0.0; glonc <= 360.0; glonc += 10.0) {
X! if (clipr_xform(olat, olon, glat, glonc,
X &xloc, &yloc, &xloc2, &yloc2, FALSE,
X &tlat1, &tlon1, &tlat2, &tlon2)) {
X drawcurveline(tlat1, tlon1, tlat2, tlon2,
X xloc, yloc, xloc2, yloc2, DOTTED, FALSE, 0);
X }
X- olon = glonc;
X }
X! }
X! for (glatc = 0; glatc >= -90.0; glatc -= win->dec_step) {
X! glat = glatc + win->dec_strt;
X! if (glat < -90.0) glat = -90.0;
X! if (glat > 0.0) glat = 0.0;
X! olat = glat;
X! olon = glonc = 0.0;
X! for (glonc = 0.0; glonc <= 360.0; glonc += 10.0) {
X! if (clipr_xform(olat, olon, glat, glonc,
X! &xloc, &yloc, &xloc2, &yloc2, FALSE,
X! &tlat1, &tlon1, &tlat2, &tlon2)) {
X! drawcurveline(tlat1, tlon1, tlat2, tlon2,
X! xloc, yloc, xloc2, yloc2, DOTTED, FALSE, 0);
X! }
X! olon = glonc;
X! }
X! }
X }
X
X
X--- 368,399 ----
X chartdecgrid(win)
X mapwindow *win;
X {
X! double glonc, glatc;
X! double olat;
X int xloc, yloc, xloc2, yloc2;
X double tlat1, tlon1, tlat2, tlon2;
X!
X if (!win->draw_decgrid) return;
X!
X cur_function = GRID_DEC;
X!
X! if (win->dec_step < 0) win->dec_step = - win->dec_step;
X!
X! glatc = win->dec_strt;
X! /* search down to find southernmost line */
X! while ((olat = glatc - win->dec_step) > -90.0) glatc = olat;
X!
X! while (glatc < 90.0) {
X! for (glonc = ANGSKIP; glonc <= 360.0; glonc += ANGSKIP) {
X! if (clipr_xform(glatc, glonc - ANGSKIP, glatc, glonc,
X &xloc, &yloc, &xloc2, &yloc2, FALSE,
X &tlat1, &tlon1, &tlat2, &tlon2)) {
X drawcurveline(tlat1, tlon1, tlat2, tlon2,
X xloc, yloc, xloc2, yloc2, DOTTED, FALSE, 0);
X }
X }
X! glatc += win->dec_step;
X! };
X }
X
X
X***************
X*** 430,436 ****
X lon = DATAN2((coseps*DSIN(i)), (DCOS(i)));
X if (lon < 0.0) lon += 360.0; /* Eliminate discontinuity at -180 */
X if (clipr_xform(olat, olon, lat, lon,
X! &xloc, &yloc, &xloc2, &yloc2, FALSE,
X &tlat1, &tlon1, &tlat2, &tlon2)) {
X drawcurveline(tlat1, tlon1, tlat2, tlon2,
X xloc, yloc, xloc2, yloc2, DASHED, TRUE, 0);
X--- 419,425 ----
X lon = DATAN2((coseps*DSIN(i)), (DCOS(i)));
X if (lon < 0.0) lon += 360.0; /* Eliminate discontinuity at -180 */
X if (clipr_xform(olat, olon, lat, lon,
X! &xloc, &yloc, &xloc2, &yloc2, TRUE,
X &tlat1, &tlon1, &tlat2, &tlon2)) {
X drawcurveline(tlat1, tlon1, tlat2, tlon2,
X xloc, yloc, xloc2, yloc2, DASHED, TRUE, 0);
Xdiff -r -c ../../starchart3.2/starchart/starmain.c ./starmain.c
X*** ../../starchart3.2/starchart/starmain.c Wed Apr 4 18:28:55 1990
X--- ./starmain.c Wed Apr 4 18:31:51 1990
X***************
X*** 3,18 ****
X * starchart.c -- version 2, September 1987
X * revision 2.1 December, 1987
X * revision 3.2 February 1990
X! * contact Craig Counterman, email: ccount at athena.mit.edu
X *
X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth at watcgl)
X *
X- * Copyright (c) 1990 by Craig Counterman. 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--- 3,18 ----
X * starchart.c -- version 2, September 1987
X * revision 2.1 December, 1987
X * revision 3.2 February 1990
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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*** 19,25 ****
X *
X * DISCLAIMER OF WARRANTY
X * ----------------------
X! * The author disclaims all warranties with regard to this software to
X * the extent permitted by applicable law, including all implied
X * warranties of merchantability and fitness. In no event shall the
X * author be liable for any special, indirect or consequential damages or
X--- 19,25 ----
X *
X * DISCLAIMER OF WARRANTY
X * ----------------------
X! * The authors disclaim all warranties with regard to this software to
X * the extent permitted by applicable law, including all implied
X * warranties of merchantability and fitness. In no event shall the
X * author be liable for any special, indirect or consequential damages or
X***************
X*** 39,45 ****
X !
X */
X
X! static char rcsid[]="$Header: starmain.c,v 2.15 90/03/10 15:31:37 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 39,45 ----
X !
X */
X
X! static char rcsid[]="$Header: starmain.c,v 2.17 90/04/03 00:33:49 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 133,139 ****
X--- 133,147 ----
X #define RCFILE "./.starrc"
X #endif
X
X+ /* For msdos, make error file */
X+ #ifdef MSDOS
X+ err_out = fopen("star.err","w");
X+ #endif
X
X+
X+
X+
X+
X /* arguments */
X int g_argc;
X char **g_argv;
X***************
X*** 197,204 ****
X /* read file function indirection to allow for use of alternate file readers */
X int readstar();
X int buf_readstar();
X! /* Macintosh MPW currently doesn't support buf_readstar */
X! #ifndef macintosh
X int (*readfile)() = buf_readstar;
X #else
X int (*readfile)() = readstar;
X--- 205,213 ----
X /* read file function indirection to allow for use of alternate file readers */
X int readstar();
X int buf_readstar();
X! /* Macintosh MPW currently doesn't support buf_readstar,
X! others also might not */
X! #ifndef NO_BUF_READSTAR
X int (*readfile)() = buf_readstar;
X #else
X int (*readfile)() = readstar;
X***************
X*** 297,303 ****
X--- 306,326 ----
X numlayers = 9;
X
X /* Read .starrc or other rc file */
X+ #ifdef USE_ENV_RC
X+ if (!rc_read(rcfile)) {
X+ /* default file doesn't exist, look for STARRC environment
X+ * variable.
X+ */
X+ char *aux_rcfile, *getenv();
X+
X+ aux_rcfile = getenv("STARRC");
X+ if (NULL != aux_rcfile) {
X+ rc_read(aux_rcfile);
X+ }
X+ }
X+ #else
X if (!rc_read(rcfile));
X+ #endif
X /* couldn't open rcfile, but that's OK */
X
X /* Read command line: may override .starrc */
Xdiff -r -c ../../starchart3.2/starchart/starpost.c ./starpost.c
X*** ../../starchart3.2/starchart/starpost.c Wed Apr 4 18:28:56 1990
X--- ./starpost.c Wed Apr 4 18:31:52 1990
X***************
X*** 4,10 ****
X
X /*
X ! patched December, 1987 by Alan Paeth (awpaeth at watcgl),
X! ! based on revisions by Craig Counterman (email: ccount at athena.mit.edu)
X !
X ! [1] "bigmaster" chart layout now added
X ! [2] extensive rework and subclassing of non-stellar objects, e.g.
X--- 4,10 ----
X
X /*
X ! patched December, 1987 by Alan Paeth (awpaeth at watcgl),
X! ! based on revisions by Craig Counterman
X !
X ! [1] "bigmaster" chart layout now added
X ! [2] extensive rework and subclassing of non-stellar objects, e.g.
X***************
X*** 18,31 ****
X * 8 x 11 inch field, in units of 1/ResPT th of a point
X * offset 1/4 inch = 18*ResPT
X *
X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth at watcgl)
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 18,33 ----
X * 8 x 11 inch field, in units of 1/ResPT th of a point
X * offset 1/4 inch = 18*ResPT
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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*** 33,39 ****
X */
X
X
X! static char rcsid[]="$Header: starpost.c,v 2.19 90/03/09 19:13:30 ccount Exp $";
X #include <stdio.h>
X #include <math.h>
X #ifndef SYSV
X--- 35,41 ----
X */
X
X
X! static char rcsid[]="$Header: starpost.c,v 2.22 90/04/03 00:34:02 ccount Exp $";
X #include <stdio.h>
X #include <math.h>
X #ifndef SYSV
X***************
X*** 244,254 ****
X /* h & v tick text controls */
X int htick_lim = 1*ResPT;
X int htext_lim = 36*ResPT;
X! int htext_xoff = 4*ResPT;
X int htext_yoff = 10*ResPT;
X int vtick_lim = 1*ResPT;
X int vtext_lim = 10*ResPT;
X! int vtext_xoff = 14*ResPT;
X int vtext_yoff = 0*ResPT;
X
X /* Scale multiplier, minimum,
X--- 246,256 ----
X /* h & v tick text controls */
X int htick_lim = 1*ResPT;
X int htext_lim = 36*ResPT;
X! int htext_xoff = 0*ResPT;
X int htext_yoff = 10*ResPT;
X int vtick_lim = 1*ResPT;
X int vtext_lim = 10*ResPT;
X! int vtext_xoff = 9*ResPT;
X int vtext_yoff = 0*ResPT;
X
X /* Scale multiplier, minimum,
X***************
X*** 421,427 ****
X /* Open the device */
X D_open()
X {
X! int i, j;
X double young_size;
X
X if (filname[0] != '\0') {
X--- 423,429 ----
X /* Open the device */
X D_open()
X {
X! int i, j, k;
X double young_size;
X
X if (filname[0] != '\0') {
X***************
X*** 455,460 ****
X--- 457,466 ----
X out("%%EndProlog");
X out("%%Page: 0 1");
X out("%");
X+ /* Added for 3.2.1, thanks Holger Zessel */
X+ out("% create additional user dictionary");
X+ out("1000 dict begin");
X+ out("%");
X out("% alias moveto/drawto");
X out("%");
X out("/mt {moveto} def"); /* move to */
X***************
X*** 639,646 ****
X fprintf(outf, "/sv_%02d {%d v} def\n", - (i*10 + j), mag10sizes[k]);
X } else {
X fprintf(outf, "/ss%02d {%d s} def\n", i*10 + j, mag10sizes[k]);
X! fprintf(outf, "/sd%02d {%d v} def\n", i*10 + j, mag10sizes[k]);
X! fprintf(outf, "/sv%02d {%d d} def\n", i*10 + j, mag10sizes[k]);
X }
X k++;
X }
X--- 645,652 ----
X fprintf(outf, "/sv_%02d {%d v} def\n", - (i*10 + j), mag10sizes[k]);
X } else {
X fprintf(outf, "/ss%02d {%d s} def\n", i*10 + j, mag10sizes[k]);
X! fprintf(outf, "/sd%02d {%d d} def\n", i*10 + j, mag10sizes[k]);
X! fprintf(outf, "/sv%02d {%d v} def\n", i*10 + j, mag10sizes[k]);
X }
X k++;
X }
X***************
X*** 762,771 ****
X out(" moveto sze sze rmoveto nsze 2 mul nsze 2 mul rlineto");
X out(" sze 2 mul 0 rmoveto nsze 2 mul sze 2 mul rlineto stroke } def");
X /* Comet takes x y size position-angle: x y size position-angle comet - */
X! out("/comet { 2 div dup /sze exch def neg /nsze exch def /phase exch def");
X out(" moveto gsave currentpoint translate sze dup scale");
X out(" .1 setlinewidth");
X! out(" 90 phase sub rotate stdsh0 newpath 0 0 .3 0 360 arc stroke");
X out(" 0 .3 moveto 1 .5 lineto 0 -.3 moveto 1 -.5 lineto");
X out(" .3 0 moveto 1.2 0 lineto");
X out(" stroke grestore } def");
X--- 768,777 ----
X out(" moveto sze sze rmoveto nsze 2 mul nsze 2 mul rlineto");
X out(" sze 2 mul 0 rmoveto nsze 2 mul sze 2 mul rlineto stroke } def");
X /* Comet takes x y size position-angle: x y size position-angle comet - */
X! out("/comet {/phase exch def 2 div dup /sze exch def neg /nsze exch def ");
X out(" moveto gsave currentpoint translate sze dup scale");
X out(" .1 setlinewidth");
X! out(" 90 phase sub neg rotate stdsh0 newpath 0 0 .3 0 360 arc stroke");
X out(" 0 .3 moveto 1 .5 lineto 0 -.3 moveto 1 -.5 lineto");
X out(" .3 0 moveto 1.2 0 lineto");
X out(" stroke grestore } def");
X***************
X*** 862,867 ****
X--- 868,875 ----
X /* Close the device */
X D_close()
X {
X+ out("end");
X+ out("% end matches the dict begin after Prolog");
X out("showpage");
X out("%");
X out("%%Trailer");
X***************
X*** 1074,1080 ****
X {
X int colr;
X int class, subclass;
X! static char *table = "OBAFGKMRNSrgbycpow";
X static int super_spectra[][10] = {
X /* 0 1 2 3 4 5 6 7 8 9 */
X /* O */ { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
X--- 1082,1088 ----
X {
X int colr;
X int class, subclass;
X! static char *table = "OBAFGKMCRNSrgbycpow";
X static int super_spectra[][10] = {
X /* 0 1 2 3 4 5 6 7 8 9 */
X /* O */ { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
X***************
X*** 1084,1089 ****
X--- 1092,1098 ----
X /* G */ { 15, 15, 15, 15, 15, 16, 16, 16, 16, 16 },
X /* K */ { 17, 17, 18, 18, 18, 19, 19, 19, 19, 19 },
X /* M */ { 20, 20, 21, 22, 23, 24, 25, 26, 26, 26 },
X+ /* C */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 },
X /* R */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 },
X /* N */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 },
X /* S */ { 30, 30, 30, 30, 31, 31, 31, 31, 31, 31 },
X***************
X*** 1588,1598 ****
X {
X case 'A': fprintf(outf, "%d %d %d asteroid\n", x, y, diam); break;
X case 'C':
X! phase = 45.0;
X n = sscanf(comment_str, "%lf", &phase);
X fprintf(outf, "%%phase %f\n", phase);
X if (cur_win->invert) phase = 180 - phase;
X! fprintf(outf, "%d %d %f %d comet\n", x, y, phase, diam);
X break;
X
X case 'S': fprintf(outf, "%d %d %d sun\n", x, y, diam); break;
X--- 1597,1607 ----
X {
X case 'A': fprintf(outf, "%d %d %d asteroid\n", x, y, diam); break;
X case 'C':
X! phase = 135.0;
X n = sscanf(comment_str, "%lf", &phase);
X fprintf(outf, "%%phase %f\n", phase);
X if (cur_win->invert) phase = 180 - phase;
X! fprintf(outf, "%d %d %d %f comet\n", x, y, diam, phase);
X break;
X
X case 'S': fprintf(outf, "%d %d %d sun\n", x, y, diam); break;
Xdiff -r -c ../../starchart3.2/starchart/starsample.c ./starsample.c
X*** ../../starchart3.2/starchart/starsample.c Wed Apr 4 18:28:57 1990
X--- ./starsample.c Wed Apr 4 18:31:53 1990
X***************
X*** 5,15 ****
X /*
X * Produced for starchart 3.0 by Craig Counterman Jan, 1989
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 5,19 ----
X /*
X * Produced for starchart 3.0 by Craig Counterman Jan, 1989
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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***************
X*** 17,23 ****
X *
X */
X
X! static char rcsid[]="$Header: starsample.c,v 2.3 90/02/19 17:56:56 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 21,27 ----
X *
X */
X
X! static char rcsid[]="$Header: starsample.c,v 2.5 90/04/03 00:34:23 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 227,232 ****
X--- 231,237 ----
X break;
X case 'M':
X break;
X+ case 'C':
X case 'R':
X case 'N':
X case 'S':
Xdiff -r -c ../../starchart3.2/starchart/starst.c ./starst.c
X*** ../../starchart3.2/starchart/starst.c Wed Apr 4 18:28:59 1990
X--- ./starst.c Wed Apr 4 18:31:54 1990
X***************
X*** 4,11 ****
X
X /*
X * Modified from 2.1 to starchart 3.0. Holger Zessel, Nov 1989
X */
X! static char rcsid[]="$Header: starst.c,v 1.1 90/03/08 20:14:37 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 4,28 ----
X
X /*
X * Modified from 2.1 to starchart 3.0. Holger Zessel, Nov 1989
X+ * Copyright (c) March 1990 by Holger Zessel. All rights reserved.
X+ * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X+ * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X+ *
X+ * All rights reserved. Redistribution granted for non-commercial
X+ * non-profit use only. Disclaimer: users of this work understand that
X+ * (a) the authors' cannot undertake to support this software (b) users
X+ * agree to acknowledge the use of the software in any published work
X+ * arising from its application and (c) any subsequent redistribution of
X+ * this work retains this warranty placard.
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+
X */
X! static char rcsid[]="$Header: starst.c,v 1.3 90/04/03 00:36:15 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 32,37 ****
X--- 49,56 ----
X int vdihandle_save;
X int device=1; /* GDOS-Outputdevice */
X
X+ long _stksize = 60000L; /* this should be enough I hope */
X+
X #define TRUE 1
X #ifdef NULL
X #undef NULL
X***************
X*** 386,391 ****
X--- 405,411 ----
X break;
X case 'M':
X break;
X+ case 'C':
X case 'R':
X case 'N':
X case 'S':
Xdiff -r -c ../../starchart3.2/starchart/starsunv.c ./starsunv.c
X*** ../../starchart3.2/starchart/starsunv.c Wed Apr 4 18:29:01 1990
X--- ./starsunv.c Wed Apr 4 18:31:55 1990
X***************
X*** 4,14 ****
X * Driver creates sunview window and draws starchart information inside.
X *
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 4,18 ----
X * Driver creates sunview window and draws starchart information inside.
X *
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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***************
X*** 17,23 ****
X */
X
X
X! static char rcsid[]="$Header: starsunv.c,v 1.8 90/02/19 17:57:03 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 21,27 ----
X */
X
X
X! static char rcsid[]="$Header: starsunv.c,v 1.10 90/04/03 00:34:30 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 661,667 ****
X {
X int colr;
X int class, subclass;
X! static char *table = "OBAFGKMRNSrgbycpow";
X static int spectra[10] = {
X BLUE_WHITE, BLUE, WHITE, WHITE, YELLOW, ORANGE, RED, RED, RED};
X
X--- 665,671 ----
X {
X int colr;
X int class, subclass;
X! static char *table = "OBAFGKMCRNSrgbycpow";
X static int spectra[10] = {
X BLUE_WHITE, BLUE, WHITE, WHITE, YELLOW, ORANGE, RED, RED, RED};
X
X***************
X*** 674,679 ****
X--- 678,684 ----
X /* G */ { 15, 15, 15, 15, 15, 16, 16, 16, 16, 16 },
X /* K */ { 17, 17, 18, 18, 18, 19, 19, 19, 19, 19 },
X /* M */ { 20, 20, 21, 22, 23, 24, 25, 26, 26, 26 },
X+ /* C */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 },
X /* R */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 },
X /* N */ { 27, 27, 27, 28, 28, 28, 28, 28, 29, 30 },
X /* S */ { 30, 30, 30, 30, 31, 31, 31, 31, 31, 31 },
Xdiff -r -c ../../starchart3.2/starchart/starsupp.c ./starsupp.c
X*** ../../starchart3.2/starchart/starsupp.c Wed Apr 4 18:29:02 1990
X--- ./starsupp.c Wed Apr 4 18:31:56 1990
X***************
X*** 4,16 ****
X * revision 2.1 December, 1987
X * revision 3.0beta January, 1989
X *
X! * Portions Copyright (c) 1987 by Alan Paeth (awpaeth at watcgl)
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 4,19 ----
X * revision 2.1 December, 1987
X * revision 3.0beta January, 1989
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
X *
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***************
X*** 28,34 ****
X !
X */
X
X! static char rcsid[]="$Header: starsupp.c,v 2.13 90/03/10 15:31:51 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 31,37 ----
X !
X */
X
X! static char rcsid[]="$Header: starsupp.c,v 2.15 90/04/03 00:34:40 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 247,258 ****
X double lat, lon;
X int *xloc, *yloc, *inregion;
X {
X! double theta, rac_l;
X double denom;
X double Dcoslat, Dsinlat, Dcosrac_l, Dsinrac_l;
X /* Dcoslat, Dsinlat: of object latitude in degrees = phi
X Dcosrac_l, Dsinrac_l: of object ra - longditude of center = d(lambda) */
X
X switch (xfs_proj_mode) {
X case SANSONS:
X /*
X--- 250,263 ----
X double lat, lon;
X int *xloc, *yloc, *inregion;
X {
X! double theta, actheta, rac_l;
X double denom;
X double Dcoslat, Dsinlat, Dcosrac_l, Dsinrac_l;
X /* Dcoslat, Dsinlat: of object latitude in degrees = phi
X Dcosrac_l, Dsinrac_l: of object ra - longditude of center = d(lambda) */
X+ double xlocd, ylocd; /* double precision for xloc and yloc */
X
X+
X switch (xfs_proj_mode) {
X case SANSONS:
X /*
X***************
X*** 288,294 ****
X Dcoslat = DCOS(lat);
X Dcosrac_l = DCOS(rac_l);
X Dsinrac_l = DSIN(rac_l);
X! theta = acos(sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l);
X
X *inregion = (theta <= chart_scale);
X if (*inregion) {
X--- 293,302 ----
X Dcoslat = DCOS(lat);
X Dcosrac_l = DCOS(rac_l);
X Dsinrac_l = DSIN(rac_l);
X! actheta = sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l;
X! if (actheta > 1.0) theta = 0.0;
X! else if (actheta < -1.0) theta = 3.14159265358979323846;
X! else theta = acos(actheta);
X
X *inregion = (theta <= chart_scale);
X if (*inregion) {
X***************
X*** 306,321 ****
X Dcosrac_l = DCOS(rac_l);
X Dsinrac_l = DSIN(rac_l);
X
X! theta = acos(sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l);
X
X if (theta <= 1.57) { /* avoid wrapping */
X denom = (sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l) / xfs_scale;
X! *yloc = xf_ycen +
X (int)xfs_inv*
X (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l) / denom + 0.5;
X! *xloc = xf_xcen - Dcoslat * Dsinrac_l / denom + 0.5;
X! *inregion = ((*xloc >= xf_w_left) && (*xloc <= xf_w_right)
X! && (*yloc <= xf_w_top) && (*yloc >= xf_w_bot));
X } else *inregion = FALSE;
X break;
X case ORTHOGR:
X--- 314,332 ----
X Dcosrac_l = DCOS(rac_l);
X Dsinrac_l = DSIN(rac_l);
X
X! actheta = sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l;
X! if (actheta > 1.0) theta = 0.0;
X! else if (actheta < -1.0) theta = 3.14159265358979323846;
X! else theta = acos(actheta);
X
X if (theta <= 1.57) { /* avoid wrapping */
X denom = (sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l) / xfs_scale;
X! *yloc = ylocd = xf_ycen +
X (int)xfs_inv*
X (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l) / denom + 0.5;
X! *xloc = xlocd = xf_xcen - Dcoslat * Dsinrac_l / denom + 0.5;
X! *inregion = ((xlocd >= xf_w_left) && (xlocd <= xf_w_right)
X! && (ylocd <= xf_w_top) && (ylocd >= xf_w_bot));
X } else *inregion = FALSE;
X break;
X case ORTHOGR:
X***************
X*** 325,339 ****
X Dcosrac_l = DCOS(rac_l);
X Dsinrac_l = DSIN(rac_l);
X
X! theta = acos(sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l);
X
X if (theta <= 1.57) { /* avoid wrapping */
X! *yloc = xf_ycen +
X (int)xfs_inv * xfs_scale
X * (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l);
X! *xloc = xf_xcen - xfs_scale * Dcoslat * Dsinrac_l;
X! *inregion = ((*xloc >= xf_w_left) && (*xloc <= xf_w_right)
X! && (*yloc <= xf_w_top) && (*yloc >= xf_w_bot));
X } else *inregion = FALSE;
X break;
X case RECTANGULAR:
X--- 336,353 ----
X Dcosrac_l = DCOS(rac_l);
X Dsinrac_l = DSIN(rac_l);
X
X! actheta = sin_dlcen*Dsinlat + cos_dlcen*Dcoslat*Dcosrac_l;
X! if (actheta > 1.0) theta = 0.0;
X! else if (actheta < -1.0) theta = 3.14159265358979323846;
X! else theta = acos(actheta);
X
X if (theta <= 1.57) { /* avoid wrapping */
X! *yloc = ylocd = xf_ycen +
X (int)xfs_inv * xfs_scale
X * (cos_dlcen * Dsinlat - sin_dlcen * Dcoslat * Dcosrac_l);
X! *xloc = xlocd = xf_xcen - xfs_scale * Dcoslat * Dsinrac_l;
X! *inregion = ((xlocd >= xf_w_left) && (xlocd <= xf_w_right)
X! && (ylocd <= xf_w_top) && (ylocd >= xf_w_bot));
X } else *inregion = FALSE;
X break;
X case RECTANGULAR:
X***************
X*** 340,349 ****
X if ((xf_west < 0.0) && (lon>(xf_west+360.0))) lon -= 360.0;
X if ((xf_east > 360.0) && (lon<(xf_east-360.0))) lon += 360.0;
X
X! *yloc = xf_ycen + (int)xfs_inv * xfs_scale * (lat - xfs_dl_cen);
X! *xloc = xf_xcen + xfs_scale * (xfs_ra_cen - lon);
X! *inregion = ((*xloc >= xf_w_left) && (*xloc <= xf_w_right)
X! && (*yloc <= xf_w_top) && (*yloc >= xf_w_bot));
X break;
X default:
X break;
X--- 354,363 ----
X if ((xf_west < 0.0) && (lon>(xf_west+360.0))) lon -= 360.0;
X if ((xf_east > 360.0) && (lon<(xf_east-360.0))) lon += 360.0;
X
X! *yloc = ylocd = xf_ycen + (int)xfs_inv * xfs_scale * (lat - xfs_dl_cen);
X! *xloc = xlocd = xf_xcen + xfs_scale * (xfs_ra_cen - lon);
X! *inregion = ((xlocd >= xf_w_left) && (xlocd <= xf_w_right)
X! && (ylocd <= xf_w_top) && (ylocd >= xf_w_bot));
X break;
X default:
X break;
Xdiff -r -c ../../starchart3.2/starchart/startek.c ./startek.c
X*** ../../starchart3.2/starchart/startek.c Wed Apr 4 18:29:03 1990
X--- ./startek.c Wed Apr 4 18:31:57 1990
X***************
X*** 13,24 ****
X */
X /*
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 13,29 ----
X */
X /*
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
X *
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*** 25,31 ****
X *
X */
X
X! static char rcsid[]="$Header: startek.c,v 2.5 90/03/10 15:34:53 ccount Exp $";
X
X
X #include <stdio.h>
X--- 30,36 ----
X *
X */
X
X! static char rcsid[]="$Header: startek.c,v 2.7 90/04/03 00:35:02 ccount Exp $";
X
X
X #include <stdio.h>
X***************
X*** 296,301 ****
X--- 301,307 ----
X break;
X case 'M':
X break;
X+ case 'C':
X case 'R':
X case 'N':
X case 'S':
Xdiff -r -c ../../starchart3.2/starchart/staruplot.c ./staruplot.c
X*** ../../starchart3.2/starchart/staruplot.c Wed Apr 4 18:29:06 1990
X--- ./staruplot.c Wed Apr 4 18:32:00 1990
X***************
X*** 8,18 ****
X /*
X * Produced for starchart 3.0 by Craig Counterman Jan, 1989
X *
X! * Copyright (c) 1990 by Craig Counterman. 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--- 8,22 ----
X /*
X * Produced for starchart 3.0 by Craig Counterman Jan, 1989
X *
X! * StarChart Version 3.2 copyright (c) March 1990 by Craig Counterman
X! * original StarChart Software Suite copyright (c) 1987 by Alan Paeth
X *
X! * All rights reserved. Redistribution granted for non-commercial
X! * non-profit use only. Disclaimer: users of this work understand that
X! * (a) the authors' cannot undertake to support this software (b) users
X! * agree to acknowledge the use of the software in any published work
X! * arising from its application and (c) any subsequent redistribution of
X! * this work retains this warranty placard.
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***************
X*** 21,27 ****
X */
X
X
X! static char rcsid[]="$Header: staruplot.c,v 2.2 90/02/19 17:57:49 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X--- 25,31 ----
X */
X
X
X! static char rcsid[]="$Header: staruplot.c,v 2.4 90/04/03 00:35:07 ccount Exp $";
X
X #include <stdio.h>
X #include <math.h>
X***************
X*** 30,36 ****
X #else
X #include <string.h>
X #endif
X!
X #include "star3.h"
X
X /* Externs */
X--- 34,40 ----
X #else
X #include <string.h>
X #endif
X! #include <ctype.h>
X #include "star3.h"
X
X /* Externs */
X***************
X*** 326,331 ****
X--- 330,336 ----
X break;
X case 'M':
X break;
X+ case 'C':
X case 'R':
X case 'N':
X case 'S':
Xdiff -r -c ../../starchart3.2/starchart/svgagraf.asm ./svgagraf.asm
X*** ../../starchart3.2/starchart/svgagraf.asm Wed Apr 4 18:29:06 1990
X--- ./svgagraf.asm Wed Apr 4 18:32:01 1990
X***************
X*** 0 ****
X--- 1,1059 ----
X+ ;Written by J. D. McDonald
X+ ;This file is public domain.
X+
X+ LARGE equ 1
X+
X+ ifdef SMALL
X+ NEARDATA equ 1
X+ NEARCODE equ 1
X+ endif
X+
X+ ifdef COMPACT
X+ FARDATA equ 1
X+ NEARCODE equ 1
X+ endif
X+
X+ ifdef MEDIUM
X+ NEARDATA equ 1
X+ FARCODE equ 1
X+ endif
X+
X+ ifdef LARGE
X+ FARDATA equ 1
X+ FARCODE equ 1
X+ endif
X+
X+
X+ ifdef NEARCODE
X+ argbase equ 0
X+ endif
X+
X+ ifdef FARCODE
X+ argbase equ 2
X+ endif
X+
X+ cseg macro moduleName
X+ ifdef FARCODE
X+ moduleName&_TEXT segment byte public 'CODE'
X+ assume cs: moduleName&_TEXT
X+ else
X+ _TEXT segment byte public 'CODE'
X+ assume cs: _TEXT
X+ endif
X+ endm
X+
X+ endcs macro moduleName
X+ ifdef FARCODE
X+ moduleName&_TEXT ends
X+ else
X+ _TEXT ends
X+ endif
X+ endm
X+
X+ pBegin macro pName
X+ ifdef FARCODE
X+ pName proc far
X+ else
X+ pName proc near
X+ endif
X+ public pName
X+ endm
X+
X+ pEnd macro pName
X+ pName endp
X+ endm
X+
X+
X+
X+ _DATA segment word public 'DATA'
X+ first8 dw 0
X+ first14 dw 0
X+ drawseg dw 0A000h
X+ maxseg dw 28000
X+ maxline dw 350
X+ xwidth dw 80
X+ maxscreen dw 640
X+ mmaxscreen dw 639
X+ xwidthm dw 79
X+ _DATA ends
X+ CONST segment word public 'CONST'
X+ ate dw 8
X+ fourt dw 14
X+ eighty dw 80
X+ btab db 80h,40h,20h,10h,8h,4h,2h,1h
X+ left db 255,127,63,31,15,7,3,1
X+ right db 128,192,224,240,248,252,254,255
X+ CONST ends
X+ _BSS segment word public 'BSS'
X+ es8 dw ?
X+ bp8 dw ?
X+ es14 dw ?
X+ bp14 dw ?
X+ leftbit db ?
X+ rightbit db ?
X+ lefttop dw ?
X+ leftbot dw ?
X+ righttop dw ?
X+ rightbot dw ?
X+ ysave dw ?
X+ leftx dw ?
X+ rightx dw ?
X+ xx0 dw ?
X+ yy0 dw ?
X+ xx1 dw ?
X+ yy1 dw ?
X+ xc10 dw ?
X+ xc20 dw ?
X+ xc11 dw ?
X+ xc21 dw ?
X+ lowyb dw ?
X+ del_y dw ?
X+ del_x dw ?
X+ _BSS ends
X+ DGROUP GROUP CONST, _BSS, _DATA
X+ assume ds: DGROUP, ss: DGROUP, es: DGROUP
X+ cseg _egagraf
X+
X+ pBegin _symbol
X+ ; symbol(ix,iy,height,icol,&isym) plots a single 8xheight character
X+ ; matrix pointed to by isym at ix, iy in color icol.
X+ ; ix, iy and icol are integers
X+ push bp
X+ mov bp,sp
X+ push di
X+ push si
X+ ifdef NEARDATA
X+ mov si, word ptr [bp+argbase+12] ;pick up address of table
X+ mov bx,ds ;containing symbol to plot
X+ mov es,bx
X+ endif
X+ ifdef FARDATA
X+ les si,[bp+argbase+12]
X+ endif
X+ mov bx,word ptr [bp+argbase+8] ;height
X+ mov ax,word ptr [bp+argbase+4] ;this is x
X+ mov dx,ax ;break x into byte # and bit in byte
X+ and dx,7
X+ mov cl,3
X+ sar ax,cl
X+ mov [bp+argbase+8],ax ;byte #
X+ mov [bp+argbase+4],dx ;leftmost bit used
X+ mov dx,drawseg ; segment of display buffer
X+ mov cx,xwidth
X+ push ds
X+ mov ax,es
X+ mov es,dx
X+ mov ds,ax
X+ jmp commonl
X+
X+ pEnd _symbol
X+
X+
X+ pBegin _slettr
X+ ; slettr(ix,iy,ichr,icol) plots a single 8-high IBM character ichr at x,y in
X+ ; color icol. all are integers
X+ push bp
X+ mov bp,sp
X+ push di
X+ push si
X+ cmp first8,0 ;get address of bios table of characters
X+ jne sec8
X+ inc first8
X+ mov ah, 011h
X+ mov al, 030h
X+ mov bh, 03
X+ push bp
X+ int 010h
X+ mov ax,es
X+ mov es8,ax
X+ mov bp8,bp
X+ pop bp
X+ sec8:
X+ xor ax,ax
X+ mov al,byte ptr [bp+argbase+8] ;this is the character
X+ mov cl,3
X+ shl ax,cl
X+ add ax,bp8
X+ mov si,ax
X+ mov ax,word ptr [bp+argbase+4]
X+ mov dx,ax
X+ and dx,7
X+ mov cl,3
X+ sar ax,cl
X+ mov [bp+argbase+8],ax
X+ mov [bp+argbase+4],dx
X+ mov ax,drawseg
X+ mov es,ax
X+ mov cx,xwidth
X+ push ds
X+ mov ax,es8
X+ mov ds,ax
X+ mov bx,8
X+ jmp commonl
X+
X+ pEnd _slettr
X+
X+
X+ pBegin _llettr
X+ ; llettr(ix,iy,ichr,icol) plots a single IBM 14-high character ichr at x,y in
X+ ; color icol. all are integers
X+ push bp
X+ mov bp,sp
X+ push di
X+ push si
END_OF_FILE
if test 45933 -ne `wc -c <'stch_pch.ac'`; then
echo shar: \"'stch_pch.ac'\" unpacked with wrong size!
fi
# end of 'stch_pch.ac'
fi
echo shar: End of archive 3 \(of 4\).
cp /dev/null ark3isdone
MISSING=""
for I in 1 2 3 4 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 4 archives.
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0
More information about the Comp.sources.misc
mailing list