1
0
Fork 0
Commit graph

3002 commits

Author SHA1 Message Date
david
4b9060b064 Invoke fgInitNav() before fgInitPos(). 2003-02-21 02:46:07 +00:00
david
22097a5272 Add fgInitNav() function so that navaids and fixes can be loaded
earlier, before fgInitSubsystems().

Modify fgInitPos() so that the plane is not automatically aligned with
a runway when an airport is the reference point unless (a) a runway
was explicitly requested, or (b) the plane is on the ground with no
offset distance specified.  To set up the plane lined up on an
approach to a runway, use something like

  fgfs --airport=CYOW --runway=32 --altitude=300 --offset-distance=0.5

This way, it's possible to specify a starting position relative to an
airport without getting snapped onto a runway approach (unless you
want to be).
2003-02-21 02:45:47 +00:00
david
7d7a137d86 Declare fgInitNav(). 2003-02-21 02:42:45 +00:00
david
8eac88efe9 Fixed calibrated airspeed output so that it accounts for wind. 2003-02-19 17:41:53 +00:00
david
b78d5a0b93 Interpolate the twist linearly over the wing.
Reduce the minimum number of twist segments from 16 to 8.
2003-02-18 17:37:28 +00:00
david
7228024ed5 Added a "twist" attribute for wings to allow for washout (or washin,
if desired) in the stall.  This allows for fairly docile stalls when
desired, as on trainers (you also need to limit the elevator lift).
2003-02-18 16:50:07 +00:00
daveluff
0ecc199b09 Added basic support for using more than one voice. The render function is moved out of ATCmgr and into the ATC base class. 2003-02-18 10:44:01 +00:00
curt
317e48ba4f Jim Wilson:
Here's a patch to fix the asi problem (it affects most aircraft panels).
[ Avoids a sqrt( x < 0 ) ]
2003-02-16 20:47:40 +00:00
curt
d4d53763d9 Commented out a stray cout. 2003-02-13 21:31:44 +00:00
daveluff
ecad8a206e Alexander's new files added to Makefile.am 2003-02-13 12:21:01 +00:00
daveluff
85a79b4886 Changes in support of Alexander's ATC menu/transmission work. In particular all the pop-up dialog stuff has been ripped out of ATCmgr.[ch]xx and moved to ATCDialog.[ch]xx 2003-02-13 12:20:25 +00:00
daveluff
b271bc5da2 Better robustness for the ATCData structure istream operator. Adding fin.close() seems to have cured an intermittent stackdump when reading in the voice files which are the next istream operation to occur. Unknown types no longer cause the rest of the file not to be read - only the specific unknown entry 2003-02-13 12:17:37 +00:00
daveluff
f57e495893 Alexander's Approach ATC class modified to support his new menu/transmission code 2003-02-13 12:09:28 +00:00
daveluff
5dbf38c273 First draft of work by Alexander Kappes to add dynamically driven menu entries to the pop-up ATC dialog, parsing of text input to the ATC system and parameterised transmissions where the speech of a transmission is derived from the intent based on data files potentially allowing users to specify different phrases for each voice instead of being hard-coded. This is a work in progress. 2003-02-13 12:05:19 +00:00
david
2412c3a334 Integrate code posted by Jon Berndt, so that only the z-direction
turbulence is diminished near the ground.
2003-02-12 23:00:49 +00:00
david
0a6d2b7559 Minor code cleanups. 2003-02-12 18:35:04 +00:00
david
1693a364e4 Square the /environment/turbulence-norm property before scaling it for
FGAtmosphere -- that way, there are finer distinctions in the lower
end, where most people will fly.
2003-02-12 18:34:51 +00:00
david
9f5498acf4 Fade out the turbulence within two wingspans of the ground. 2003-02-12 18:34:39 +00:00
david
4ecd146258 Connect the FlightGear /environment/turbulence-norm property to the
turbulence gain in JSBSim's FGAtmosphere class.

Latest FGAtmosphere from JSBSim with working turbulence support.
2003-02-12 00:30:24 +00:00
curt
86bf012f50 Erik Hofman:
Sort aircraft when using --show-aircraft option.
2003-02-11 21:17:36 +00:00
curt
0ab97746c8 Erik Hofman:
Adds some small updates to the sound code (add vector clearing in destructors).
2003-02-11 20:26:42 +00:00
david
4c93c8a070 Temporarily disabled ILS range tweaking, until we come up with a
better scheme.

While it's true that the actual ILS indications are unreliable when
far off the approach path, the ILS is not out of range -- you can
still ident it (an essential part of any approach procedure), and the
indicator will usually be doing something, however bizarre.  The
current scheme did not allow the user to ident the ILS until
practically on the approach path.
2003-02-11 20:05:18 +00:00
curt
53083bf9fb Another tilemgr fix from Jim W. 2003-02-11 15:50:53 +00:00
daveluff
4231262d61 Several *list.[ch]xx files removed 2003-02-10 22:30:13 +00:00
daveluff
5e40c46afc approachlist.[ch]xx superceeded by commlist.[ch]xx 2003-02-10 22:29:15 +00:00
daveluff
f3cc3cc658 towerlist.[ch]xx superceeded by commlist.[ch]xx 2003-02-10 22:28:31 +00:00
daveluff
20455b1f61 atislist.hxx superceeded by commlist.hxx 2003-02-10 22:27:43 +00:00
daveluff
4df26cb392 atislist.cxx superceeded by commlist.cxx 2003-02-10 22:27:12 +00:00
curt
5efcc9c1d9 Dave Luff:
Patch to remove initialisation of atislist,towerlist and
approachlist which have been superceeded by commlist.
2003-02-10 20:42:18 +00:00
curt
0fe90a83dd Fix a bug in tile manager updating when switching from one view to the next. 2003-02-10 15:34:18 +00:00
daveluff
1915423544 groundlist now replaced by commlist 2003-02-07 13:38:57 +00:00
daveluff
df3e54cc47 Whoops - missed a file from the commlist changes yesterday 2003-02-07 13:34:56 +00:00
curt
79b3e39251 There are a number of little changes. Tested with current cvs as of 20:30EST
04Feb.  Actually been running since the beginning of January with these
patches.  All changes work without crashing with the current base package cvs,
but there are some visual problems with the views (other than pilot view)
without changes to the base package.

As soon as you can build test and commit I can add in those base package
updates that will make it all work nicely.  I will also go through all the 3D
Aircraft configs to make sure the change in the "pitch-offset" for cockpit
views (see below) are made to maintain current behavior.

Here are the files (changes listed below):
http://www.spiderbark.com/fgfs/viewerupdate.diffs.gz
http://www.spiderbark.com/fgfs/viewerupdate.tar.gz
2003-02-06 19:44:32 +00:00
david
41b04ba02b Make sure that we have a VOR or VORTAC, and not just a DME or TACAN. 2003-02-06 16:18:17 +00:00
david
fbfb499d49 The switch position was screwed up -- 2 means "hold last frequency",
not "off".
2003-02-06 16:17:47 +00:00
david
2a388d796e Use the property /sim/sound/voice to disable voice support even if
/sim/sound/audible is true.
2003-02-06 16:17:03 +00:00
daveluff
9b7405304d Major re-work of the comm frequency storage and lookup. Only a small core amount of data is now stored instead of the whole ATC classes. All the comm frequency types are now stored in one map instead of a map each. query(...) and query_bck(...) have been renamed to FindByFreq(...) and FindByPos(...) for clarity and consistency with NavList 2003-02-06 10:42:43 +00:00
david
9864453259 GUI style changes suggested by Erik Hofman and Curtis Olson. 2003-02-05 02:17:08 +00:00
david
e4f1dbace7 Patches from Johan Walles:
Here are the two modifications I had to make to get flightgear (just
updated from CVS) to build.  The first one is for being able to specify
SimGear's location at the ./configure command line, and the second one
is to be able to link.
2003-02-05 01:09:20 +00:00
curt
23668a2a08 Rephrased some comments to avoid /* in a comment warnings. 2003-02-04 22:28:48 +00:00
curt
b6e4238dfa Clean up a compiler warning. 2003-02-04 22:28:19 +00:00
curt
e8b6077c79 James Turner:
Here's a change to the GUI property picker I did a few weeks back.
It makes the values in the property pick 'live' (and also re-factors
the picker code to use less arrays, this should be obvious from the
diffs). A good demo is to open up the engine node and observe the rpm,
cylinder head temp, oil pressure and so on while playing with the
throttle and airspeed. It's pretty rough (some rounding of digits would
help) but useful for testing (at least I think so). I'm not sure about
the performance implications either, but it seems fine for me.
2003-02-04 22:27:58 +00:00
curt
0111a2c71c Fix a bug in transit sound termination and adjust the minimum time we
wait with no change before stoping the sound.
2003-02-04 18:18:24 +00:00
curt
8228afdbac Periodically the turn coordinator is jammed all the way to one side.
Initialize _last_rate to 0 at start up to hopefully avoid this.
2003-02-04 17:23:21 +00:00
curt
fed01db83a Oops, sorry, nothing more to see here, move right along ... 2003-02-04 17:22:00 +00:00
curt
6bfdb5a762 Add support for specifying an rpm source for the alternator. This enables
us to tie the output of an arbitrary generator to the state of an arbitrary
engine.
2003-02-03 22:35:24 +00:00
curt
1b40b5e4c9 Fixed a spelling error in the api. (ouch) :-) 2003-02-03 22:22:02 +00:00
curt
9e35d33657 Add the ability to specify an initial state (on/off) for a connector switch.
If nothing is specifed the switch defaults to on, but this is a problem for
the starter switch.
2003-02-03 22:15:36 +00:00
curt
fc095c7061 Avoid a potential segfault. 2003-02-03 21:57:25 +00:00
curt
2ce74e14b1 Register that we have been inited so the init routine isn't called repeatedly. 2003-02-03 21:57:07 +00:00
curt
88b98d9d79 Updated FGILSList api to better match the FGNavList api. 2003-02-03 20:05:27 +00:00
curt
371b5314a8 Updates to use new FGILSList api (updated to better match NavList api) 2003-02-03 20:04:56 +00:00
david
8506e731a2 Minor logging changes.
All logs and log entries are now disabled by default, unless
explicitly enabled by an 'enabled' property.  This works much more
intuitively with the GUI dialog.
2003-02-01 17:59:52 +00:00
david
603834ccf1 Add support for numerals as well as letters in Morse identifiers
(needed for many navaids).
2003-01-29 23:30:34 +00:00
david
67defdcf2f README for src/Systems/ 2003-01-29 16:03:00 +00:00
david
91c8dd3196 Converted to a simple FGSubsystemGroup. 2003-01-29 16:02:46 +00:00
david
70dde366bc Removed unneeded inclusion of std::vector. 2003-01-29 16:02:27 +00:00
david
9c574d4b87 Added a README for the src/Instrumentation/ directory. 2003-01-29 15:38:52 +00:00
david
9841edf429 Added a README for the src/Cockpit/ directory. 2003-01-29 15:34:31 +00:00
david
57da4bf02d Removed the old FGSteam module from FlightGear. 2003-01-29 15:30:29 +00:00
tony
6acae863ec Removing files already removed from JSBSim CVS. 2003-01-27 23:42:08 +00:00
david
269c83b86a Correct old-reinit_dialog to old-reinit-dialog. 2003-01-27 15:39:41 +00:00
david
7470eadbe7 Make the indicator a little less jumpy. 2003-01-26 20:57:57 +00:00
david
95e3e9d28b Add serviceable property. 2003-01-26 20:21:04 +00:00
david
d56bc5c9df If the gyro becomes unserviceable, stop spinning immediately. 2003-01-26 20:20:33 +00:00
david
113b1192c4 Make serviceable property writable. 2003-01-26 20:20:15 +00:00
david
c8f775c103 Switch to opaque dialogs and menu (with a heavy heart). 2003-01-26 20:19:15 +00:00
david
c165466a07 Use new magnetic compass property. 2003-01-26 15:56:30 +00:00
david
f72891e113 Added magnetic compass instrument.
Removed some unused bind/unbind methods.

Improved responsiveness of slip-skid ball.

Some minor cleanups.
2003-01-26 15:56:11 +00:00
david
acbb9f5aff Renamed /velocities/side-slip-rad to /orientation/side-slip-rad.
Renamed /velocities/side-slip-deg to /orientation/side-slip-deg.

Renamed /velocities/alpha-deg to /orientation/alpha-deg.

Added /accelerations/ned/north-accel-fps_sec.

Added /accelerations/ned/east-accel-fps_sec.

Added /accelerations/ned/down-accel-fps_sec.

Renamed /accelerations/pilot/x-accel-ft_sec2 to
/accelerations/pilot/x-accel-fps_sec.

Renamed /accelerations/pilot/y-accel-ft_sec2 to
/accelerations/pilot/y-accel-fps_sec.

Renamed /accelerations/pilot/z-accel-ft_sec2 to
/accelerations/pilot/z-accel-fps_sec.
2003-01-26 15:53:35 +00:00
curt
fe45f5b7a8 Output target navaid radial to external gui so it can resolve potential
ambiguity in selected ILS approach.
2003-01-26 03:39:09 +00:00
david
9adaa93b19 Kludge in a /systems/electrical/serviceable master property to kill
the whole electrical system.  We will also need a mechanism to kill
individual suppliers (such as the alternator), but this is good enough
for most training.
2003-01-25 21:49:57 +00:00
david
25387150c4 Improve spindown when the gyro fails. 2003-01-25 21:48:35 +00:00
david
99aa857dcb Added support for the slip-skid ball. 2003-01-25 21:13:13 +00:00
curt
8cc7b283d5 Refactored some of the navlist code and removed the built in "fail to find"
if the station is too far away.  Instead, simply return the closest station.
All the code that searches navaids does it's own range checking anyway.
This will make the navlist query functions a bit more useful for other
types of functionality where you may need to lookup a station without
consideration of range (i.e. presetting your position relative to a navaid.)
2003-01-25 20:45:39 +00:00
david
677c3e3e9a Added a Gyro helper class to factor out some common code for managing
a spinning gyro.

Changed FGInstrumentMgr to inherit from FGSubsystemGroup, greatly
simplifying the (already simple) class.  I should probably rename this
to FGInstrumentGroup or something similar, but not today.

Added the gyroscopic turn indicator (part of the TC).
2003-01-25 19:49:27 +00:00
david
4526b1b8ee Remove redundant rate properties recently added. 2003-01-25 19:47:35 +00:00
david
f3b00f1598 Publish properties for accelerations and rates. 2003-01-25 17:25:30 +00:00
curt
925f521521 Initial revision. 2003-01-24 18:12:04 +00:00
tony
a9d81f2e65 Latest JSBSim updates, including use of new "JSBSim" namespace 2003-01-24 12:55:28 +00:00
david
9679c7da15 Changed 'exit' command to quit immediately, rather than displaying a
built-in dialog (use an XML dialog instead).

Added an fgExit() function to simplify exit and cleanup.
2003-01-24 03:08:23 +00:00
david
980eae6187 Remove old-preset-* commands; replaced with a general, XML presets
dialog.
2003-01-24 02:49:30 +00:00
david
8e659f84fa No longer recursively search $FG_ROOT/gui/dialogs/ for configuration
files; all of them must be at the top level.

Do not attempt to parse a configuration file unless it ends with
".xml".
2003-01-24 02:43:52 +00:00
curt
29a3525869 Add a "signed" distance to the GS transmitter. When you are in the approach
hemisphere the distance is positive, if you are in the departure hemisphere
the distance is negature.  (Possible use for graphing approach distance
vs. glide slope or cdi.)
2003-01-22 01:24:32 +00:00
david
d819c42184 Remove another deprecated command, and fix things up so that dialogs
reload properly on a reinit.
2003-01-21 15:44:21 +00:00
david
87a84efbb0 Added support for reinit(), to reload the configuration files without
having to restart FlightGear.  This should speed up GUI design and
debugging quite a bit.
2003-01-21 02:09:27 +00:00
david
0940afae5a Fixed iteration bug in destructor. 2003-01-21 02:08:56 +00:00
david
fbcfbd9355 Removed need to specify 'type' property at the top level; it's always
a dialog.
2003-01-21 02:08:41 +00:00
david
f61d73e546 Make fgLoadProps more flexible, to read from $FG_ROOT or the current
directory.
2003-01-21 02:08:00 +00:00
david
e0c7b29aa7 Added reinit, suspend, and resume commands. 2003-01-21 02:07:29 +00:00
david
40bed0a3f1 Change GUI method names.
Do not delete GUI objects directly; let the GUI manager do it instead.

Simplify some code for readability.
2003-01-20 16:03:48 +00:00
david
9291bb510d Rename some methods to be more intuitive, add a close method for the
active dialog, and add lots of documentation.
2003-01-20 16:03:09 +00:00
david
123931834f Fix memory leaks (PUI doesn't make copies of lists, so we have to make
our own copies and keep pointers to them).
2003-01-20 16:02:26 +00:00
david
4dc28f11f4 Add more documentation comments.
Fix memory leaks (PUI doesn't make copies of lists, so we have to make
our own copies and keep pointers to them).

Adjust for new method names in NewGUI.

Move the GUIInfo struct into the cxx file so that it's not part of the
public interface.
2003-01-20 16:01:54 +00:00
david
bbff86ed36 Add new object types "slider" and "dial".
Fix memory leaks (PUI doesn't make copies of lists, so we have to make
our own copies and keep pointers to them).

Adjust for new method names in NewGUI.

Move the GUIInfo struct into the cxx file so that it's not part of the
public interface.
2003-01-20 16:01:16 +00:00
david
21b46469ee Make sure the gust wind speed is never less than the base wind speed. 2003-01-20 13:02:18 +00:00
curt
364df6baaa Fix a potential buffer overflow. 2003-01-20 03:14:43 +00:00
curt
e00fa3dbaf Tweaks to protocol names to match recent changes in options.cxx (so they
will work.) :-)
2003-01-20 03:09:54 +00:00
david
62be29c640 Make some allowances for a dialog closing in the middle of a callback.
Add support for combo fields.
2003-01-19 23:04:03 +00:00
david
c1d6741fd5 Go back to the simpler arrangement syntax of a map of vectors. 2003-01-19 23:03:31 +00:00
david
35935cb23a Major overhaul by Frederic Bouvier to make options table-driven. 2003-01-19 23:02:51 +00:00
daveluff
c5403b2a7c Memory allocation bugfix from Frederic Bouvier, plus a few cout's commented out 2003-01-19 21:31:37 +00:00
david
6205d5eb1a Do an update after apply to see what really got into FlightGear. 2003-01-19 17:22:05 +00:00
david
dd4890d952 Add support for a "checkbox" dialog widget (for boolean properties). 2003-01-19 17:21:38 +00:00
david
ed3ae450ce Use a pointer for the bindings vector to try to work around a 2.95
bug.
2003-01-19 17:21:18 +00:00
david
cf5d7499ad Changed return type of fireItem to void. 2003-01-19 15:27:29 +00:00
david
9e143bc615 Use FGGlobals::get_fg_root instead of looking up the environment
variable directly.
2003-01-19 12:54:26 +00:00
david
5d5de3c903 Removed a couple of the deprecated dialogs, and removed the old
predefined bindings for F11 and F12.  Instead, there is now a soft
binding from F11 to the autopilot dialog.
2003-01-18 21:59:25 +00:00
david
013c322dd3 Added the property-cycle command. 2003-01-18 21:13:11 +00:00
david
7d3c375df2 Remove the old built-in bindings for F8 and F10 (they can be done in
keyboard.xml now).
2003-01-18 21:12:27 +00:00
david
64aa833087 Tie the bool property /sim/menubar/visibility to hide and reveal the
menubar.
2003-01-18 21:11:51 +00:00
david
7ae491dc2e Keep track of the visible/hidden state more robustly. 2003-01-18 21:11:15 +00:00
david
b2713841b6 Simplify looking up the GUI subsystem. 2003-01-18 21:10:49 +00:00
curt
d8f4bfa9ae Make the destructor virtual.
(I thought I'd slip this in along with David's change to the default menu
configure option.  I believe that will cause a new config.h to be generated
which will cause a near complete rebuild of FG (as will this globals.hxx
change) so it shouldn't cause additional grief to have these happen at the
same time.)
2003-01-18 19:40:28 +00:00
curt
4226eab6bd More updates to refine the output data to make it more useful for an
external GUI and approach path plotter.
2003-01-18 19:36:50 +00:00
david
88e2ffabfe Add in some temporary commands to get at the old, hard-coded dialogs.
Most of these will eventually be replaced with XML-configured dialogs,
and the rest will be turned into proper widgets or global commands.
2003-01-18 16:26:41 +00:00
david
9e2707c9f8 Do late, lazy binding of commands from the command manager. 2003-01-18 16:25:50 +00:00
david
c10ce7bd26 Renamed GUIWidget to FGDialog. 2003-01-18 15:57:51 +00:00
david
6371783e2d Include fg_props.hxx to get definition of FGConditional. 2003-01-18 15:16:54 +00:00
david
6632b2d8c2 Unbundle dialog-box support from the top-level GUI manager, to
simplify maintenance.
2003-01-18 15:16:34 +00:00
curt
abcd050795 Oops we tweaked the preset_commit command name, let's call it by it's
correct name.
2003-01-17 22:54:09 +00:00
david
55182238e6 Do not require libScripting.a unless PSL is available. 2003-01-17 18:25:34 +00:00
daveluff
9c96e109a3 Slight change to some STL stuff that was breaking MSVC6 2003-01-17 16:45:26 +00:00
curt
7c3df373af Convert distance to touch down point to nm. 2003-01-17 13:49:48 +00:00
david
04f1dc4837 Make all PSL support conditional, because it's not included in plib
1.6.  The macro is HAVE_PLIB_PSL.
2003-01-17 12:41:47 +00:00
curt
537cb97f56 Allow network byte order conversion to be conditionally compiled off. 2003-01-17 00:11:49 +00:00
curt
9f6cd30b34 Updates to the net_gui code that can spit out updated flight information
to the network which a gui might be interested in.
2003-01-16 20:57:28 +00:00
david
9d726c1bd8 Started a new FGMenuBar class to handle a different XML-configurable
menubar.  This one allows regular command bindings, with the
(temporary) condition that every menu item must have a unique text
label.  The new menubar is disabled by default; to enable it,
configure --with-new-menubar.
2003-01-16 18:06:27 +00:00
david
af4f1894c9 Added a run_inline method that automatically wraps the script in a
main() function.  It's not hooked to a command, yet.
2003-01-16 18:04:24 +00:00
david
2256c3d5fd Simplify subsystem handling through FGGlobals. 2003-01-16 16:01:26 +00:00
david
b2518a0056 Broadcast suspend/resume/reinit through the manager and its groups. 2003-01-16 15:11:04 +00:00
curt
ea543c1210 Renamed mini_fdm to native_gui which makes a lot more sense to me. 2003-01-15 02:09:10 +00:00
daveluff
2fb9a21f2d Fix compilation bug that only occurred when compiled with weathercm subsystem enabled 2003-01-13 19:03:36 +00:00
curt
9bff823e0a Added velocity and climb_rate to mini_fdm structure. 2003-01-13 00:27:50 +00:00
curt
f3d4f741f0 Update to the Mini FDM network protocal (mostly renaming class and file names)
Wired this in to options.cxx and fg_io.cxx so it can be activated.
2003-01-12 23:39:18 +00:00
curt
e4b3eebdbb Added a "mini fdm" output. This could (for example) be useful for an
external gui if it wanted to monitor some key sim position/orientation
varialbles without saturating the net with the full slate of fdm data
@60hz.
2003-01-12 23:28:21 +00:00
curt
f9ae85b0c0 Consolidate and clean up some of the FDM network interface code. 2003-01-12 22:11:55 +00:00
curt
f2dac6306f #ifdef out a bit more code that could cause compile problems on platforms
that don't have all the latest opengl extensions.
2003-01-12 14:28:26 +00:00
david
9bbe8a78b6 Added simple proof-of-concept support for running PSL scripts from
input bindings.  They will work only with the latest CVS; otherwise,
./configure will disable them.  There is a new command, 'script',
which takes a single argument, also called 'script', containing PSL
code (currently PSL requires a main() function).

Erik Hofman has written some more elaborate code for triggering PSL
code from drop-down menus and scheduling events; I will look at
integrating that next.
2003-01-11 16:30:32 +00:00
david
5424c65f00 Removed #ifdef FG_PLIB_JOYSTICK_GETNAME -- it's in 1.6, so we can rely
on it.
2003-01-11 16:27:56 +00:00
curt
f918bdcc0c ExternalNet -> Updated to not repeat code from native_ctrls. 2003-01-10 19:45:29 +00:00
curt
9f5105bfbc Oops, a bit more clean up. 2003-01-10 19:12:28 +00:00
curt
95600d1c27 Updated to support all the fields in net_ctrls.hxx 2003-01-10 19:10:46 +00:00
curt
d359a103c5 Rename a variable so we don't have to rely on scoping rules to distinguish
between the same veriable name used twice.
2003-01-10 17:01:57 +00:00
daveluff
086be2b474 Start the ATIS recorded message at a random position into the broadcast when the radio is tuned into it 2003-01-07 14:41:49 +00:00
daveluff
c8a67cb773 Search ATC frequencies with both comm1 and 2 instead of just comm1 as previously 2003-01-07 13:11:00 +00:00
curt
6a45be1d72 Oops missed some more usage of opengl extensions that may not be on everyone's systems. 2003-01-06 21:43:59 +00:00
curt
7805202fc6 Set SO_REUSEADDR on incoming UDP socket so other processes on the host
can also monitor the UDP broadcasts.
2003-01-06 02:51:07 +00:00
curt
e160b3b312 #ifdef out experimental lighting for now until someone has time to investigate
the "right" way to test for and use extensions.

Hopefully this will clear up compile problems a lot of people have been
haveing.
2003-01-06 02:50:29 +00:00
curt
be703a92b4 Add support for in-air preset starts relative to a VOR, NDB, or Fix. 2003-01-05 00:10:36 +00:00
curt
30dc5aab90 Ooops, the presets_commit command was lost going from the 1.8 -> 1.9 version
(Sun Dec 22 19:58:34 2002 UTC)
2003-01-04 21:22:43 +00:00
curt
5fc7c70a4a Expose the ability to run built in (command manager) commands via the
"telnet" interface.
2003-01-04 19:04:07 +00:00
david
1ec788b6da Patch from Julian Foad to fix wrapping behaviour for property-adjust
and property-multiply:

Firstly, change back to wrapping modulo the interval, with "min <= x <
max" semantics.  I believe the previous implementation did that.  The
inline function that Norman mentioned also does that.

Secondly, make it snap to the nearest value (min + N*resolution) when a
"resolution" tag is present, taking special care of floating-point
precision.  Or perhaps specify "number of divisions in the interval" as
an integer, instead of "resolution" by which I meant a floating-point
"size of a division".

[also fixed]

While working on this file I noticed some potentially serious warnings:

fg_commands.cxx: In function `bool do_property_adjust(const
SGPropertyNode*)':
fg_commands.cxx:435: warning: control reaches end of non-void function
fg_commands.cxx: In function `bool do_property_multiply(const
SGPropertyNode*)':
fg_commands.cxx:465: warning: control reaches end of non-void function
/usr/local/include/simgear/misc/props.hxx: At top level:
fg_commands.cxx:600: warning: `bool do_presets_commit(const
SGPropertyNode*)' defined but not used
2003-01-04 18:47:25 +00:00
daveluff
a1d4e79127 Fix problem with cout 2003-01-03 16:30:44 +00:00
daveluff
7ae6c2010d Fix compiler warning 2003-01-03 15:01:16 +00:00
david
9ff659bba7 Work around G++ 2.95 bug by removing use of STL find() function. 2003-01-01 18:47:50 +00:00
david
71f08e795d Patches from Erik Hofman for SGI compatibility:
Some more cmall changes to the SimGear header files and removed the
SG_HAVE_NATIVE_SGI_COMPILERS dependancies from FlightGear.

I've added a seperate JSBSim patch for the JSBSim source tree.
2002-12-31 18:26:02 +00:00
david
e4409c5222 Add the 'offset' and 'factor' arguments back into property-adjust;
they're needed for the mouse.
2002-12-31 12:08:32 +00:00
david
af609fcd93 Patch from Bernie Bright:
FWIW here are patches for src/FDM/ADA.[ch]xx that remove a dependency on
<simgear/io/sg_socket.hxx>
2002-12-31 03:21:49 +00:00
david
52c564b5b8 Patch from Norm Vine to remove unnecessary include-file dependencies. 2002-12-31 03:13:17 +00:00
david
ea6448c956 Modify the property-assign command to optionally copy a value from
another property (suggested by Jim Wilson).
2002-12-31 03:05:38 +00:00
david
7cc894be4b Require /sim/rendering/experimental-lighting to be true before using
experimental lighting rendering (which is very expensive on my
machine, for example).  To use distance attenuation,
/sim/rendering/distance-attenuation must also be true.
2002-12-31 01:15:59 +00:00
david
8e60042052 Patch from Erik Hofman:
This patch turns out to be much more reliable compared to the previous
one I sent Curtis. Could you apply it for me?
2002-12-31 00:56:14 +00:00
david
cf3e79ee46 Cleanup from Norman Vine to prevent compiler warnings. He also writes:
Note I believe there was a 'missing comma' in the next to last row also
2002-12-30 22:21:31 +00:00
david
c153e21174 Bug fix suggested by Gonzalo Peralta:
Convert the fuel flow from gallons to pounds <kludge>assuming 100LL at
sea level, 6lb/gallon.</kludge>
2002-12-30 22:16:16 +00:00
david
e80c093681 Distance attenuation patch from Erik Hofman:
It adds a command line options to enable/disbale distance attenuation
using a property rather than using a #define inside the code. It also
adds a small change for systems that don't support the OpenGL extension,
so that the lights *do* fade away as they get furher away but they don't
get smaller in size.
2002-12-30 21:49:56 +00:00
david
0d12c4d83d Removed the (apparently unused) 'factor' and 'offset' arguments from
property-adjust.

Modified property-adjust and property-multiply so that they always
work with double values, to simplify the code.

Factored out some common code.

Added a 'mask' argument to the property-adjust and property-multiply
commands.  If mask is set to "all" (the default), then the command
works as before; if mask is set to "integer", it works only to the
left of the decimal point; and if mask is set to "decimal", it works
only to the right of the decimal place.  This functionality is useful
for tuning VHF COM and NAV radios.
2002-12-30 19:50:17 +00:00
david
ea98111926 Made it possible to add and remove models programmatically, as
requested by Leon Otte.
2002-12-30 15:44:11 +00:00
david
c5751c7df4 Cleaned up some whitespace. 2002-12-30 15:43:16 +00:00
david
d31e0e7071 Allow panel mouse bindings to use mod-up.
Ensure that if a condition for a panel mouse binding fails, other
bindings for the same area will have a chance to run.

Add a repeatable flag for panel mouse bindings (defaults to true).
2002-12-28 19:05:45 +00:00
david
f85b9589da Fixed so that 2D panel bindings work again. 2002-12-23 19:16:58 +00:00
david
63672604bf Removed debugging statements accidentally left in. 2002-12-23 17:58:31 +00:00
david
a7e56cf399 Added new commands:
- dialog-open
- dialog-close
- dialog-update
- dialog-apply

The last two can copy a value from a property to a GUI field or
vice-versa either individually or across the whole dialog.
2002-12-22 19:58:34 +00:00
david
5c2fb92a92 Use SGPropertyNode_ptr and add a private copy constructor, both for
safety's sake.
2002-12-22 19:57:09 +00:00
david
0111183153 Reworked the XML-configurable GUI to use the same binding structure as
the keyboard, joystick, mouse, and 2D panel.  Exposed methods for
applying and updating property values in GUI fields.
2002-12-22 19:52:26 +00:00
curt
6225936ead Various tweaks. 2002-12-21 05:01:51 +00:00
daveluff
e785eb74a5 Add SG_USING_STD(ifstream) 2002-12-20 09:48:09 +00:00
curt
c7ab26871c Allow the polling frequency of the telnet/props server to be set on the
command line.
2002-12-19 21:55:05 +00:00
daveluff
3447ab6e57 Read KEMT ground network from file instead of hardwiring it into the code. 2002-12-19 14:03:36 +00:00
daveluff
38b3f48d41 Code beautifying 2002-12-19 14:00:52 +00:00
daveluff
5931760602 Make AI traffic more robust to not getting a list of runway exits - it is now simply removed from view at the end of the landing roll instead of stackdumping if no exits are returned 2002-12-19 12:26:10 +00:00
curt
2d09acb10f Fix a potential crash when an electrical system is not defined. 2002-12-18 21:55:33 +00:00
curt
a857322d9c Norman Vine:
This patch finally reenables the AutoPilot gain adjuster.
2002-12-17 19:57:49 +00:00
daveluff
22d94b8273 First draft of an ATC dialog box, mostly copied from the autopilot new heading dialog box code. Need to bind a key to the ATC-dialog command to bring it up. 2002-12-17 17:19:14 +00:00
curt
b30ceec62d Remove DOS line endings. 2002-12-17 15:31:34 +00:00
daveluff
4b9c0ad822 Add some stub functions to FGTower to aid ATC dialog box development 2002-12-17 11:36:14 +00:00
tony
3cb4d55342 Fix for X-15 crash. 2002-12-17 00:07:46 +00:00
daveluff
87be5d93a5 Comment out stray cout 2002-12-16 21:02:07 +00:00
curt
54b980854c Read audio panel switches and parking brake. 2002-12-16 06:09:38 +00:00
curt
44be7da053 Added support for an audio panel. 2002-12-16 06:09:05 +00:00
curt
2b74a7c3d6 Additional failure modeling.
Support parking brake in external fdm.
2002-12-16 01:13:39 +00:00
curt
74b5aa6a41 OBS turning work, work on supporting failure moding. 2002-12-16 01:12:10 +00:00
david
8e7dfbe292 Add a reinit() stub for subsystems, so that they can be reinitialized
when needed (say, to reload the configuration files).
2002-12-15 14:58:08 +00:00
curt
0e69acaff7 Simplified to use the delta_time_sec that is passed to the update() routine
rather than calculating a separate delta_t and using that.
2002-12-14 14:39:56 +00:00
curt
51c5b9bf09 Work on nav2_obs tuner. 2002-12-14 14:38:19 +00:00
curt
339f39f235 Change time counter to a double. Add a variable which can allow us to
track long term rate stats to verify we are hitting the requested hz.
2002-12-14 14:37:40 +00:00
david
f332d1b659 Removed redundant logging statement. 2002-12-12 17:55:49 +00:00
andy
ba84ec24bf Changing the thresholds to be bigger in the previous patch isn't
really useful unless we simultaneously change the per-iteration deltas
to be smaller.  Add another pseudo-tunable to control the speed with
which we change values across iterations.  As it turns out, this is
much more effective than the threshold tunable.  It does come at the
cost of lower solution performance, however.
2002-12-12 02:15:06 +00:00
curt
5c8e6a5841 Tweak taxi light rendering so they don't look completely bogus at dusk. 2002-12-12 01:24:48 +00:00
andy
ac93c22545 Put in some (currently compile-time) tuning for the solver threshold.
A recent change resulted in the Piper Cub oscillating about its
correct solution.
2002-12-11 22:58:47 +00:00
andy
4fb6673ff7 Update masses on the rigid body when consuming fuel. Simply updating
the tank capacity won't change the aircraft.
2002-12-11 22:52:52 +00:00
david
c3398c9add Have DummyBSphereEntity inherit from ssgBranch instead of ssgEntity,
to allow building with the latest plib CVS.

Problem identified by Norm Vine.
Fix suggested by Steve Baker.
2002-12-11 21:49:25 +00:00
curt
10baa71a65 Fix out of order initialization crash (not sure how it worked before
unless some recent changes subtlely changed some init order items around.)
2002-12-11 21:07:30 +00:00
curt
43e48070fe - Some refactoring of the configure.ac script.
- Better Mac OS X support (they put glut.h in GLUT/glut.h) :-(
2002-12-10 20:50:48 +00:00
curt
69b5c093dd #ifdef out all references to sgCloud3d until more of it's issues can be
addressed.
2002-12-10 19:25:12 +00:00
curt
b640aceaa8 Change library order for cygwin. 2002-12-07 13:54:13 +00:00
curt
28243f40ca White space cleanups. 2002-12-07 02:26:50 +00:00
curt
1feedec8d1 - Change the global_tile_mgr to a globals->get_tile_mgr() which is
dynamically created at run time.
- Further clean ups to the FGTileMgr class interface.
2002-12-06 22:29:46 +00:00
daveluff
49d843e22e Patches from Erik Hofman - use Plib's wave file loader plus IRIX fixes. 2002-12-06 15:35:18 +00:00
daveluff
4d6ac0ddf5 Code improvements from Norman Vine 2002-12-05 16:51:40 +00:00
curt
a4600f85c7 Updates for 0.9.1 2002-12-05 15:31:09 +00:00
curt
eac68e9d93 add uiuc_getwind.h to distribution. 2002-12-04 23:02:08 +00:00
daveluff
bc3df74066 Add ground.[ch]xx, groundlist.[ch]xx and ATCVoice.[ch]xx to Makefile.am 2002-12-04 20:08:03 +00:00
daveluff
c65c5f3a4a Changes to support voice rendering of ATC 2002-12-04 20:07:12 +00:00
daveluff
d3e33e8b53 Changes towards tower control - work in progress with no end-user benefit yet 2002-12-04 20:06:20 +00:00
daveluff
46011ab535 Changes and additions to utility functions to support voice ATC rendering and AI taxiing. 2002-12-04 20:05:30 +00:00
daveluff
2a1c00b8e4 Minor changes to variable name and comments 2002-12-04 20:04:26 +00:00
daveluff
8bd892a1a0 Minor change to variable name 2002-12-04 20:03:18 +00:00
daveluff
9be0f4032d Changes to support AI taxiing and crabing when flying in wind. Still a work in progress. 2002-12-04 20:02:03 +00:00
daveluff
791caf9fbc Removed unused code and obsolete comments 2002-12-04 19:52:50 +00:00
daveluff
df089b80f8 Changes to support voice ATIS 2002-12-04 19:51:21 +00:00
daveluff
fe6784af51 Initial draft of a canned ATC voice handling class 2002-12-04 19:49:35 +00:00
daveluff
1db3b01e04 Add ground control frequency data handling along the same lines as navlist etc... 2002-12-04 19:47:16 +00:00
daveluff
25d9868759 Include GPL 2002-12-04 19:38:04 +00:00
daveluff
5f543a2fd1 Changes towards ground control and AI taxiing currently very hardwired to KEMT 2002-12-04 19:36:39 +00:00
tony
75e51b0d81 Sync with JSBSim CVS 2002-12-04 15:32:03 +00:00
david
2e8572a4c5 Ignore more generated files. 2002-12-04 01:01:45 +00:00
curt
35b7d568d0 #include <config.h> where needed for cygwin/gcc-3.2. 2002-12-03 14:59:24 +00:00
curt
7674741abb Add -lplibjs where needed. 2002-12-03 14:55:23 +00:00
curt
953162ea53 Remove cout/endl usage and replace with SG_LOG() 2002-12-02 19:01:59 +00:00
curt
64028a37ef Andy Ross:
I wrote:
 > I can confirm this.  Layers on the 2D panels (but oddly, only the 2D
 > panels) aren't drawing over the background with the current ATI
 > drivers.

OK, this turns out to be a trivial fix, although I still think it's a
driver bug.  There are two calls to glPolygonOffset in the panel
rendering code (shared by both 2D and 3D panels).  One is called
per-layer, and sets up a layer-specific offset.  The other is called
for drawing the background textures, to lift them off of any
underlying cockpit geometry.

I was using different "factor" values for each, incorrectly.  Patch
attached.  It was affecting only 2D panels because the 3D ones don't
use background images.

Problem is, by my reading of the specification the bug should have had
the effect of pushing the background texture *farther* behind the
instruments, instead of pulling it on top of them.  Either I'm reading
the spec incorrectly or ATI has inverted the sense of the factor
argument.  Dunno, I'll submit a bug report to them and see what
happens.
2002-12-01 22:38:38 +00:00
andy
d98b7f05ff Honor the /sim/freeze/fuel property to inhibit fuel consumption at runtime.
Link the standalone executable against the source files explicitly rather
than libYASim, as the Irix linker can't handle the unneeded dependance on
other parts of FlightGear.
2002-11-30 20:22:25 +00:00
curt
ebc2fbd684 Exposed the fg_commands though the httpd interface.
Added a built in command to preset to what ever values are in /sim/presets/
Twiddling with preset code.
2002-11-30 20:10:16 +00:00
curt
a6ce9a5b2a A small amount of additional massaging of tile manager update() interface. 2002-11-30 14:22:00 +00:00
andy
0b2a45e256 Add the command-line yasim compiler to the automake configuration. It
installs into the build directory as "yasim".  Simply run it with the
xml file as its only argument.
2002-11-30 06:28:18 +00:00
andy
388d714fdc Fuel consumption. Simple implementation without support for tank selection
or engine-specific feeds.
2002-11-30 06:12:20 +00:00
curt
bcf9fa3695 Massaging the FGTileMgr->update() interface towards using FGLocation. 2002-11-30 03:05:34 +00:00
andy
fe4e83a10b Added a tunable "induced drag" number to aircraft. One of the things that
isn't well-constrained by the solution process is the drag-vs-aoa curve.
The default value that YASim picked was very steep, and resulted in most
of the jets flying their approaches *way* behind the power curve.  This
changes the default to be more forgiving, and adds an "idrag" tunable
to the configuration file for tweakers.

Also, change the default gear springiness to be less stiff.
2002-11-30 02:24:16 +00:00
curt
95109cec57 Split out tile load/free queue processing into a separate routine. 2002-11-30 02:21:04 +00:00
curt
89874fd5f5 Make tile_mgr->prep_ssg_nodes() use an FGLocation object. 2002-11-28 01:08:25 +00:00
david
9ca42c5fa3 Patch from JSBSim:
Convert DrCmd from percentage to radians.
2002-11-27 21:09:16 +00:00
david
b79c943aa3 Change from JSBSim:
Changed steering to use the rudder command rather than the rudder
position.  During taxi, the rudder trim shouldn't affect the steering
in any serious way.

This should be configurable in the aircraft file, since not all
aircraft use the rudder pedals for ground steering.

[In FlightGear, this may make it easier to taxi straight.]
2002-11-27 01:38:26 +00:00
curt
3aa5e5fcdf Don't force ground lighting to have the same limited visibility as runway
lighting.
2002-11-26 16:01:39 +00:00
curt
98dca16794 Having the runway lights "pop" in at a specific range is not 100% realistic.
I have updated the lighting code to use fog to try to fade the runway lights
in smoothly, but still keep them from being visible until you are about 7-10
miles out, and then only have them be very faint at first.  I think what I
have is a bit nicer than before since it completely avoids the "popping" effect,
but I've very open to tweaking the actual ranges based on people's real
world experiences.
2002-11-26 02:29:03 +00:00
curt
019b31ea26 Make the runway lights come on just a bit sooner in terms of sun angle. 2002-11-25 21:42:07 +00:00
tony
b672fed418 Updates for cygwin 2002-11-23 15:33:01 +00:00
curt
dc5397b33b Minor property name change to avoid some minor confusion. 2002-11-21 02:54:46 +00:00
curt
80e8647330 Removed depricated files. 2002-11-18 21:34:07 +00:00
curt
df2356050d Added a "Presets" menu. 2002-11-18 21:31:33 +00:00
david
9a3f0c5c19 Irix patch from Erik Hofman. 2002-11-17 12:56:01 +00:00
curt
8f3a988e0e If a non existant runway is specified with --runway=xxx fall back to
finding the runway that is the closest match to the specified (or default)
heading.
2002-11-17 04:17:27 +00:00
curt
13bb01a70e Added a --runway= option which can be used in conjunction with the --airport=
option to specify a starting airport + specific runway.  If you don't specify
a runway, you get the one that's closest to your specified (or default)
heading.
2002-11-17 04:04:21 +00:00
curt
2384d0ed51 Added some cheap eye candy to entertain myself for a few minutes. Splash
screen now fades out revealing the scene.
2002-11-17 01:21:13 +00:00
david
928309d3d1 Cygwin patch from Patrick Staehlin:
To compile the development CVS version of FlightGear(0.9.0) i had to
apply some small changes to SimGear and FlightGear.

The changes need probably some additional ifdefs for other platforms but
since my linux-hd crashed i can't verify that.
2002-11-17 00:42:50 +00:00
david
bd5560605d Patch from Jim Wilson to fix model offsets:
Here's a patch to fix the offsets bug.  The problem was the transform was just
getting added to a local instance rather than being returned by the function.
2002-11-17 00:30:40 +00:00
david
8eb735d149 I wrote:
> Jim Wilson wrote:
 > > How hard would it be to have a property that toggles hotspot
 > > visibility?  It'd be nice to be able to turn it on and have yellow
 > > rectangles show up on the hotspots...
 >
 > That's not a bad idea.

It's actually an astoundingly good idea, and implementable over lunch
to boot. :)

Try the attached patch, which predicates the boxes on the
/sim/panel-hotspots property.  I mapped a toggle event on this to a
spare joystick button, and had fun. :)

[dpm: bound to Ctrl-C]
2002-11-17 00:04:57 +00:00
david
a53ccae248 Make sure led_font isn't used unless it's initialized. 2002-11-16 22:13:49 +00:00
david
de0f20aa22 Reduce POFF_UNITS from 40 to 4, following Andy Ross's suggestion (to
avoid having the 2D instruments obscure 3D objects in front of them):

It's related to depth buffer precision.  On my Geforce cards (2MX and
3), it never happens with the 24 bit depth buffer you get by default
at 32bpp.  At 16bpp, it picks a slimmer depth buffer (probably 16 bit)
and the texture layers bleed through.

The code is using a pretty big argument to glPolygonOffset, and I've
never investigated how small it can be.  If someone has a little time
the next time they see this issue, try changing the value of
POFF_UNITS at the top of Cockpit/panel.cxx.  Decrease it until the
textures *just* start to interfere with each other, and post the value
that works for you.
2002-11-16 22:08:22 +00:00
david
4d1e05804f Patch from Frederic Bouvier:
I have discovered recently that plib has ulIsAbsolutePathName
in ul.lib so you can try this patch.
2002-11-16 22:01:15 +00:00
curt
35f24baf32 Clean ups to the code that determines initial position based on command
line options or defaults.
2002-11-16 21:34:51 +00:00
curt
b3935aa01f Make the routines that scan the command line options and config files more
general so we can eliminate the option specific versions of these.
2002-11-16 20:41:00 +00:00
curt
52a322decc Some various massaging and clean ups of initialization code. 2002-11-16 20:17:11 +00:00
david
c5ebb65efd Turn off runway lights during the day, except in less than 5km
visibility (that should be lower, but it will do for now).
2002-11-16 11:56:15 +00:00
curt
52312f2a13 Restructuring some of the initialization code.
The general idea is to help clean up some aspects of the FDM init and be
able to provide startup conditions in a less ambiguous manner.

Previously, things like positions, orientations, and velocites were set on
"the bus".  These had to be read by the FDMs which then were supposed to
initialized themselves to those values and turn write around and start
modifying those values.  It was messy and cumbersome.

Now, all the initial fdm conditions are written to a sub-[property-]tree
under /sim/presets/

The values in /sim/presets/ always stay set to what the user has specified.
The user can change these at his/her liesure, and then request a "reset"
which will reset to the new conditions.  I don't even want to say how this
worked before. :-)

Now, an script, or gui interface can stage a set of initial conditions while
the sim is running (without disrupting it), and then call "reset" to commit
the change.

People who should worry about all this are FDM writters, and a small few
others who care about over all program structure and flow.
2002-11-15 21:13:29 +00:00
david
bb9b1ae3c7 Correct offset-deg in a rotate animation so that it is added after the
factor (otherwise, it's not in degrees).

Allow 2D panel inclusions to be named (and further animated).
2002-11-13 16:45:21 +00:00
andy
e8e1a087fe Add "spring" and "damp" tunables to gear objects. 2002-11-09 21:08:10 +00:00
curt
3640aca191 Robert Deters:
Attached is more UIUC revisions.  Actually it is only an updated
uiuc_wrapper.cpp.  Thanks
2002-11-08 17:05:56 +00:00
curt
4a2c47d9d7 Robert Deters:
Latest revisions of the UIUC code.
2002-11-08 17:03:49 +00:00
david
49a8c070f3 Moved command information into user data. 2002-11-08 16:33:00 +00:00
david
8205c4e030 Separated out GUIWidget class to manage a top-level widget. 2002-11-08 15:24:14 +00:00
david
3e217ba909 Instead of reading $FG_ROOT/gui.xml, recursively read all files under
the $FG_ROOT/gui/ directory; that way, each dialog can have a separate
configuration file, and management should be simpler.
2002-11-08 02:03:56 +00:00
david
4d292daeaa Added button actions so that property fields can be applied or
updated.
2002-11-07 22:59:46 +00:00
david
2de88f278b Started new, XML-configurable GUI subsystem. 2002-11-07 16:27:47 +00:00
david
0de065b0ec Added fgLoadProps to load properties from a path relative to FG_ROOT. 2002-11-06 18:57:31 +00:00
david
a8f40e0771 Fixed bug in timed update cycling. 2002-11-06 16:04:04 +00:00
david
e9dc716221 Added a new TimedAnimation, using the type "timed" and the property
duration-sec.  This animation may have any number of child objects,
and each one will be displayed for the requested duration before
moving on to the next one.

Added Animation::init for initialization after children have been
added to an animation.

Added a default implementation of Animation::update, and removed all
of the empty ones in derived classes.

Removed tabs from model.cxx.
2002-11-06 15:47:40 +00:00
andy
7b7de3d3e0 Blindingly stupid ground effect bug. It interpolated in the wrong direction
(zero at ground, maximum at 1-span!)
2002-11-05 21:36:47 +00:00
david
dd10ae6ba8 Patch from Andy Ross:
Indeed, there was no check for panel visibility in the input code.  I
guess we've never noticed because nothing was fighting for the same
real estate in the past.  This one-liner appears to fix the problem.

[also converted all tabs to spaces for Norm Vine]
2002-11-05 02:28:07 +00:00
curt
b57a78e637 Cleaned up some debugging output. 2002-11-04 16:58:54 +00:00
curt
925126fa6b Add support for drawing ODALS approach lighting. 2002-11-04 16:34:42 +00:00
david
f2a5f98532 Patch from Jim Wilson:
That's a little too small to resolve differences at 16bpp. Try the
patch below.  It decreases the lifting substantially.  You will see
a slight increase in z-buffer flickering but it isn't bad.  Note
that we removed the "distance" component the other day,  the purpose
of it was to lift the lights higher when viewed at shallow viewing
angles.  The distance component is critical for the street lights that
can be very long distances away.

But with the distances we're working with here it really doesn't
do all that much.  The factor used in this patch is about as shallow
a lift as can be used when looking straight down at the airport.  At
24bpp there's no effect from incorporating a distance component.

The choice is to reintroduce a distance component...one that works (and
only for 16bpp), or alter the factor used in the patch below to strike an
acceptable balance between different viewing angles when in 16bpp mode.
2002-11-04 02:17:13 +00:00
david
68d44ac103 Removed debug print statements.
Added ability to set a name for an animation and refer to it in
subsequent animations.
2002-11-03 15:48:08 +00:00
david
351a4d5c09 Streamline to create fewer branch nodes. This involves moving some
objects around when an animation specifies more than one object.
2002-11-03 15:42:11 +00:00
david
2bc7a538cf Eliminate dependency of flight.hxx on model.hxx, to avoid unnecessary
rebuilding.
2002-11-03 15:41:30 +00:00
david
f06a658bee Modified /sim/current-view/axes/long and /sim/current-view/axes/lat to
use the user-configurable view defaults.
2002-11-02 21:43:15 +00:00
curt
dbf997a2d3 Put taxiway lights in their own scene graph so we can adjust their brightness
(or fog punch through) independently from the ground or runway lighting.
2002-11-01 21:56:48 +00:00
curt
eb0c92f8ff Fix a couple oversights in the runway light lifting formula. 2002-10-30 22:56:22 +00:00
curt
94a36038d2 Remove distance component from runway lifting function. Only use the AGL
component.  This seems to work pretty well and simplifies things a fair bit.
2002-10-30 21:59:05 +00:00
curt
72017fc671 Andy Ross:
The biggest and coolest patch adds mouse sensitivity to the 3D
cockpits, so we can finally work the radios.  This ended up requiring
significant modifications outside of the 3D cockpit code.  Stuff folks
will want to look at:

+ The list of all "3D" cockpits is stored statically in the
   panelnode.cxx file.  This is clumsy, and won't migrate well to a
   multiple-aircraft feature.  Really, there should be a per-model list
   of 3D panels, but I couldn't find a clean place to put this.  The
   only handle you get back after parsing a model is a generic ssg
   node, to which I obviously can't add panel-specific methods.

+ The aircraft model is parsed *very* early in the initialization
   order.  Earlier, in fact, than the static list of allowable command
   bindings is built in fgInitCommands().  This is bad, as it means
   that mouse bindings on the instruments can't work yet.  I moved the
   call to fgInitCommands, but someone should look carefully to see
   that I picked the right place.  There's a lot of initialization
   code, and I got a little lost in there... :)

+ I added yet another "update" hook to the fgRenderFrame routine to
   hook the updates for the 3D panels.  This is only required for
   "mouse press delay", and it's a fairly clumsy mechanism based on
   frame rate instead of real time.  There appears to be delay handling
   already in place in the Input stuff, and there's a discussion going
   on about different mouse behavior right now.  Maybe this is a good
   time to unify these two (now three) approaches?
2002-10-29 19:44:03 +00:00
curt
5a439826ff Andy Ross:
Make rotational rate FDM values available from the property tree.
This is required for some cool stuff I've been doing with the Harrier.
2002-10-29 19:27:05 +00:00
david
9a5080b6ad Fixed jump around the north indication. 2002-10-27 20:32:34 +00:00
andy
f80b8660bf Fix coordinate conventions for reporting pilot acceleration. Add a few
digits to the c.g. report.
2002-10-27 04:30:34 +00:00
david
fa87fe5c1d Modified for simpler command-manager interface. 2002-10-26 01:19:23 +00:00
david
d43dfa54df Major code simplification. 2002-10-25 22:19:51 +00:00
curt
4c2e97be18 Default to experimental point lighting disabled. 2002-10-24 14:05:40 +00:00
curt
ae46fe825f Erik Hofman: Irix build fixes. 2002-10-24 14:02:19 +00:00
curt
a9b9e9d155 Tweak red and blue runway light colors a bit more. 2002-10-24 14:02:06 +00:00
curt
786e58aa1a Removed some left over debugging output. 2002-10-24 12:12:14 +00:00
curt
bbf33cc7cb White space tweak ... 2002-10-24 12:11:55 +00:00
curt
d62b1a0a66 Fix a subtle bug in the partial ssg tree deleter which was leaving some
parts of the tree left over at the end which the failsafe was catching, but
this could impose a huge framerate hit if the missed portion of the tree
was large enough (and it very often was.)
2002-10-24 03:38:14 +00:00
curt
aff9655029 Tweak lighting colors a bit. Add a slight yellow tint to "white" lights.
Add a slight orange tint to "yellow" lights.  Brighten the blue lights a bit
to make them more visible.
2002-10-23 16:29:53 +00:00
curt
2214f540e2 Fixed the DG heading bug hold to work with the new DG instrumentation.
It was slightly goofed up before by about the amount of the magnetic
variation.
2002-10-23 16:27:30 +00:00
curt
66e8d3fe65 Updates to how we structure runway lighting in the scene graph so we can get
the range selector to work on a per runway (or per lighting group) basis.
2002-10-22 20:47:14 +00:00
curt
95f46806c2 Tone down the relative intensity of the taxiway lights. 2002-10-22 04:12:33 +00:00
curt
13813f9143 Added support for taxiway lights that are much more visible from the size
than from above.
2002-10-22 03:57:32 +00:00
curt
86d586e592 Make runway lighting LOD work correctly. 2002-10-21 19:45:21 +00:00
curt
15b6f15d36 Misc clean ups. 2002-10-21 16:26:48 +00:00
curt
4496bf341d Preallocate proper ssg list sizes when building list structures so plib
doesn't need to waste time extending it's list sizes.
2002-10-21 16:26:34 +00:00
curt
a4c06de42f Fix a bug with rabbit light creation. 2002-10-21 16:09:11 +00:00
curt
b0d12281c8 Minor tweak to avoid some compile errors people are seeing with the
glPointParameterExt.
2002-10-21 03:22:27 +00:00
david
d7662bceb8 Put cout and endl in std:: namespace. 2002-10-19 10:27:52 +00:00
curt
9c561ab860 Add a pre/post draw call back to strobe lights so we can make them bigger
so they will stand out from everything else.
2002-10-18 18:43:50 +00:00
curt
89ede45989 There are some problems with ssgTimedSelector's but shorter strings of
rabbit lights appear to almost work except the last light or two is never
included in the animation and longer strings of lights are drawn as all
light on ... :-(
2002-10-18 03:36:56 +00:00
curt
bbdca39e3b Some restructuring to optimize the light point portion of the scene graph.
There's no point in having a separate leaf for each light.
2002-10-17 23:17:16 +00:00
curt
7df3da668c Fix a bug in ground elevation measuring for the first frame after we cross
a tile boundary.  (Potentially imposes a slight performance penalty, but
getting the correct answer needs to be higher priority than getting the
wrong answer really quickly.)
2002-10-17 15:54:31 +00:00
curt
a01f92f0d1 Support green directional lights. 2002-10-17 15:52:32 +00:00
curt
55b7dc661e Playing with glPointParameterfEXT. 2002-10-17 04:34:32 +00:00
curt
050f44adc8 Cleaned some cruft. 2002-10-17 03:11:10 +00:00
curt
9d5281a5d1 Add support for generating REIL approach light animations. 2002-10-17 03:08:46 +00:00
curt
66bd17bfa3 Add support for additional runway light colors and intensities. 2002-10-16 22:39:08 +00:00
david
8aae366757 Fixed so that ASI will indicate correctly (or at least, more
correctly) in winds.
2002-10-16 22:09:26 +00:00
curt
3f7b0533a5 Add support for wind speed/direction and freezes. 2002-10-16 03:46:24 +00:00
curt
27c4385980 Throttle was being scaled with mixture config values.
Cleaned up some old cruft.
2002-10-16 03:46:05 +00:00
curt
4ef75aa6c8 Playing with point lighting effects. 2002-10-16 03:44:44 +00:00
curt
8166467292 Cleaned up some old cruft. 2002-10-16 03:44:19 +00:00
curt
b699a0aac9 Added support for passing wind speed/direction.
Added support for passing various freeze commands to fdm.
Initial support for in-air starts.
2002-10-16 03:43:52 +00:00
curt
1ce4ef590f Norman Vine:
Updates to the autopilot to allow it to run off of 'non-cooked' altitude
and heading values (as a compile time option.)
2002-10-16 02:06:42 +00:00
curt
f38c88b762 Fix an init order bug and do some minor cleanups. 2002-10-16 02:02:39 +00:00
david
f962e24fee Use default visibility instead of modified sky visibility when 2D
clouds are disabled.
2002-10-13 10:46:37 +00:00
david
b66a6c75b3 Patch from Frederic Bouvier:
I noticed that textures for scenery static objects are not loaded
anymore for a few weeks.  Static objects have absolute path while
random objects and aircraft have relative path but fgLoad3DModel
unconditionally prepend fg_root to the model path. This patch test the
beginning of the model path to choose if fg_root has to be prepended
to the model path.
2002-10-13 10:43:57 +00:00
david
76cda01641 Fixed init-order bug that caused c172-set.xml defaults always to be
used unless explicitly overwritten.  Now, the options are parsed
twice, and only the *-set.xml file for the *last* aircraft specified
is loaded.
2002-10-10 18:39:52 +00:00
david
e8db622ce1 Patch from Alex Perry:
Ok, I found the problem.  You're computing the dynamic pressure in
"psf" and adding it to the static pressure in "inHg" to form the
total pressure.  The attached patch is the simple fix to the source.

With that fix, failing the pitot while in cruise at 3k' will cause
the airspeed to indicate beyond redline during climb ... well before 4k'.
Thus, a pitot problem can be detected on any IFR altitude change.

Similarly, failing the static (with working pitot) while cruising 4k'
causes the airspeed to indicate beyond redline during a descent
well before reaching 3k' (during which, of course, the ALT looks fine).
Thus, a static failure can be detected before the aircraft breaks out
of the pilot tolerance range and is blatantly conspicuous soon after.
2002-10-10 18:15:22 +00:00
curt
470d233f0d Eric Hofman:
Now the options can be localized as well. This adds a slight problem for
the --language options, but not that much (worst case, the strings are
loaded twice consuming some more memory). I tried to be as accurate as
posiible when copying the options texts, but there might be some
mostakes left.
2002-10-10 15:02:50 +00:00
curt
83314d3f45 Fix a potential crash with William Riley's scenery build. 2002-10-09 14:29:42 +00:00
curt
257c065d81 misc tweaks. 2002-10-09 14:15:08 +00:00
curt
f54302e9e9 Begin work on improving runway lighting infrastructure. 2002-10-09 03:40:23 +00:00
curt
e74c4d9437 Oops, I had my lighting tris wound the wrong way. 2002-10-08 22:25:41 +00:00
curt
9dcf7dd13f Erik Hofman:
This adds supports for a language specific font, defined in locale.xml
I've also moved the fgInitLocale() routine from main.cxx to fg_init.cxx
to prevent an ungly extern definition in options.cxx.
2002-10-07 15:45:00 +00:00
curt
cf96178ea8 Misc clean ups. 2002-10-06 04:27:24 +00:00
curt
c162577340 Begin work on rendering runway lights using environment maps. The basics
are now working.  A runway light is defined by a point and a direction.  The
point and direction are combined with the local up vector to create a small
triangle orthogonal to the direction.  The two ficticous corners of the
triangle are given an alpha value of zero, the orignal corner is given an
alpha of one.  The triangle is drawn in glPolygonMode(GL_FRONT, GL_POINT)
mode which means only the corner points are drawn, and since two have alpha=0
only the original point is drawn.  This is a long way to go to draw a point,
but it ensures that the point is only visible within 90 degrees of the light
direction, behind the light it is not visible.  This is still a long way
to get to drawing a point, but we use an environement map, with the direction
vector as the normal to mimic a light that is brightest when viewed head
on and dimmest when viewed perpendicularly or disappears when viewed from
behind.

- warning, there is a bug in how the current runway light direction vector
  is calculated which will adversely effect runway lighting.  The airports
  should be regenerated in order to fix this problem.
2002-10-06 03:53:19 +00:00
curt
f0b7744fd5 Frederic Bouvier:
The FGGlobals constructor does not initialise the locale pointer.
Under MSVC, uninitialized pointer have a value of 0xcdcdcdcd, not
0, so a test in mainLoop fails and the program segfault.

This patch set un initial value to locale.
2002-10-04 20:57:18 +00:00
curt
5cf14e78c4 Erik Hofman:
This patch fixes some bugs for correctly reporting un-updated
configuration files, and adds support for a --language=<code>
commandline option, overriding the language specified by the OS.
2002-10-04 15:19:07 +00:00
david
29eb5f7f5d Eliminated current_input and added FGInput to the subsystems managed
by FGSubsystemMgr.
2002-10-04 13:20:53 +00:00
david
598db3d528 Decrease the error (slightly) from a power glide. 2002-10-04 01:04:20 +00:00
david
ee6f6ecf61 Turn the runway lights on during the day when visibility is less than
5000m (about 3SM).
2002-10-04 00:23:40 +00:00
david
d1f5f04423 Have update check that sound is enabled. 2002-10-03 21:21:44 +00:00
david
38f0d6a35c First draft of subsystem manager; moved some subsystems into it. 2002-10-03 21:20:56 +00:00
david
fe14223750 Ignore generated files. 2002-10-03 16:59:32 +00:00
curt
44fcbbd0af Better internationalization infrastructure. We now supports the "LANG"
environment variable.
2002-10-03 14:39:37 +00:00
curt
bacbd50eaa Init 3d clouds at starting location. 2002-10-03 03:19:35 +00:00
david
c581cfa395 Preliminary support for AI planes from Dave Luff. This works only at
KEMT (w120n30 scenery), and you will have to set the property
/sim/ai-traffic/enabled to 'true' to see the other plane (and tune
comm1 to 121.2 to hear the other plane's radio calls).
2002-10-02 15:27:49 +00:00
david
03b508adb7 Support Dave Luff's AI plane if /sim/ai-traffic/enabled is set to
true.
2002-10-02 15:25:58 +00:00
david
ab27c591b5 Removed print statements accidentally committed. 2002-10-01 23:35:33 +00:00
david
42dfe6256f Corrected so that deflections are reversed on ILS backcourse. 2002-10-01 23:28:17 +00:00
curt
8ad519d854 Get rid of some debugging output. 2002-10-01 18:39:49 +00:00
curt
8722af0eb8 Read menu titles indirectly from specified property names so we can support
translations.
2002-10-01 18:38:34 +00:00
curt
4fb56176ce Allow for a user specified timeout when waiting for a response from the
remote fdm command server (http server.)
2002-10-01 16:44:38 +00:00
curt
4763dbae6a Pass data needed to make David's new ASI model work correctly. 2002-10-01 15:26:15 +00:00
curt
1604c9bae2 Erik Hofman:
This is a small patch which resets the delay counter if the sound
doesn't need to be stopped. Also the code is reorganiozed a bit to fix
sume "bugs".
2002-09-30 18:45:09 +00:00
david
b0afca93d5 Put gyro spin into a property so that it can be restored after a save. 2002-09-29 18:26:24 +00:00
tony
09cb9b750c Include gravity in pilot accel calc when Vt < 1 2002-09-29 14:13:39 +00:00
tony
eb05a298e9 Latest JSBSim updates -- includes fix for control surface animations. 2002-09-29 13:33:53 +00:00
tony
2c1889a8b5 Removed delete of dangling pointer -- fixes seg fault on reset 2002-09-28 22:48:21 +00:00
curt
2eaaddc52a Renamed raw_ctrls.hxx -> net_ctrls.hxx which makes more sense and matches
net_fdm.hxx.
2002-09-28 22:10:49 +00:00
curt
0d87fad65c Shuffled location of ExternalNet.[ch]xx to it's own subdir.
Removed External.[ch]xx which is a duplicate of NullFDM.[ch]xx
--fdm=external is preserved but just maps to NullFDM.
2002-09-28 21:42:03 +00:00
curt
d2dbf0a8ee Moved the ExternalNet code to it's own subdirectory. The plan is also
place standalone FDM wrappers here as well so we can build FDM specific
executables that interface with FG via the ExternalNet interface.
2002-09-28 21:38:51 +00:00
david
1acb43dbfc Added pitot system and new airspeed indicator. 2002-09-28 20:48:53 +00:00
curt
dc7103245a My understanding of plib's net libs has expanded slightly. A couple of
small mods here reflect that and allow the external network connection
to play better when other net connections (i.e. telnet) are activated.
2002-09-28 17:37:44 +00:00
curt
57ba57a18b Erik Hofman:
For sounds that play while a value is in transit, use time rather than
the number of frames to judge when to halt the sound because it will be much
more reliable on high performance systems. It currently waits 10 ms.
before stopping the sound, but you might want to fiddle it a little by
changing MAX_TRANSIT_TIME defined int fg_sound.hxx
2002-09-28 12:16:37 +00:00
curt
de667227c4 Minor formating tweaks. 2002-09-28 04:01:34 +00:00
curt
3a0f56a6e6 Removed some extraneous spaces that crept in some how. 2002-09-28 04:01:20 +00:00
curt
a677ddac5d Pass ground elevation at aircraft position to external FDM, not ground
elevation at view point.
2002-09-28 04:00:55 +00:00
curt
c7df5f3639 Panel night lighting acts as if lights are always turned on. We don't
really see anything different in the day, but as day turns to night the
panel smoothly darkens and the lighting component becomes visible.
Lights are wired to electrical system so if you kill power, you lose the
lights.
2002-09-28 03:57:37 +00:00
david
8685e68b99 Modified to use fgGetLowPass from utils.cxx. 2002-09-27 22:04:21 +00:00
david
5289055776 Added a heading-indicator connected to the vacuum pump and a
vertical-speed indicator connected to the static port.
2002-09-27 22:03:48 +00:00
david
c542559097 When the clock is frozen, set delta time to 0 so that the subsystems
won't keep updating themselves; that effectively freezes the
instrumentation.
2002-09-27 22:02:48 +00:00
david
3da2de39fc Add utils.[ch]xx. 2002-09-27 22:02:09 +00:00
david
84d2627236 Globally-useful functions, starting with Alex Perry's low-pass
function from steam.cxx.
2002-09-27 22:01:33 +00:00
curt
b81139dab3 Pass stall warning info in net_fdm.hxx 2002-09-27 21:20:28 +00:00
david
8d5714084e Added static port system and a new altimeter model connected to it.
The static port uses the

  /systems/static/

property subtree, and the altimeter uses the

  /instrumentation/altimeter/

property subtree.
2002-09-27 18:27:58 +00:00
curt
d150450b06 Mixture is on channel 6. 2002-09-27 02:33:32 +00:00
curt
c1417a0268 Pass velocities in local body axis. 2002-09-27 01:20:20 +00:00
curt
a7fb46bcb2 Interface the adf and transponder to the electrical system. 2002-09-26 17:26:34 +00:00
curt
3fdcbbd6ce Code clean ups. 2002-09-26 17:25:19 +00:00
curt
cd9c38e0b4 Connect to the electrical system. 2002-09-26 17:24:11 +00:00
curt
2a73201ca8 More code shuffling. 2002-09-26 16:19:06 +00:00
curt
eaf4954441 Shuffling/reorganizing code. 2002-09-26 15:34:00 +00:00
curt
2a19fc2f53 Work on wiring the dme into the electrical model. 2002-09-26 14:13:42 +00:00
curt
cc4821e43f Each node in the electrical system graph can now publish to an arbitrary
number of properties which will reflect that node's state.
2002-09-26 04:51:23 +00:00
curt
911e7dbfa8 For flaps power, fuel pump, and starter, send power state rather than switch
state.
2002-09-26 04:49:31 +00:00
curt
4a28902197 Begin interfacing the navcom's to the electrical model. 2002-09-26 04:47:29 +00:00
curt
427505cf37 Begin interfacing with the electrical model. 2002-09-26 04:45:45 +00:00
curt
d16f082500 Read and publish states of master switches (bat, alt, avionics.)
Read and publish states of toggle switches and circuit breakers.
2002-09-25 22:09:38 +00:00
curt
d53b005a41 Interchange state of fuel_pump (switches) and master switches (bat, alt,
and avionics.)
2002-09-25 22:08:43 +00:00
curt
4a43282b72 Change path name of electrical system config file. 2002-09-25 22:07:28 +00:00
curt
d976a1f879 Added fuel_pump switch, and master switches (bat, alt, avionics) 2002-09-25 22:06:38 +00:00
curt
f26e8e5af0 Added a per-engine fuel pump switch. 2002-09-25 22:05:49 +00:00
curt
02d1d81348 Fixed a compiler warning. 2002-09-25 22:05:14 +00:00
curt
c6c96eb688 Remove 'cout' 2002-09-25 12:38:09 +00:00
tony
04f7625c67 Fixes for flaps, gear, and reset. The c310 takeoff rotation problem seems to be fixed as well, though I don't understand why. 2002-09-25 11:04:20 +00:00
curt
8d2014f7bc Updates to the electrical system model. "Juice" is now propogated through
the system, switches, fuses, circuit-breakers work.  Nothing is actually
wired into the electical system yet.
2002-09-24 23:45:56 +00:00
curt
3323efa256 Check point commit:
The code reads the electrical system config and contructs an internal model.
Nothing is done beyond that yet ... the electrical system is not updated,
nor is it connected to the property system in anyway.
2002-09-24 19:57:11 +00:00
david
6a8371c44c Introduce a simplistic spin-down when insufficient suction is
available.
2002-09-24 16:37:28 +00:00
curt
90e64f9430 Stub in a place holder for the electrical system model. 2002-09-24 15:24:04 +00:00
david
512f37185a Ignore generated files. 2002-09-24 14:55:14 +00:00
david
682feb8f2d Flattened src/Systems/ subtree.
Added src/Instrumentation/ with partial stab at a vacuum-driven
attitude indicator.
2002-09-24 14:51:37 +00:00
david
e97b8841e1 Forgot to update header.
Added .cvsignore.
2002-09-24 13:11:27 +00:00
curt
d19ef4008d Small tweaks for improved compiling. 2002-09-24 13:07:30 +00:00
tony
ab242159a3 JSBSim updates. This update changes the file format, so an update of the base
package is required.
2002-09-24 12:54:43 +00:00
curt
43af8026d8 More tweaks to opengl state management when drawing 3d clouds. 2002-09-23 22:05:36 +00:00
david
7c057de4fe Started new module and sub-modules for aircraft systems, including an
initial simplistic vacuum system that's not yet connected to anything.
2002-09-23 19:55:10 +00:00
curt
f6607cac90 Removed some depricated code snippets. 2002-09-23 18:52:21 +00:00
curt
5133b9467b Removed some left over debugging output. 2002-09-23 18:49:12 +00:00
curt
29e72b0b90 Various tweaks and fixes to navcom radios.
Oops, taking the address of a temporary in main.cxx: 3dcloud rendering.
2002-09-23 18:44:09 +00:00
david
5eef7d7ad1 Removed tabs. 2002-09-23 15:27:46 +00:00
curt
7b01068d9c Bernie Bright:
fgLoad3DModel() throws an exception if it fails to load the requested model.
This causes FGTileMgr::update(...) to exit.  So I've added a try/catch block
to catch the exception and display an error message instead.
2002-09-23 14:23:17 +00:00
curt
578073a6f3 Slightly cleaned up 3d cloud positioning code. 2002-09-23 13:34:51 +00:00
curt
e23b22fabe There is something wierd about moving the cloud base around, let's just leave
it rooted in place until we sort out the positioning.
2002-09-22 23:07:01 +00:00
tony
743b4848cf Changed much inline code to non-inline. The inline code that remains in the header *must* be there to avoid linker errors. 2002-09-22 15:32:45 +00:00
tony
1ca94a72c0 Latest updates, including a thrust-only turbofan model. It should produce
realistic thrust (including time-dependent effects), but does not provide
N1, N2, EPR, etc.
2002-09-22 15:31:09 +00:00
david
c3a1a9335e Added OBJECT_SHARED, which is identical to OBJECT_STATIC except that
the object is loaded relative to $FG_ROOT rather than to the current
scenery directory.
2002-09-22 11:46:53 +00:00
curt
ab49022465 Patch to position 3d clouds at center of <current> tile. This means the clouds
jump whenever you cross a tile, but there are currently a lot of other
positioning problems as well, so this doesn't really detract too much and
means you can play with 3d clouds from just about any starting point.
2002-09-20 15:30:54 +00:00
david
2d7d0034d0 Do 3D cloud state changes only when 3D clouds are selected. 2002-09-20 14:01:06 +00:00
curt
53b9eacf74 Stabalize cloud shading. 2002-09-19 02:21:23 +00:00
curt
b350c6cd0f Miscellanious flailings trying to get 3d cloud imposter rendering to work
correctly.
2002-09-19 01:27:49 +00:00
curt
a15f79f4ae Cascading changes from the navcom.[ch]xx addition. 2002-09-19 01:12:26 +00:00
curt
3d2311d884 Split Nav/Com units out into their own source code file to continue the
process of simplifying radiostack.[ch]xx
2002-09-19 01:11:07 +00:00
curt
e0a7536e55 Erik Hofman:
This patch shows fatal error messages even when ./configure --disable-logging
is specified.
2002-09-18 16:13:08 +00:00
curt
c5f7f15f5b Updated from Norman to hack on clouds ... some progress. 2002-09-18 14:57:20 +00:00
curt
bb4fe6907f Bernie Bright:
Fix a problem compiling Main/fg_io.cxx with MSVC.
2002-09-17 16:16:54 +00:00
curt
0d7a859d76 Bernie Bright:
Added some missing defines to config.h-msvc6 and updated the version macros.
2002-09-17 16:16:31 +00:00
curt
b811ce4bcf Fixed some stupidity. 2002-09-17 02:36:59 +00:00
curt
cc87fb93ba Updates for 3d cloud rendering. 2002-09-16 14:56:16 +00:00
david
95e1b51068 Added --enable-clouds3d and --disable-clouds3d options. 2002-09-16 02:46:23 +00:00
curt
73c4fd481d Changed the clouds3d header install directory. 2002-09-15 04:32:49 +00:00
curt
82c87b2456 Updated the base package version required. 2002-09-14 01:58:40 +00:00
curt
bdde29e203 Update base package version. 2002-09-13 23:37:55 +00:00
curt
a4b3e35c0e Stubbed in initial support for 3d clouds. 2002-09-13 20:38:15 +00:00
curt
b92244ea7a Added support for calibration properties. 2002-09-12 03:15:27 +00:00
curt
e2313bfb55 Michael Selig:
A bug lurked into our uiuc code.

There are two changes:
[1] Comment out the chunk of code as shown (compare w/ the old)
[2] Put back in the function call, and in that code change AlphaTail to Alpha.
2002-09-11 18:27:26 +00:00
curt
f8abc6d848 Fixed: When you select Menu->Autopilot->Set Heading nothing happens. 2002-09-11 16:51:23 +00:00
curt
1784ad74b6 Updates from Rob Deters. 2002-09-11 16:45:47 +00:00
curt
93c9f8cbf4 Updates from Rob Deters. 2002-09-11 02:31:10 +00:00
curt
ed4a2e6db6 Darrell Walisser:
This allows it to behave like a certified Mac OS X citizen.
2002-09-10 19:43:33 +00:00
curt
f8c24745b6 Initial revision 2002-09-10 01:13:59 +00:00
curt
5598d2735a Read the desired menu font from the property system (or default to
typewriter.txf if it's not specified.)
2002-09-07 14:16:06 +00:00
curt
2da005377e Fix a typo that could cause a crash on some platforms. 2002-09-07 14:15:10 +00:00
david
832d514d05 Added explicit std:: prefix to map to work-around MSVC6 bug reported
by Jonathan Polley.
2002-09-07 13:16:48 +00:00
david
f0195b564d Made temperature, dew-point, and pressure at altitude read-only, so
that they won't get messed up during a reset if there are reassigned
before the altitude.
2002-09-07 13:00:20 +00:00
david
0ba90f4d2b Patch from Julian Foad:
Use getDisplayName instead of duplicated code: gives a better
decision on whether to display the index.
     Replace unnecessary node lookups by name with direct access: tidier
and more efficient.  E.g. "getValueTypeString
(node->getNode(name.c_str()))" -> "getValueTypeString (child)".
2002-09-07 12:35:31 +00:00
david
7599f0ec8c Patch from Julian Foad:
When the scroll bar slider is dragged, the list scrolls only far
enough to see all items; only the arrow buttons can scroll it so far
that the last item goes to the top of the view.
     Fix scroll bar proportional size: was wrong when the list was only
a little longer than the visible area.
     Minor fixes such as "delete files[i];" -> "delete[] files[i];"
(where the item being deleted is an array of characters) and removal of
global variables.
     Smooth scrolling when dragging the slider: one item at a time,
rather than one tenth of the list at a time.
     Fix a bug that would have occurred if instantiated with arrows=2.
     Sort properties primarily by name and then by numerical index
order, rather than a simple ASCII string order.  E.g. "js[1]", "js[2]",
"js[10]" rather than "js[1]", "js[10]", "js[2]".
     Avoid crashing if the selected property path does not exist;
display an empty list instead.  This cannot happen when the property
picker is working properly, but did happen due to missing indices prior
to this patch, and could happen if the user is allowed to type a
pathname, as in the http and telnet interfaces.
     Fix truncation of strings to PUSTRING_MAX: was wrong when string
length was exactly 80.
     Fix: move the scroll bar to the top each time a new list is
displayed.  It was left at its previous position, while the top of the
new list was displayed, not corresponding to the slider.
     Use getDisplayName instead of duplicated code: gives a better
decision on whether to display the index, and avoids invalid property
paths being generated which would previously crash find_props().
     Replace unnecessary node lookups by name with direct access: tidier
and more efficient.  E.g. "getValueTypeString
(node->getNode(name.c_str()))" -> "getValueTypeString (child)".
2002-09-07 12:35:06 +00:00
curt
6bcef49afc Erik Hofman:
It turned out that pui required the submenu structure to be declared
backwards, which I didn't notice the first time.
2002-09-05 21:58:24 +00:00
tony
83179a5daf Various clean-ups. 2002-09-05 13:55:16 +00:00
curt
e9dba2caa1 Removed dos line endings. 2002-09-03 13:27:45 +00:00
curt
1dfb58783c Additional build system tweaks. 2002-09-03 01:12:26 +00:00
curt
9de48125cc Initial revision. 2002-09-03 00:50:01 +00:00
curt
9a5ec79e11 Updates to the UIUCModel code. This includes some big compile time
speedups to uiuc_menu.cpp.

(Note these were originally submitted before the cutoff date for new
features, but something was corrupted in the transfer so I granted a bit
of leeway in the schedule.)
2002-09-02 23:26:28 +00:00
curt
401c0afcd9 Return the closest match, not just the first match. Sometimes there
are stations with the same frequency close enough together to cause problems
for our code.
2002-09-02 05:31:46 +00:00
curt
692445fe3e Read the com1/2 on/off switch. 2002-09-01 03:02:11 +00:00
david
d4f92d6aff Removed unused cur_view_fdm variable as suggested by Bernie Bright. 2002-08-31 19:48:28 +00:00
tony
408c3d5dda Removed unused and improperly initialized constant. 2002-08-30 13:43:28 +00:00
curt
66ab510a3e Norman's fix to make the help system start on Win32.
And fixed up some other non-sensical code in the vicinity which
was generating compiler warnings.
2002-08-29 21:00:22 +00:00
tony
f8c1e8dc98 Fixed an oops. 2002-08-29 13:39:29 +00:00
tony
b2fe0cc682 Added FGTurbine.[ch]* 2002-08-29 13:27:43 +00:00
tony
3f459636fd New Turbine engine model framework 2002-08-29 13:26:49 +00:00
curt
430f030cbf Make adf volume and adf on/off seperate properties. 2002-08-29 04:18:55 +00:00
curt
17efea3ec0 Ignore files that have -set.xml in them, but don't end in that exact string
(i.e. something-set.xml~)
2002-08-28 17:53:52 +00:00
curt
61655bb2b2 Add support for a --show-aircraft option. This displays a list of all
available aircraft and a brief description if one is available.
2002-08-28 16:59:40 +00:00
curt
5aaa533da9 Fix a compile error. 2002-08-28 16:58:57 +00:00
tony
b5d116dad7 Latest JSBSim updates. 2002-08-28 13:46:42 +00:00
curt
21db1e10b2 More tweaks to the automake/conf configuration scripts. 2002-08-28 03:34:31 +00:00
curt
ff7c8101bc Modernize the autoconf/automake files. 2002-08-27 23:52:15 +00:00
curt
050ba12fba Strip dos line endings. 2002-08-26 22:04:10 +00:00
curt
25c4d9b620 Minor tweaks to sound subsystem update rates. 2002-08-26 20:46:13 +00:00
curt
3976a6d55c Removed an old test. 2002-08-26 00:08:14 +00:00
curt
ee35eecb54 Erik Hofman:
I removed some pending random code and I also fixed a
small cosmetic glitch where dt_play was cleared before it was printed.

Curt: Erik changed the sound update intervale and I further I tweaked it.
The issue is that if we put too much into the sound buffer, then we can't react
quick enough to sounds like tire squeek that need to be synced with the visuals
and the action.  We put too little into the sound buffer and we risk the
audio dropping out for moment if a frame takes longer to draw than the amount
of audio in the buffer.
2002-08-25 23:27:00 +00:00
curt
61cf3a8f6d Erik Hofman:
I cleaned up the XML menu code a fair bit, in preparation to C++-ifying it.
2002-08-25 22:53:38 +00:00
curt
b21333d4f8 Erik Hofman:
I've modified the code to display a brief help message instead of the
whole bunch of options. To get the complete message -v or --verbose has
to be added to the command line.
2002-08-25 22:38:20 +00:00
curt
df6989a37a Bernie Bright:
Here is a FGIO class derived from FGSubsystem that replaces the fgIOInit()
and fgIOProcess() functions.  The FGIO::update(double delta) doesn't use the
delta argument yet.  I suspect it could be used as a replacement for the
calculated interval value but I'm not familiar enough with that piece of code
just yet.

I've also added two "command properties" to fg_commands.cxx that select the
next or previous view.  Writing any value to these properties triggers the
corresponding action.  As an example I modified my keyboard.xml:

 <key n="118">
  <name>v</name>
  <desc>Next view</desc>
  <binding>
   <command>property-assign</command>
   <property>/command/view/next</property>
   <value type="bool">true</value>
  </binding>
 </key>

 <key n="86">
  <name>V</name>
  <desc>Prev view</desc>
  <binding>
   <command>property-assign</command>
   <property>/command/view/prev</property>
   <value type="bool">true</value>
  </binding>
 </key>

And of course these actions can also be triggered from external scripts via
the props server.
2002-08-25 20:56:16 +00:00
curt
4f00d9a959 Tidy up the autoconf/automake configuration a bit.
- Removed some old cruft.

- Removed some support for older versions of automake which technically was
  correct, but caused the newer automakes to squawk warnings during an
  initial sanity check (which isn't done very intelligently.)

  NOTE: this fix is technically not correct for older version of automake.
  These older version use the variable "INCLUDES" internally and could have
  them already set to an important value.  That is why we were appending
  our values to them.  However, newer versions of automake don't set this
  value themselves so it is an error to append to a non-existant variable.
  We seem to "get away" with overwriting the value on older versions of
  automake, but if you have problems, consider upgrading to at least
  automake-1.5.
2002-08-25 19:40:04 +00:00
curt
1b197dd8bf Bernie Bright:
Here are some changes that gave me a significant frame rate increase of about 10 fps with random objects disabled.  The interesting thing is that these changes aren't in the main loop but are in tile loader.  My guess is that I've reduced the memory footprint just enough to reduce CPU cache misses, though I have no hard evidence of this.

Initially I modified all SGBinObject member functions to pass/return by reference instead of by-value.  This gives little or no speed up but allows for some optimizations in fgBinObjLoad().  It is these changes that reduce the number of memory allocations.  Needless copying of vectors, and vectors of vectors, can be very memory intensive, especially if they are large.

Anyway I would be interested to see if you get similar results.  I would emphasize that the frame rate increase only occurs with random objects disabled.  I lose about 10-15 fps on my GF2MX 32MB with random objects, probably a fill-rate limitation or texture memory thing.
2002-08-23 19:53:48 +00:00
curt
b9218c74af Scale throttle inputs a bit better.
Add support for rudder pedal inputs.
Reverse adf frq switch.
2002-08-19 02:08:43 +00:00
curt
9238050068 Add support for flipping the instrument panel vertically on screen (if
we want to do a full screen panel on a device that is mounted upside
down.)
2002-08-19 02:07:39 +00:00
curt
d2ba5b1883 Force ATC interface to run at 30 hz. 2002-08-19 01:59:26 +00:00
david
f0e40fa3f8 XML-configurable menu support from Erik Hofman.
[dpm: removed an attempt to free a pointer to a function]
2002-08-08 23:25:47 +00:00
david
47b4dcd65f Random-object and -light placement optimizations from Norman Vine. 2002-08-08 23:09:02 +00:00
curt
4dac47f558 * Cleaned up some loose ends with free tiles that are paged out of the cache.
* Finally I think I have the partial ssg tree deletion routine working correctly
  after I managed to break it (and other confusion in the code cause it to
  never be called so I didn't notice the problem.)
* Converted several SG_INFO statements to SG_DEBUG to clean up some
  extraneous console output.
* This *should* conclude my investigation into a massive memory leak. :-)
2002-08-07 02:53:01 +00:00
david
0ebe8ec8f0 Removed the FG3DModel class and replaced it with fgLoad3DModel.
Animations are now contained within the scene graph itself and are
updated whenever the graph is traversed -- that saves time by not
updating animations not currently in sight, and it allows animations
to be used for static objects and random objects as well.

Added new FGModelLoader and FGTextureLoader classes.  These are intern
tables for models, to guarantee (mostly) that no model is loaded more
than once.  FGTextureLoader is not yet used anywhere, but
FGModelLoader is now in place everywhere that ssgLoad* used to be
used (thus adding the ability to use animations).

In the future, FGModelLoader will add some interesting functionality,
including the ability to reload 3D models on the fly.
2002-08-07 01:34:49 +00:00
david
c3f4b63258 Remove dependency on acmodel.hxx out of flight.hxx (which is included
many places) and into the files that actually use it.
2002-08-07 01:30:21 +00:00
curt
29d20b1703 Temporarily fix a crash and correctly free memory until I can sort out a
problem with the partial ssg tree freeing code.
2002-08-06 18:52:45 +00:00
curt
9885169964 Working on hunting down a really awful memory leak. This arose out of a
misunderstanding over which section of code would be freeing tiles.  This
patch cleans up several things, but a little more work is still needed.
2002-08-06 18:50:12 +00:00
david
e66c57a7bb Patch from Erik Hofman to remove 'random' option for sound:
I back out this patch because it gives me 2~3 bonus fps, and it isn't
used now and probably won't be used in the future.
2002-08-05 20:49:17 +00:00
david
f253425973 Detabified for Norman Vine. 2002-08-05 20:14:28 +00:00
david
844a55c3d1 Latest JSBSim updates. 2002-08-05 20:13:34 +00:00
curt
f71e09be69 Remove call to function only in plib-cvs. 2002-08-05 18:29:25 +00:00
david
67fc66f82e Improve the random seed calculation slightly. 2002-08-04 19:10:13 +00:00
curt
0c0b150661 Bernie Bright:
I've merged FGProps and FGTelnet so there is just a single property server.
I've left in the --telnet=port# command line option but it could be removed
if we wanted to.  The command line accepts two forms of the --props option.
The original (--props=medium,dir,hz,host,port#,style) and the shorter
--props=port#.  If you accept this change then src/Network/telnet.[ch]xx
can be removed from the cvs repository.
2002-08-02 22:49:34 +00:00
curt
dc28e74081 Convert several alert/info statements to debug. 2002-08-01 21:51:09 +00:00
curt
128dd77314 Filter fuel selector knob. 2002-08-01 21:50:40 +00:00
curt
2619106044 Fix tile cache resizing bug (which could lead to thrashing.) 2002-08-01 06:15:59 +00:00
curt
acdd550a2f Fixes so that we can read incoming broadcast packets (so we can have multiple
channels driven from one broadcast source.)
2002-07-31 23:24:55 +00:00
david
ff6a2ab520 Roll out change that required CVS version of plib. 2002-07-31 21:51:03 +00:00
david
4cb99e05ad Patch from Dave Luff:
Your 3D models cause a stackdump when the base is separate from the
root.  I've attached a patched newmat.cxx - you may want to test it
before committing!
2002-07-31 18:44:30 +00:00
david
a5f251a5de Patch from Erik Hofman:
I changed the code such that textures terrain also takes ambient,
diffuse, specular and emissive from the materials.xml file.

[note from dpm: doesn't seem to work yet]
2002-07-31 17:57:59 +00:00
david
942cf9e51d Accept multiple names for the same joystick. 2002-07-31 17:32:16 +00:00
david
2a1ef0621e Patch from Julian Foad:
Use getDisplayName instead of duplicated code.
Replace unnecessary node lookups by name with direct access.
2002-07-31 16:45:35 +00:00
david
1d82339fd8 Patch from Julian Foad:
When the scroll bar slider is dragged, the list scrolls only far enough to see all items; only the arrow buttons can scroll it so far that the last item goes to the top of the view.
    Fix scroll bar proportional size: was wrong when the list was only a little longer than the visible area.
    Minor fixes such as "delete files[i];" -> "delete[] files[i];" (where the item being deleted is an array of characters) and removal of global variables.
    Smooth scrolling when dragging the slider: one item at a time, rather than one tenth of the list at a time.
    Fix a bug that would have occurred if instantiated with arrows=2.
    Sort properties primarily by name and then by numerical index order, rather than a simple ASCII string order.  E.g. "js[1]", "js[2]", "js[10]" rather than "js[1]", "js[10]", "js[2]".
    Avoid crashing if the selected property path does not exist; display an empty list instead.  This cannot happen when the property picker is working properly, but did happen due to missing indices prior to this patch, and could happen if the user is allowed to type a pathname, as in the http and telnet interfaces.
    Fix truncation of strings to PUSTRING_MAX: was wrong when string length was exactly 80.
    Fix: move the scroll bar to the top each time a new list is displayed.  It was left at its previous position, while the top of the new list was displayed, not corresponding to the slider.
    Use getDisplayName instead of duplicated code: gives a better decision on whether to display the index, and avoids invalid property paths being generated which would previously crash find_props().
    Replace unnecessary node lookups by name with direct access: tidier and more efficient.  E.g. "getValueTypeString (node->getNode(name.c_str()))" -> "getValueTypeString (child)".
2002-07-31 16:44:27 +00:00
curt
94c44fc172 A couple fixes to the network fdm interface. 2002-07-30 04:37:16 +00:00
curt
f4e1298a1a Added formatted time to property tree for use by 'virtual' instruments. 2002-07-30 02:56:42 +00:00
curt
b3c5a8fb95 Various tweaks, enhancements, and optimizations surrounding tile paging
(specifically freeing tiles when we need to remove them from the tile cache.)
2002-07-29 05:07:38 +00:00
david
edaac686a2 Patch from Melchior Franx to restore fog on tdfx cards like the Voodoo3. 2002-07-27 22:31:40 +00:00
david
43d89cb8d6 Create a top-level branch in each tile for random objects with the
name "random-objects".

Put the random objects for each tile inside a top-level
ssgRangeSelector with a maximum range of 20km.  This saves a lot of
range tests for distant tiles, and gives about a 10% framerate boost
on my card at 1000ft AGL (possibly more on faster cards).
2002-07-27 14:29:57 +00:00
curt
f1eddc9bf4 No need to additionally ref() subcomponents of a tree. Only the root node
needs to be ref()'d.
2002-07-26 23:27:53 +00:00
curt
dc40db3b33 Modified the partial ssg tree deletion algorithm so it correctly preserves
subtrees that may be connected into the scene graph multiple times.
(i.e.  our random ground cover objects.)
2002-07-26 22:23:49 +00:00
david
f05e8f95e2 Some renaming, since there wasn't really a tile-level LOD. 2002-07-26 22:12:29 +00:00
david
8244b210fa Give up on the idea of using a singleton dummy bounding sphere;
instead, use a separate dummy bounding sphere for each triangle and
each tile, with the actual bounds, to make sure that objects are
always added when they should be in sight.
2002-07-26 19:06:29 +00:00
david
c33c58476e Load models before counting them. 2002-07-26 19:04:40 +00:00
curt
94b6d4fed5 Oops, remove some unwanted debugging output. 2002-07-26 17:00:18 +00:00
curt
8c7fe4c328 Fixed some signed vs. unsigned warnings. 2002-07-26 16:54:40 +00:00
david
88758e60b4 Added --random-wind command-line option. 2002-07-26 02:49:14 +00:00
david
f8d4cb36b2 Fixed reporting of winds, cloudbase, and altimeter setting. The
temperature is still wrong.
2002-07-26 02:48:56 +00:00
david
0178c65981 I totally misunderstood sgFrustum. This patch should put it right,
and also adds an optimization to avoid traversing anything closer than
1000m.
2002-07-26 01:52:51 +00:00
curt
27158525a9 Restructure the way tile freeing is handled. When a tile is removed from
the tile cache it's ssg elements are disconnected from the main ssg scene
graph, and then the tile is thrown on the end of a delete queue.  The
tilemgr->update() routine runs every frame.  It looks at this queue and if
it is non-empty, it incrementally frees the compents of the first tile
on the queue.  When the tile is completely free it is removed from the queue.

The amount of time to free the memory for even a single tile can be quite
substantial, especially with the increased overhead of dynamic/random
ground objects.  This change allows the system to spread the work of freeing
tile memory out over many frames so you don't get a noticable single frame
hit or stutter.
2002-07-25 23:59:04 +00:00
curt
96d499f4f1 Restructuring how tiles are freed to allow us to eventually spread the task
out over multiple frames.
2002-07-25 21:57:58 +00:00
david
d86a513997 Fix random seeds to avoid coincident objects but still ensure
consistency.
2002-07-25 20:30:51 +00:00
david
9bf3c10743 Change the extra culling to do only a quarter of the scene every 200
frames rather than the whole thing, to avoid tiny stutters.
2002-07-25 17:47:42 +00:00
david
e7e576055f Added a new range-selector layer above each tile. That way, by
default, each tile has only 3 extra SSG nodes unless it falls into
range.
2002-07-25 17:32:31 +00:00
david
1c35d89eb4 Fix a problem with the culling of out-of-range random objects. When
the triangles containing the objects were out of the view Frustum,
they were never traversed by ssg (and thus, never culled).  Now, every
200 frames, do a pass through the whole scene graph with cull-testing
disabled and without drawing anything; that will allow random-objects
to be collected incrementally.
2002-07-25 17:29:08 +00:00
curt
493fcadacd Save state before drawing '3d' panel, and then restore it after. 2002-07-22 21:09:42 +00:00
curt
e85939a814 Removed some redundant glLight() calls. 2002-07-21 17:03:29 +00:00
curt
f330ae1234 Patch to explicitely control the specular lighting component. 2002-07-21 15:40:51 +00:00
curt
750fcc7a86 Support for fuel selector switch. 2002-07-21 15:40:20 +00:00
david
140774b1e2 Renamed /sim/rendering/dynamic-objects to
/sim/rendering/random-objects, and changed the default from false to true.
2002-07-20 23:11:27 +00:00
david
3f174a15cd Added more documentation. 2002-07-20 23:10:42 +00:00
david
6ca17098b8 Added --disable-random-objects and --enable-random-objects options. 2002-07-20 23:10:16 +00:00
david
ab91bbe17a More efficient version of get_bounding_radius from Norm Vine. 2002-07-20 19:23:44 +00:00
david
d6f9038a25 Enforce a sane minimum of 1000m for coverage, to avoid run-away object
placement.
2002-07-20 18:41:17 +00:00
david
29268401b2 Randomly-place object overhaul and enhancements
-----------------------------------------------

Fixed a segfault on exit.

Changed the radius of the dummy bounding sphere from 10m to 1000m to
ensure that FOV culling doesn't leave anything out.

Allow an object to have more than one variant model, which will be
chosen randomly.  Simply repeat the <path>...</path> property.

Removed the <billboard> property and replaced it with <heading-type>,
which can be set to "fixed" (leave the model oriented as it is),
"random" (give the model a random heading between 0 and 359 deg), or
"billboard" (always turn the model to face the camera).  The default
is "fixed".  Models look much better when they are not all facing the
same direction.

Allow the user to group models with the same visual range, so that
there can be *many* fewer nodes in the scene graph when the models are
not visible.  This causes an XML-format change, so that instead of

  <object>
   <range-m>...</range-m>
   ...
  </object>
  <object>
   <range-m>...</range-m>
   ...
  </object>
  ...

we now have

  <object-group>
   <range-m>...</range-m>
   <object>
    ...
   </object>
   <object>
    ...
   </object>
   ...
  </object-group>

Every object in a group can still have its own model(s), coverage, and
heading-type, but they all share the same range selector.

This change should already help users with tight memory constraints,
but it will matter much more when we add more object types -- for
example, we can now add dozens of different urban building types
without bloating the scene graph or slowing down the LOD tests for
tris that are out of range (i.e. most of them).
2002-07-20 14:56:37 +00:00
david
cecedd302b Moved object information into a new subclass of FGNewMat, and changed
the property name from coverage to coverage_m2.
2002-07-20 01:51:27 +00:00
david
e5f4da0e9a Problem reported by Erik Hofman:
Replaced left-over std::cout statements with SG_LOG statements.
2002-07-18 22:38:46 +00:00
david
35e67c3a31 Patch from Cameron Moore:
* Rearranged member initializers
2002-07-18 22:33:10 +00:00
david
973ffbf289 Patch from Cameron Moore:
* Fixed (un)signed comparisons
2002-07-18 22:32:50 +00:00
david
bf1e7c7881 Patch from Cameron Moore:
* Rearranged member initializers
2002-07-18 22:32:32 +00:00
david
ed917f8661 Patch from Cameron Moore:
* Fixed (un)signed comparisons
* Rearranged member initializers
2002-07-18 22:32:12 +00:00
david
def3c68ffa Patch from Cameron Moore:
* Rearranged member initializers to shut gcc -Wall up
2002-07-18 22:31:53 +00:00
david
ebb180f094 Patch from Cameron Moore:
* Fixed uninitialized values
2002-07-18 22:31:36 +00:00
david
ec637e33d3 Patch from Cameron Moore:
* Fixed uninitialized MaxAileron value (set to 0.5)
2002-07-18 22:31:19 +00:00
david
c814eb3a1e Make objects appear more smoothly and reliably. 2002-07-18 19:16:47 +00:00
david
4ab343569f More efficient rotation matrix calc from Norm Vine. 2002-07-18 15:54:21 +00:00
david
f4cfe4c207 Significant speedup for randomly-placed objects, by taking better
advantage of ssg Frustum culling.
2002-07-18 13:23:29 +00:00
david
f7a17c9020 Modifed random-object code for more memory efficiency:
1. Only one copy of each object (and its texture) is stored in memory,
   no matter how many materials use it.

2. Random objects are added to a triangle only when the objects are in
   range, and they are deleted as soon as the objects are out of
   range.  That way, only a relatively small number of ssg nodes are
   used at any one time.

This patch seems to eliminate freezes when tiles are freed.  There are
occasional stutters at extremely high speeds (i.e. over 3,000kt), but
it seems smooth enough for normal aviation speeds.
2002-07-18 01:04:08 +00:00
david
cc8567ad63 More functional decomposition and documentation. 2002-07-17 22:11:13 +00:00
david
5d2c640f1a Fix some minor inconsistencies and inefficiencies:
- no extra nodes are created at all if the material has no random
  objects defined

- the range selector is place correctly under the transformation

- there is only one range selector for each object type in each
  triangle (experimental -- doesn't seem to make a difference in speed
  or memory)

This patch removes Curt's patch that randomized ranges slightly, since
individual random objects no longer have their own range selectors.
It also leaves the object-group-range value unused, for now.
2002-07-17 21:00:54 +00:00
david
f71f4cf9ab Started functional decomposition for dynamic objects.
Fixed typo in last patch, where objects were using object_group_lod
rather than object_lod.
2002-07-16 23:39:53 +00:00
curt
8dc38a5198 put a separate LOD node in front of ever random object so we can randomize
the exact pop in location of each object ... this allows us to put some objects further out and perhaps hide the popping just a tiny bit?
2002-07-16 20:43:40 +00:00
david
84fcb479f6 Added support for dynamically-generated scenery objects. Set the
property /sim/rendering/dynamic-objects to true to enable them.
2002-07-15 18:16:20 +00:00
tony
f04d342f6a Member variable initialization fixes from Cameron Moore 2002-07-11 00:19:19 +00:00
tony
e0fa2db2c9 Fixed typo in SetGammaFallback() 2002-07-10 03:24:57 +00:00
david
5aee96c481 Change FGSteam into a proper subsystem rather than a collection of
static methods, and remove outdated dependency in panel_io.cxx.
2002-07-07 15:45:56 +00:00
david
bf58dbd3c9 Patch from Julian Foad:
- tidies up the update-time-step handling (making it a simple "dt");
- makes the altimeter get a proper pressure, and the (unused) vacuum
  calculation get a proper RPM (*);
- replaces property name look-ups with static pointers to property nodes.

Notes from DPM:

- the static pointers are a very bad idea, but they're only temporary;
  I plan to make FGSteam into a proper subsystem soon, and then they
  can be member variables
- I fixed the patch to get the current static pressure from the
  /environment/pressure-inhg property, so that the altimeter interacts
  properly with FGEnvironment
2002-07-07 13:29:52 +00:00
david
ee8c5d0a3a Patch from Julian Foad:
The present sets of bindings result in the throttle being "squared"
about its centre, which is silly.  This is because the "squared"
parameter is not set by the throttle binding, but the default is
"true".  We discussed this before and I think there was general
agreement that the default should be "false" on the basis of
generality.
2002-07-06 18:02:06 +00:00
david
0f3db24a90 Patch from Julian Foad:
May I offer this patch which will help non-Linux users find their
joysticks' names.
2002-07-06 18:00:34 +00:00
david
b2d8574b75 Remove a kludge that was introduced to work around the #defined "NONE". 2002-07-06 17:50:52 +00:00
david
30d239eeda Change identifiers to their new names to match hud.hxx. 2002-07-06 17:50:38 +00:00
david
fb40950e78 Prefix "HUD_" (or "HUD_FONT_" in two cases) to #defined identifiers.
Remove some unused #defines (not mentioned anywhere, even in
comments).
2002-07-06 17:50:16 +00:00
curt
b17e1bb7c0 Update controls so we can specify each tank on/off individually. Also
updated the network interface files to add fuel tank selector information.
2002-07-05 19:04:04 +00:00
curt
eab0479417 Oops, fixed a typo. 2002-07-05 14:49:18 +00:00
curt
6d3204eedd Added a fuel selector switch. I understand that this won't handle all
situations for every kind of airplane.  But at the moment we have nothing
implimented and this will cover the simpler cases until someone has a
chance to impliment a fuller solution.
2002-07-05 14:46:38 +00:00
curt
1c91723cef Switch to snprintf() for safety. 2002-07-05 13:56:46 +00:00
curt
01f846feb2 MSVC fixups. 2002-07-05 05:23:53 +00:00
curt
667f9e0dbf Added interface to ATC xponder hardware. 2002-07-04 21:38:37 +00:00
curt
5f37f2eaa5 Initial revision of a Bendix/King KT 70 transponder. 2002-07-04 21:37:34 +00:00
curt
ac61b8323e Fixed up a couple loose ends. 2002-07-04 21:37:06 +00:00
david
1669820bba Modified to use named-joystick bindings when available (js-named
rather than js).  This functionality is available only with recent CVS
plib versions (i.e. since about May 2002).
2002-07-04 17:38:18 +00:00
curt
2fec1506d3 A bunch of reorg and clean up of the KR 87 (adf) code including some
property renaming with corresponding changes to instruments in the base
package.
2002-07-03 23:35:21 +00:00
curt
24d14dd421 Updated adf property names. 2002-07-03 21:52:13 +00:00
curt
f6e8060879 A couple ADF needle direction tweaks. 2002-07-03 05:15:04 +00:00
curt
b3be31c5ab Add support for KR 87 annunciators. 2002-07-03 04:48:44 +00:00
david
961804b03e Patch from Dave Luff to use dt properly in CHT calculation. 2002-07-03 04:13:28 +00:00
david
b3bb53b67f Fix a bug reported by Frederic Bouvier:
GL/gl.h can't be included at the first position in windows. It requires
the inclusion of windows.h that must be included in other fgfs header
file. I only move down #include <GL/gl.h>
2002-07-03 04:09:27 +00:00
david
e4d014a959 Commented out a cout statement. 2002-07-03 04:04:00 +00:00
curt
1bbc82a438 Default to ADF (rather than ANT) mode and start with the ADF turned on.
Oops, left in a debugging statement.
2002-07-02 22:39:04 +00:00
curt
aef1876858 - Oops, some name simplification led to overlapping variable names which caused
the adf needle to not point correctly, fixed.
- Make the code slightly smarter so ADF needle never takes the long way around
  to it's destination.
2002-07-02 22:35:15 +00:00
curt
a28b35f3f2 Fixes for IA-64 with Intel compiler. 2002-07-02 20:45:02 +00:00
curt
dee32ef826 Updated hardware interface to match new KR 87 features. 2002-06-30 22:46:34 +00:00
curt
fa6ad91fde Working on implimenting the timer features of the King KR 87 ADF (as well
as some of the other subtleties.)
2002-06-30 22:44:38 +00:00
curt
79a7c1c9ce Allow the default GUI font to be set via properties. 2002-06-29 13:07:25 +00:00
david
51d3edaafa Patch from Melchior Franz:
This patch eliminates about 10 of valgrind's "Use of uninitialised
value of size ..." messages. They are all caused by approachlist building
incomplete FGApproach class instances and then copying them into the
approchlist container, hence copying data garbage.
   I know, I couldn't win a beauty contest with this patch, but the
alternative approach -- letting operator<< always leave complete
entries -- didn't look any better. And I do only add those seemingly
useless initialization where the values would be used uninitialized
else. The constructors are only run during setup and won't slow fgfs
down at runtime.
2002-06-28 19:14:42 +00:00
david
0c4c182f1e Fixed an uninitialized variable reported by Frederic Bouvier; this
could cause the FDM occasionally to get caught in a very long loop.
2002-06-28 19:06:23 +00:00
david
a26ea45c43 Update from JSBSim - fix bugs reported by Gonzalo Peralta with CHT and
oil pressure.
2002-06-28 18:38:28 +00:00
david
140f58b4ca Patch from Julian Foad:
Use defined constant instead of yet another approximation to pi.
2002-06-28 18:00:49 +00:00
david
048da049f8 Patch from Julian Foad:
Make locally-used strings local instead of global.  (The safety and
cleanliness benefit outweights the slight performance hit.  If
performance is an issue, the way these strings are used should be
optimised.)  Use existing defined constant instead of a literal
number.
2002-06-28 18:00:21 +00:00
david
0cbe8a597d Patch from Julian Foad:
Remove trailing comma (unportable).
2002-06-28 17:59:59 +00:00
david
343fb01972 Patch from Julian Foad:
Remove redundant class scope qualifiers.  (Should not be used within
class definition.)
2002-06-28 17:59:44 +00:00
david
cd59f77c40 Patch from Julian Foad:
Remove unused variable.
2002-06-28 17:59:30 +00:00
david
72fbb0f3f5 Patch from Julian Foad:
Newline at end of file is required.  (On a preprocessor line it is
required; on other lines it is recommended but not required.)
2002-06-28 17:59:13 +00:00
david
0d48bae1ef Patch from Cameron Moore:
The patch fixes the uninitialized values by explicitly starting
everything at sea_level values.
2002-06-28 17:41:18 +00:00
david
b53cd9c59f 3D panel support from Andy Ross:
+ The panel(s) are now an first-class SSG node inside the aircraft
  scene graph.  There's a little code added to model.cxx to handle the
  parsing, but most of the changes are inside the new FGPanelNode
  class (Model/panelnode.[ch]xx).

+ The old FGPanel source changed a lot, but mostly cosmetically.  The
  virtual-cockpit code moved out into FGPanelNode, and the core
  rendering has been abstracted into a draw() method that doesn't try
  to set any OpenGL state.  I also replaced the old inter-layer offset
  code with glPolygonOffset, as calculating the right Z values is hard
  across the funky modelview matrix I need to use.  The older virtual
  panel code got away with it by disabling depth test, thus the "panel
  draws on top of yoke" bug.  PolygonOffset is really the appropriate
  solution for this sort of task anyway.

+ The /sim/virtual-cockpit property is no more.  The 2D panels are
  still specified in the -set.xml file, but 3D panels are part of the
  model file.

+ You can have as many 3D panels as you like.


Problems:

+ The mouse support isn't ready yet, so the 3D panels still aren't
  interactive.  Soon to come.

+ Being part of the same scene graph as the model, the 3D panels now
  "jitter" in exactly the same way.  While this makes the jitter of
  the attitude gyro less noticeable, it's still *very* noticeable and
  annoying.  I looked hard for this, and am at this point convinced
  that the problem is with the two orientation computations.  We have
  one in FGLocation that is used by the model code, and one in
  FGViewer that is used at the top of the scene graph.  My suspicion
  is that they don't agree exactly, so the final orientation matrix is
  the right answer plus the difference.  I did rule out the FDMs
  though.  None of them show more than about 0.0001 degree of
  orientation change between frames for a stopped aircraft.  That's
  within an order of magnitude of what you'd expect for the
  orientation change due to the rotation of the earth (which we don't
  model -- I cite it only as evidence of how small this is); far, far
  less than one pixel on the screen.

[and later]

OK, this is fixed by the attached panel.cxx file.  What's happened is
that the winding order for the text layer's polygons is wrong, so I
reverse it before drawing.  That's largely a hatchet job to make
things work for now, though.  We should figure out why the winding
order is wrong for only text layers and fix it.  I checked the plib
sources -- they're definitely doing things CCW, as is all the rest of
the panel code.

Odd.  I'm also not sure why the 2D panel doesn't care (it works in
both winding orders).  But this will allow you to check in working
code, anyway.  There's a big comment to this effect in there.
2002-06-28 14:17:40 +00:00
curt
004359f0e8 Updates to the OpenGC interface from John Wojnaroski. 2002-06-27 22:26:47 +00:00
curt
a6c192911d Initialize a value so we don't see non-deterministic behavior. 2002-06-27 20:48:39 +00:00
andy
b162cf8707 Wrong units when interpreting <weight> tags. 2002-06-24 04:18:53 +00:00
andy
8199ece7dc Hack in an /accelerations/pilot-g property, for testing a new panel
instrument.  This needs to move somewhere permanent.

Also, remove a bogus fuel consumption setting that (1) was off by a factor
of 3600 (hours, not seconds) and (2) collided with identical code in FGFDM.
2002-06-20 04:11:19 +00:00
david
6df9479415 Allow an empty virtual model, to which other submodels can be attached
(when no path is specified).
2002-06-19 03:25:40 +00:00
david
9569c43126 Avoid a segfault when a named object is not found for an animation.
Ensure that global animations are applied to the model.
2002-06-19 02:58:06 +00:00
david
dc132d80b1 Added fgAddChangeListener convenience functions. 2002-06-18 03:27:21 +00:00
curt
ee98995d30 Updated to match changes in radiostack.[ch]xx 2002-06-16 15:23:22 +00:00
curt
a7e237abd6 A little prepratory code reorganization before modeling the King KR 87
Silver Crown Digital ADF.
2002-06-16 00:05:07 +00:00
andy
9541e06a1e Finally fixed the flap drag issue. Drag modifications need to be based on
the amount of drag that the produced lift *would* have produced given an
unflapped air surface.  A nifty trick involving the assumption that AoA is
small works for this, and produces plausible results in the high AoA case
as well.

Also, trim for approach using the elevator-trim control, not elevator.
Just cosmetic for current planes, but future ones might have differing
implementations of trim.
2002-06-15 05:40:02 +00:00
curt
22a55b25f9 Erik Hofman:
Specify default values for properties so we get expected behavior when
an option isn't specified in the sound config file.
2002-06-14 15:29:20 +00:00
curt
1bb0cbf0a7 Andy Ross:
Fixes for uninitialized variables.
2002-06-13 19:22:32 +00:00
curt
6800231cfa Erik Hofman:
This is the small code fix which is needed for the new options.xml file.
It is needed because otherwise the "--prop:name=value" is showed
incorrectly.

There is another problem though, when compiling with --without-logging
the help message isn't displayed at all! We *must* change that somehow.

Curt: good point, the SG_LOG()'s have been switched to cout's ...
2002-06-12 16:38:46 +00:00
andy
a682823ada Bugfix. The engine thrust is recalculated based on the current N1 value
(and not the throttle setting), but the recalculation left in a degeneracy
when the target/throttle setting was exactly zero.  Zero times a big number
is still zero.  Fixed to use real math, not theoretical math.
2002-06-12 08:23:05 +00:00
curt
2c5eb44cc3 Updates to the 610x interface:
- More progress with proper radio freq tuning and proper interpreting of the
  hardware values.
- Filter ignition and flap switch values since the hardware implimentation has
  a dead zone where the value can go to zero in the middle of a change in
  switch position.
2002-06-12 06:16:23 +00:00
curt
c93b79641d Erik Hofman:
I've updated the FIXME in the code, and fixed a typo (descr instead of
description), but the SG_LOG() functions doesn't produce any output for
me. Could you confirm it's still working for you?

Curt Olson:
I did a bit of further tweaking and it all looks good now.  The tricky thing
is that SG_LOG() always appends an endl at the end of every message.
2002-06-11 17:06:46 +00:00
curt
a4e81f4ff0 Erik Hofman:
This patch solves an unknown reference to a function which showed up
when using no-inlining.
2002-06-11 16:32:12 +00:00
curt
7d3448294b Erik Hofman:
This is an enhanced version of the options patch.
It's more robust now, and gives some helpful information if something
goes wrong. Also the naming in the options.xml file has changed to the
syntax David suggested.

Since no one objected to the patch I think it is safe to included it.
2002-06-10 23:30:23 +00:00
andy
df2b147ef5 Really simple command line airplane compiler. Basically a test program;
not integrated into the Makefile.am stuff.
2002-06-10 20:15:35 +00:00
david
a74c184cfb Separate the model geodetic position and orientation into a separate
class, FGModelPlacement, while FG3DModel retains control of animation.
This way, we can have a single, top-level placement, but multiple
layers of nested models underneath.  To include a nested model, use
something like this in the XML wrapper:

  <model>
   <path>Models/Stuff/my-component.xml</path>
   <offsets>
    <roll-offset-deg>45</roll-offset-deg>
   </offsets>
  </model>
2002-06-10 13:20:26 +00:00
andy
0cabedaa4f Use the density values from the environment subsystem, to properly handle
density variations due to humidity.
2002-06-10 08:47:29 +00:00
david
f12ba10c47 Modified --wind=DIR@SPEED option to allow both DIR and SPEED to
contain colon-separated ranges.  For examples, winds from 180 degrees
10 knots gusting 15 knots would be

  --wind=180@10:15

Winds variable from 180-220 degrees 5 knots would be

  --wind=180:220@5

FGEnvironment does not yet support variable-direction winds, so
nothing will yet happen in the second case.
2002-06-09 21:28:17 +00:00
tony
9299767541 Oops. Previous versions caused compile errors 2002-06-08 03:20:37 +00:00
tony
0975a42f49 The external atmosphere fix. Really this time. 2002-06-08 03:15:05 +00:00
tony
00dcf9f507 JSBSim updates, including external atmosphere fix 2002-06-08 03:14:03 +00:00
curt
0ba0a278b9 Patch from Norman to do the code/base version comparison check a little
more sensibly (and print the correct error message.)
2002-06-07 23:26:07 +00:00
curt
8b711a5782 James Turner:
Modifications to support querying navaid database by station ID (not just
frequency.)  Some corresponding changes to testnavs.cxx to test new
functionality.
2002-06-07 21:03:27 +00:00
david
bc179de4bd Patch from Jim Wilson:
This is a small patch that makes the autopilot work much better with big heavy
airliners as well as the small Cessnas.  Of course this doesn't address the
way autopilots should be modeled.

But by making a couple changes the "George" is now capable of landing either a
C172 or a 747 very close to the center line of the runway with a moderate
cross breeze (15-20kt).

The changes:
- Added turn configurability so that things like Max Aileron and Roll can be
configured per aircraft.
- Enhanced localizer routine (NAV mode) to begin lining up the aircraft as soon
as the cone is entered.  The former model is adopted for the last 5km of the
approach in order to ensure greater precision (makes a very slight difference).

[float cast added by David Megginson to keep G++ 3.0 happy]
2002-06-07 20:16:54 +00:00
david
88e93dc767 Patch from Jim Wilson:
This is a small patch that makes the autopilot work much better with big heavy
airliners as well as the small Cessnas.  Of course this doesn't address the
way autopilots should be modeled.

But by making a couple changes the "George" is now capable of landing either a
C172 or a 747 very close to the center line of the runway with a moderate
cross breeze (15-20kt).

The changes:
- Added turn configurability so that things like Max Aileron and Roll can be
configured per aircraft.
- Enhanced localizer routine (NAV mode) to begin lining up the aircraft as soon
as the cone is entered.  The former model is adopted for the last 5km of the
approach in order to ensure greater precision (makes a very slight difference).

[float cast added by David Megginson to keep G++ 3.0 happy]
2002-06-07 19:52:00 +00:00
david
e6f9caa41b Patch from Melchior Franz:
FGViewer::updateFromModelLocation does otherwise complain several
times about non-initialized values
2002-06-07 19:43:40 +00:00
david
d982efc4c4 Fix two problems:
1. Typo where /environment/density-inhg instead of
   /environment/density-slugft3 was flagged as archivable.

2. Density should no longer be archivable anyway, since it is
   calculated internally and not directly settable by the user.
2002-06-07 14:23:09 +00:00
david
a08d92e142 Correct temperature value passed to FDM. 2002-06-07 00:15:21 +00:00
david
56642901b5 Air density is now calculated automatically from air pressure,
temperature, and dewpoint.  The /environment/density-sea-level-slugft3
property has been removed, and the /environment/density-slugft3
property is read-only.
2002-06-06 00:21:23 +00:00
david
4acb59a020 Renamed property /steam/vertical-speed-fpm to /steam/vertical-speed-fps. 2002-06-05 22:39:00 +00:00
david
2df334378f Use factors instead of offset in atmosphere model. The troposphere is
hard-coded for 38,000ft.
2002-06-05 22:30:07 +00:00
david
34e2e52158 Patch from Georg Kaiser. 2002-06-05 21:43:44 +00:00
david
890c26a9ee Move initial setup of cloud layers to Main/main.cxx to ensure that
they are done only once, and ensure that all properties are untied in
unbind().
2002-06-05 17:45:42 +00:00
david
5bec60a602 Set up cloud layers when thesky is allocated, to ensure that they are
created only once.
2002-06-05 17:44:39 +00:00
david
0387b3a4ec Replace cout statement with SG_LOG. 2002-06-05 17:44:09 +00:00
david
384c3c254a Initialize default SLP to 29.92inHG. 2002-06-05 14:44:30 +00:00
curt
e2e640ef46 Set control surface positions when using an external network fdm.
Fetch all pending remote fdm network packets so there is not chance of
  getting behind.
Add support for driving control panel lights.
Working on better modeling KX 155 tuning behavior.
2002-06-05 05:22:42 +00:00
curt
63eb4d8668 Erik Hofman:
* Small updates and fixes
* Add random as an internal ( <intenral>random</internal> is now possible)
2002-06-04 16:27:20 +00:00
andy
2852f27bdc Uninitialized data problem. As it turns out, this never bit us because
the _chord member is only used uninitialized in circumstances where the
result is thrown away.  Still, bad practice.  Found with valgrind.
2002-06-04 07:23:34 +00:00
curt
11766afb6c Added flap_deflection so that remote fdm can pass back actual flap deflection
in order to drive the flap sound effects and animation.
2002-06-03 23:35:43 +00:00
andy
04e083083d Need to call recalc() on the RigidBody during solution, or else it
won't apply the right gross weight due to fuel differences.

When solving for zero force, do so in the global frame, not the
aircraft's.  In principle, this shouldn't matter (zero is zero in all
frames), but in practice this should help to avoid oscillations.
Calculating lift as force perpendicular to the ground (and not the
wing plane) is clearly the Right Thing, anyway.

Also added support for a /yasim/gross-weight-lbs property, which
should be generically useful.
2002-06-01 19:59:38 +00:00
andy
713920356b Property name typo. This resulted in all temperatures being 273K,
which is far too warm at altitude.  Thus, air density (and aircraft
performance) was too low for a given altitude.
2002-05-30 18:54:08 +00:00
curt
b2cefb1450 Check for the proper base package version. 2002-05-30 15:37:39 +00:00
david
25450e040a Patch from Melchior Franz:
The new dt/multiloop method requires new damping parameters.
2002-05-29 22:38:11 +00:00
david
1a4b6a37a3 Default to glider again when model is not present. 2002-05-29 22:04:36 +00:00
andy
7e63c0f6e8 Modify solution heuristics. Do the cruise AoA and tail incidence only
when the lift/drag are really solid.  And defer the approach trim until
the all four of the other variables are perfect.  I believe this should
fix the solution failures under gcc 2.95.2.
2002-05-29 08:41:13 +00:00
andy
adeeed1a0e Oops. Stray checkin. Revert. 2002-05-29 07:09:41 +00:00
andy
f324ea9bad The incidence setting only works on a compiled object. If setIncidence
is called on a non-compiled object, make sure to re-set it after compilation.
2002-05-29 07:07:29 +00:00
david
8cf573ae51 JSBSim change:
Reverse sense of rudder surface position, for consistency with
ailerons and FlightGear controls.
2002-05-28 13:50:51 +00:00
andy
040c508aa8 We don't handle propellers turning backwards. This got clamped
implicitly in PropEngine by disallowing negative torques, but that was
removed at some point.  We really need the explosion protection here
at the source.
2002-05-23 19:47:19 +00:00
andy
6af60f7462 Yank the "castering" attribute and replace it with a ControlMap-enabled
control that can be set via the property system.  This allows implementation
of the DC-3 wheel lock.
2002-05-23 19:30:56 +00:00
andy
4d10297732 Oops, left debug code in the checkin. 2002-05-21 18:45:56 +00:00
andy
4535c84b99 Solve for the elevator control input during approach. It turns out that
the downforce from the tail due to elevator trim is a significant contribution
to total lift.
2002-05-21 07:40:46 +00:00
curt
e380891c40 Erik Hofman:
This patch adds "elapsed time" support to the sound code.
It is now possible to define <internal>dt_play</internal> or
<internal>dt_stop</internal> instead of a propery in the <volume> and
<pitch> sections of the configuration file.
2002-05-20 16:28:21 +00:00
curt
2cafd466e2 Tony Peden:
Defeated the invasion once and for all.
2002-05-20 16:19:26 +00:00
curt
8ae364a220 Jim Wilson:
This is a small fix for what turned out to be a major bug.  Ground elevation
was calculated incorrectly when distant from one of the view locations. This
resulted in several problems including bizarre gear trimming, mid air
"crashes" (as in thinking we hit the ground) and so on when close to or on the
ground.

Unfortunately it does require a second ssg traversal when in tower view
(only), but the increased load isn't all that noticable.  For the time being
this really is the best solution.  In a future update I will be eliminating
the unecessary per frame traversals for the static views (without having to
maintain multiple ssgRoots).

When we go to multiple FDM instances we will perhaps need to put the ssg
traversal and ground elevation queries for the FDMs into an event timer that
updates the FDMs ground elevation in a round robin fashion (maybe every 1/n
seconds where n is the number of FDM instances running).
2002-05-20 16:13:37 +00:00
curt
0efc08b6b6 Bernie Bright:
Ensure lines sent to clients are CRLF terminated.
Ensure the dump command null terminates its output string.
Removed view command and comments.
2002-05-20 15:53:14 +00:00
curt
1ffd296e27 Jim Wilson:
Fix for the sound cranking bug.
2002-05-17 21:02:40 +00:00
david
89483df079 No longer initialize static cloud layers (handled dynamically in
environment_mgr.cxx).  The /environment/clouds/status property is now
checked each frame, so clouds can be turned on or off in the middle of
a session.
2002-05-17 19:04:20 +00:00
david
b2dcc4ca00 Removed old --clouds-asl option and initialization of clouds-asl
property, since neither makes sense for multiple cloud layers.
2002-05-17 19:03:20 +00:00
david
fe4a837d7f Modified to work with new cloud properties (sort-of). 2002-05-17 19:02:43 +00:00
david
b091433cf6 Added support for initializing and maintaining up to five cloud
layers.  The properties controlling each layer are inside
/environment/clouds/layer[n], and the available properties are type
("clear", "overcast", "mostly-cloudy", "mostly-sunny", or "cirrus"),
span-m (should be about 40000), elevation-ft, thickness-ft, and
transition-ft.
2002-05-17 19:02:24 +00:00
david
9002aa41ff Corrected "#ifdef 0" to "#if 0" to keep ANSI-conformant compilers
happy.
2002-05-17 18:56:13 +00:00
curt
b1674cb506 From: "Jim Wilson" <jimw@kelcomaine.com>
This is a new improved patch for the previous tile manager fixes.

Rather than building dependencies between FGlocation or the viewer or fdm with
tilemgr what I ended up doing was linking the pieces together in the Mainloop
in main.cxx.  You'll see what I mean...it's been commented fairly well.  More
than likely we should move that chunk somewhere...just not sure where yet.

The changes seem clean now. As I get more ideas there could be some further
improvement in organizing the update in tilemgr.  You'll note that I left an
override in there for the tilemgr::update() function to preserve earlier
functionality if someone needs it (e.g. usage independent of an fdm or
viewer), not to mention there are a few places in flightgear that call it
directly that have not been changed to the new interface (and may not need to be).

The code has been optimized to avoid duplicate traversals and seems to run
generally quite well.  Note that there can be a short delay reloading tiles
that have been dropped from static views.  We could call the tile scheduler on
a view switch, but it's not a big deal and at the moment I'd like to get this
in so people can try it and comment on it as it is.

Everything has been resycned with CVS tonight and I've included the
description submitted earlier (below).

Best,

Jim

Changes synced with CVS approx 20:30EDT 2002-05-09 (after this evenings updates).

Files:
http://www.spiderbark.com/fgfs/viewer-update-20020516.tar.gz
 or
http://www.spiderbark.com/fgfs/viewer-update-20020516.diffs.gz

Description:
In a nutshell, these patches begin to take what was one value for ground
elevation and calculate ground elevation values seperately for the FDM and the
viewer (eye position).  Several outstanding view related bugs have been fixed.

With the introduction of the new viewer code a lot of that Flight Gear code
broke related to use of a global variable called "scenery.cur_elev".

Therefore the ground_elevation and other associated items (like the current
tile bucket) is maintained per FDM instance and per View.  Each of these has a
"point" or location that can be identified.  See changes to FGLocation class
and main.cxx.

Most of the problems related to the new viewer in terms of sky, ground and
runway lights, and tower views are fixed.

There are four minor problems remaining.  1) The sun/moon spins when you pan
the "lookat" tower view only (view #3).  2) Under stress (esp. magic carpet
full speed with max visibility), there is a memory leak in the tile caching
that was not introduced with these changes.  3) I have not tested these
changes or made corrections to the ADA or External FDM interfaces.  4) The
change view function doesn't call the time/light update (not a problem unless
a tower is very far away).

Details:
FDM/flight.cxx, flight.hxx - FGInterface ties to FGAircraftModel so that it's
 location data can be accessed for runway (ground elevation under aircraft)
 elevation.

FDM/larsim.cxx, larcsim.hxx - gets runway elevation from FGInterface now.
Commented out function that is causing a namespace conflict, hasn't been
called with recent code anyway.

FDM/JSBSim/JSBSim.cxx, YASim/YASim.cxx - gets runway elevation from
FGInterface now.

Scenery/newcache.cxx, newcache.hxx - changed caching scheme to time based
(oldest tiles discard).

Scenery/tileentry.cxx, tileentry.hxx - added place to record time, changed
rendering to reference viewer altitude in order to fix a problem with ground
and runway lights.

Scenery/tilemgr.cxx, tilemgr.hxx - Modified update() to accept values for
multiple locations.   Refresh function added in  order to periodically make
the tiles current for a non-moving view (like a tower).

Main/fg_init.cxx - register event for making tiles current in a non-moving
view (like a tower).

Main/location.hxx - added support for current ground elevation data.

Main/main.cxx - added second tilemgr call for fdm, fixed places where viewer
position data was required for correct sky rendering.

Main/options.cxx - fixed segfault reported by Curtis when using --view-offset
command line parameter.

Main/viewer.cxx, viewer.hxx - removed fudging of view position. Fixed numerous
bugs that were causing eye and target values to get mixed up.
2002-05-17 17:25:28 +00:00
curt
e8a6836525 Bernie Bright:
Reverted fgUsage() to previous version that works on all platforms.
2002-05-17 17:01:16 +00:00
curt
fcd6b28e0f Bernie Bright:
I've defined snprintf as _snprintf in compiler.h for MSVC and MINGW
targets and removed duplicate definitions from FG sources.
2002-05-17 16:41:27 +00:00
david
279643226a Temporarily modified to support changes in SGSky and SGCloudLayer;
this will soon be removed into a separate module that allows dynamic
changes to cloud layers.
2002-05-17 01:23:00 +00:00
andy
4efbc97a4b Revert the recent changes to Atmosphere.cpp. They were actually in
the wrong place.  The Atmosphere::getStd*() calls are used by the
solver, and thus really need to return values for a "standard"
atmosphere.  Otherwise, an aircraft started up in Moscow will behave
differently than one initialized in Cairo. :)

The place where environmental pressure and temperature get inspected
at runtime is in YASim.cxx.  The changes there, happily, end up being
even smaller than the ones to Atmosphere.  This ends up replacing code
only, and removing some comments.
2002-05-16 07:49:22 +00:00
curt
99859a5ea9 Bernie Bright:
To make MSVC happy it appears we need backslashes on string literals
spanning multiple lines.
2002-05-16 06:02:31 +00:00
curt
f9f05aa870 Bernie Bright:
Here is the new super improved telnet property interface.  CVS changelog
is at the end of this message.  Once this new telnet code is in and
compiles every where we can remove Network/props.[ch]xx.  I've added a
--telnet=<port> command line option to invoke the new server.  Later on
we could remove the --props option, or least change it to invoke the new
server.  I'll let you decide.

I've added some new commands to the telnet interface:

view next      Select the next view.
view prev      Select the previous view.
view set <n>   Select view 'n'
view get       Return index of current view

I'm not sure if these same effects could be achieved through property
operations.  The commands provide a convenient shortcut in any case.

I'm also planning on adding a panel command to manipulate panels and
objects contained therein (eg simulated mouse clicks).  There is going
to be some commonality with the command objects so we may need to
rationalize this in the near future.

Finally, I've also included my python stuff.  This is still very much a
work in progress, basically I've been using it to test the new telnet
server.  I have  tested it with python 2.2.  Feel free to add it to the
repository if you want.  I would suggest a scripts/python directory

CVS Changelog

Network/telnet.cxx: New property telnet protocol interface.  It supports
the same user interface provided by the --props server.  Additionally it
handles multiple simultaneous connections.  Added "view" command to
manipulate viewmgr.

Network/protocol.hxx: Added protocol configuration exception.

Main/fg_io.cxx:  Added new "telnet" protocol.  Added protocol
configuration parse exceptions.  Simplified protocol configuration
parsing.

Main/options.cxx: Added --telnet=<port> command line option and help
message.
2002-05-15 21:44:34 +00:00
david
52c1cb2f7d Take the static temperature, static pressure, and density values from
an external source if requested by the
/environment/params/control-fdm-atmosphere property.
2002-05-15 12:10:48 +00:00
david
cade7aad70 Comment out set_Static_pressure, set_Static_temperature, and
set_Density; since JSBSim doesn't override the get_* methods from
FGInterface as well, the wrong values are always set anyway.

Take the static temperature, static pressure, and density values from
an external source if requested by the
/environment/params/control-fdm-atmosphere property.  This isn't
working properly yet for JSBSim because of interactions with the
trimming routine.
2002-05-15 12:06:33 +00:00
david
b112e72510 Actively manage the static temperature, static pressure, and density
values in the FDM if requested by the
/environment/params/control-fdm-atmosphere property.
2002-05-15 12:04:25 +00:00
david
663dc4b545 Minor tweaks and additional comments. 2002-05-15 12:03:41 +00:00
david
8a5cdbdbc6 Finished off the atmosphere model (Troposphere and lower
Stratosphere).  The atmospheric properties are as follow:

/environment/temperature-sea-level-degc
/environment/temperature-degc
/environment/pressure-sea-level-inhg
/environment/pressure-inhg
/environment/density-sea-level-slugft3
/environment/density-slugft3

Setting either the sea-level or altitude value automatically sets the
other value appropriate, except for temperature at altitude above the
Troposphere (where there's no reliable way to back-calculate it).  The
atmosphere model appears in the atmosphere_data array in
environment.cxx, and can easily be extended into the upper
stratosphere and beyond.

These are not yet tied into the FDMs or steam module.
2002-05-15 03:00:41 +00:00
david
abdb5abb6a Fixed handling of delta time (just a kludge for now): VSI behaves
reasonably again, and DG doesn't drift too fast any more.
2002-05-14 14:21:27 +00:00
curt
487a14d05b Moved some scenery component initialization into FGScenery. 2002-05-14 06:08:28 +00:00
curt
92a58f6555 Consolodating scenery structures in scenery.hxx. 2002-05-14 05:49:47 +00:00
curt
47825dcbae Moved "scenery" from being declaried in scenery.cxx to being declared
in globals.hxx.
2002-05-14 05:22:52 +00:00
david
1fe50d4cd2 Removed configuration option --with-old-mouse and FG_OLD_MOUSE macro.
Removed configuration option --with-new-environment and
FG_NEW_ENVIRONMENT macro.

Added configuration option --with-weathercm and FG_WEATHERCM macro.

FGEnvironment is now the default; use --with-weathercm to get the old
weather.
2002-05-12 00:12:19 +00:00
david
94a667a061 Changed WeatherPrecision to double; this may help to avoid compile
errors (untested).
2002-05-11 23:27:03 +00:00
david
49bb3306d9 Environment manager overhaul -- return a copy of an FGEnvironment
object rather than a pointer.

FGEnvironment now has the beginning of an atmospheric model, and will
recalculate temperature (not pressure or density, yet) based on
elevation.

FGEnvironment has a copy constructor.
2002-05-11 23:23:42 +00:00
david
f8df8ecda9 Modified to use FGEnvironment as well as WeatherCM. 2002-05-11 23:22:24 +00:00
david
ee4c3f728d Remove some dead code. 2002-05-11 21:10:11 +00:00
david
e1c2a95f2f Fix maximum speed bug. 2002-05-11 21:09:53 +00:00
david
5a849b66e8 Major overhaul:
- changed FGSubsystem::update(int) to
  FGSubsystem::update(delta_time_sec); the argument is now delta time
  in seconds rather than milliseconds

- added FGSubsystem::suspend(), FGSubsystem::suspend(bool),
  FGSubsystem::resume(), and FGSubsystem::is_suspended(), all with
  default implementations; is_suspended takes account of the master
  freeze as well as the subsystem's individual suspended state

- the FDMs now use the delta time argument the same as the rest of
  FlightGear; formerly, main.cxx made a special case and passed a
  multiloop argument

- FDMs now calculate multiloop internally instead of relying on
  main.cxx

There are probably some problems -- I've done basic testing with the
major FDMs and subsystems, but we'll probably need a few weeks to
sniff out bugs.
2002-05-11 16:28:50 +00:00
david
1ce573908c Mac OS X patches from Jonathan Polley. 2002-05-11 12:30:22 +00:00
david
f3eafe1007 Property patches from Frederic Bouvier:
The FlightGear patch is to take account the change in the getChildren
function that now returns a vector<SGPropertyNode_ptr>. If the
removeChild functionnality is to be added in FlightGear, all those
SGPropertyNode * floating around should be changed to
SGPropertyNode_ptr.
2002-05-11 00:59:26 +00:00
david
56473dc28d Mac OS X fixes and MSVC warning fixes from Jonathan Polley. 2002-05-10 23:35:06 +00:00
david
c37d2019e0 Patch from Melchior Franz:
- don't send "set" confirmation when in data mode. If an external
  program really cares if the settings were accepted, which is
  rather unlikely, it simply has to "get" the property again.
  The returned line would have been a pain to parse, anyway
  (something like "from-model =  'true'  (bool)").
- do not only "set" the first token, but concatenate all given
  tokens with a space in between. This won't be used much, but
  makes sense for setting strings, while it does no harm when setting
  numbers. Silently ignoring all but the first token is impolite. ;-)
- remove old, commented out debug message that doesn't make much
  sense any more.
2002-05-09 21:57:07 +00:00
david
907e2942bb Patch from Melchior Franz:
Due to jumpy joystick read-outs the UFO jitters a lot in turns.
This patch implements simple damping for aileron/elevator/throttle.
Furthermore it lets the UFO fly backwards if brake[0] is active
(by default associated with the joystick's fire button). After all,
everyone knows that UFO's can fly backwards!
2002-05-09 21:56:31 +00:00
david
5c799d1ba2 Patch from Melchior Franz:
It's cumbersome to use the MagicCarpet as 3D cursor, because everytime
you shoot over the target you have first to turn by 180 degrees and to
fly back.

This patch lets the magic carpet fly backwards if brake[0] is active,
which is by default associated with the joystick's fire button.
2002-05-09 21:56:07 +00:00
david
26e4ae9fc4 Patch from Jim Wilson:
Turns out it was a problem with a long string, not the font.  Plib is limited
to 80 characters in things like this listbox.  BTW I checked and all the fonts
are missing those characters.  So, no point in changing.

Description:
Fixed segfault caused by long string.
2002-05-09 21:15:01 +00:00
curt
37b665075f Robert Deters:
> I have attached some new additions to the UIUC code.  Most of the
> changes allow for the addition of apparent mass.  This is very
> useful with light aircraft and gliders.
2002-05-09 05:02:36 +00:00
curt
1c513868b7 Erik Hofman:
I changed the sound code to let it use FGCondition. This changes the
code and configuration files rather drastically. Furthermore I've added
an in-transit mode which plays the sound only when the tied property is
changing.

Changes:

Code:
* Added condition support to trigger an event
* Removed the <type> section from the main event definition
   (this could be done using conditions)
* Removed the abillity to use several events with the same name,
   instead it is required to use conditions.
* Updated the README.xmlsound

Base package:
* Changed the configuration files accordingly.
* Changed flaps and gear to use the new in-stransit mode.
* Changed the flps.wav file so it can be looped.
* Created a new gear.wav file (whcih can be looped)
   and a gear-lck.wav file for gear locking sound.

IMPORTANT:
To change existing configuration files to the new ones, it is important
to pack events with the same name together into one singel event, using
the condition specification. Also, when using special types (inverted,
flip-flop, raise or fall) these should be changed to a conditions also.
For more information, please look at
FLightGear/docs-mini/README.xmlsound and the supplied aircraft
configuration files located under FlightGear/Aircraft (espesially
c172/c172-sound.xml and c310/c310-sound.xml).
2002-05-09 04:24:39 +00:00
david
93e0274eb8 Last rev was based on an old version and blew away recent changes.
Reverted to the current JSBSim CVS version of each.
2002-05-07 23:11:16 +00:00
david
ce69eb8e79 Added an interface for an environment controller, together with a
default implementation that uses user-supplied params.  Currently, the
only parameters are

  /environment/params/base-wind-speed-kt
  /environment/params/gust-wind-speed-kt

but others will show up soon (i.e. sheer, variable direction, variable
visibility, etc.).  To activate these properties, you have to
configure --with-new-environment.

The gusting function is simplistic and needs to be replaced with
something better, though it doesn't feel too far off.
2002-05-07 00:03:54 +00:00
tony
be71e0f555 Added stall hysteresis modeling, nose should fall through nicely in a stall now. 2002-05-04 17:38:06 +00:00
david
cd041af9d8 Added a new 'billboard' animation type. This animation takes one
subproperty, 'spherical', which is true if the object has spherical
symmetry and should rotate around both the x-axis and z-axis to face
the camera (i.e. a simple cloud), and false if the object has only
cylindrical symmetry and should rotate only around the z-axis (i.e. a
tree).
2002-05-03 21:09:14 +00:00
tony
4306cebe9e Norman Vine's speed optimizations 2002-05-03 13:56:09 +00:00
david
ff6943bd09 Regularized the position initialization:
1. If /position/longitude-deg and /position/latitude-deg are in range,
   use them.
2. Otherwise, if /sim/startup/airport-id is not empty, use it.
3. Otherwise, set the lon/lat to the middle of the KSFO field.

The default used to be Globe, AZ, but that doesn't make sense since we
don't distribute that scenery by default any more.

With this change, starting from a save file seems to work properly:

  fgfs myflight.sav
2002-05-01 23:13:36 +00:00
andy
7a9e2aba71 Fix dumb typo. Very embarassing, but oddly not fatal... 2002-05-01 01:17:33 +00:00
tony
4a854fcc3e JSBSim updates, including MSVC fixes from Bernie Bright 2002-04-30 13:42:26 +00:00
david
8b411b244b Cleaned up initialization of parking brake to be more consistent. 2002-04-26 01:53:41 +00:00
curt
05bb076784 Pass along the status of the gear up/down control lever. 2002-04-25 22:41:13 +00:00
curt
7b69f0cbb4 Bernie Bright:
- Major rewrite making it more member function friendly.
2002-04-25 20:31:38 +00:00
curt
d15d3652b1 Bernie Bright:
- Added initial_value argument, in milliseconds, that specifies when
  event is first run.  The default value of -1 triggers the event
  immediately as per the existing behaviour.  A repeat_value greater than
  zero runs the event no less than every 'repeat_value' milliseconds
  afterwards.  A repeat_value of zero deletes the event.
- Modified run queue behaviour such that only one event per frame is
  run.
2002-04-25 20:31:14 +00:00
david
58a001ad32 Patch from Norman Vine:
Yikes  --
Looks like I broke the scenery.current_normal when I last
reworked the hitlist code.

I guess this is proof that no one has been using it.
2002-04-25 19:44:27 +00:00
david
830e274238 Patch from Melchior Franz:
the parking_brake state is requested in saveInitialState before it
is first set
2002-04-25 19:35:04 +00:00
david
1e73f62481 Patch from Melchior Franz:
the states of all the volume buttons are requested in saveInitialState before
they are first set
2002-04-25 19:26:47 +00:00
david
f2683c541b Patch from Melchior Franz:
ATCmgr.cxx:148 says:
// Returns true if the airport is found in the map

Yes, it returns true if the airport has been found. But it fails
to return the airport data. Just plays around with a local pointer.  ;-)
2002-04-25 19:26:18 +00:00
david
77cf6c7dc8 Patch from Melchior Franz:
FGAIEntity::FastWorldCoordinate (AIEntity.cxx:96) uses this->hdg
uninitialized.
2002-04-25 19:25:53 +00:00
david
18e36a3302 UFO FDM patches from Jonathan Polley:
I have finished working the bugs out of my "Enhanced" version of the Magic
Carpet FDM.  The UFO FDM works the same as the Magic Carpet with the
following exceptions:

The aircraft's pitch is determined by the Elevator setting (with a pitch
rate of 45 degrees per second).
Climb is forward velocity * sin(pitch)
Speed is forward velocity * soc(pitch)

Roll is tied to the aileron (again, with a roll rate of 45 degrees per
second)
Turn rate is sin(roll) * 45 degrees.

Yes, this does mean that turning is quite a bit more sluggish than
climbing.

If you are wondering why a UFO FDM, it is because it's best that I not
replace the existing magic carpet and this FDM does behave like a UFO (it
hovers, can spin and pitch while hovering, and does not obey the laws of
physics ;)
2002-04-25 16:23:16 +00:00
curt
6b22c85e24 Comment out ATC AI manager init() and update() calls until we can resolve
the tremendous performance hit they are imposing.
2002-04-22 22:28:00 +00:00
curt
cf146a7d1b Fix a couple "make dist" problems that crept in since the last release.
Regengerate msvc project files.
2002-04-21 05:51:37 +00:00
curt
17106105bb Fix for reset causing view problems when not in pilot view. 2002-04-21 03:27:34 +00:00
david
a8576b9e95 Make an animation with no object name apply to the model as a whole.
This replaces the old "range" subtree with something more general.
2002-04-20 17:07:47 +00:00
curt
586d767ab6 There was an integer overflow in the way elapsed_time_ms. Because the
SGTimeStamp "-" operator returns it's result in usec's, there is an upper bound of 37.8 minutes on the maximum difference this operator can reliably report
before the math overflows.  I change the global "int elapsed_time_ms" variable
to a "double sim_time_ms" and restructured how the value is calculated.
----
The practical result of the overflow bug is that a large negative dt was
passed to the event manager and the end effect was that no events would
be run until their counters caught up ... in another 37.8 minutes or so.
2002-04-20 14:52:43 +00:00
david
89324e0cfe Explicitly include model.hxx, since acmodel.hxx no longer includes it. 2002-04-20 14:08:06 +00:00
david
1094206677 Add support for interpolation tables for non-linear animations.
Remove header dependencies where possible, to speed up rebuilds.
2002-04-20 14:07:34 +00:00
david
17cfbd2a7c Remove header dependencies where possible, to speed up rebuilds. 2002-04-20 14:07:03 +00:00
david
4c101d7199 Updated docs for this directory. 2002-04-20 14:05:49 +00:00
curt
8b3f0ad7cc Jim Wilson:
Also move tower when teleporting to a new airport.
2002-04-19 15:48:27 +00:00
curt
f1d8d554d0 Jim Wilson:
Fix a scrolling problem where last item doesn't show in prop_picker.
Removed include for unreferenced header in viewmgr.
2002-04-19 15:36:51 +00:00
curt
b36f19b871 Detect and recover from a math overflow that can possibly prevent panel text
from updating if the instrument panel is not drawn for more then 35.7
minutes.
2002-04-19 14:05:58 +00:00
david
473ea84621 JSBSim fix:
Corrected typo "flaps-pos-deg" to "flap-pos-deg".  JSBSim now reports
the normalized flap position to FlightGear, and the model animation
works again.
2002-04-19 12:15:46 +00:00
curt
130902f788 Fixed an "==" vs. "=" typo. 2002-04-19 04:11:32 +00:00
david
eea531fbf5 Stop the sound when paused. We really need a separate control for
muting, but that will have to wait until someone has time.
2002-04-19 04:00:02 +00:00
curt
4656e3adca Jim Wilson:
Minor patch for flicker glitch when crossing from one tile to another.
2002-04-19 00:25:25 +00:00
curt
97cc733ac8 Tracked down a potential segfault when trying to audibly ident a vor station.
This led to an investigation into why the ident playing didn't work anymore.
Recent changes in the sound manager broke some assumptions the radiostack
code was making.  These patches should hopefully fix all that back up.
Erik, please review these changes to double check I didn't do more damage
than good. :-)
2002-04-18 21:43:00 +00:00
david
4c30ccf2d4 Added groundwork for reading a joystick name from the latest plib CVS
code.  It doesn't do anything but print a message, so far.
2002-04-18 20:18:33 +00:00
curt
71598c12f8 Jim Wilson:
These are the updates for the View manager properties.  Removed the last of
items (within the viewer/viewmgr) hard coded to view number.  Added support
for per view configuration of ground level nearplane value.  Tower views look
very nice with little or no z-buffer problem in the models.  Pilot offset
dialog can be used to move eye in all views.
2002-04-18 16:51:47 +00:00
curt
e5abcd1ef1 Replaced spaces with <tab> since this is a makefile. 2002-04-16 20:42:58 +00:00
curt
7311318e7e Small tweak to make the Irix compiler happy. 2002-04-16 17:28:57 +00:00
david
adcb4fc30e Latest JSBSim changes. 2002-04-16 13:15:29 +00:00
curt
bd9b1c7558 Fixed a recently introduced bug which cause the ground lighting to be
wrongly "lifted" a very, very, very large amount more than it was supposed
to be.  I guess the moral of the story is what goes up, must come down. :-)
2002-04-16 06:33:56 +00:00
curt
39cba9139c Of all the ILS stations that match the specified frequency and are in range,
return the one that is pointed most directly at us.
2002-04-15 17:53:05 +00:00
david
6c2039c5aa This module was filtering out all stations with localizer offset
>90deg, even though src/Cockpit/radiostack.cxx has code to deal with
those; as a result, no backcourses were getting through.

This fix allows the common case of backcourses to work again, but
breaks the uncommon case of a runway using the same frequency for two
separate localizers.  That special case will have to be detected
somehow.  Still, this fixes more approaches than it breaks.
2002-04-15 15:28:11 +00:00
david
e528324955 MSVC fix. 2002-04-13 21:41:51 +00:00
david
c5f6293f17 Fix for vanishing-model problem: models are drawn in the same scene
graph as the terrain, except for internal cockpit view.  The SSG
scene-graph variables (except for the lighting root -- I'll get that
later) are now held in globals.hxx.

FGModelMgr::draw() is obsolete; I'll remove it in a future revision.
2002-04-13 21:36:22 +00:00
david
7432b9c590 Patch from Jim Wilson:
Fix for problem where an incorrect frame or two got slipped in while
changing tiles.  Corrections to authorship in file level comments.
2002-04-13 16:25:49 +00:00
david
d164d565c0 Patch from Norm Vine to speed up model placement.
DPM: untabified file.
2002-04-13 13:30:38 +00:00
david
39416c2855 Patch from Jim Wilson:
Minor fixes.  Made some changes to get lighting correct for time of day
for now. MSVC compatibility fix and returned to clearing z-buffer only in
LOOKFROM (formerly pilot view).

[dpm: removed the last one, since I had already made a similar patch]
2002-04-13 13:11:34 +00:00
david
d254b2a331 Ensure that the aircraft model is in the same clip plane as everything
else and *doesn't* clear the z-buffer when in external view; tighten
the far plane for internal view back to 100m to give us maximum
precision (this will be important for some instruments; I might even
move it to 50m).
2002-04-13 12:11:27 +00:00
david
6b71800829 Add and document a "range" (level-of-detail) animation for individual
objects and a range for the model as a whole.
2002-04-13 12:10:20 +00:00
david
fa5a707128 JSBSim change:
Set an arbitrary cutoff (5RPM) where friction causes the propeller to
stop spinning.
2002-04-12 17:24:17 +00:00
david
dcac4d7e32 Fixed typo for indirect longitude property. 2002-04-12 15:07:49 +00:00
david
8bed5a8cf4 Added support for additional animated, dynamic 3D models configured in
XML.
2002-04-12 12:45:49 +00:00
david
03c431aa56 Patch from Norman Vine to save some property lookups. 2002-04-12 12:44:58 +00:00
curt
b62fbaf9ce Run a registered event as it's registered and then at the specified interval. 2002-04-12 05:07:28 +00:00
david
f17a6479f7 Get rid of non-portable fmax call. 2002-04-11 19:09:15 +00:00
david
9156544566 Add support for /controls/parking-brake -- it effective overrides the
individual braking commands for the main gear.
2002-04-11 17:11:22 +00:00
david
4d7fda6e75 Added /controls/parking-brake and moved all control setters into the
cxx file (getters are still inline).
2002-04-11 17:10:46 +00:00
david
3bb69f35d1 Replace --with-new-mouse with --with-old-mouse, defaulting to 'no'. 2002-04-11 17:09:06 +00:00
curt
b3a3c0fbac Updated licensing terms to GPL since this file inherits a goodly proportion
of previously GPL'd code.
2002-04-11 16:40:59 +00:00
curt
9f8c4f9600 MSVC fixes. 2002-04-11 16:35:37 +00:00
curt
ab0964384e Bernie Bright:
Here are the Boost-less FGEventMgr updates I promised.

Removed Boost dependencies from FGEventMgr.
Removed Boost configure check.
fgMethodCallback now handles const member functions.

I've successfully tested these changes with gcc and msvc.
2002-04-11 16:25:12 +00:00
curt
39fcbc93ba Finally getting around to being able to specify host name and ports for
remote fdm application.
2002-04-11 05:40:34 +00:00
curt
bef1e770bb Change constructor parameter order. 2002-04-11 05:39:56 +00:00
curt
42a5ee93d7 This patch includes the FGLocation class, a few fixes, cleanup in viewer code.
Synced to CVS 19:36 EDT 2002-04-10 (after this evenings JSMsim and Base
package updates).

Description:
Added FGLocation class which is new home for calculating matrix rotations.
Viewer can now be configured to access rotations created by the model rather
than repeating the same calculations again.

Changed model initialization for the time being so that its location data is
available for the viewer (currently required by other subsystems).  At some
point we can move this back to fg_init along with the viewer initialization.

Seperated the update from the draw function in the model code.  The viewer
code needs the same matrix data, and moving the update portion at this time
does not increase the number of matrix math iterations.

Moved the model draw so that it always appears "in front" of lights and clouds.

Reogranized viewer update routine for using the FGLocation class and
simplified some more tasks.  The routine is fairly easy to follow now, with
the steps ordered and spelled out in comments.

Viewmgr only updates the current (visible) view now, with the exception of an
old reference to "chase view" that will be corrected in forthcoming changes.
Also will be doing some work on the viewmgr outputs.

Model is now clears the z-buffer in all modes.  This will be changed with the
next viewmgr update.  The only side effect is that models always disappear
when over 5km distant from the eye point (can't really see them anyway:-)).

Other than a flag to indicate "internal" view I don't anticipate the
configuration interface for viewmgr/views will be changed a lot for now.  It
is close to done.  The next viewmgr update will however rework the outputs so
may change location.

This code will run with the previous version of preferences.xml, but will run
faster with the newer version.  I am attaching a preferences.xml that should
not be commited before the code.  All the changes are in the /sim/view section
and should show a simpler view configuration that references model locations.
 Note that I've added a 2nd tower view in "lookfrom" mode for illustration
purposes. You can look around using the mouse.  You may want to remove that or
comment it out.
2002-04-11 04:26:07 +00:00
curt
f1c03ed957 This patch includes the FGLocation class, a few fixes, cleanup in viewer code.
Synced to CVS 19:36 EDT 2002-04-10 (after this evenings JSMsim and Base
package updates).

Description:
Added FGLocation class which is new home for calculating matrix rotations.
Viewer can now be configured to access rotations created by the model rather
than repeating the same calculations again.

Changed model initialization for the time being so that its location data is
available for the viewer (currently required by other subsystems).  At some
point we can move this back to fg_init along with the viewer initialization.

Seperated the update from the draw function in the model code.  The viewer
code needs the same matrix data, and moving the update portion at this time
does not increase the number of matrix math iterations.

Moved the model draw so that it always appears "in front" of lights and clouds.

Reogranized viewer update routine for using the FGLocation class and
simplified some more tasks.  The routine is fairly easy to follow now, with
the steps ordered and spelled out in comments.

Viewmgr only updates the current (visible) view now, with the exception of an
old reference to "chase view" that will be corrected in forthcoming changes.
Also will be doing some work on the viewmgr outputs.

Model is now clears the z-buffer in all modes.  This will be changed with the
next viewmgr update.  The only side effect is that models always disappear
when over 5km distant from the eye point (can't really see them anyway:-)).

Other than a flag to indicate "internal" view I don't anticipate the
configuration interface for viewmgr/views will be changed a lot for now.  It
is close to done.  The next viewmgr update will however rework the outputs so
you can expect that the data that viewmgr is writing to the property tree
may change location.

This code will run with the previous version of preferences.xml, but will run
faster with the newer version.  I am attaching a preferences.xml that should
not be commited before the code.  All the changes are in the /sim/view section
and should show a simpler view configuration that references model locations.
 Note that I've added a 2nd tower view in "lookfrom" mode for illustration
purposes. You can look around using the mouse.  You may want to remove that or
comment it out.
2002-04-11 04:25:30 +00:00
david
ba31d94379 Fixed reversed sign for nosewheel steering. 2002-04-11 00:14:10 +00:00
curt
eda75b6d9b Let's try it again, with the correct file name this time. 2002-04-10 17:51:34 +00:00
curt
c7847e6d91 Recover this file. We are not able to use boost as a replacement because
of current Irix compiler incompatibilities.
2002-04-10 17:39:34 +00:00
david
a82e15a653 The 3D aircraft model scene is now managed by
FGAircraftModel::update.  We should do the same thing for the scenery,
to simplify the top-level loop.
2002-04-09 21:08:28 +00:00
david
cde90e06d5 Removed current_model global variable and added a reference in
FGGlobals instead (we still need to do the same with current_input and
a few other globals).
2002-04-09 18:58:24 +00:00
andy
4a2f192fb1 Change the idle MP to reduce idle power a bit. This is basically a
hack, and should be replaced with a sane idle model that has some
physical justification.
2002-04-09 04:55:16 +00:00
curt
cea3b2e4eb Added support for sending:
- Throttle control position
- Mixture control position
- Magneto/starter control position

Added support for receiving:
- Engine state (off, cranking, running)
- RPM
- Fuel Flow
- EGT
- Oil Temp
- Oil Pressure
- Fuel tank quantity
- Weight on wheels
2002-04-08 19:57:45 +00:00
david
d89c63ab32 JSBSim change:
Reduced the steering gain again, but still left it much higher than it
used to be.
2002-04-08 16:15:14 +00:00
david
aa872ed040 Patch from Frederic Bouvier (FIXME comments added by David Megginson):
I made these modifications to correct the problem of getter functions
returning pointers to local variables. Those variables are no longer
locals and become static. One should be aware that it kills reentrancy
!
2002-04-07 21:20:16 +00:00
david
396674ce2e Patch from Martin Dressler:
This patch moves built-in Class (for now only mag-ribbon) into special
directory as you have written it in TODO: in comments of this class in
panel_io.cxx.  IMHO it is good idea.  I want to play with built-in
classes and OpenGC and this will be useful.
2002-04-07 21:13:56 +00:00
david
6e5d22789b Patches from Norm Vine to improve framerate and add a new
#ifdef'ed-out mode for syncing fullscreen with user settings in
Windows.
2002-04-07 15:24:32 +00:00
david
50c13f7972 Patch from Jim Wilson:
Made a couple more adjustments, now the function builds the
transformation matrix (sans the translation) directly from the five
inputs.  After realizing that it may be necessary for the new location
class to publish a world up vector, comments were added indicating
which values constitute world up.
2002-04-07 15:04:49 +00:00
david
e2e6b19ddf Corrected typo /position/altitude-deg to /position/altitude-ft. 2002-04-06 23:45:24 +00:00
david
a1294ea398 Viewer update from Jim Wilson:
Minor patches to initial tower view code.  Added calculation for "tower" at
any airport, placed a couple fractions of a degree off the center.  Moved the
farplane from 100m to 5km so that "lookfrom" mode can see the model.  5km is
still in a reasonable range for a depth buffer.  Note that looking at a model
anything but a small distance will cause some problems on older cards.
Temporarily changed viewer to always report elevation/lon/lat of the aircraft
in order to avoid a problem with the ground trim getting recalculated when
tower and aircraft are on different tiles.
2002-04-06 17:23:18 +00:00
tony
5fcabc9982 Converted FCS to use property tree internally, documentation updates. 2002-04-06 16:03:16 +00:00
curt
41a4d0b351 Here is the 'boostified' event manager plus relevant changes to
radiostack.cxx, fg_init.cxx and main.cxx.  If these changes are accepted
then you can remove Time/event.[ch]xx and Include/fg_callback.hxx from
the repository.
2002-04-05 20:03:49 +00:00
david
ec6888d4a4 Viewer update from Jim Wilson:
Tower View and viewer config is in place.  Note that the interface is
still in a state of flux.  A couple of the config items (namely the
offsets) are still using the old settings.  The tower is hard coded
into the base package for a position off the starting runway at KSFO
and is probably not in the right place for there even.  Looks pretty
cool though!  Tower View is the third view.  If you aren't at KSFO
you'll just see blank space in view 3. It's looking through the earth or
something like that :-).  Important note: zoom in with a few
hits of the "x" key to see the plane better in tower view.
2002-04-05 18:49:04 +00:00
david
9d6011aa69 Patch from Jim Wilson to realign model slightly in new model code:
This should fix it.  The problem wasn't the rotations but a difference in
the translations.  Note that this fix also puts the wheels back on top of the
pavement when in external view.
2002-04-05 18:48:04 +00:00
david
d2344cbabb Removed dependency on viewmgr.hxx from globals.hxx, so that changes to
the viewer code do not require most of FlightGear to be rebuilt.
Added some now-required includes to environment.cxx.
2002-04-05 18:46:47 +00:00
david
04bc768e0a JSBSim fix:
Changed the steering gain from +/-0.1 to +/-1.0, so that the steering
angle for the nosewheel (when present) is the same as the rudder
deflection angle.  That's probably not exactly right, but it's much
better than we had before -- you can now steer the plane on the ground
reasonably during taxiing.
2002-04-05 16:55:30 +00:00
david
625572663e Moved FGAircraftModel subsystem out into its own directory, and
separated out a new class, FG3DModel, that allows any arbitrary 3D
model to be positioned, oriented, and animated (not just the
aircraft).
2002-04-05 03:19:34 +00:00
curt
59107c791c Various code cleanups. 2002-04-05 00:38:55 +00:00
curt
2c00e13157 Initial revision. 2002-04-04 20:50:05 +00:00
curt
ea99c0421c Fix a warning message. 2002-04-04 20:48:21 +00:00
curt
6997a645c9 A few small updates to make ATC IRIX compliant. 2002-04-04 20:47:23 +00:00
curt
5ff966e8de More platform/compiler compatibility fixes. 2002-04-04 20:41:15 +00:00
david
f450e6d9d1 Let exceptions fall through to main, and use cerr to report them (in
case logging is disabled).  This way, when people specify a
non-existant aircraft or have an error in a custom XML file, they'll
get an error report, at least.
2002-04-04 17:51:40 +00:00
curt
8ac5a5327e Oops, misunderstanding, this copy of runways.cxx wasn't supposed to go here. 2002-04-04 16:30:00 +00:00
curt
6a399b24a3 Re-arranged include files to reduce external dependencies for a slight
improvement in compilation speed.
2002-04-04 06:05:51 +00:00
curt
fd8d48d011 Make the base package check [failed] message a bit more informative about
where it was looking.
2002-04-04 05:03:18 +00:00
david
21d8c07576 Changed cockpit near plane to 0.01m for interior view. Far plane is
100m, so it should be OK.
2002-04-04 01:32:57 +00:00
david
8b18201ced - fixed ANSI C++ namespace problems
- added final newlines to files to avoid compiler warnings

- adjusted for FG_NEW_ENVIRONMENT
2002-04-04 01:32:00 +00:00
david
e78a4d3727 Commented out code setting view position offsets until we sort out
what is what.
2002-04-04 01:04:09 +00:00
curt
7543409e47 Attached are a fairly extensive series of patches to the ATC
system.  A chap from Germany called Alexander Kappes (cc'd) got
in touch with me a few weeks ago and has written the start of
Approach control.  At the moment tuning in to a valid approach
frequency (Dortmund or East Midlands) should result in vectors to
a spot about 3 miles from the active runway, and a telling off if you
stray too far from the correct course, in the console window.  He
seems to know what he's doing so expect this to improve rapidly!!

I've added a rudimentry AI manager and a hardwired Cessna at
KEMT on the runway - I'll remove it before the next release if I don't
have it flying by then.  There seems to be an issue with framerate
which drops alarmingly when looking at it - I've a feeling that I've
possibly created several Cessnas on top of each other, but am not
sure.
2002-04-03 23:54:44 +00:00
curt
716aa4f7ea The previous version used a feature (language extension?) of gcc that
isn't supported by all other compilers.  Notably, MSVC and IRIX puked.
2002-04-03 00:57:06 +00:00
david
0c1fa5f1a5 Changed far clip plane for cockpit interior to 100m. 2002-04-02 20:57:32 +00:00
curt
2717dba826 I have attached revisions to the UIUC code. The revisions include the
ability to run a nonlinear model with flaps.  The files ls_model.c and
uiuc_aero.c were changed since we had some functions with the same
name.  The name changes doesn't affect the code, it just makes it a
little easier to read.  There are changes in LaRCsim.cxx so UIUC
models have engine sound.  Could you send me an email when you receive
this and/or when the changes make it to the CVS?  Thanks.

Also I noticed you have some outdated files that are no longer used in
the UIUCModel directory.  They are uiuc_initializemaps1.cpp,
uiuc_initializemaps2.cpp, uiuc_initializemaps3.cpp, and
uiuc_initializemaps4.cpp

Rob
2002-04-01 21:37:33 +00:00