diff --git a/NEWS b/NEWS index 883060cc2..c14786d7a 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,40 @@ +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 diff --git a/src/Airports/simple.cxx b/src/Airports/simple.cxx index 9ac98469b..cad2e4671 100644 --- a/src/Airports/simple.cxx +++ b/src/Airports/simple.cxx @@ -179,9 +179,16 @@ int FGAirportsUtil::load( const string& file ) { 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); diff --git a/src/FDM/JSBSim/FGAircraft.cpp b/src/FDM/JSBSim/FGAircraft.cpp index 65ea475ec..0c5012cda 100644 --- a/src/FDM/JSBSim/FGAircraft.cpp +++ b/src/FDM/JSBSim/FGAircraft.cpp @@ -149,6 +149,8 @@ FGAircraft::FGAircraft(FGFDMExec* fdmex) : FGModel(fdmex), AxisIdx["ROLL"] = 3; AxisIdx["PITCH"] = 4; AxisIdx["YAW"] = 5; + + numTanks = numEngines = 0; } diff --git a/src/FDM/LaRCsim/ls_gravity.h b/src/FDM/LaRCsim/ls_gravity.h index dd118dcda..3eb07f361 100644 --- a/src/FDM/LaRCsim/ls_gravity.h +++ b/src/FDM/LaRCsim/ls_gravity.h @@ -8,4 +8,4 @@ void ls_gravity( SCALAR radius, SCALAR lat, SCALAR *gravity ); -#endif _LS_GRAVITY_H +#endif /* _LS_GRAVITY_H */ diff --git a/src/FDM/LaRCsim/ls_interface.h b/src/FDM/LaRCsim/ls_interface.h index 7b1911544..533d13281 100644 --- a/src/FDM/LaRCsim/ls_interface.h +++ b/src/FDM/LaRCsim/ls_interface.h @@ -48,9 +48,9 @@ int fgFlight_2_LaRCsim (fgFLIGHT *f); /* 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); @@ -65,6 +65,9 @@ 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 diff --git a/src/FDM/LaRCsim/navion_init.h b/src/FDM/LaRCsim/navion_init.h index 0bb54a823..408080532 100644 --- a/src/FDM/LaRCsim/navion_init.h +++ b/src/FDM/LaRCsim/navion_init.h @@ -8,4 +8,4 @@ void navion_init( void ); -#endif _NAVION_INIT_H +#endif /* _NAVION_INIT_H */ diff --git a/src/FDM/UIUCModel/uiuc_aircraft.h b/src/FDM/UIUCModel/uiuc_aircraft.h index fedc30e11..a3d11f407 100644 --- a/src/FDM/UIUCModel/uiuc_aircraft.h +++ b/src/FDM/UIUCModel/uiuc_aircraft.h @@ -89,10 +89,18 @@ #ifndef _AIRCRAFT_H_ #define _AIRCRAFT_H_ +#include + #include #include #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*/ diff --git a/src/FDM/UIUCModel/uiuc_engine.h b/src/FDM/UIUCModel/uiuc_engine.h index 3a9b4e304..d0deb342c 100644 --- a/src/FDM/UIUCModel/uiuc_engine.h +++ b/src/FDM/UIUCModel/uiuc_engine.h @@ -2,8 +2,10 @@ #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_ diff --git a/src/FDM/UIUCModel/uiuc_parsefile.h b/src/FDM/UIUCModel/uiuc_parsefile.h index 09752146c..1514f4e6d 100644 --- a/src/FDM/UIUCModel/uiuc_parsefile.h +++ b/src/FDM/UIUCModel/uiuc_parsefile.h @@ -1,10 +1,20 @@ #ifndef _PARSE_FILE_H_ #define _PARSE_FILE_H_ +#include + #include #include #include +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 "#" diff --git a/src/FDM/UIUCModel/uiuc_warnings_errors.h b/src/FDM/UIUCModel/uiuc_warnings_errors.h index 80cb9eaad..a2f18422c 100644 --- a/src/FDM/UIUCModel/uiuc_warnings_errors.h +++ b/src/FDM/UIUCModel/uiuc_warnings_errors.h @@ -1,8 +1,14 @@ #ifndef _WARNINGS_ERRORS_H_ #define _WARNINGS_ERRORS_H_ +#include /* for FG_USING_STD */ + #include #include +#include /* for exit */ + +FG_USING_STD(string); +FG_USING_STD(iostream); void uiuc_warnings_errors(int errorCode, string line); diff --git a/src/Main/bfi.hxx b/src/Main/bfi.hxx index ef514f0c2..58cac3145 100644 --- a/src/Main/bfi.hxx +++ b/src/Main/bfi.hxx @@ -23,6 +23,8 @@ #include #include +#include + FG_USING_NAMESPACE(std); diff --git a/src/Main/main.cxx b/src/Main/main.cxx index 10ca154ec..3cb5be5d1 100644 --- a/src/Main/main.cxx +++ b/src/Main/main.cxx @@ -1291,6 +1291,8 @@ int fgGlutInitEvents( void ) { int main( int argc, char **argv ) { #if defined( MACOS ) + freopen ("stdout.txt", "w", stdout ); + freopen ("stderr.txt", "w", stderr ); argc = ccommand( &argv ); #endif diff --git a/src/Main/save.hxx b/src/Main/save.hxx index 1e55a09a7..72f7e9e8e 100644 --- a/src/Main/save.hxx +++ b/src/Main/save.hxx @@ -39,6 +39,4 @@ FG_USING_NAMESPACE(std); extern bool fgSaveFlight (ostream &output); extern bool fgLoadFlight (istream &input); -#endif __SAVE_HXX - -// end of save.hxx +#endif // __SAVE_HXX diff --git a/src/Time/moonpos.hxx b/src/Time/moonpos.hxx index cfc4763be..5c04315f6 100644 --- a/src/Time/moonpos.hxx +++ b/src/Time/moonpos.hxx @@ -48,6 +48,9 @@ #ifdef FG_HAVE_STD_INCLUDES # include +# ifdef MACOS + FG_USING_STD(time_t); +# endif #else # include #endif diff --git a/src/Time/sunpos.cxx b/src/Time/sunpos.cxx index 5d76843b3..e60bfeb51 100644 --- a/src/Time/sunpos.cxx +++ b/src/Time/sunpos.cxx @@ -44,6 +44,9 @@ # include # include # include +# ifdef MACOS + FG_USING_STD(time_t); +# endif #else # include # include diff --git a/src/Weather/weather.hxx b/src/Weather/weather.hxx index 110de62a8..73ec55002 100644 --- a/src/Weather/weather.hxx +++ b/src/Weather/weather.hxx @@ -25,6 +25,16 @@ #define _WEATHER_HXX +#include + +#include + +#ifdef FG_HAVE_STD_INCLUDES +# include +#else +# include +#endif + // holds the current weather values class FGWeather { diff --git a/src/WeatherCM/sphrintp.h b/src/WeatherCM/sphrintp.h index d0987e230..78ab4bd47 100644 --- a/src/WeatherCM/sphrintp.h +++ b/src/WeatherCM/sphrintp.h @@ -51,12 +51,19 @@ public: 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 {