#include <stdlib.h>
#include "fg_init.h"
+#include "views.h"
#include "../constants.h"
#include "../general.h"
#include "../Aircraft/aircraft.h"
+#include "../Cockpit/cockpit.h"
+#include "../Joystick/joystick.h"
#include "../Math/fg_random.h"
#include "../Scenery/mesh.h"
+#include "../Scenery/astro.h"
#include "../Scenery/scenery.h"
+#include "../Time/fg_time.h"
#include "../Time/sunpos.h"
#include "../Weather/weather.h"
+extern int show_hud; /* HUD state */
+
+
/* General house keeping initializations */
void fgInitGeneral( void ) {
- struct general_params *g;
+ struct fgGENERAL *g;
g = &general;
void fgInitSubsystems( void ) {
double cur_elev;
- struct flight_params *f;
+ struct fgFLIGHT *f;
+ struct fgTIME *t;
+ struct fgVIEW *v;
f = ¤t_aircraft.flight;
+ t = &cur_time_params;
+ v = ¤t_view;
+
/****************************************************************
* The following section sets up the flight model EOM parameters and
****************************************************************/
/* Globe Aiport, AZ */
- FG_Runway_altitude = 3234.5;
- FG_Runway_latitude = 120070.41;
FG_Runway_longitude = -398391.28;
+ FG_Runway_latitude = 120070.41;
+ FG_Runway_altitude = 3234.5;
FG_Runway_heading = 102.0 * DEG_TO_RAD;
/* Initial Position at GLOBE airport */
- FG_Latitude = ( 120070.41 / 3600.0 ) * DEG_TO_RAD;
FG_Longitude = ( -398391.28 / 3600.0 ) * DEG_TO_RAD;
+ FG_Latitude = ( 120070.41 / 3600.0 ) * DEG_TO_RAD;
FG_Altitude = FG_Runway_altitude + 3.758099;
-
+ FG_Altitude = 10000;
+
/* Initial Position north of the city of Globe */
- /* FG_Latitude = ( 120625.64 / 3600.0 ) * DEG_TO_RAD; */
/* FG_Longitude = ( -398673.28 / 3600.0 ) * DEG_TO_RAD; */
+ /* FG_Latitude = ( 120625.64 / 3600.0 ) * DEG_TO_RAD; */
/* FG_Altitude = 0.0 + 3.758099; */
+ /* Initial Position: 10125 Jewell St. NE */
+ /* FG_Longitude = ( -93.15 ) * DEG_TO_RAD; */
+ /* FG_Latitude = ( 45.15 ) * DEG_TO_RAD; */
+ /* FG_Altitude = FG_Runway_altitude + 3.758099; */
+
+ /* A random test position */
+ /* FG_Longitude = ( 88128.00 / 3600.0 ) * DEG_TO_RAD; */
+ /* FG_Latitude = ( 93312.00 / 3600.0 ) * DEG_TO_RAD; */
+
printf("Initial position is: (%.4f, %.4f, %.2f)\n",
- FG_Latitude * RAD_TO_DEG, FG_Longitude * RAD_TO_DEG,
+ FG_Longitude * RAD_TO_DEG, FG_Latitude * RAD_TO_DEG,
FG_Altitude * FEET_TO_METER);
/* Initial Velocity */
/* fgSlewInit(-335340,162540, 15, 4.38); */
/* fgSlewInit(-398673.28,120625.64, 53, 4.38); */
+ /* Initialize "time" */
+ fgTimeInit(t);
+ fgTimeUpdate(f, t);
+
/* Initialize shared sun position and sun_vec */
- fgUpdateSunPos();
+ fgUpdateSunPos(scenery.center);
+
+ /* Initialize view parameters */
+ fgViewInit(v);
/* Initialize the weather modeling subsystem */
fgWeatherInit();
+ /* Initialize the Cockpit subsystem */
+ if( fgCockpitInit( current_aircraft ) == NULL )
+ {
+ printf( "Error in Cockpit initialization!\n" );
+ exit( 1 );
+ }
+
+ /* Initialize Astronomical Objects */
+ fgAstroInit();
+
/* Initialize the Scenery Management subsystem */
fgSceneryInit();
/* Initialize the flight model subsystem data structures base on
* above values */
fgFlightModelInit( FG_LARCSIM, f, 1.0 / DEFAULT_MODEL_HZ );
+
+ /* To HUD or not to HUD */
+ show_hud = 1;
+
+ /* Joystick support */
+ fgJoystickInit( 0 );
}
/* $Log$
-/* Revision 1.1 1997/08/23 01:46:20 curt
-/* Initial revision.
+/* Revision 1.14 1997/12/10 22:37:47 curt
+/* Prepended "fg" on the name of all global structures that didn't have it yet.
+/* i.e. "struct WEATHER {}" became "struct fgWEATHER {}"
/*
+ * Revision 1.13 1997/11/25 19:25:32 curt
+ * Changes to integrate Durk's moon/sun code updates + clean up.
+ *
+ * Revision 1.12 1997/11/15 18:16:35 curt
+ * minor tweaks.
+ *
+ * Revision 1.11 1997/10/30 12:38:42 curt
+ * Working on new scenery subsystem.
+ *
+ * Revision 1.10 1997/10/25 03:24:23 curt
+ * Incorporated sun, moon, and star positioning code contributed by Durk Talsma.
+ *
+ * Revision 1.9 1997/09/23 00:29:39 curt
+ * Tweaks to get things to compile with gcc-win32.
+ *
+ * Revision 1.8 1997/09/22 14:44:20 curt
+ * Continuing to try to align stars correctly.
+ *
+ * Revision 1.7 1997/09/16 15:50:30 curt
+ * Working on star alignment and time issues.
+ *
+ * Revision 1.6 1997/09/05 14:17:30 curt
+ * More tweaking with stars.
+ *
+ * Revision 1.5 1997/09/04 02:17:36 curt
+ * Shufflin' stuff.
+ *
+ * Revision 1.4 1997/08/27 21:32:26 curt
+ * Restructured view calculation code. Added stars.
+ *
+ * Revision 1.3 1997/08/27 03:30:19 curt
+ * Changed naming scheme of basic shared structures.
+ *
+ * Revision 1.2 1997/08/25 20:27:23 curt
+ * Merged in initial HUD and Joystick code.
+ *
+ * Revision 1.1 1997/08/23 01:46:20 curt
+ * Initial revision.
+ *
*/