Timezone fixes for Cygwin.
This commit is contained in:
parent
4c4d17631f
commit
c7f7093df5
3 changed files with 21 additions and 13 deletions
|
@ -1538,14 +1538,14 @@ int main( int argc, char **argv ) {
|
|||
globals->get_ephem()->getStars(), 60000.0 );
|
||||
|
||||
if ( fgGetBool("/environment/clouds/status") ) {
|
||||
thesky->add_cloud_layer( 2000.0, 200.0, 50.0, 40000.0,
|
||||
SG_CLOUD_OVERCAST );
|
||||
thesky->add_cloud_layer( 2600.0, 200.0, 50.0, 40000.0,
|
||||
SG_CLOUD_MOSTLY_CLOUDY );
|
||||
thesky->add_cloud_layer( 3000.0, 200.0, 50.0, 40000.0,
|
||||
SG_CLOUD_MOSTLY_SUNNY );
|
||||
thesky->add_cloud_layer( 6000.0, 20.0, 10.0, 40000.0,
|
||||
SG_CLOUD_CIRRUS );
|
||||
// thesky->add_cloud_layer( 1000.0, 200.0, 50.0,
|
||||
// SG_CLOUD_MOSTLY_SUNNY );
|
||||
// thesky->add_cloud_layer( 1800.0, 400.0, 100.0, SG_CLOUD_OVERCAST );
|
||||
// thesky->add_cloud_layer( 5000.0, 20.0, 10.0, SG_CLOUD_CIRRUS );
|
||||
}
|
||||
|
||||
// Initialize MagVar model
|
||||
|
|
|
@ -35,7 +35,9 @@
|
|||
|
||||
// Constructor
|
||||
FGViewer::FGViewer( void ):
|
||||
fov(55.0)
|
||||
fov(55.0),
|
||||
view_offset(0.0),
|
||||
goal_view_offset(0.0)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -75,21 +75,27 @@ time_t get_start_gmt(int year) {
|
|||
#else // ! defined ( MK_TIME_IS_GMT )
|
||||
|
||||
// timezone seems to work as a proper offset for Linux & Solaris
|
||||
# if defined( __linux__ ) || defined( __sun__ )
|
||||
# if defined( __linux__ ) || defined( __sun__ ) || defined( __CYGWIN__ )
|
||||
# define TIMEZONE_OFFSET_WORKS 1
|
||||
# endif
|
||||
|
||||
#if defined(__CYGWIN__)
|
||||
#define TIMEZONE _timezone
|
||||
#else
|
||||
#define TIMEZONE timezone
|
||||
#endif
|
||||
|
||||
time_t start = mktime(&mt);
|
||||
|
||||
printf("start1 = %ld\n", start);
|
||||
printf("start2 = %s", ctime(&start));
|
||||
printf("(tm_isdst = %d)\n", mt.tm_isdst);
|
||||
|
||||
timezone = fix_up_timezone( timezone );
|
||||
|
||||
TIMEZONE = fix_up_timezone( TIMEZONE );
|
||||
|
||||
# if defined( TIMEZONE_OFFSET_WORKS )
|
||||
printf("start = %ld, timezone = %ld\n", start, timezone);
|
||||
return( start - timezone );
|
||||
printf("start = %ld, timezone = %ld\n", start, TIMEZONE);
|
||||
return( start - TIMEZONE );
|
||||
# else // ! defined( TIMEZONE_OFFSET_WORKS )
|
||||
|
||||
daylight = mt.tm_isdst;
|
||||
|
@ -99,13 +105,13 @@ time_t get_start_gmt(int year) {
|
|||
printf("OOOPS, problem in fg_time.cxx, no daylight savings info.\n");
|
||||
}
|
||||
|
||||
long int offset = -(timezone / 3600 - daylight);
|
||||
long int offset = -(TIMEZONE / 3600 - daylight);
|
||||
|
||||
printf(" Raw time zone offset = %ld\n", timezone);
|
||||
printf(" Raw time zone offset = %ld\n", TIMEZONE);
|
||||
printf(" Daylight Savings = %d\n", daylight);
|
||||
printf(" Local hours from GMT = %ld\n", offset);
|
||||
|
||||
long int start_gmt = start - timezone + (daylight * 3600);
|
||||
long int start_gmt = start - TIMEZONE + (daylight * 3600);
|
||||
|
||||
printf(" March 21 noon (CST) = %ld\n", start);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue