diff --git a/Astro/sky.c b/Astro/sky.c index 815c4a18d..a3c14035c 100644 --- a/Astro/sky.c +++ b/Astro/sky.c @@ -348,16 +348,20 @@ void fgSkyRender( void ) { xglColor4fv( outer_color[0] ); xglVertex3fv( outer_vertex[0] ); xglEnd(); + xglPopMatrix(); } /* $Log$ -/* Revision 1.7 1998/02/19 13:05:49 curt -/* Incorporated some HUD tweaks from Michelle America. -/* Tweaked the sky's sunset/rise colors. -/* Other misc. tweaks. +/* Revision 1.8 1998/03/09 22:47:25 curt +/* Incorporated Durk's updates. /* + * Revision 1.7 1998/02/19 13:05:49 curt + * Incorporated some HUD tweaks from Michelle America. + * Tweaked the sky's sunset/rise colors. + * Other misc. tweaks. + * * Revision 1.6 1998/02/07 15:29:32 curt * Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss * diff --git a/Astro/sun.c b/Astro/sun.c index 2a04057bb..e9f38c227 100644 --- a/Astro/sun.c +++ b/Astro/sun.c @@ -47,7 +47,7 @@ void fgCalcSunPos(struct OrbElements params) EccAnom = fgCalcEccAnom(params.M, params.e); /* calculate the Suns distance (r) and its true anomaly (v) */ - xv = cos(EccAnom) - params.e; + xv = cos(EccAnom) - params.e; yv = sqrt(1.0 - params.e*params.e) * sin(EccAnom); v = atan2(yv, xv); r = sqrt(xv*xv + yv*yv); @@ -64,24 +64,29 @@ void fgCalcSunPos(struct OrbElements params) } -struct CelestialCoord fgCalculateSun(struct OrbElements params, struct fgTIME t) +struct CelestialCoord fgCalculateSun (struct OrbElements params, + struct fgTIME t) { struct CelestialCoord result; double xe, ye, ze, ecl, actTime; - /* calculate the angle between ecliptic and equatorial coordinate system */ - actTime = fgCalcActTime(t); + /* calculate the angle between ecliptic and equatorial coordinate + * system */ + actTime = fgCalcActTime (t); ecl = DEG_TO_RAD * (23.4393 - 3.563E-7 * actTime); // Angle now in Rads + /* calculate the sun's ecliptic position */ + fgCalcSunPos (params); + /* convert ecliptic coordinates to equatorial rectangular - geocentric coordinates */ + * geocentric coordinates */ xe = solarPosition.xs; ye = solarPosition.ys * cos (ecl); ze = solarPosition.ys * sin (ecl); /* and finally... Calulate Right Ascention and Declination */ - result.RightAscension = atan2( ye, xe); - result.Declination = atan2(ze, sqrt(xe*xe + ye*ye)); + result.RightAscension = atan2 (ye, xe); + result.Declination = atan2 (ze, sqrt (xe * xe + ye * ye)); return result; } @@ -176,11 +181,14 @@ void fgSunRender( void ) { /* $Log$ -/* Revision 1.7 1998/02/23 19:07:56 curt -/* Incorporated Durk's Astro/ tweaks. Includes unifying the sun position -/* calculation code between sun display, and other FG sections that use this -/* for things like lighting. +/* Revision 1.8 1998/03/09 22:47:25 curt +/* Incorporated Durk's updates. /* + * Revision 1.7 1998/02/23 19:07:56 curt + * Incorporated Durk's Astro/ tweaks. Includes unifying the sun position + * calculation code between sun display, and other FG sections that use this + * for things like lighting. + * * Revision 1.6 1998/02/12 21:59:39 curt * Incorporated code changes contributed by Charlie Hotchkiss * diff --git a/Astro/sun.h b/Astro/sun.h index 0132f2a1e..b37a79341 100644 --- a/Astro/sun.h +++ b/Astro/sun.h @@ -27,7 +27,7 @@ #define _SUN_H -extern struct fgSUNPOS solarPosition; +extern fgSUNPOS solarPosition; void fgCalcSunPos (struct OrbElements sunParams); @@ -44,11 +44,14 @@ void fgSunRender( void ); /* $Log$ -/* Revision 1.4 1998/02/23 19:07:57 curt -/* Incorporated Durk's Astro/ tweaks. Includes unifying the sun position -/* calculation code between sun display, and other FG sections that use this -/* for things like lighting. +/* Revision 1.5 1998/03/09 22:47:26 curt +/* Incorporated Durk's updates. /* + * Revision 1.4 1998/02/23 19:07:57 curt + * Incorporated Durk's Astro/ tweaks. Includes unifying the sun position + * calculation code between sun display, and other FG sections that use this + * for things like lighting. + * * Revision 1.3 1998/01/22 02:59:29 curt * Changed #ifdef FILE_H to #ifdef _FILE_H *