+New in 0.7.3
+* April 27, 2000
+* Cygwin32 build fixes
+* MSVC++ build fixes
+* Mac build fixes
+* Updates to JSBsim flight dynamics code that includes a generic
+ reconfigurable flight control system.
+* Updates to LaRCsim flight dynamcis code contributed by UIUC that
+ allows loading aircraft specifications at runtime from config files.
+ UIUC is using flightgear as a platform to do icing research. The UIUC
+ aircraft use the c172 gear model for now which causes some weirdness
+ on the ground for some of the larger aircraft.
+* Flight model no longer has to be chosen at compile time.
+* Separated ephemeris code from the actual sky rendering code and gave
+ this whole section a big overhaul. The moon should now consistantly
+ have the correct phase.
+* Rebuilt the sky dome using ssg.
+* Removed dependencies on mat3.h and friends (old srgp support lib)
+* Added navaid database management and query code.
+* Airport lookups now done through gdbm (a light weight embedded database.)
+* Converted ssgVTable's to ssgVtxTables which do proper memory
+ management and should facilitate use of compiled vertex arrays once
+ ssg add support for these.
+* Simple radio stack added to the instrument panel. The frequencies are
+ currently hardwired to default values until the UI for changing them
+ is finished. But, this is enough to fly ILS instrument approaches.
+* Added a chronometer to the instrument panel.
+* Compass, vsi, and altitute instruments and vacuum system are more
+ accurately modeled.
+* Added a magnetic variation model to "simgear" for use by flightgear.
+* Added custom joystick client support so sim can be flown from a
+ remote joystick connected to another machine. This is in support of
+ some custom hardware located in the human factors research lab of the
+ university of minnesota.
+
New in 0.7.2
+* February 17, 2000
* Lots of code reorganizations
* Build requires plib-1.1.x
* Build requires SimGear-0.0.x
bool FGAirportsUtil::dump_gdbm( const string& file ) {
GDBM_FILE dbf;
+
+#if !defined( MACOS )
dbf = gdbm_open( (char *)file.c_str(), 0, GDBM_NEWDB | GDBM_FAST,
S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH,
NULL );
+#else
+ dbf = gdbm_open( (char *)file.c_str(), 0, GDBM_NEWDB | GDBM_FAST,
+ NULL, NULL );
+#endif
+
if ( dbf == NULL ) {
cout << "Error opening " << file << endl;
exit(-1);
AxisIdx["ROLL"] = 3;
AxisIdx["PITCH"] = 4;
AxisIdx["YAW"] = 5;
+
+ numTanks = numEngines = 0;
}
void ls_gravity( SCALAR radius, SCALAR lat, SCALAR *gravity );
-#endif _LS_GRAVITY_H
+#endif /* _LS_GRAVITY_H */
/* Convert from the LaRCsim generic_ struct to the fgFLIGHT struct */
int fgLaRCsim_2_Flight (fgFLIGHT *f);
+#endif
void ls_loop( SCALAR dt, int initialize );
-#endif
/* Set the altitude (force) */
int ls_ForceAltitude(double alt_feet);
// $Log$
+// Revision 1.3 2000/04/27 19:57:08 curt
+// MacOS build updates.
+//
// Revision 1.2 2000/04/10 18:09:41 curt
// David Megginson made a few (mostly minor) mods to the LaRCsim files, and
// it's now possible to choose the LaRCsim model at runtime, as in
void navion_init( void );
-#endif _NAVION_INIT_H
+#endif /* _NAVION_INIT_H */
#ifndef _AIRCRAFT_H_
#define _AIRCRAFT_H_
+#include <simgear/compiler.h>
+
#include <map>
#include <iostream>
#include "uiuc_parsefile.h"
+FG_USING_STD(map);
+FG_USING_STD(iostream);
+#ifdef MACOS
+FG_USING_STD(ofstream);
+#endif
+
typedef stack :: iterator LIST;
/* Add more keywords here if required*/
#define _ENGINE_H_
#include "uiuc_aircraft.h"
+#include "uiuc_warnings_errors.h" /* for cerr, exit() */
#include "../FDM/LaRCsim/ls_generic.h"
#include "../FDM/LaRCsim/ls_cockpit.h"
void uiuc_engine();
+
#endif // _ENGINE_H_
#ifndef _PARSE_FILE_H_
#define _PARSE_FILE_H_
+#include <simgear/compiler.h>
+
#include <string>
#include <list>
#include <fstream>
+FG_USING_STD(string);
+FG_USING_STD(list);
+#ifdef MACOS
+FG_USING_STD(ifstream);
+FG_USING_STD(iostream);
+FG_USING_STD(endl);
+#endif
+
#define DELIMITERS " \t"
#define COMMENT "#"
#ifndef _WARNINGS_ERRORS_H_
#define _WARNINGS_ERRORS_H_
+#include <simgear/compiler.h> /* for FG_USING_STD */
+
#include <string>
#include <iostream>
+#include <stdlib.h> /* for exit */
+
+FG_USING_STD(string);
+FG_USING_STD(iostream);
void uiuc_warnings_errors(int errorCode, string line);
#include <time.h>
#include <string>
+#include <simgear/compiler.h>
+
FG_USING_NAMESPACE(std);
int main( int argc, char **argv ) {
#if defined( MACOS )
+ freopen ("stdout.txt", "w", stdout );
+ freopen ("stderr.txt", "w", stderr );
argc = ccommand( &argv );
#endif
extern bool fgSaveFlight (ostream &output);
extern bool fgLoadFlight (istream &input);
-#endif __SAVE_HXX
-
-// end of save.hxx
+#endif // __SAVE_HXX
#ifdef FG_HAVE_STD_INCLUDES
# include <ctime>
+# ifdef MACOS
+ FG_USING_STD(time_t);
+# endif
#else
# include <time.h>
#endif
# include <cmath>
# include <cstdio>
# include <ctime>
+# ifdef MACOS
+ FG_USING_STD(time_t);
+# endif
#else
# include <math.h>
# include <stdio.h>
#define _WEATHER_HXX
+#include <simgear/compiler.h>
+
+#include <simgear/xgl/xgl.h>
+
+#ifdef FG_HAVE_STD_INCLUDES
+# include <cmath>
+#else
+# include <math.h>
+#endif
+
// holds the current weather values
class FGWeather {
int Evaluate (const double x, const double y, const double z, T& f) const;
int Evaluate (const double thetaAngle, const double phiAngle, T& f) const;
+#ifndef MACOS
+ // CodeWarrior doesn't know the differece between sgVec2 and
+ // sgVec3, so I commented this out for Mac builds. This change is
+ // related to a similar change in FGLocalWeatherDatabase module.
+
T Evaluate(const sgVec2& p) const
{
T retval;
Evaluate(p[1], p[0], retval);
return retval;
}
+#endif
+
T Evaluate(const sgVec3& p) const
{