1
0
Fork 0
Commit graph

342 commits

Author SHA1 Message Date
david
d514e8c255 Major sound-effect architectural reworking from Eric Hofman, allowing
individual aircraft to have different sounds (and cleaning up my code
a fair bit).  The most important user-visible change is the renaming
of the /sim/sound property to /sim/sound/audible.
2002-02-27 15:13:58 +00:00
david
d61ce30c12 Separated 3D model-handling code from main.cxx out into its own
subsystem, FGAircraftModel.
2002-02-23 21:20:00 +00:00
david
a9a30bfd80 Added an #ifdef for compiling without --with-new-environment. Thanks
to Tony Peden for the catch.
2002-02-23 04:50:47 +00:00
david
eaf9fa7621 Added FGEnvironmentMgr to provide information on the environment in
different locations, and hitched it into FGGlobals.  FGEnvironmentMgr
has taken over as the subsystem, while FGEnvironment is simple the
information that it returns.  I've removed current_environment
completely -- everything now uses properties or goes through
FGGlobals.  FGGlobals itself has a couple of useful methods:

  const FGEnvironment * get_environment ();
  const FGEnvironment * get_environment (double lat, double lon, double alt);

The first one returns the environment data for the plane's current
position, while the second returns the environment data for any
arbitrary location.  Currently, they both return the same information,
but that will change soon.
2002-02-22 22:51:34 +00:00
curt
0a61c0da99 Fix a big where the initial ground elevation reported could be bogus
(initialization order problem.)
2002-02-22 20:20:23 +00:00
david
71f120e3be Initial take of new environment subsystem. Configure with
--use-new-environment to active it.
2002-02-19 15:16:08 +00:00
david
3b870192f4 First steps in a weather reorganization. Note especially that
properties have been renamed from wind-(north|east|down)-fps to
wind-from-(north|east|down)-fps, and the FDMs modified appropriately.
No other changes should be visible unless FG_OLD_WEATHER is defined.
2002-02-19 01:26:44 +00:00
david
93c69c4bc3 Changes from Tony Peden to fix reinit crashes (and eliminate the force
altitude function).
2002-02-17 21:05:27 +00:00
curt
465678ad07 Oops fixed one small mistake from the last fix. 2002-02-13 02:46:01 +00:00
curt
4cd24b3a67 Added a clock freeze option (/sim/freeze/clock). This can be specified
via the command line (--enable-clock-freeze / --disable-clock-freeze)
and can be toggled during a run.  However this property is not currently
bound to any menu or keystroke so you have to do it via the gui property
interface or externally via the web property browser or a script.
2002-02-13 02:37:44 +00:00
curt
aad1de2ee5 Changes to match simgear changes which allow overriding the current
clock time.
2002-02-10 04:18:10 +00:00
curt
644668a932 Removed an unneeded #include 2002-02-06 23:56:17 +00:00
curt
7cd113fa2f Some follow up patches from Norman Vine. 2002-02-06 23:31:33 +00:00
curt
08bbb83b8e A grab bag of tweaks and patches from Norman Vine.
- Better mingwin/cygwin support
- Various gui tweaks and code clean ups
- Initialization clean ups
- Hitlist/scenery tweaks
- other misc. stuff.
2002-02-05 20:54:08 +00:00
curt
f149bcba97 1. Tidies up h-FOV/v-FOV handling and makes window scale depend on
max(width, height) by default (easily changeable) rather than just width.
(src/GUI/gui.cxx, src/Main/main.cxx, src/Main/viewer.cxx, src/Main/viewer.hxx)
2002-02-05 05:51:11 +00:00
curt
e12f6757d5 1. Enable intro music under MS Windows. (main.cxx)
This works on a CygWin build, and probably works on non-Cygwin builds
  as well.

2. Enable FG to start even if audio is not available. (soundmgr.cxx)
   Avoids the FGSoundMgr constructor crashing; the rest of FG then runs
   OK without sound.
2002-02-05 05:04:02 +00:00
curt
4324010074 Tweaks from Julian Foad:
1. Enable auto-configure on more versions of auto tools. (configure.in)
2. Warnings from auto-configure tools. (src/Time/Makefile.am)
3. Typo: "the it's" -> "its". (docs-mini/README.Joystick)
4. Remove definition of FGViewer::update() that now is (or can be) pure
virtual\
. (src/Main/viewer.cxx)
5. Preferred form of function name according to comments in plib:
"not_working"\
 -> "notWorking". (src/Sound/soundmgr.hxx)
2002-02-05 04:42:39 +00:00
curt
4453bec3de Print the usage message as well if a base package version mismatch is
detected.
2002-02-04 22:06:37 +00:00
curt
dea7284cc7 Restructured the 'freeze' property a bit. We now have
/sim/freeze/master      (implimented)
  /sim/freeze/fuel        (implimented)
  /sim/freeze/position    (not implimented)
  /sim/freeze/time-of-day (not implimented)

/sim/freeze/master is bound to the 'p' key via keyboard.xml, however,
/sim/freeze/fuel is not bound to anything at the moment so you must
change it via the external property interface, or specify an initial
value on the command line.
2002-01-20 03:52:36 +00:00
david
1779e8b8bd Patches from Cameron Moore to fix setting cloud altitude from
properties or the command line.
2002-01-16 16:56:49 +00:00
david
3ddf66206a Don't generate FPEs for Linux for now, until PPE model loading is
fixed.  Developers can uncomment lines to get FPEs for debugging.
2002-01-04 20:56:28 +00:00
david
22c472bb17 Corrected typo in macro name, and reverse flags -- FPEs really are
being reported now.
2001-12-22 23:16:43 +00:00
david
c24f4a0539 Enable floating-point exceptions for Linux/x86 systems. See the
beginning of main() for the exceptions that can be enabled (only
divide-by-zero is enabled by default, but you can uncomment any ones
you want); eventually, FlightGear should run cleanly with all FPEs
enabled.
2001-12-22 19:10:37 +00:00
david
aabdd355f0 Modified FGSubsystem::update() to take an int parameter for delta time
(i.e. multiloop).  Most subsystems currently ignore the parameter, but
eventually, it will allow all subsystems to update by time rather than
by framerate.
2001-12-22 17:33:27 +00:00
curt
b85be56a55 Changes to support Dave Luff's initial ATC/ATIS module. 2001-11-07 17:55:28 +00:00
curt
e19d456716 Tweaks to get startup time, relative sun angle, sky colors, etc. to be
properly initialized.
2001-11-07 04:55:57 +00:00
curt
5cf725035f Sound effect changes from David Megginson. 2001-10-29 04:39:54 +00:00
curt
2b056c8452 This set of changes touches a *lot* of files. The main goal here is to
fix startup sequence problems where we initialize the FDM before we know
the desired starting altitude.

These changes delay fdm initialization until the local tile has been loaded
and we can do a real intersection and find the true ground elevation.

In order to do this, I depend more on the property manager as glue, rather
than the FGInterface.

There are some glitches still when switching to a new airport or reseting
the sim.  I will work on addressing these, but I need to commit the changes
so far to keep in sync with other developers.
2001-10-28 16:16:30 +00:00
curt
111f2b7b86 Addition Irix tweaks. 2001-10-24 22:06:47 +00:00
curt
535d708ee0 Various MSVC patches. 2001-10-24 21:25:11 +00:00
curt
b6a259dc90 Fixes for win_ratio/aspect_ratio confusion. It was due to confusion in the
meaning of "win_ratio".  I've removed win_ratio and added fov_ratio and
aspect_ratio, as it seems both are needed.

n.b. The multi-line changes in fgReshape comprise:
  extracting common code,
  removing an apparently arbitrary "+1" on the view height,
  changing "set_win_ratio" to "set_aspect_ratio".
2001-10-24 20:28:28 +00:00
curt
2fbab0d702 Various floating point / initial value bug fixes from Christian Mayer. 2001-10-11 22:07:45 +00:00
curt
3e968179c2 Patches from Dave Luffto pass the magneto and starter control movements
through the controls interface and the running and cranking flags through
the engine interface.  This has no current effect on LaRCsim (other than
to make the code neater) but is necessary to add engine startup to JSBSim
which is now underway.  I've also put in main.cxx which escaped getting
committed in the previous round of changes - adding this will add
the cranking sound to LaRCsim during engine startup.
2001-10-10 17:50:20 +00:00
curt
646f93e618 Enclosed is the latest engine model update that supercedes the
one I sent yesterday.  I have re-zipped all four files so you can
neglect the last lot but only io360.cxx has changed if you've
already committed.  It's untested since I can't start the engine until
John has committed his update with separate properties.  Should
work fine though.
2001-09-19 22:58:29 +00:00
curt
c2e6992b5e Added httpd protocol so you can interface to a running copy of FlightGear
via a web browser, see README.IO for more details.
2001-08-21 21:13:55 +00:00
curt
58c936cc4e - ensure that all throwables are caught
- use new sg_throwable::getFormattedMessage method
2001-07-24 23:51:57 +00:00
curt
96b88e539f Move FGControls declaration to globals.hxx 2001-07-22 19:51:16 +00:00
curt
4141c6f8bb - moved main to mainLoop, and added top-level main to catch any missed
exceptions; we'll make it smarter later
2001-07-19 04:54:53 +00:00
curt
76a94d8f02 Tweaks to base version check code. 2001-07-16 19:37:13 +00:00
curt
093960be31 Check for the proper version of the base package and exit gracefully if not
found.
2001-07-16 19:17:58 +00:00
curt
e2dd3ac3e5 MSVC tweaks. 2001-07-12 17:55:44 +00:00
curt
1e474b4773 Restructured the audio initialization order and don't attempt to continue
loading while intro music is being played.
2001-07-11 06:01:55 +00:00
curt
968b9fcb9c - /sim/model/h-rotation renamed to /sim/model/heading-offset-deg
- /sim/model/p-rotation renamed to /sim/model/roll-offset-deg
- /sim/model/r-rotation renamed to /sim/model/pitch-offset-deg
- /sim/model/x-offset += "-m"
- /sim/model/y-offset += "-m"
- /sim/model/z-offset += "-m"
2001-07-09 16:17:28 +00:00
curt
72a95d570c ** Properties Renamed
- /autopilot/locks/nav1 => /autopilot/locks/nav[0]
- /autopilot/settings/altitude += "-ft"
- /autopilot/settings/climb-rate += "-fpm"
- /autopilot/settings/heading-bug += "-deg"
- /consumables/fuel/tank1/level => /consumables/fuel/tank[0]/level-gal_us
- /consumables/fuel/tank2/level => /consumables/fuel/tank[1]/level-gal_us
- /engines/engine0/cht => /engines/engine[0]/cht-degf
- /engines/engine0/egt => /engines/engine[0]/egt-degf
- /engines/engine0/fuel-flow => /engines/engine[0]/fuel-flow-gph
- /engines/engine0/mp => /engines/engine[0]/mp-osi
- /engines/engine0/rpm => /engines/engine[0]/rpm
- /environment/clouds/altitude += "-ft"
- /environment/magnetic-dip += "-deg"
- /environment/magnetic-varation += "-deg"
- /environment/visibility += "-m"
- /environment/wind-down += "-fps"
- /environment/wind-east += "-fps"
- /environment/wind-north += "-fps"
- /orientation/heading += "-deg"
- /orientation/heading-magnetic += "-deg"
- /orientation/pitch += "-deg"
- /orientation/roll += "-deg"
- /position/altitude += "-ft"
- /position/altitude-agl += "-ft"
- /position/latitude += "-deg"
- /position/longitude += "-deg"
- /radios/adf/frequencies/selected += "-khz"
- /radios/adf/frequencies/standby += "-khz"
- /radios/adf/rotation += "-deg"
- /radios/nav1/* => /radios/nav[0]/*
- /radios/nav2/* => /radios/nav[1]/*
- /radios/nav[*]/dme/distance += "-nm"
- /radios/nav[*]/frequencies/selected += "-mhz"
- /radios/nav[*]/frequencies/standby += "-mhz"
- /radios/nav[*]/radials/actual += "-deg"
- /radios/nav[*]/radials/selected += "-deg"
- /sim/view/goal-offset += "-deg"
- /sim/view/offset += "-deg"
- /steam/adf += "-deg"
- /steam/airspeed += "-kt"
- /steam/altitude += "-ft"
- /steam/gyro-compass += "-deg"
- /steam/gyro-compass-error += "-deg"
- /steam/mag-compass += "-deg"
- /steam/vertical-speed += "-fpm"
- /velocities/airspeed += "-kt"
- /velocities/side-slip += "-rad"
- /velocities/speed-down += "-fps"
- /velocities/speed-east += "-fps"
- /velocities/speed-north += "-fps"
- /velocities/uBody += "-fps"
- /velocities/vBody += "-fps"
- /velocities/wBody += "-fps"
- /velocities/vertical-speed += "-fps"
2001-07-02 22:27:24 +00:00
curt
41260ee546 Fixed a bug with warp variable initialization. fgTie() was nuking out the
initial value.
2001-07-02 16:44:02 +00:00
curt
af2a0da64c Patches contributed by Norman Vine to do ultra-hires tiled screen dumps. 2001-06-26 18:23:07 +00:00
curt
dacb644ae7 - replace FGBFI::update with fgUpdateProps
- switched to properties for calculating RPM for model selector
- no longer includes bfi.hxx
- no longer includes keyboard.hxx
2001-06-05 22:12:28 +00:00
curt
96be3ad601 - no longer include Joystick/joystick.hxx
- include Input/input.hxx
- register GLUTkeyup and GLUTspecialkeyup with glut
- comment out call to fgJoystickRead
- comment out call to fgJoystickInit
- add call to FGInput::update to replace fgJoystickRead
2001-06-04 21:08:06 +00:00
curt
a6e0a69637 Removed cloud layers added for testing. 2001-06-04 20:48:43 +00:00
curt
0ec19036b8 - no longer allocate the root property node for globals; globals does
it itself
- tweaks to model path loading.
2001-06-01 17:53:09 +00:00
curt
cecd0df78d We don't need to explicitely #include <glext.h> since gl.h should do this
for us already if it exists.
2001-05-30 20:58:02 +00:00
curt
02896643d7 Minor texture tweaks. 2001-05-23 20:54:51 +00:00
curt
34854ab2af Threaded tile paging:
- model loading deferred to primary thread
- tile removal deferred to paging thread
- other tweaks and rearrangments.

Airport signs
- first stab at some support for adding taxiway and runway signs.  This
  is non-optimal, but I'm under the gun for a demo.
2001-05-19 16:59:43 +00:00
curt
f85df36eaa Tweaks. 2001-05-18 20:30:36 +00:00
curt
aea664cd15 MSVC++ changes contributed by Geoff McLane. 2001-05-17 21:55:22 +00:00
curt
a0d50000ba Modifications to coordinate with recent changes in simgear. 2001-05-15 22:30:39 +00:00
curt
a01a26a009 Re-added support for loading on-the-fly textures. 2001-05-15 00:01:04 +00:00
curt
c7f7093df5 Timezone fixes for Cygwin. 2001-04-26 18:15:32 +00:00
curt
b0b6c34249 Initial stab at a threaded tile loader contributed by Bernie Bright.
He writes:

Here are the final changes to add threads to the tile loading.  All the
thread related code is in the new FGTileLoader class.

./configure.in
./acconfig.h
Added --with-threads option and corresponding ENABLE_THREADS
definition.  The default is no threads.

./src/Scenery/tilemgr
Removed load_queue and associated references.  This has been replaced by
a new class FGTileLoader in FGNewCache.
Made the global variable global_tile_cache a member.
schedule_needed(): removed global_tile_cache.exists() tests since
sched_tile() effectively repeats the test.
initialize_queue(): removed code that loads tiles since this is now
performed by FGTileLoader.
update(): ditto

./src/Scenery/newcache
Added new class FGTileLoader to manage tile queuing and loading.
tile_map typedefs are private.
exists() is a const member function.
fill_in(): deleted
load_tile(): added.

./src/Scenery/FGTileLoader
The new threaded tile loader.  Maintains a queue of tiles waiting to be
loaded and an array of one or more threads to load the tiles.  Currently
only a single thread is created.  The queue is guarded by a mutex to
synchronize access.  A condition variable signals the thread when the
queue is non-empty.

CLO: I made a few tweaks to address a couple issues, hopefully what we
have is solid, but now we kick it out to the general public to see. :-)
2001-04-11 02:47:15 +00:00
curt
397a83d69f Data logging patches from Jon Berndt
Fix for model loading under plib-1.2.x in main.cxx
2001-04-05 15:39:37 +00:00
curt
2aca8ca2cf Irix MipsPro patches and fixes. 2001-04-02 02:59:31 +00:00
curt
74fbaa8f5e Latest round of JSBSim updates. 2001-03-30 01:04:50 +00:00
curt
31047f65ac - model loading should work again with the latest CVS PLIB (and, I
hope, with earlier versions as well)
- support for the new LONG value type
- gear support for UIUC (updated for the newly renamed SG_* stuff;
otherwise identical to what I sent you before)
- fixed reported MSVC problem in src/FDM/flight.cxx
2001-03-29 03:49:02 +00:00
curt
191bb3956a Updates from Bernie Bright to massage tile loading around to make it
slightly more conducive to future threading.
2001-03-29 01:42:31 +00:00
curt
e7d79e7ba2 Light model tweaks. 2001-03-28 18:11:05 +00:00
curt
c4b2e54551 Fix moon drawing at night. 2001-03-28 17:52:40 +00:00
curt
7aa5e0a4eb Lighting fixes.
Warning fixes.
Typo in configure.in
2001-03-28 00:39:29 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
182fd42b40 SG-ified logstream. 2001-03-24 06:03:11 +00:00
curt
5ea9c04c64 SG_ namespace. 2001-03-24 04:56:46 +00:00
curt
17c96ae69e SG_ namespace 2001-03-24 04:48:44 +00:00
curt
92443d36a4 FG_ to SG_ namespace changes. 2001-03-24 03:10:40 +00:00
curt
17f3d48e03 FG_ to SG_ namespace changes. 2001-03-24 02:36:45 +00:00
curt
1bf3001749 FG_ to SG_ namespace changes. 2001-03-24 00:18:01 +00:00
curt
8497f9b1ac FG_ to SG_ name changes. 2001-03-23 22:42:49 +00:00
curt
eccd695f91 Fixed some problems with marker beacon range:
a) I was compairing feet vs. meter (making the range 3x too. big)
b) I was using the diameter in place of the radius (making the range an
   additional 2x too big.)
c) Updated the equation for calculating range to model the weak transmitter
   not being picked up at upper altitudes.

We still might need some additional tweaking, but I think we are starting to
get in the right ball park.
2001-03-19 13:56:19 +00:00
curt
c763c795ad Don't play DME ident if no colocated DME. 2001-03-10 00:06:39 +00:00
curt
95e27e8cb9 Working on vor audio ident (morse).
Fixed a bug in Network/props.cxx with the cd command.
Fixed a typo in options.cxx
2001-03-09 02:41:04 +00:00
curt
815d49e86a Reshuffled some of the sound code and created a "src/Sound" subdirectory. 2001-03-05 22:54:20 +00:00
curt
fbad3482fa More work on morse code ... 2001-03-05 14:11:25 +00:00
curt
e9591422f3 Added a first pass at a C++ sound manager class. 2001-03-02 22:37:01 +00:00
curt
97f526f7a6 Added a GUI vec3 pilot offset control contributed by Norman Vine. 2001-01-29 05:08:00 +00:00
curt
1a0a65b2a5 Fixes to iochannel parsing which had gotten broke at some point.
Fixed --disable-skyblend
2001-01-26 00:21:36 +00:00
curt
1c000fef96 Tweaks to add an altitude indicator adjustment. 2001-01-23 07:17:47 +00:00
curt
e9b492af4f More tweaking of position reset logic. 2001-01-17 23:30:35 +00:00
curt
a5e4e6be11 Working on setting initial altitude correctly after a reset. 2001-01-17 20:32:02 +00:00
curt
26dca37028 More "delta-t" and fdm interface timing tweaks. 2001-01-17 02:37:12 +00:00
curt
d346e53aee Tweaking the FGInterface interface so we can move it towards a more consistant
fgSubsystem init() and update() interface.
2001-01-16 21:41:28 +00:00
curt
576432ec75 David Megginson writes:
FGOptions is history, and the modules are (starting) to use the property
manager directly.  Let me know if I left any files out.

Inevitably, there will be some problems with broken options, etc.,
that I haven't found in my tests, but I'll try to fix them quickly.
We also need to stress that the property names currently in use are
not stable -- we need to reorganize them a bit for clarity.
2001-01-13 22:06:39 +00:00
curt
bc99033c96 Integrated FGOptions with the property manager (by David Megginson) 2001-01-12 15:37:40 +00:00
curt
469703dd0c Internal interface changes by David Megginson. 2001-01-11 22:44:18 +00:00
curt
cff0022a16 Miscellaneous MSVC porting fixes by Christian Mayer. 2001-01-11 05:04:17 +00:00
curt
d9bff43bde Tweaks. 2001-01-08 22:01:24 +00:00
curt
3b88c71122 Applied changes relative to David Megginson's property manager rewrite. 2000-12-19 23:29:16 +00:00
curt
6d399f83f8 Added some initial support for moving parts on aircraft models. 2000-12-19 20:50:00 +00:00
curt
e333080388 MacOS changes contributed by Darrell Walisser (12/13/2000) 2000-12-13 23:02:02 +00:00
curt
403c740b34 Updates to DCS support and updates to options in preparation for support
the new xml configurable hud.
2000-12-08 20:05:43 +00:00
curt
5fecec2bba More night ground lighting tweaks. 2000-12-06 22:16:12 +00:00
curt
2baba715b4 Adjust ground lighting up significantly higher to avoid zbuffer fighting
on cards with 16 bit (or less) depth buffers.
2000-12-05 14:27:27 +00:00
curt
45564beba8 Fix fog / light punchthrough. 2000-12-04 22:35:10 +00:00
curt
3f32f2680d Started laying out infrastructure for ground lighting.
Renamed fg_random -> sg_random.
2000-12-04 05:26:40 +00:00
curt
3593f3782d Fixes for better control over external aircraft 3d model control. 2000-11-14 20:43:38 +00:00
curt
08fd9cc36d Moved fov and win_ration from FGOptions to FGViewer so we can control these
on a per view basis.
Fixed some compile warnings in Main/*.cxx
2000-11-01 23:27:32 +00:00
curt
8aab71034a Woohoo! some success with external views ... 2000-11-01 04:32:04 +00:00
curt
49aab2af8e Working on lookat views. 2000-11-01 02:30:10 +00:00
curt
b83ad15313 Added CHT (cylinder head temp) to BFI and property manager. 2000-10-27 22:00:43 +00:00
curt
cf6022e439 Added a viewmgr system and made corresponding changes to support it. 2000-10-26 21:51:09 +00:00
curt
1338b3548c Debug cleanup. 2000-10-26 18:20:55 +00:00
curt
35819b8c4d Check point ... making progress with a FGViewerLookAt class so we can
more easily do nifty external views.
2000-10-26 18:10:28 +00:00
curt
0175b4cd25 Continued FGViewer cleanups. FGViewer is now a base class so that we can
derive specific viewer classes from it.  Here's what I currently have in mind:

FGViewer
  |
  |-> FGViewerPRH     (current system with orientation specified in
  |                    LaRCsim Euler angle convention)
  |
  |-> FGViewerLookAt  Feed in a position, view direction, and up vector
  |
  |-> FGViewerHPR     (similar to PRH, but using ssg hpr euler angle
  |                    convention)
  |-> others?
2000-10-25 22:59:02 +00:00
curt
83ad798898 Removed references to Point3D from FGViewers interface. 2000-10-25 19:46:43 +00:00
curt
470ee55fb7 Continuing work on cleanups.
Removed some commented out chunks of code that no longer make sense to keep
around.
Working on replacing instances of Point3D with sg{d,}Vec3.
2000-10-25 19:27:13 +00:00
curt
6515f9072c Checkpoint commit for cleaning up the FGViewer class. External views are
not working right, but this will hopefully be fixed soon.
2000-10-25 15:27:55 +00:00
curt
7cc98ad15f I tested:
LaRCsim c172 on-ground and in-air starts, reset: all work
UIUC Cessna172 on-ground and in-air starts work as expected, reset
results in an aircraft that is upside down but does not crash FG.   I
don't know what it was like before, so it may well be no change.
JSBSim c172 and X15 in-air starts work fine, resets now work (and are
trimmed), on-ground starts do not -- the c172 ends up on its back.  I
suspect this is no worse than before.

I did not test:
Balloon (the weather code returns nan's for the atmosphere data --this
is in the weather module and apparently is a linux only bug)
ADA (don't know how)
MagicCarpet  (needs work yet)
External (don't know how)

known to be broken:
LaRCsim c172 on-ground starts with a negative terrain altitude (this
happens at KPAO when the scenery is not present).   The FDM inits to
about 50 feet AGL and the model falls to the ground.  It does stay
upright, however, and seems to be fine once it settles out, FWIW.

To do:
--implement set_Model on the bus
--bring Christian's weather data into JSBSim
-- add default method to bus for updating things like the sin and cos of
latitude (for Balloon, MagicCarpet)
-- lots of cleanup

The files:
src/FDM/flight.cxx
src/FDM/flight.hxx
-- all data members now declared protected instead of private.
-- eliminated all but a small set of 'setters', no change to getters.
-- that small set is declared virtual, the default implementation
provided preserves the old behavior
-- all of the vector data members are now initialized.
-- added busdump() method -- FG_LOG's  all the bus data when called,
useful for diagnostics.

src/FDM/ADA.cxx
-- bus data members now directly assigned to

src/FDM/Balloon.cxx
-- bus data members now directly assigned to
-- changed V_equiv_kts to V_calibrated_kts

src/FDM/JSBSim.cxx
src/FDM/JSBSim.hxx
-- bus data members now directly assigned to
-- implemented the FGInterface virtual setters with JSBSim specific
logic
-- changed the static FDMExec to a dynamic fdmex (needed so that the
JSBSim object can be deleted when a model change is called for)
-- implemented constructor and destructor, moved some of the logic
formerly in init() to constructor
-- added logic to bring up FGEngInterface objects and set the RPM and
throttle values.

src/FDM/LaRCsim.cxx
src/FDM/LaRCsim.hxx
-- bus data members now directly assigned to
-- implemented the FGInterface virtual setters with LaRCsim specific
logic, uses LaRCsimIC
-- implemented constructor and destructor, moved some of the logic
formerly in init() to constructor
-- moved default inertias to here from fg_init.cxx
-- eliminated the climb rate calculation.  The equivalent, climb_rate =
-1*vdown, is now in copy_from_LaRCsim().

src/FDM/LaRCsimIC.cxx
src/FDM/LaRCsimIC.hxx
-- similar to FGInitialCondition, this class has all the logic needed to
turn data like Vc and Mach into the more fundamental quantities LaRCsim
needs to initialize.
-- put it in src/FDM since it is a class

src/FDM/MagicCarpet.cxx
 -- bus data members now directly assigned to

src/FDM/Makefile.am
-- adds LaRCsimIC.hxx and cxx

src/FDM/JSBSim/FGAtmosphere.h
src/FDM/JSBSim/FGDefs.h
src/FDM/JSBSim/FGInitialCondition.cpp
src/FDM/JSBSim/FGInitialCondition.h
src/FDM/JSBSim/JSBSim.cpp
-- changes to accomodate the new bus

src/FDM/LaRCsim/atmos_62.h
src/FDM/LaRCsim/ls_geodesy.h
-- surrounded prototypes with #ifdef __cplusplus ... #endif , functions
here are needed in LaRCsimIC

src/FDM/LaRCsim/c172_main.c
src/FDM/LaRCsim/cherokee_aero.c
src/FDM/LaRCsim/ls_aux.c
src/FDM/LaRCsim/ls_constants.h
src/FDM/LaRCsim/ls_geodesy.c
src/FDM/LaRCsim/ls_geodesy.h
src/FDM/LaRCsim/ls_step.c
src/FDM/UIUCModel/uiuc_betaprobe.cpp
-- changed PI to LS_PI, eliminates preprocessor naming conflict with
weather module

src/FDM/LaRCsim/ls_interface.c
src/FDM/LaRCsim/ls_interface.h
-- added function ls_set_model_dt()

src/Main/bfi.cxx
-- eliminated calls that set the NED speeds to body components.  They
are no longer needed and confuse the new bus.

src/Main/fg_init.cxx
-- eliminated calls that just brought the bus data up-to-date (e.g.
set_sin_cos_latitude). or set default values.   The bus now handles the
defaults and updates itself when the setters are called (for LaRCsim and
JSBSim).  A default method for doing this needs to be added to the bus.
-- added fgVelocityInit() to set the speed the user asked for.  Both
JSBSim and LaRCsim can now be initialized using any of:
vc,mach, NED components, UVW components.

src/Main/main.cxx
--eliminated call to fgFDMSetGroundElevation, this data is now 'pulled'
onto the bus every update()

src/Main/options.cxx
src/Main/options.hxx
-- added enum to keep track of the speed requested by the user
-- eliminated calls to set NED velocity properties to body speeds, they
are no longer needed.
-- added options for the NED components.

src/Network/garmin.cxx
src/Network/nmea.cxx
--eliminated calls that just brought the bus data up-to-date (e.g.
set_sin_cos_latitude).  The bus now updates itself when the setters are
called (for LaRCsim and JSBSim).  A default method for doing this needs
to be added to the bus.
-- changed set_V_equiv_kts to set_V_calibrated_kts.  set_V_equiv_kts no
longer exists ( get_V_equiv_kts still does, though)

src/WeatherCM/FGLocalWeatherDatabase.cpp
-- commented out the code to put the weather data on the bus, a
different scheme for this is needed.
2000-10-24 00:34:50 +00:00
curt
152a5902c8 Moved winWidth and winHeight out of FGViewer since these are set on a
per-application level.  We can have multiple viewers ...
Cleaned up fov mistake on startup with panel activated.
2000-10-19 23:09:33 +00:00
curt
01c44cbb99 Code clean ups relating to FGOptions ... and moved it into globals-> space. 2000-10-19 21:24:43 +00:00
curt
ce574d59f5 The following changes were made to flightgear-0.7.5 code to implement the follow
ing features:

a) ADA Flight model - ADA.cxx, ADA.hxx, flight.hxx
b) Fighter a/c HUD       - flight.hxx, hud.hxx, hud.cxx, cockpit.cxx, hud_ladr.c
xx, hud_card.cxx
c) 3-window display      - options.hxx, options.cxx, viewer.cxx
d) Moving objects (ship) - main.cxx
e) Patches               - main.cxx

ADA.cxx, ADA.hxx
--------------------------
Interface to the external ADA flight dynamics package.

flight.hxx
----------
Included prototypes for accepting additional data fron the External flight
model for fighter aircraft HUD

Hud.hxx
-------
Included prototypes for accepting additional data for fighter HUD from Exernal F
light model.
Defined FIGHTER_HUD pre-processor directive to enable compilation of fighter hud
 code.

hud.cxx, cockpit.cxx, hud_ladr.cxx, hud_card.cxx
---------------------------------------
Included code to initialise additional reticles/text for fighter HUD which is co
nditionally
compiled if FIGHTER_HUD is defined.

options.hxx
-----------
Added window_offset, and function to retrieve its value for 3 windows

options.cxx
-----------
Changed few options to suit ADA/CEF projection system/screens and checks for win
dow offset.

views.cxx
---------
Added code to retrieve view offset for window.

Main.cxx
--------
Added code to load and move an aircraft carrier.
Patch to enable clouds from command line until Curtis fixes it. By default cloud
s are disabled.
2000-10-19 19:46:13 +00:00
curt
2eda8480e9 Some changes contributed by David Megginson to allow for more interesting
external views.
2000-10-18 21:19:30 +00:00
curt
806511bd99 Added ref() count increment calls to all ssgSimpleState creation to prevent
them from being delete by ssg once nothing in the scene graph points to them.
2000-10-18 00:48:12 +00:00
curt
df0228e019 Tweaks and massaging relative to the new waypoint route management system.
You can now specify waypoint on the command line with --wp=ID[,alt]
2000-10-12 01:08:09 +00:00
curt
7c38f172d9 Some tweaks relating to engines and the various LaRCsim related fdm's 2000-10-10 20:31:20 +00:00
curt
c64a964956 Added keyboard mappings to move panel up/down/right/left. 2000-10-10 17:45:04 +00:00
curt
f6fac40a11 David Megginson writes:
I have a scrollable panel working (it didn't take long in the end).  A
panel can now be much wider or higher than the available area, and the
user can scroll around using [Shift]F5, [Shift]F6, [Shift]F7, and
[Shift]F8.  The user can also scroll the panel down to get a bigger
external view.  Mouse clicks seem still to be working correctly.

To set the panel's (virtual) height and width, use the panel file's /w
and /h properties in a panel XML file; to set the initial x- and y-
offsets (untested), use the panel file's /x-offset and /y-offset
properties; to set the initial height of the external view (untested
and optional), use the panel file's /view-height property.  Note that
none of these show up in the regular FGFS property manager.

Unfortunately, these patches will not affect your initialization
problems with the property manager -- I'm having a hard time tracking
them down because I cannot reproduce them.

I have also made some patches to main.cxx and views.cxx to do two
things:

1. Expand or shrink the external view as the panel moves up and down.

2. Set the window ratio correctly, so that we don't get an oval sun
   and flat clouds when the panel is visible (the problem before was
   integer division, so I added casts).

Unfortunately, the window ratio is not set properly at start-up --
there are too many dependencies, and I haven't figured that part out
yet.  As soon as you hide and redisplay the panel or move it
vertically (i.e. force fgReshape to be called), you'll see the correct
ratio.
2000-10-06 21:16:01 +00:00
curt
981d4dbd7d Properties:
- /engines/engine0/rpm changed to read-only
- /engines/engine0/egt added (read-only)
- /controls/mixture added
- /controls/propellor-pitch added (not used for C172)

BFI:

- getEGT() added
- getMixture() and setMixture() added
- getPropAdvance() and setPropAdvance() added (= pitch)
- cleaned up reinit function a bit
- force reinit only when values are actually changed; for example,
  setting the flight model to the current flight model will not cause
  a reinit

LaRCSim:

- hook up mixture and pitch to FGControls (they were hard-coded
  before)
2000-10-04 22:52:34 +00:00
curt
df31c5893e Die if I/O Channel config fails for any reason.
Add an I/O Shutdown function call that explicitely closes all the open channels.
2000-10-04 20:50:38 +00:00
curt
21a5886bcb Oct 2, 2000 JSBSim sync. 2000-10-02 23:07:30 +00:00
curt
137da58a70 Working on putting engine data on "the bus" 2000-09-29 03:27:21 +00:00
curt
32528d0cd6 A bit of fg->sg namespace changing. 2000-09-27 20:16:22 +00:00
curt
a9ab25ddd1 Changes from David Megginson in support of an xml based configuration file. 2000-09-25 21:41:50 +00:00
curt
bf14bb1151 Fixes for MSVC++ issues. 2000-09-21 22:59:27 +00:00
curt
18f5bbd027 Grab max texture size in case we want to use it later ... 2000-09-18 21:02:59 +00:00
curt
f21847b3c2 bfi load/save fix from David.
Added an initial freeze on startup so that we can try to avoid bouncing the
plane on it's back during the very low frame rate / scenery loading startup
conditions.
2000-09-15 19:28:26 +00:00
curt
655ce0e20d MACOS -> macintosh 2000-09-10 00:04:50 +00:00
curt
927aa90378 Force glEnable(GL_DEPTH_TEST) for scenery rendering. 2000-08-22 04:45:31 +00:00
curt
535ed92264 Added code to put aircraft at the end of the runway closest to the desired
heading.  Only changed for initial position right now.
2000-08-16 00:09:03 +00:00
curt
bc6d6fbf50 Fixed a problem with the sound hack ... code was using a value that was never
initialized or updated ... switched to a different value that was both
initialized and updated ... :-)
2000-08-11 20:25:30 +00:00
curt
5103729ca0 Updates to use new SGMagVar class from simgear. 2000-08-08 00:39:52 +00:00
curt
8ec5fd715b Fix to time initialization (based on position) code 2000-07-31 15:05:46 +00:00
curt
941f27c9a0 Updates to move scenery initialization earlier in the initialization
sequence so that the FDM can know the current ground altitude when it is
initialized.
2000-07-23 21:32:59 +00:00
curt
3d96949058 Updates for 0.7.5 2000-07-22 23:34:28 +00:00
curt
fc84045169 Activated gyro drift ... look out!
Cleaned a bit of cruft out of gui.[ch]xx
Cleaned up win_ratio() and fov code to make more sense and be a bit more
consistant and robust and less buggy and less susceptible to screw ups.
Panel is activated now by default, HUD is off by default.
2000-07-22 23:25:49 +00:00
curt
81b266aa4a Try to set initial position in a bit more intelligent way (and earlier in
the process so time initialization can have a chance to work.)
2000-07-21 22:54:14 +00:00
curt
b29a72a5bc SGTime tweaks. 2000-07-08 22:11:00 +00:00
curt
342554fadb Fix up simulator freeze functionality. 2000-07-08 06:29:19 +00:00
curt
6bd02587aa Tidying up the SGEphemeris class. 2000-07-08 05:09:24 +00:00
curt
c65cd3254b More tidying up of SGTime. 2000-07-07 23:56:43 +00:00
curt
312626c5f0 Hopefully final time cleanups. 2000-07-07 21:52:45 +00:00
curt
436db30053 More SGTime tidying. 2000-07-07 20:28:51 +00:00
curt
f9b28c103d Updates to go along with SGTime tweaks in SimGear. 2000-07-07 17:27:37 +00:00
curt
0ffa19cd32 Updates to JSBsim from Jon's CVS.
Massaging some names inside of SimGear.
2000-07-06 22:13:24 +00:00