1
0
Fork 0
Commit graph

3819 commits

Author SHA1 Message Date
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
david
7135382a28 Added select animation type (using a condition), and allow all
animations to be named.
2002-04-01 14:00:08 +00:00
david
d372548782 Major restructuring: the Animation class is now an abstract interface,
and specific animation types are derived from it.  This change makes
the code much easier to read, maintain, and extend.

Added a 'translate' animation type for a scaled, 3D linear translation
(such as a sliding throttle knob).

Renamed the 'offset' property to 'offset-m' or 'offset-deg' as
appropriate; ditto for 'min' and 'max' properties.
2002-03-30 21:24:19 +00:00
david
6a443bb173 Start tracking delta time in milliseconds and passing it to the update
method of each subsystem.
2002-03-30 21:22:02 +00:00
david
9cbded8eaa * src/Input/input.hxx
MSVC fix from Bernie Bright:

You can keep the enum private if you add the following declarations
immediately afterwards:

  struct mouse;
  friend struct mouse;

It seems that MSVC doesn't grant the nested mouse decl. any special
access privileges to its surrounding class.
2002-03-30 12:52:55 +00:00
david
faf2fa91d2 Patch from Jim Wilson:
Clear frame buffer and render model after rest of 3D scene. This has a
small frame rate cost (YMV). But who thought 3D cockpit would be cheap?
If anyone has a better idea, have at it!

Just did some more careful testing and I see little or no frame rate loss
with the depth buffer clear.  Also you can change the near plane to 0.1
and get rid of the "sunroof" (so I don't have to make up another set of
patches.
2002-03-30 12:52:24 +00:00
david
50e25151e1 Patch from Melchior Franz:
My last patch fixed the initialization problem only for the main branch, but
ignored the _MWERKS_ branch.
- merged the branches, only the loop head needs different treatment;
- don't access n.type before it is initialized (valgrind complaint)
- created a constructor; the operator>> wouldn't have initialized all
  variables in case of a broken default.nav.gz entry, so we would have
  got a mixture of the broken one and the previous one; in case of
  the first entry, that would have made nice random values ... ;-)
- move the automatic FGNav variable into the loop, so that the gets
  cleanly constructed for every database entry.
- commented out the frequency min/max exploration, which isn't used at all
- updated the commented out debug output statements, which were simply
  copied over from the nav* files, but never adapted (I needed them :-)
2002-03-30 12:51:42 +00:00
david
1ba6272e3c Patch from Melchior Franz:
altitude_mode is still undefined when FGAutopilot::update is
first run.
2002-03-30 12:51:02 +00:00
david
412ca9a3d4 * src/ATC/atis.cxx
* src/ATC/atislist.cxx

Patch from Melchior Franz:

- merged the _MWERKS_ & generic #ifdef branch, only the loop head needs
  different treatment
- commented out a "n >> skipeol" that is used in navlist.cxx to gobble
  the starting C++-style comment from default.nav.gz; atis inherited
  that, but there is no such comment in default.atis.gz, so the first
  data entry got thrown away
- commented out min/max frequency exploration (-> only for debugging)
- enhanced the constructor; the operator>> wouldn't have initialized all
  variables in case of a broken default.atis.gz entry, so we would have
  got a mixture of the broken one and the previous one;
- move the automatic FGATIS variable into the loop, so that it gets
  cleanly constructed for every database entry.
- don't access a.type before it is initialized
- updated the commented out debug output statements; they were still
  designed for the FGNav class ...
2002-03-30 12:50:30 +00:00
david
ce4ea1d432 Patch from Melchior Franz:
- merged the _MWERKS_ and the generic branch, only the loop head needs
  different treatment
- created a constructor; the operator>> wouldn't have initialized all
  variables in case of a broken default.fix.gz entry, so we would have
  got a mixture of the broken one and the previous one; (valgrind
  complained ...)
- move the automatic FGFix variable into the loop, so that the gets
  cleanly constructed for every database entry.
- don't access fix.type before it is initialized
- updated the commented out debug output statements (they were copied
  over from navlist.cxx but never adapted)
2002-03-30 12:50:01 +00:00
david
57bccb1827 Patch from Melchior Franz:
radiostack.cxx:703 says
      bool light_on = ( outer_blink || middle_blink || inner_blink );
but none of the flags has ever been initialized when this line is first
executed.
2002-03-30 12:49:17 +00:00
david
df74260252 Fixed buffer size again. 2002-03-28 17:16:37 +00:00
david
58e664a060 Patches from Jim Wilson:
This patch creates a seperate scene graph for the cockpit.  The near plane is
only moved up when in the interior (pilot) view.  This is because with
rounding (I presume) it the visible ground is a bit up higher than it is with
the older nearplane setting.  Not much, but it is enough to bury the wheels.
I suspected this might be true but spliting to two sg's confirms it.  If
necessary we can adjust the model up a bit when in interior view.  This might
be good so we can set the near plane even closer when in the cockpit (its
still at 0.2m).

In general this looks a lot better on my Voodoo with this patch.  No
perceptibel change in frame rate on my system.  In terms of future plans I'd
see the sense in making the model plug into either scene.  This will be
necessary when we have multiple model instances in the frame.
2002-03-28 16:14:04 +00:00
david
2288a530c3 Make sure that saved mouse position is reset when mouse is centred on
mode change.
2002-03-28 16:12:26 +00:00
david
62df2d1d53 Mouse changes suggested by Norm Vine. Cursor always centres on mode
changes, and wrap-around is smoother.
2002-03-28 15:57:02 +00:00
david
24a812c0b6 Created a new /devices property subtree to hold input device status
(currently just the mouse, but later the joystick and keyboard as
well).  Publish mouse button status to the property tree.
2002-03-27 23:45:11 +00:00
david
2129aba650 Fixed bug reported by Norman Vine:
Mouse was not working properly with PUI dialogs that use sliders.  It
turned out that the up/down sense was reversed.
2002-03-27 22:34:43 +00:00
david
36e012c400 Patch from Norm Vine:
patch to enpower HUD to  display elevator trimval
2002-03-27 20:27:52 +00:00
curt
2e0b32dab8 Changes corresponding to recent property manager changes
Remove bogus warning messages
Documentation changes
Minor speedups
2002-03-27 18:47:31 +00:00
david
0944ab91c2 Patch from Melchior Franz:
The matrix doesn't define some cells, which are actually used
in the multiplication. That makes the result unpredictable.
I have no idea if 0.0 is the correct value for these, but
garbage is hardly the correct value either. Should some of them
be set to 1.0?
2002-03-27 15:53:15 +00:00
david
38c705b6c0 Viewer patches from Jim Wilson:
Think my brain is getting clogged with matrices :-).  Well I've got the funky
orientation offset bug out of the model code.  In the process the model.cxx
got optimized a bit.  At some point we'll need to liberate model.cxx from the
viewer class, but it is no longer hard coded to access the  "pilot view" to
get it's data. Instead it uses whatever the "current" view happens to be.  I
may try and do that final bit of having models rotate independant of the view
tomorrow night, or start right in on the viewmgr and get a tower view up and
running.  You guys have any preference?  My brother's family is coming to
visit for a few days so what I don't get done tomorrow night probably won't
get done until after the weekend.
2002-03-27 14:52:19 +00:00
david
bb2371dbd1 Patch from Frederic Bouvier:
The compiler complains about too long names for instanciated templates
that result in name truncation. There are warnings but finally it ends
with a fatal errors. I found that ignoring the warning cure the
problem.
2002-03-27 13:00:57 +00:00
david
5ec0c135bc Fixed a bug report from Frederic Bouvier:
A sloppy coder already defined min and max as macros with 2 arguments
2002-03-27 13:00:25 +00:00
david
ec6a0b2810 Fixed a bug report from Frederic Bouvier:
as a follow-up of my previous message, I found that in panel.cxx, function
const char *FGTextLayer::Chunk::getValue () const, there is the use of a
member variable _buf that seems to be uninitialized.
2002-03-27 12:59:53 +00:00
david
64ed2f8e42 Removed outdated reference to fgSimTime. 2002-03-27 12:53:50 +00:00
david
7e1b599368 Patch from Melchior Franz:
When the loop starts, n.type is still undefined, so the while statement
depends on unitialized garbage. The input operator cares for the [End]
bracket anyway (returns if the first character is a '['). So it is safe
to check for it after reading the line and break if necessary.
2002-03-27 12:49:29 +00:00
david
37b60664d1 Patch from Melchior Franz:
Err ... 8 bytes isn't much for such a long string.
Makes a nice segfault.  ;-)
2002-03-27 12:49:07 +00:00
curt
ca364c2cd9 Added support for rotational rates and body access (pilot relative)
accelerations.
2002-03-27 05:21:38 +00:00
curt
2e34bfc5af Added fields ... this is a work in progress. 2002-03-27 05:20:45 +00:00
david
8d9b59314a More cleanups. Removed the pui-* commands, and added a pass-through
property to indicate when mouse events should be offset to PUI and the
panel first.
2002-03-26 17:14:48 +00:00
david
5b2df63f54 Patches from Melchior Franz:
The first hunk might not be necessary, but the light_coverage property
was the only one that wasn't explicitly defaulted, which is unfair.  ;-)
   The second hunk adds the missing initialization to the init routine.
This is necessary, because (unlike the material entries from material.xml)
the generated light entries don't get the light coverage set. Yet
obj.cxx:795 reads this information out fot every leaf, although not needed
in the case of lights. Avoiding this isn't worth the trouble.
   The last hunk sets the missing normal_index. The POINTS branch in
gen_leaf was always called with this int_list empty, which made the normals
handling use data garbage.
2002-03-26 16:10:53 +00:00
david
db7013c83a More work on the configurable mouse. Mouse motion is now configurable
as well as mouse clicks.  You must configure with --with-new-mouse to
get this.
2002-03-26 13:45:44 +00:00
david
4536c246da Setting offset or tilt always sets goal-offset or goal-tilt as well. 2002-03-26 13:44:43 +00:00
david
bdca06f9ba Commented out cout statements that were not in the std namespace. 2002-03-26 13:44:21 +00:00
david
ee44d3042f I missed committing this one. 2002-03-26 03:14:20 +00:00
curt
0a035c7f36 Oops, in the latest property manager rewrite, a typo crept in on
somewhat of a global scale.  This commit should fix all these up.
2002-03-26 02:38:11 +00:00
david
e82d7d5a64 Ensure that all entries in the FGAircraftModel::Animation structure
are initialized (reported by Melchior Franz).
2002-03-25 22:01:13 +00:00
david
b3d5d24d81 Patch from Melchior Franz:
It seems that the airport database was changed some day and the End?Flags
changed from floats to strings. The database definition, though, was not
adapted and still created number entries. Reading out these flags led to
access to memory, that was never initialized. While it didn't cause crashes
during normal use, it actually caused one when I ran fgfs in ddd. Seems,
that the concerned memory region wasn't zeroed out then and hence uncovered
the bug.

Of course, the runways.mk4 database has to be re-created with the new
definitions.
2002-03-25 20:05:34 +00:00
david
de9682e32a Patch from Erik Hofman:
This patch gets F8 working again.
2002-03-25 19:37:49 +00:00
david
780b4a813e Minor patch from David Megginson:
Fix FGViewer::update so that pitch offset and goal pitch offset work
together nicely (the offset was snapping to 90/-90 when only one of
the two was changed).


Viewer improvements from Jim Wilson:

These files get the 3d cockpit working and fix a few issues in the viewer
code.
XYZ offsets are now defined as follows: X -left/right+ (along wing axis), Y
-up/down+ perpendicular to the aircraft, Z is -in/out+ the aircraft's body axis.
I've also done some cleaning up of unused and mostly unusable interfaces,
added commentary to the *.hxx, combined together some duplicate code and
eliminated a couple unecessary operations.  I also moved what was left of the
"protected" zone to "private" since we aren't subclassing this anymore.
2002-03-25 14:32:13 +00:00
david
cf7f245b32 Fixed a small typo. 2002-03-25 14:30:29 +00:00
david
67e61c89ce Support for assigning custom mouse cursors to mouse modes. 2002-03-25 12:58:26 +00:00
david
9709dcb307 First steps towards configurable mouse input. Soon, this new code
(mainly in src/Input/input.cxx) will make src/GUI/mouse.cxx obsolete
and bring the mouse into the same input system as the joystick and
keyboard.  This is just preliminary work allowing, covering mouse
clicks (no motion yet), and it actually crashes on a middle or right
click.

The new mouse support is disabled by default until it become stable;
to try it out, you need to configure --with-new-mouse.
2002-03-23 23:16:13 +00:00
tony
d2156b5649 Updates. Includes property tree additions and fixes. Also Jon's first cut at
multi-fdm capability.  Thanks also to Erik for pointing out a couple of typos.
2002-03-23 00:29:21 +00:00
tony
464c060171 Fix for flaps problem. 2002-03-23 00:27:16 +00:00
david
da621105a0 Removed unused function fgFindNode (the version used now is in model.cxx). 2002-03-22 13:24:29 +00:00
david
343cea2812 Removed unused files. 2002-03-22 13:23:39 +00:00
david
fafc000d61 Initial revision of README describing the contents of the src/Main
directory.
2002-03-21 22:37:12 +00:00
david
825320e8bf Viewer update from Jim Wilson:
This patch renames the "goal" orientation offsets inputs/outputs to
conform with the naming of the new interface.
2002-03-21 20:59:43 +00:00
david
b52123b88b Removed obsolete files. 2002-03-21 13:12:37 +00:00
curt
c032f841e2 more ( string == "" ) to ( string.empty() ) conversions. 2002-03-21 05:31:55 +00:00
andy
e45cb5d0aa Found by inspection a bug in the generation of orientation matrices
for fuselage Surface objects.  If the fuselage wasn't aligned perpendicular
to the Y axis, the matrix wouldn't be orthonormal.  Since all of, perhaps,
three aircraft have ever been built this way, it's doubtful I would have
found this as a bug report. :)
2002-03-21 03:35:52 +00:00
tony
8b621f2b1e Fix for the flaps problem. 2002-03-21 02:26:22 +00:00
tony
86e5f091bc Irix fix. 2002-03-21 01:45:49 +00:00
david
18a3df31b3 Model-loading patch from Dave Luff. 2002-03-20 22:40:11 +00:00
david
f65f1800c7 Use !strcmp for all property name comparisons. 2002-03-20 22:23:10 +00:00
david
d0d3b2bd7a Use !strcmp for all property string-value comparisons. 2002-03-20 22:15:22 +00:00
curt
e95429572c Converted if ( string == "" ) constructs to if ( string.empty() )
Fixed a warning in soundmgr.cxx.
2002-03-20 19:16:13 +00:00
david
4d4cd16012 Major viewer-code overhaul from Jim Wilson:
Description:

This update includes the new viewer interface as proposed by David M. and
a first pass at cleaning up the viewer/view manager code by Jim W.

Note that I have dropped Main/viewer_lookat.?xx and Main/viewer_rph.?xx and
modified the Makefile.am accordingly.


Detail of work:

Overall:
The code reads a little easier.  There are still some unnecessary bits in
there and I'd like to supplement the comments in the viewer.hxx with a tiny
bit on each interface group and what the groupings mean (similar but briefer
than what you emailed me the other day).  I tried not to mess up the style,
but there is an occasional inconsistency.  In general I wouldn't call it done
(especially since there's no tower yet! :)), but I'd like to get this out
there so others can comment, and test.

In Viewer:
The interface as you suggested has been implemented.  Basically everything
seems to work as it did visually.  There is no difference that I can see in
performance, although some things might be a tiny bit faster.

I've merged the lookat and rph (pilot view) code into the recalc for the
viewer.  There is still some redundancy between the two, but a lot has been
removed.  In some cases I've taken some code that we'd likely want to inline
anyway and left it in there in duplicate.  You'll see that the code for both
looks a little cleaner.  I need to take a closer look at the rotations in
particular.  I've cleaned up a little there, but I suspect more can be done
to streamline this.

The external declaration to the Quat_mat in mouse.cxx has been removed.  IMHO
the quat doesn't serve any intrinsic purpose in mouse.cxx, but I'm not about
to rip it out.  It would seem that there more conventional ways to get
spherical data that are just as fast.  In any case all the viewer was pulling
from the quat matrix was the pitch value so I modified mouse.cxx to output to
our pitchOffset input and that works fine.

I've changed the native values to degrees from radians where appropriate.
This required a conversion from degrees to radians in a couple modules that
access the interface.  Perhaps we should add interface calls that do the
conversion,  e.g. a getHeadingOffset_rad() to go along with the
getHeadingOffset_deg().

On the view_offset (now headingOffset) thing there are two entry points
because of the ability to instantly switch views or to scroll to a new view
angle (by hitting the numeric keys for example).   This leaves an anomaly in
the interface which should be resolved by adding "goal" settings to the
interface, e.g. a setGoalHeadingOffset_deg(), setGoalPitchOffset_deg(), etc.

Other than these two issues, the next step here will be to look at some
further optimizations, and to write support code for a tower view.  That
should be fairly simple at this point.  I was considering creating a
"simulated tower view" or "pedestrian view" that defaulted to a position off
to the right of whereever the plane is at the moment you switch to the tower
view.  This could be a fall back when we don't have an actual tower location
at hand (as would be the case with rural airports).

ViewManager:
Basically all I did here was neaten things up by ripping out excess crap and
made it compatible as is with the new interface.

The result is that viewmanager is now ready to be developed.  The two
preexisting views are still hardcoded into the view manager.  The next step
would be to design configuration xml (eg /sim/view[x]/config/blahblah) that
could be used to set up as many views as we want.  If we want to take the easy
way out, we might want to insist that view[0] be a pilot-view and have
viewmanager check for that.
2002-03-20 17:43:28 +00:00
curt
99fa3a6e79 Various Irix cleanups.
Float/Double clean ups for fg_sound.cxx
2002-03-20 15:57:31 +00:00
david
9dbb215b1d Added missing file from JSBSim CVS, with 'using namespace std;'
statement added for ANSI-conformant compilers.
2002-03-20 14:06:14 +00:00
david
25f68c0292 Irix fixes. 2002-03-20 13:59:34 +00:00
tony
775094f9af Updates. 2002-03-20 12:45:39 +00:00
tony
317d794f5c First commit of properties code. JSBSim now has a basic property tree all
under /fdm/jsbsim
2002-03-20 12:45:02 +00:00
david
0cc3bed841 Major property-manager rewrite, using const char * throughout
interface instead of string.  This will result in a lot more
efficiency later, once I add in a simple hash table for caching
lookups, since it will avoid creating a lot of temporary string
objects.  The major considerations for users will be that they cannot
use

  node->getName() == "foo";

any more, and will have to use c_str() when setting a string value
from a C++ string.
2002-03-19 17:12:13 +00:00
andy
47b2307356 Oops, "one third from the edge" means "one SIXTH from the center". 2002-03-19 00:02:18 +00:00
curt
a2acc953ae Somewhere along the line in the recent changes some std::cout were
inclueded in some of the files. Irix doesn't have cout in the std class,
so I changed it to "cout" and included SG_USING_NAMESPACE(std) at the
beginning of the files.
And some minor warning cleanups.
2002-03-18 19:46:24 +00:00
curt
586d7f127a White space tweaks. 2002-03-18 19:02:59 +00:00
curt
464f036f35 Here is a cleaned up hitlist that should solve the PLib conflict
and fixes a 'potential bug' if the FGFS View code were to change

I also consolidated the specialized IntersectLeaf()
as they really didn't gain us much outside of their having
'more direct access into the SSG controlled data'

I would like to see the fgCurrentElevation functions moved
out of hitlist.cxx.

The one obstacle is their being dependent on my PLib
auxillary functions

ssgGetEntityTransform()
ssgGetCurrentBSphere()

code has been run through astyle with the default options
2002-03-18 16:25:16 +00:00
curt
8138c82b58 Incorporated Norman's optimized line/geometry intersection code. 2002-03-17 00:38:24 +00:00
curt
3bf7269174 Initial revision. Things are just beginning to be stubbed in now. 2002-03-17 00:37:22 +00:00
curt
56d6ecbf83 Oops, fixing the ghosts of bugs past. :-) Good thing I remembered how I
fixed this when I made the mistake the first time.
The view code wasn't properly handling the transition across tile
boundaries so we'd get a 'flash' of the scene wrongly transformed for
one frame at every tile boundary crossing.  This is what
scenery.get_next_center() is for.
2002-03-17 00:36:39 +00:00
david
2c4eb0c56b Removed at CM's request. 2002-03-16 22:36:33 +00:00
david
d4c49d65ac Major weather update from Christian Mayer, tying the weather code into
the property system, among other things.  A separate integration into
the FDMs will follow shortly.

This code will be used only if the --with-new-environment option is
*not* passed to configure.
2002-03-16 20:31:27 +00:00
curt
ac99a82b98 Replaced some debugging structure David inadvertantly removed. 2002-03-16 05:12:26 +00:00
david
d0eaafb1e1 Patches from Tony Peden to separate property XML I/O operations into a
separate header file.  This change will help integrate properties into
JSBSim.

Also, I (David Megginson) removed most of the SimGear include
statements from globals.hxx, reducing the amount of recompilation
every time SimGear changes.  This required making minor changes to a
lot of files that were depending on the side-effects of the inclusions
in globals.hxx.
2002-03-16 00:18:38 +00:00
david
96a4e9abc3 Renamed /cockpit property to /sim/view/internal. 2002-03-15 21:50:14 +00:00
andy
b933406818 Print an error message before terminating on parse errors. 2002-03-15 19:02:07 +00:00
david
753242577f More work on saving and restoring flights. Restoring a flight is not
working in a running FlightGear session because of JSBSim trim-routine
problems, but it does work from the command-line now, i.e.

  fgfs fgfs.sav
2002-03-14 14:25:30 +00:00
curt
56fef38054 Change fog punch through value a bit. Either way it's a WAG for now, but
at least it's less obviously wrong.
2002-03-14 00:52:38 +00:00
david
cabbc08c07 Removed some cout statements left in accidentally. 2002-03-14 00:30:21 +00:00
david
45d64bef95 Centralized most view-management code in FGViewMgr. It's still a
mess, but the mess is all in one place now.
2002-03-14 00:29:20 +00:00
curt
9a27019df1 Combined and updated some code to calculate fog parameters. 2002-03-13 17:06:41 +00:00
curt
87d6a0700d Fix several signed vs. unsigned warning messages. 2002-03-13 17:06:17 +00:00
david
36876decf3 Autopilot cleanup:
- implement the standard FGSubsystem interface, for consistency
- eliminate current_autopilot and add get/set_autopilot to FGGlobals,
  for consistency
- use private methods rather than static functions for tying
  properties

There should be no change in functionality.
2002-03-13 16:31:21 +00:00
curt
fd21788c45 Add "(" and ")" to ensure the expression is evaluated correctly. 2002-03-13 15:55:32 +00:00
david
6cca1d6a75 Eliminate dependencie on tying variable pointers (in preparation for
property-code simplification).
2002-03-13 15:16:24 +00:00
david
a0f50cd90d Added a final newline to avoid a compiler warning. 2002-03-13 14:17:59 +00:00
curt
06bf5db80a Working on the start of a 'standard' <grin> remote FDM interface. This
is a work in progress and needs severe enhancement before it will be
useful.  It provides a UDP data channel that goes both ways between
flightgear and the fdm.  It also provides a TCP 'command' channel so
flightgear can 'reliably' send commands to the remote fdm (such as set
starting position, reset on ground, etc.)
2002-03-13 06:07:07 +00:00
curt
0a01e563f4 Better support of the newer more flexible object file format. This
includes the ability to specify per vertex normals rather than depending
the normals list being the same as the vertices list.  (Support for
previous binary file format scenery is maintained.)
2002-03-13 06:03:37 +00:00
david
d31fcd21ef Patch from Jim Wilson to fix internal cockpit view rotations:
This seems to pretty much correct the problem.  Part of the problem is that
rotations are occuring at the firewall (model origin) which seems a little
un-natural inside the cockpit.  The rest of the problem is I am just learning
how this stuff works (I know I've been saying this for a couple months
now...but hey I'm slow :-)).
2002-03-13 04:58:08 +00:00
curt
d5af9e2a10 *** empty log message *** 2002-03-12 20:38:26 +00:00
curt
62ed7592e3 Fixes for Irix compatibility.
Fix several long standing irix compiler warnings.
2002-03-12 20:01:54 +00:00
david
d8a50ad49e Added a new 'delimiter' property to allow an alternative delimiter to
the comma, and fixed a constant that was causing CygWin compilation
problems.
2002-03-12 19:55:49 +00:00
david
0d3b0f27ba Add support for elapsed time and logging. 2002-03-12 16:30:27 +00:00
david
d23c674846 Bind a new property, /sim/time/elapsed-ms, giving the number of
milliseconds elapsed since the simulation began.
2002-03-12 16:29:32 +00:00
david
c22018db05 Added new logging module. 2002-03-12 16:29:00 +00:00
curt
9ff8951be6 *** empty log message *** 2002-03-12 05:37:55 +00:00
curt
c5f43ca688 Patches from Erik. 2002-03-11 22:55:52 +00:00
curt
914b5636e4 Removed some extra debugging output that wasn't supposed to be committed. 2002-03-11 22:55:01 +00:00
curt
3df76f9401 Oops, make sure we are generating an ocean tile if we can't load a terrain
tile.
Fixed a warning in the sound manager.
2002-03-11 22:50:23 +00:00
curt
9436f68f56 Cleaned up a couple compiler warnings. 2002-03-11 15:41:39 +00:00
david
60e0204fe8 Sound patch from Erik Hofman:
* Add new trigger types: raise, fall
* Add new trigger offset parameter
* Add new volume/pitch types: inv, abs, sqrt
* Add initial support for multiple events to intervere in a single sound
   (by using the same name, see the crank section of 172-sound.xml)
* Cached the volume/pitch type fucntions
   (No more if's inside the loops in update())
2002-03-10 19:31:30 +00:00
curt
6b40600e7b Sgi doesn't define the != operator for string != char[] so we need to cast
the char array into a (string) type before doing the comparison.
2002-03-08 23:24:59 +00:00
david
efe559ead4 First baby steps towards restructuring the view architecture. I've
created a new class, FGViewPoint (declared in viewer.hxx) that holds a
single position in FlightGear coordinates, and have used it to factor
a lot of the common code out of viewer_lookat.cxx and viewer_rph.cxx.

I don't know whether this new class will stay or not; it might just be
a temporary step, or it might end up taking over much of the current
viewer functionality.  It would be a bad idea to code against it right
now.
2002-03-06 16:03:33 +00:00
david
bdbd69effd If the (temporary) property /cockpit is true, set the near clipping
plane to 0.2; otherwise, use the old defaults.

This is a temporary step that will allow me to work on a 3D cockpit
without breaking current behaviour; the final approach will be to put
the 3D model in its own scene graph, with different clipping plane.
2002-03-06 16:01:19 +00:00
david
51b2aeb872 Temporarily rolled out last change, pending a restructuring of the
view infrastructure: vertical mouse panning wasn't working.
2002-03-06 15:54:25 +00:00
david
9ae5ad236e Patch from Andy Ross to allow virtual panel to tilt with mouse view:
OK, attached is a replacement for mouse.cxx that works the view using
the view-offset/tilt interface, rather than the (kinda odd) GuiQuat
stuff.  It's kind of a hack job, as I left the hooks to GuiQuat in in
other places for fear of breaking something.  Still, it removed more
code from mouse.cxx than it added, which has to count for some
elegance points.
2002-03-06 13:53:18 +00:00
david
0bdc1b1699 Patch from Andy Ross to hide virtual panel when required:
Oh yeah, I forgot to send that one along.  This one is my bug, I
goofed the precedence in the fgPanelVisible() function in panel.cxx
such that the panel was *always* visible if virtual cockpit was
enabled.  Here's a replacement.  I've modified the style from a single
boolean expression to an if-list, since that's more readable to my
eyes for expressions this big:
2002-03-06 13:51:05 +00:00
david
07ba9777ed Temporarily reverted change to near/far clip plane. 2002-03-05 22:25:11 +00:00
david
bd3900a3ff Start of an internal 3-D view. If the property "/cockpit" (temporary
and soon to be renamed) is true, FlightGear will draw the 3-D model
even in internal view.  This makes sense right now only with the C310
model, since the others don't have any kind of interiors modeled and
all surfaces in all models are one-sided.

This isn't quite working yet -- the view code is very hard to
disentangle, and currently, if the view is not forward, roll and pitch
are applied incorrectly.  It looks interesting (modulo a messy model)
on the ground, in level flight, or looking straight ahead under any
other flight conditions.
2002-03-05 13:39:45 +00:00
david
0618c2cae8 Changed the near clip plane to 0.1f regardless. Previously, it jumped
to 10m after takeoff, but that doesn't really make sense any more,
especially if models are going to have interior views.  Is there any
real saving in pushing the near plane out anyway?
2002-03-05 13:35:48 +00:00
curt
be99e1549a Fixed a bug with view-offset specification from the command line. There
was some confusion between degrees and radians which would lead to a huge
goal_view_offset value.  The display would sit and spin for a *long* time
trying to wind it's way up to this large value.
2002-03-04 20:12:30 +00:00
curt
7d8af6fee2 Fix a compiler warning. 2002-03-04 19:59:50 +00:00
curt
519ac21fa8 Fix a visibility condition bug in 3d panel. 2002-03-04 19:59:22 +00:00
curt
d8b6786d20 This patch creates a sample manager next to the sound manager. The
difference between the two is this: A sample is file related and sound
is a authonomus entity. This means you can have several sounds pointing
to a single sample. In that case, just one sample is loaded into memory.
The advantage is you can play the same sample with different pitch or
volume, but with just one  sample loaded into memory.

To fully support this there is a new fucntion call:

    FGSimpleSound *sample = new FGSimpleSound("filename");
    mgr->add(sample, "name");

should be replaced by:

    FGSimpleSound *sample = mgr->add("name", "filename");

But the old behaviour is still supported with one minor change, sounds
with the same name aren't supported anymore.

Erik
2002-03-04 16:03:11 +00:00
curt
1f5096105b Fixed a couple compiler warnings. 2002-03-04 15:46:44 +00:00
david
f477a4603b Patch from Andy Ross:
Actually, I think I'm off the hook here; the problem is pre-existing.
What's happening is that the x/y offsets enter the modelview matrix at
line 346 in the current panel.cxx.  But note that the same
transformation also occurs before each instrument rendered at line
403.  What's happening is that the instruments are double-translated
relative to the background.

Unless I'm not understanding something, the one inside the instrument
render loop looks unnecessary.  Removing it fixes the issue and
doesn't cause any bugs that I can find.  It also fixes a bug where you
could scroll the instruments on top of the 3D panel, where the offsets
are supposed to be ignored. :)

Attached is a new panel.cxx which fixes that bug, and substantially
simplifies the virtual panel code (the matrix inversion that I thought
was needed wasn't, but there were some offsetting scale bugs that hid
the problem).
2002-03-04 13:27:53 +00:00
andy
b9d1cad6f2 Export the gear compression to the property tree. 2002-03-04 07:57:43 +00:00
curt
536e95b63d Further modifications and restructuring of the scenery loading process. 2002-03-04 02:36:06 +00:00
david
f75e1b4d7b Add fake control-surface positions for 3D model animation. 2002-03-04 01:28:17 +00:00
david
b4eb6324aa Patch from Jim Wilson:
Property sort now leaves "." and ".." at top of subdirectory list in their
expected sequence.
2002-03-04 01:05:59 +00:00
david
e71873f4ad Patch from Jim Wilson:
These changes add to the "Add Waypoint" dialog so that you can see the entire
list in the pui dialog that you are adding to.  Also made some minor changes
so that the autopilot is now activated (toward first waypoint target heading)
when a waypoint is added.
2002-03-04 00:03:25 +00:00
curt
73b92a697d Further restructuring of the scenery loading code. 2002-03-03 23:20:55 +00:00
david
b9e866cfdd Added write-all parameter to save command. If set to true, the
command will save *all* properties, rather than just those marked as
archivable.  This feature was requested by Tony Peden to make it
easier to write documentation on the properties, but it should also be
useful for debugging.  There is currently no default binding for the
command with the write-all parameter set to true.
2002-03-03 22:48:40 +00:00
david
76b06f4707 Added final newline to prevent compiler warnings. 2002-03-03 22:47:06 +00:00
curt
938d006188 Updates to the scenery loading infrastructure to make it more flexible,
clean up some messiness, and lay more groundwork for runway lighting.
2002-03-03 20:29:31 +00:00
curt
9c42c9288a Added magnetos and starter to structure 2002-03-03 20:27:56 +00:00
david
d83fc1e9c8 Logging cleanups from Martin Dressler. 2002-03-03 00:38:56 +00:00
david
7e93fca8ee Virtual cockpit patches from Andy Ross:
What the attached patch does is map your panel definition onto a (non
z-buffered) quad in front of your face.  You can twist the view around
and see it move in the appropriate ways.

Apply the patch (let me know if folks need help with that step), and
then set the /sim/virtual-cockpit property to true.  You can do this
on the command line with --prop:/sim/virtual-cockpit=1, or via the
property picker.  Bind it to a key for fast toggling if you like.

The default bindings don't allow for "panning" the view, so you'll
have to modify yours.  These are the mappings to my joystick's hat
switch, for those who need hints:

   <axis n="6">
    <desc>View Direction</desc>
    <low>
     <repeatable>true</repeatable>
     <binding>
      <command>property-adjust</command>
      <property>/sim/view/goal-offset-deg</property>
      <step type="double">1.0</step>
     </binding>
    </low>
    <high>
     <repeatable>true</repeatable>
     <binding>
      <command>property-adjust</command>
      <property>/sim/view/goal-offset-deg</property>
      <step type="double">-1.0</step>
     </binding>
    </high>
   </axis>

   <axis n="7">
    <desc>View Elevation</desc>
    <low>
     <repeatable>true</repeatable>
     <binding>
      <command>property-adjust</command>
      <property>/sim/view/goal-tilt-deg</property>
      <step type="double">1.0</step>
     </binding>
    </low>
    <high>
     <repeatable>true</repeatable>
     <binding>
      <command>property-adjust</command>
      <property>/sim/view/goal-tilt-deg</property>
      <step type="double">-1.0</step>
     </binding>
    </high>
   </axis>

While the current implementation is happy with just plastering the
panel's notion of "screen" into the 3D world, this is actually more
general.  Each panel can, in principle, have it's own coordinate
system, and you could build a cockpit out of a bunch of them.  The
mapping is specified by providing a 3D coordinate for three corners of
the quad the panel should be mapped to; this should be pretty simple
to work with.

All that's needed for a perfectly general solution is a convention on
where to store the information (a cockpit xml file, or put it in the
aircraft -set file, or...), and some work on the panel's coordinate
system conventions (some of which don't coexist very nicely with a
generalized 3D environment).  Combine that with a plib model for the
non-panel interior of the cockpit, and we're golden.

I'm actually really pleased with this.  It worked better and more
quickly than I could have imagined, and impact on the surrounding code
is quite light -- a few property tests only.  But some stuff is still
missing:

+ No equivalent work was done to the HUD, so it still displays
   incorrect headings when the view changes.  The use of pixel
   coordinates deep in the HUD code is going to give me fits doing the
   port, I sure.  It's not nearly so well put together as the panel
   (where I just changed the setup code -- none of the rendering code
   changed at all).

+ I forgot that the panel was clickable. :)  Input events still have
   the screen coordinates, which essentially kills the interactivity
   when in virtual cockpit mode.  This won't be hard to fix; it's only
   broken because I forgot the feature existed.

And one note about the implementation choice: to get away from the
inevitable near clip plane issue, the virtual cockpit renderer simply
disables the z buffer.  This means that cockpits built using these
panels need to be z-sorted, which isn't too hard since they are static
geometry.  It also means that no two "virtual panels" can ever be
allowed to interpenetrate.  No biggie.
2002-03-03 00:06:24 +00:00
david
0296c04e32 For property-scale, apply the squared option before factor, etc. 2002-03-02 19:40:26 +00:00
david
00738f22f7 Added min/max parameters to clamp range of movement. These are
actually very powerful when combined with factor and offset -- for
example, on the C310 model the nose wheel can now retract completely
before the doors start closing.
2002-03-02 16:07:42 +00:00
tony
173251885b Fixed gear position property. 2002-03-01 20:56:15 +00:00
curt
7631c37f73 Setting up some more ground work for lighting. 2002-03-01 18:08:30 +00:00
curt
348ac42c90 Attached is a reasonably large patch to add a proper ATC
subsystem to Flightgear.  No more functionality is implemented
than at present (apart from an ATIS bug-fix - station wouldn't
change if the radio was switched directly from one station to
another) but it is much neater than the current hack and should be
easily extendable.

Some cruft is still probably left over in radiostack.[ch]xx such as
the bindings to the comm frequencies but I'll leave removing those
until I'm sure they're not needed there.
2002-03-01 17:39:52 +00:00
curt
a6cb16ce36 This is the change where autopilot bindings are moved from fg_props.cxx to
newauto.cxx.  Basically everything is the same functionally except for a
changed in the initial altitude setting to 3000ft instead of meters (the panel
is in feet).
2002-03-01 16:54:50 +00:00
tony
34072bbc42 Changed -pct properties to -norm 2002-03-01 12:38:37 +00:00
andy
ab381e5c01 Added a property output feature to ControlMap that allows arbitrary binding
and scaling of control values to properties.  Also added a time interpolation
feature that replaces the hacked-in "retract-time" feature for the gear in
a more general way (applicable to flaps, too!).  Incompatibly breaks
the XML syntax; get new files!
2002-03-01 06:47:28 +00:00
curt
9bae80d94a Latest version of hitlist.cxx from Norman Vine:
- Addresses some ot the recent profiling results.
- Added a 'lazy evaluation' in IntersectBranch and inlined a couple
  of HEAVILY called functions.
2002-02-28 23:59:28 +00:00
tony
03b9ecf039 Copy normalized control surface positions to property tree 2002-02-28 13:32:40 +00:00
tony
1ab43c8048 Add support for normalized control surface positions and right and left ailerons 2002-02-28 13:31:56 +00:00
tony
a073e35c7c Add support for normalized control surface positions 2002-02-28 13:30:25 +00:00
curt
3966e02de0 A few of Norman's changes I managed to get in.
Added support for arrays of points (in addition to various forms of triangles)
2002-02-28 00:10:35 +00:00
david
a370cbbb6a A single transformation can now be applied to more than one object by
including multiple <object-name> entries.
2002-02-27 20:32:24 +00:00
curt
249fbedcae Make sure when setting autopilot heading via the menu that the current
heading value is presented between 0 and 360.
2002-02-27 18:05:17 +00:00
david
d514e8c255 Major sound-effect architectural reworking from Eric Hofman, allowing
individual aircraft to have different sounds (and cleaning up my code
a fair bit).  The most important user-visible change is the renaming
of the /sim/sound property to /sim/sound/audible.
2002-02-27 15:13:58 +00:00
david
123f8b083d Patch from Andy Ross to sort properties in browser. 2002-02-27 14:58:18 +00:00
david
b51fb81a1e - added an 'offset' parameter for animations (it's applied before
'factor')

- incorporated changes from Norman Vine to avoid expensive matrix
  operations
2002-02-27 12:46:38 +00:00
andy
5faea1c494 Wrong sense in the pilot acceleration coordinates (or maybe it's a panel
bug?  I'm not sure what points where anymore).
2002-02-27 08:24:37 +00:00
andy
df9069a224 Added a post-solver "initEngines()" call to return the engines to a sane
initial state.  No more starting up at cruise RPM.
2002-02-27 00:41:57 +00:00
andy
d3cca375dc Basically complete support for piston engine startup, including power loss
due to single-magneto operation.  Seems to work.
2002-02-27 00:18:57 +00:00
tony
51587dbe75 Trimming in turn now works 2002-02-26 22:28:41 +00:00
tony
998c2a9325 Output control positions to properties 2002-02-26 22:27:42 +00:00
david
8f1d2f7bc9 Added rotation animations, and a factor parameter for scaling. 2002-02-26 14:30:04 +00:00
david
fe7fbdf532 Started support for animations. Currently, the only supported type
(other than "none") is "spin", which must be tied to a property giving
a value in RPM.  This gets the DC-3 propellers turning.  The next type
will be "rotation", which will allow the flaps, elevators, ailerons,
and rudders to move (and even gear, eventually).  Later, I'll add
"shift" for sliding things around, and will figure something out for
blinking lights.
2002-02-26 00:10:06 +00:00
david
3d4bec275b If the model path specified ends with .xml, then read properties from
the XML file, including the path to the 3D file.

This change obsoletes the existing /sim/model/*-offset-deg and
/sim/model/*-offset-m properties in the main property tree, and
replaces them with /offsets/*-deg and /offsets/*-m in the model
property file.  The /path property in the model XML file is relative
to the XML file's location rather than FG_ROOT.
2002-02-25 20:07:34 +00:00
curt
1cc851d2b7 Moved JSBSim.hxx to src/FDM/JSBSim/ 2002-02-25 03:22:03 +00:00
curt
15fcd26c2f Removed JSBSim/tests 2002-02-25 00:07:05 +00:00
tony
eb5a3ceee5 Workaround for terrain altitude problem. Helps but doesn't work 100% 2002-02-24 21:56:38 +00:00
curt
3ca8643632 Removed orphaned 10520d engine modeling code. Thanks goes to Phil
Schubert for getting the ball rolling with engine modeling in
flightgear.  The existing engine modeling code is derived from
his initial efforts.
2002-02-24 21:41:02 +00:00
david
c923f27f16 Fixed crash when using 3D model other than the C172. 2002-02-24 21:14:38 +00:00
curt
f06a3e8289 Moved to tests subdirectory. 2002-02-24 21:01:11 +00:00
curt
1b6cde22dc Moved to JSBSim subdirectory. 2002-02-24 20:54:23 +00:00
curt
4cbfe4b724 Moved JSBSim.cxx and JSBSim.hxx into src/FDM/JSBSim subdirectory
(similar to how YASim is setup.)
2002-02-24 20:53:46 +00:00
david
d61ce30c12 Separated 3D model-handling code from main.cxx out into its own
subsystem, FGAircraftModel.
2002-02-23 21:20:00 +00:00
david
a9a30bfd80 Added an #ifdef for compiling without --with-new-environment. Thanks
to Tony Peden for the catch.
2002-02-23 04:50:47 +00:00
david
2e4f836a98 General cleanups to cut cross-dependencies and speed up compilation.
Added two new properties:

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

These are now supported in FGEnvironment as well, though they always
have the same value for now.  They need to be hooked up to the FDMs.
2002-02-22 23:37:45 +00:00
david
eaf9fa7621 Added FGEnvironmentMgr to provide information on the environment in
different locations, and hitched it into FGGlobals.  FGEnvironmentMgr
has taken over as the subsystem, while FGEnvironment is simple the
information that it returns.  I've removed current_environment
completely -- everything now uses properties or goes through
FGGlobals.  FGGlobals itself has a couple of useful methods:

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

The first one returns the environment data for the plane's current
position, while the second returns the environment data for any
arbitrary location.  Currently, they both return the same information,
but that will change soon.
2002-02-22 22:51:34 +00:00
curt
0a61c0da99 Fix a big where the initial ground elevation reported could be bogus
(initialization order problem.)
2002-02-22 20:20:23 +00:00
tony
6c90295655 Adds flap cmd and pos to output 2002-02-22 13:27:19 +00:00
tony
ee9a81fd56 Added parameter for abs value of elevator, rudder, and aileron positions 2002-02-22 13:26:31 +00:00
david
5607753935 Corrected typo that was hiding winds from FDM's unless configured with
--with-new-environment.
2002-02-20 22:58:42 +00:00
curt
1ea557f249 Added Tony's function to set position on a glide slope. 2002-02-20 16:56:44 +00:00
andy
2f00a7970c Minor mixup. Engines that are off have a manifold pressure equal to
ambient, not to _rho0, which is the air density of the "calibration
environment" (typically sea level).
2002-02-20 07:15:12 +00:00
andy
764eb2a2e7 Automatically generate "contact" points for collision detection. Implemented
as extra (and invisible) gear objects.
2002-02-20 07:12:27 +00:00
andy
6b10d8b128 Scaling "idle" MP to 6 inches or so is all well and good, but not if
the engine continues to develop 20% power.  Rescale the output power
accordingly, so idling aircraft stay put.
2002-02-20 07:10:58 +00:00
andy
3f35de9507 Forgot to include the wind when computing airspeed. Big oops. 2002-02-20 07:09:21 +00:00
andy
4edfa14137 Support a "skid" property for non-rolling gear objects like tail skids. 2002-02-20 07:08:33 +00:00
david
ad79ee4897 Added minimal support for magnetos, so that engines can be shut off.
The starter isn't working yet, so the engine just springs to life.
2002-02-20 04:27:22 +00:00
david
b4a9d76215 Fixed runway-altitude problem that prevented starts at airports higher
than sea-level.
2002-02-20 00:20:13 +00:00
david
a285ff5ea4 Added a new 'squared' subproperty for axis bindings. 2002-02-19 23:54:47 +00:00
david
608668bd5f Attempt to merge LED font patches back in (they were wiped out by
Jim's tiled-background patches).
2002-02-19 23:54:17 +00:00
david
d13b46b8f1 Tiled panel background support from Jim Wilson. 2002-02-19 21:57:09 +00:00
david
254de7695d Further tweaks for the new environment subsystem. 2002-02-19 16:25:38 +00:00
david
ee3500a0a4 Remove obsolete FGWeather subsystem. 2002-02-19 15:19:21 +00:00
david
71f120e3be Initial take of new environment subsystem. Configure with
--use-new-environment to active it.
2002-02-19 15:16:08 +00:00
david
ac20cb7768 Initial take of new environment subsystem. Configure with
--use-new-environment to active it.
2002-02-19 14:21:19 +00:00
curt
aa65d0c3db Minor, miscellaneous stuff ... 2002-02-19 04:34:18 +00:00
curt
b8fc42d824 Add support for multiple panel fonts (specifically an LED font.) 2002-02-19 03:42:16 +00:00
david
3b870192f4 First steps in a weather reorganization. Note especially that
properties have been renamed from wind-(north|east|down)-fps to
wind-from-(north|east|down)-fps, and the FDMs modified appropriately.
No other changes should be visible unless FG_OLD_WEATHER is defined.
2002-02-19 01:26:44 +00:00
david
e90cbeacc3 Corrected wind, so that properties give the FROM direction for all
FDMs, and the --wind option takes the direction *from* which the wind
is blowing.
2002-02-18 19:33:18 +00:00
david
6c978b02f8 Patches from Tony Peden:
Attached are patches for adding the command line options to set initial
glideslope and climb rate. This was really easy to do as all the pieces
were in place.  It works well with JSBSim because the trimming routine
finds the right throttle and elevator settings. It should work with
LaRCsim as well, but it has no trimming routine so there will be some
dynamics at startup.  I don't know what YASim will do.
2002-02-18 19:18:51 +00:00
david
93c69c4bc3 Changes from Tony Peden to fix reinit crashes (and eliminate the force
altitude function).
2002-02-17 21:05:27 +00:00
david
d1208f15b8 Latest JSBSim changes. 2002-02-17 21:04:44 +00:00
curt
dc85f0c634 Be more robust when FlightGear changes it's mind about the local ground
elevation.
2002-02-16 17:38:29 +00:00
curt
4f67824f09 - Removed redundant FG*:: qualifications from class members
- Fixed comparisons between signed and unsigned ints
2002-02-15 22:00:49 +00:00
curt
4e334bcc5c Fixed description of the --time-offset option. 2002-02-14 03:57:22 +00:00
david
7a3e749284 JSBSim fix for FreeBSD. 2002-02-13 23:57:49 +00:00
david
ecccc91064 Corrected typo ("Celsius" rather than "Celcius") and added to cast to
avoid a compiler warning.
2002-02-13 23:57:31 +00:00
david
a0ec3ccc43 Ensure that initial engine settings are copied over. 2002-02-13 20:51:57 +00:00
curt
55387fd7ea This is a three line fix for some inconsistancies between the gui dialogs and
the panel controls for the autopilot.  The heading dialog would only show the
last setting you did through it, even if it was later tweaked with the bug on
the hsi.  The altitude dialog did a similar thing.  Now the values default to
the same that show on the panel displays.
2002-02-13 20:12:31 +00:00
curt
6191fae106 Reset "/sim/startup/time-offset-type" when specifying "--time-offset" in
case some other conflicting option has set this to something else.
2002-02-13 19:41:05 +00:00
curt
56db201e52 Cleaned up a few stray cout's 2002-02-13 18:17:04 +00:00
curt
9e6ee4b703 Fixed an if statement typo. 2002-02-13 17:43:01 +00:00
david
304ff21697 Latest JSBSim fixes, including Dave Luff's mixture improvements for
the JSBSim piston-engine model.
2002-02-13 14:35:10 +00:00
curt
465678ad07 Oops fixed one small mistake from the last fix. 2002-02-13 02:46:01 +00:00
curt
4cd24b3a67 Added a clock freeze option (/sim/freeze/clock). This can be specified
via the command line (--enable-clock-freeze / --disable-clock-freeze)
and can be toggled during a run.  However this property is not currently
bound to any menu or keystroke so you have to do it via the gui property
interface or externally via the web property browser or a script.
2002-02-13 02:37:44 +00:00
curt
ca3d6fac8f Added .hpp files to Makefile.am so they will be automatically included
in the tarball distributions.
2002-02-12 23:44:15 +00:00
curt
7237072f3a Make code a bit more explicit. 2002-02-12 22:27:57 +00:00
curt
9c370c2a9a Converted a cout to SG_LOG() 2002-02-12 16:36:25 +00:00
curt
82346dec63 Enable audio support for MSVC builds. 2002-02-12 16:12:52 +00:00
curt
dd8852dabe Better support for an alternate calendar time (i.e. if time/position/etc.
are being driven from an external data source.)

Akso found and fixed a bug in the simgear that caused the time to go goofy
temporarily while scenery was being loaded.
2002-02-11 23:33:20 +00:00
curt
527ada0e1d Add support for cygwin 2002-02-11 15:25:19 +00:00
curt
3a5ed2b997 Fixed a typo. 2002-02-11 15:24:08 +00:00
curt
2c862a330e Set default value for cur time override to 0 (no override) 2002-02-10 04:27:56 +00:00
curt
aad1de2ee5 Changes to match simgear changes which allow overriding the current
clock time.
2002-02-10 04:18:10 +00:00
curt
61d31ab822 Tweaks to 'native fdm' output. Time offset should now be properly supported
as well as visibility.
This means that if you are using this protocal to exchange data with a
visual channel, you should be able to change time and visibility on the master
and all the slaved visual channels will match it.
2002-02-08 23:03:54 +00:00
curt
de2b5f50e9 Fixes for the bug where LaRCsim gets no fuel and won't start,
and also a bug with the EGT being displayed at running values
when cranking without starting.
2002-02-08 17:27:38 +00:00
curt
fe5d1643cf Fix several off by one errors in hud_card.cxx 2002-02-08 17:19:21 +00:00
curt
c06aad31b3 Fix a potential mouse freeze. 2002-02-08 17:18:50 +00:00
david
827e11ff81 JSBSim change from Dave Luff:
Attached is a fix to add a short period of cranking time required
before the engine fires.  I've also added a little hack to limit the
torque applied by the starter motor when the rpm is less than 10 in
order to avoid the rpm overshooting idle in the first time step when
the prop is producing very little resistance due to the low rpm.
2002-02-08 13:36:46 +00:00
david
e1843e15d4 Patch from Melchior Franz:
- add indices to ambiguous property names
2002-02-08 13:31:22 +00:00
david
057885ed62 Modified to use a relative path for aircraft_dir rather than an
absolute one.  The path should be relative to $FG_ROOT.
2002-02-08 13:21:28 +00:00
curt
856534f0ca Fixed a typo ... 2002-02-08 01:08:24 +00:00
curt
ef82114c32 MSVC++ fixes 2002-02-08 00:07:53 +00:00
curt
3238528b35 FreeBSD fix. 2002-02-07 15:38:32 +00:00
curt
644668a932 Removed an unneeded #include 2002-02-06 23:56:17 +00:00
curt
7cd113fa2f Some follow up patches from Norman Vine. 2002-02-06 23:31:33 +00:00
david
fb5d5960a9 Patch from Melchior Franz:
- don't show redundant indices
2002-02-06 16:53:01 +00:00
david
7b01a143a1 Latest JSBSim changes from Tony Peden (should help slip/skid ball). 2002-02-06 16:52:34 +00:00
curt
d01cb2769a Cygwin fix. 2002-02-06 16:09:44 +00:00
david
628e4cc029 Patches from Melchior Franz:
- remove buffer with class scope
  - remove variable 'length' (isn't used anywhere)
  - make process_command private (it isn't used anywhere outside, and it
    shouldn't be)
2002-02-06 14:22:23 +00:00
david
c1c6a00856 Patches from Melchior Franz:
- define buffers where they are needed (two places)
  - comment out stale debug message (it doesn't buy anything, because the
    contents are output two lines below, anyway)
  - let every error message begin with "ERR ". This makes error messages
    less beautiful, but easier to recognize for scripts. Every internet
    protocol that outputs text, has such a tag for distinguishing regular
    output from error messages. (pop3 uses "-ERR ", smtp uses error codes,
    etc.)
2002-02-06 14:22:04 +00:00
david
670873198d Patches from Melchior Franz:
- fix html bug (<form> was closed by another <form>, instead of </form>)
  - remove useless <br>
  - fix a bug, that would have truncated an argument containing a '&'
  - extend the comment for urlEncode: cite the concerned RFC
2002-02-06 14:21:24 +00:00
curt
a29013fcda WIN32 fix. 2002-02-06 04:31:12 +00:00
david
c5d537394d Latest JSBSim changes, including a kludge from Tony to keep the
slip/skid ball still when the plane is stationary.
2002-02-06 04:07:12 +00:00
curt
7666c88e23 Latest version submitted by John W. 2002-02-06 01:03:54 +00:00
curt
5586d12e26 Fixes for default chase view values. 2002-02-05 23:02:16 +00:00
curt
abc6f642a2 Fix the not showing the last item bug. Also I cleaned up a
few things and made the scroll bar look right.
2002-02-05 22:32:29 +00:00
curt
548aa0d774 MSVC updates. 2002-02-05 22:28:31 +00:00
curt
08bbb83b8e A grab bag of tweaks and patches from Norman Vine.
- Better mingwin/cygwin support
- Various gui tweaks and code clean ups
- Initialization clean ups
- Hitlist/scenery tweaks
- other misc. stuff.
2002-02-05 20:54:08 +00:00
curt
9e8b00e2e0 Updated --help message. 2002-02-05 17:02:25 +00:00
curt
b1027c7b6a Various Irix compiler tweaks. 2002-02-05 15:57:46 +00:00
curt
f149bcba97 1. Tidies up h-FOV/v-FOV handling and makes window scale depend on
max(width, height) by default (easily changeable) rather than just width.
(src/GUI/gui.cxx, src/Main/main.cxx, src/Main/viewer.cxx, src/Main/viewer.hxx)
2002-02-05 05:51:11 +00:00
curt
e12f6757d5 1. Enable intro music under MS Windows. (main.cxx)
This works on a CygWin build, and probably works on non-Cygwin builds
  as well.

2. Enable FG to start even if audio is not available. (soundmgr.cxx)
   Avoids the FGSoundMgr constructor crashing; the rest of FG then runs
   OK without sound.
2002-02-05 05:04:02 +00:00
curt
4324010074 Tweaks from Julian Foad:
1. Enable auto-configure on more versions of auto tools. (configure.in)
2. Warnings from auto-configure tools. (src/Time/Makefile.am)
3. Typo: "the it's" -> "its". (docs-mini/README.Joystick)
4. Remove definition of FGViewer::update() that now is (or can be) pure
virtual\
. (src/Main/viewer.cxx)
5. Preferred form of function name according to comments in plib:
"not_working"\
 -> "notWorking". (src/Sound/soundmgr.hxx)
2002-02-05 04:42:39 +00:00
curt
847b968816 Updates from "Jonathan Polley" <jwpolley@home.com> to convert from/to 'net'
format before reading/writing data from/to remote machine.  This allows
different endian machines to talk to each other.  Also added support for
passing time and time offset (warp) in the data packet.
2002-02-04 22:54:02 +00:00
curt
4453bec3de Print the usage message as well if a base package version mismatch is
detected.
2002-02-04 22:06:37 +00:00
curt
463f8bcb50 Patch from Melchior Franz to add support for indexed property names. 2002-02-04 21:10:36 +00:00
curt
4a40bb1151 Updates to allow weather system and atis to interact better. 2002-02-01 23:13:48 +00:00
david
d3db1e622b Latest JSBSim changes, including SGI patch. 2002-02-01 02:11:13 +00:00
curt
88170a7d36 Uncommented a few more inline accessors for the FDM. Note that this doesn't
mean that the various flight models are filling in the values with valid
data.
2002-01-31 20:18:19 +00:00
curt
c19a336935 Updates from John to pass additional data to the external OpenGC display. 2002-01-31 20:17:33 +00:00
curt
8998dbe0bb Additional autopilot tuning taking into consideration more data. 2002-01-31 00:03:41 +00:00
curt
d03de51817 Variable "i" was multiply defined in two for loops. 2002-01-30 22:42:06 +00:00
david
abbedea3bc Fixes from Cameron Moore:
I've attached 3 diffs against files in FlightGear to fix some printf
format strings.  The changes are pretty straight forward.  Let me know
if you have any questions.  (BTW, I'm using gcc 2.95.4)
2002-01-30 16:17:26 +00:00
david
9b11ee221e Property-tree-viewer improvements from Melchior Franz. 2002-01-30 15:44:13 +00:00
curt
9456906a0c Fixes to make telnet interface work more than 1x. 2002-01-28 22:48:29 +00:00
david
45807b3126 Latest update from JSBSim. 2002-01-24 15:51:26 +00:00
curt
05e8c4c542 Autopilot now honors tunable altitude hold parameters which are defined in
the aircraft-set.xml file.
2002-01-24 01:48:39 +00:00
curt
9c13fafe5a Small fix for Irix. 2002-01-23 22:11:51 +00:00
curt
e856a8ce0a Minor tweaks. 2002-01-22 15:39:51 +00:00
curt
c98c633b4d Added some sanity checking. 2002-01-22 15:38:02 +00:00
curt
9f85caa64c - reworked spacing/layout to be more readable
- added missing --bpp option
- added IO and Debug sections
- moved --units-* out of HUD section
2002-01-20 06:09:36 +00:00
curt
766b07d724 Add --enable/disable-fuel-freeze command line options. 2002-01-20 05:59:28 +00:00
curt
10d63827fb #ifdef out some test code. 2002-01-20 05:58:34 +00:00
curt
dea7284cc7 Restructured the 'freeze' property a bit. We now have
/sim/freeze/master      (implimented)
  /sim/freeze/fuel        (implimented)
  /sim/freeze/position    (not implimented)
  /sim/freeze/time-of-day (not implimented)

/sim/freeze/master is bound to the 'p' key via keyboard.xml, however,
/sim/freeze/fuel is not bound to anything at the moment so you must
change it via the external property interface, or specify an initial
value on the command line.
2002-01-20 03:52:36 +00:00
david
4e0ab72766 Added the ability to tilt the view as well as rotate it; the
properties /sim/view/view-tilt-deg and /sim/view/goal-view-tilt-deg
control the tilt.  There are (temporarily) keyboard bindings in the
base package for experimentation: Ctrl-O to tilt the view down, and
Ctrl-P to tilt the view up.
2002-01-19 23:38:24 +00:00
david
5cb3d22494 Add infrastructure in preparation for tilting the view. 2002-01-19 23:01:01 +00:00
david
88cb2d13f0 Latest JSBSim changes. 2002-01-19 21:50:31 +00:00
david
451ebabe95 Fix use of properties for fuel-tank levels. 2002-01-19 18:26:30 +00:00
david
47772b9853 Return a positive shortage when there is still fuel in the tank;
otherwise, the logic in FGEngine::ConsumeFuel breaks down and the
engine is starved when *any* feed tank is empty, rather than when all
feed tanks are empty.
2002-01-19 18:25:52 +00:00
david
2008529299 - fixed fuel-need calculations
- stop engine when no fuel is available
2002-01-19 18:24:02 +00:00
david
80b4567d54 Removed FGEngInterface and FGGearInterface after consultation with
FDM people.  FlightGear now supports an unlimited number of fuel
tanks.  Also added correct fuel-flow reporting for piston engines, and
tracked new features in SimGear property support.
2002-01-19 05:34:03 +00:00
david
eedf9f9671 Latest JSBSim changes, including some gear tweaking from Jon and some
fuel-reporting improvements for piston engines.
2002-01-19 05:32:28 +00:00
curt
4be27ce2bf Misc tweaks. 2002-01-19 00:31:27 +00:00
curt
65701b43dc Tweaks to sound levels from Erik Hofman. 2002-01-18 22:38:47 +00:00
curt
28d8191dae A couple minor MSVC tweaks contributed by Jonathan Polley 2002-01-17 00:03:02 +00:00
curt
e75f6a8f01 Changes to support optional screen snap shot httpd server. 2002-01-16 23:02:52 +00:00
david
1779e8b8bd Patches from Cameron Moore to fix setting cloud altitude from
properties or the command line.
2002-01-16 16:56:49 +00:00
david
a0cabcd2af Removed some temporary debug statements. 2002-01-16 16:48:27 +00:00
curt
6a0bc55b7d I prefer frozen vs. paused for some odd reason. 2002-01-15 23:39:21 +00:00
david
80130682fb - changed mixture cutoff from 50% to 30%, to allow for borderline
leaning at high altitude

- changed to report correct manifold pressure for altitude when engine
  is running
2002-01-14 20:44:19 +00:00
curt
ea327e59b2 Removed FGMatrix.* because it is no longer used by JSBSim. 2002-01-14 18:33:06 +00:00
david
cf7f829130 Added ability to set engine RPM from FlightGear. 2002-01-14 14:23:53 +00:00
david
1d35fab813 Changes to keep the various autopilot properties from stepping on each
other -- it is now possible to set properties at startup (such as an
autopilot altitude).  The only user-visible change, other than the
fact that the properties work as they are supposed to, is that the
heading bug no longer starts at a random value.
2002-01-14 03:14:42 +00:00
curt
1fd3d5aa48 Removed old remnants of plib-1.2.x support. We haven't officially supported
this older version of plib in some time, but there were bits of code remaining
that was (or could potentially) cause confusion.
2002-01-11 22:16:05 +00:00
david
bc13e2f213 Change from Norman Vine to avoid breaking G++ 2.95. 2002-01-11 17:55:26 +00:00
david
73f5eec1b7 ANSI C++ fixes, to allow compilation with g++ 3.x. 2002-01-10 12:52:39 +00:00
david
96665adcce Corrected some typos for 3DFX support. 2002-01-06 18:36:34 +00:00
david
f29978fb42 Added fullscreen to globals, and fixed compile bug for 3DFX cards. 2002-01-06 16:51:31 +00:00
david
3cbc6f21c7 Renamed fgParseOptions(int,string) to fgParseArgs, and modified the
function to allow property files as non-option parameters after the
options have finished (and added "--" to terminate options).  It's now
possible to do something like

  fgfs denver-am.fgd

or even

  fgfs at-lax.fgd in-c310.fgd around-sunset.fgd

This works the same way as the --config option, but will be friendlier
for GUIs, where start-up situation files can now be associated easily
with FlightGear.
2002-01-04 20:58:48 +00:00
david
3ddf66206a Don't generate FPEs for Linux for now, until PPE model loading is
fixed.  Developers can uncomment lines to get FPEs for debugging.
2002-01-04 20:56:28 +00:00
david
e09ea2243f Removed stale include of options.hxx. 2002-01-04 20:55:36 +00:00
david
ecddbcbb48 JSBSim update:
Removed debugging message about windmilling.
2002-01-03 21:42:44 +00:00
david
117bf73dea JSBSim update. 2002-01-03 21:04:49 +00:00
david
21931e320c Update from JSBSim
Changed _set_Accels_Pilot_Body to use FGAuxiliary::GetNpilot instead
of FGAuxiliary::GetPilotAccel.  It looks like a similar change was
started but never finished, and there are artifacts still lingering.
With this change, the slip/skid ball now works reasonably on the C172
when in motion, but not at rest (that will have to wait for fixes to
the gear code).
2002-01-03 17:42:04 +00:00
curt
40c45ee57e Added help text for the --aircraft=name option. 2002-01-02 16:19:39 +00:00
david
35056ddaea Removed unused alpha variable; more code cleanups and documentation. 2001-12-30 03:04:39 +00:00
david
a2be88ad74 Initialization fixes. 2001-12-29 13:19:09 +00:00
david
d4aea05246 Substantial rewrite of FGNewMat, the material class. Most of the
material-specific logic is now removed from the material library and
encapsulated in the material class itself, and materials are loaded
from $FG_ROOT/materials.xml rather than $FG_ROOT/materials.  This also
removes a nasty bug in the old material-loading code that caused a
floating-point exception.
2001-12-28 23:33:32 +00:00
curt
1fa4c88d0e Updates to build system to better support automake-1.5
- automake-1.4 sets default values for INCLUDES which we can't
  overwrite.
- automake-1.5 renames this to DEFAULT_INCLUDES and leaves INCLUDES
  open for the developer to use.

Thus for automake-1.4 we are forced to 'append' to INCLUDES and in
automake-1.5 we can just set the value to whatever we like.
Unfortunately, the behaviors of the two versions are mutually
incompatible.

The solution I am committing now works for both versions but
automake-1.5 generates a lot of spurious warning messages that are
annoying, but not fatal.
2001-12-28 22:29:59 +00:00
david
3b70eae4c9 Set default elevator trim to 0 to avoid FPEs and improve transparency
(per-aircraft default trim can be set in the XML config files).
2001-12-27 22:34:32 +00:00
david
36f00b1c12 Updated to latest JSBSim, including preliminary support for
windmilling propellers.
2001-12-25 00:02:25 +00:00
david
73a898e346 Removing yet another auto-generated file. 2001-12-24 22:12:43 +00:00
david
be7cc1058a Patch from Andy to fix propellers on DC-3. 2001-12-24 20:34:53 +00:00
david
2db3a9a93c Renamed static function from sgdPointInTriangle to pointInTriangle to
avoid conflict with most recent PLIB CVS.
2001-12-24 18:56:15 +00:00
david
5d8a04291c Latest JSBSim changes. 2001-12-24 13:54:55 +00:00
david
f0e6716953 Latest YASim changes. 2001-12-24 13:54:03 +00:00
david
2b34388ea6 Modified FGSubsystem::update() to take an int parameter for delta time
(i.e. multiloop).  Most subsystems currently ignore the parameter, but
eventually, it will allow all subsystems to update by time rather than
by framerate.
2001-12-22 23:18:28 +00:00
david
22c472bb17 Corrected typo in macro name, and reverse flags -- FPEs really are
being reported now.
2001-12-22 23:16:43 +00:00
david
c24f4a0539 Enable floating-point exceptions for Linux/x86 systems. See the
beginning of main() for the exceptions that can be enabled (only
divide-by-zero is enabled by default, but you can uncomment any ones
you want); eventually, FlightGear should run cleanly with all FPEs
enabled.
2001-12-22 19:10:37 +00:00
curt
f5c9008823 Added FGScript.{cpp,h} 2001-12-22 17:40:26 +00:00
curt
3f1e9cdc37 Initial revision. 2001-12-22 17:39:21 +00:00
david
aabdd355f0 Modified FGSubsystem::update() to take an int parameter for delta time
(i.e. multiloop).  Most subsystems currently ignore the parameter, but
eventually, it will allow all subsystems to update by time rather than
by framerate.
2001-12-22 17:33:27 +00:00
david
b9dc522882 Latest JSBSim changes. 2001-12-21 19:20:21 +00:00
curt
916045f45e Added _wheel_spin[] variable for simple wheel spin rate model used for
audio effects only.
2001-12-21 05:18:47 +00:00
curt
71bf754fb8 Added a really simple wheel spin model for audio effect purposes only. This
has absolutely no bearing on actual wheel performance and has nothing to do
with the fdm.  It is just a simplistic wheel spin velocity model used to
avoid subsequent squealing when a tire is bouncing, or touches down right after lifting off.  If at some point tire spin is modeled by an FDM we could
transition to using real data.
2001-12-21 04:53:37 +00:00
curt
b75998736f Fix for MSVC. 2001-12-17 21:04:33 +00:00
curt
85349e313e Fixed hardcode compass texture path to correspond with base package reorg. 2001-12-17 20:34:37 +00:00
curt
75037e081b The Irix compiler was reporting a "can't jump out of region" error with the
current code.  This tweak seems to fix it.
2001-12-17 17:41:44 +00:00
curt
ff0a5bd9ea Make the Irix compiler happy. 2001-12-17 17:41:02 +00:00
david
a4ba46a270 Latest JSBSim changes, mostly to support yaw and roll trim. 2001-12-17 15:36:20 +00:00
david
0395a446f7 Latest JSBSim changes to support yaw and roll trim. 2001-12-17 01:42:39 +00:00
david
0b792ab689 Added rudder trim and aileron trim to FGControls, and bound them to
properties analogous to elevator trim.
2001-12-17 01:42:11 +00:00
david
7abad40151 Fixed to look for easyxml.hxx in the simgear/xml rather than simgear/. 2001-12-16 22:00:35 +00:00
david
0505201362 Latest JSBSim changes -- EGT fixes. 2001-12-15 13:53:53 +00:00
curt
0b5594d50d The latest updates from John Wojnaroski. 2001-12-15 03:30:45 +00:00
david
26c6f3f407 Latest JSBSim changes. 2001-12-14 23:57:05 +00:00
david
fbccfab5ff Latest JSBSim changes. 2001-12-14 03:35:41 +00:00
david
5c3f4e999d Latest JSBSim changes. 2001-12-13 04:48:34 +00:00
curt
37c2b6002c Rename FGInterface::_updatePosition() ->
FGInterface::_updateGeocentricPosition() for clarity.  Also added an
  FGInterface::_updateGeodeticPosition() since it is useful.
A few clean ups to native_fdm.cxx and raw_fdm.hxx.
2001-12-12 05:18:46 +00:00
david
4f5d70144a -Removed .cvsignore from itself, since .cvsignore is now in the CVS 2001-12-12 04:15:23 +00:00
david
18b1b4f7af Added --trace-read=<property> and --trace-write=<property> options.
These will log trace messages whenever a specific property value is
read or written through the property manager.  They do not cause
FlightGear to poll bound values, so if a class variable that is bound
is changed directly, no trace message will be displayed.

These options are also useful in conjunction with a debugger.
--trace-read will cause the private SimGear SGPropertyNode::trace_read
method to be invoked, and --trace-write will cause the private SimGear
SGPropertyNode::trace_write method to be invoked; in a debugger
session, a user can set breakpoints on these methods then get a
backtrace to see what specific points in the code are reading or
writing properties.
2001-12-12 03:49:48 +00:00
david
2f66d01298 Fixed typo preventing loading alternative aircraft from the
/sim/aircraft property in preferences.xml.
2001-12-12 03:46:37 +00:00
curt
f82b717c8b Norman's changes to display a scrolling "PAUSE" message when the simulation
is paused.
2001-12-11 22:40:14 +00:00
david
d45e1d0ac6 Added config.h, which is autogenerated. 2001-12-11 22:26:51 +00:00
david
519224d9fc Modified initial property parsing order to be more intuitive. It now
works like this:

1. Parse preferences.xml, which will usually specify a default
aircraft using the /sim/aircraft property.

2. If /sim/aircraft is specified and not empty, parse the properties
in $FG_ROOT/Aircraft/{/sim/aircraft}-set.xml to set up a default
aircraft.

3. During command-line parsing, whenever the --aircraft option appears
set /sim/aircraft appropriately and parse the properties in
$FG_ROOT/Aircraft/{/sim/aircraft}-set.xml.  Any --config, --prop, or
--aircraft options afterwards will take precedence.
2001-12-11 19:27:37 +00:00
curt
9f73588b31 YASim-0.1.3 updates. 2001-12-10 23:13:54 +00:00
curt
ec346bf0ef Tweak #includes to use double quotes for local files not <> 2001-12-10 23:00:27 +00:00
curt
de1c8ef06e Change to WeatherCM so that it doesn't triger an floating point exception
when queried for too low (i.e. < -1000 meters) altitudes. So now there's
now valid weather information for altitudes below -500 meters sea level.
2001-12-10 22:39:05 +00:00
curt
07c61a2243 Minor property name change to track changes in xml panels. 2001-12-10 22:06:57 +00:00
curt
5c0fa275d7 Tweaks to how we load aircraft defaults and definition file to make things
more intuitive.  We switch to an include in the preferences.xml to include
the default model, and then if the user specifies --aircraft=, that is
expanded immediately so portions can be overwritten by subsequent command
line options.
2001-12-10 16:29:20 +00:00
curt
4cc5cee885 David Megginson writes:
Here's an unusual patch for FlightGear -- I've created .cvsignore
files for every source directory, to make CVS output more informative.
This is especially nice when using cvs-examine from (X)Emacs to look
for changes.
2001-12-09 05:43:40 +00:00
curt
810aee6de8 MSVC patches from Christian Mayer. 2001-12-09 05:20:13 +00:00
curt
470292a434 Small tweaks to initialization sequence and logic so we can default to
a top level aircraft def file (c172-set.xml)

preferences.xml or --aircraft= or any other property setting mechanism can
be used to set the property "/sim/aircraft".  After all options and config
files are parsed, the contents of /sim/aircraft is expanded into a *-set.xml
file and loaded.
2001-12-09 05:19:50 +00:00
curt
9d54df6d87 Revert to pre-wind-sticking ground reaction forces until they can be debugged. 2001-12-09 05:14:48 +00:00
curt
dcf937e39f From Christian Mayer fixing some array allocation/overrun errors. 2001-12-09 04:29:27 +00:00
curt
09d1e59156 Cosmetic changes to #include order. 2001-12-09 04:28:51 +00:00
curt
e27a88756c Changes from Norman Vine that 'almost' get 'reset' and 'goto apt' working.
Note there is still a problem when doing a 'reset' after doing
a 'goto'.   Curt says: I also see that doing two subsequent reset's on a
JSBSim model results in a segfault in a deconstructor deep inside JSBSim.
2001-12-07 22:38:19 +00:00
curt
48260480b3 Updated to YASim-0.1.2 2001-12-07 20:00:59 +00:00
curt
01d13f797a Tweak how tire squeal volume is calculated ... probably needs some more work. 2001-12-07 17:37:51 +00:00
curt
75478ea4f7 Added --aircraft= option back in, but now it refers to a top level aircraft
config file that pulls in the proper fdm, aero model, panel, 3d model, etc.
for the aircraft.
2001-12-07 17:37:15 +00:00
curt
6b2e17493e Syncing with most recent JSBSim. 2001-12-07 17:10:17 +00:00
curt
53fdf0c25c Fixed a problem with initial view offset (from command line) getting tromped
on.  This is an important feature for multi-display support.
2001-12-06 23:28:14 +00:00
curt
d8e7b7b9ff Changed --aircraft= to --aero= to make way for a high level aircraft definition
that will tie together fdm, aero model, 3d model, sounds, etc. into one
top level config file.
2001-12-06 23:10:50 +00:00
curt
f716539390 Change default search directory for YASim aircraft to $FG_ROOT/Aircraft-yasim
with corresponding changes to the base tree cvs.
2001-12-06 20:16:03 +00:00
curt
e08d4359cd Tweaks to fix directory change. 2001-12-06 18:16:22 +00:00
curt
4c422bbe6d Updated to YASim-0.1.1 2001-12-06 18:13:24 +00:00
curt
6d077f4127 Fix propellor spelling. 2001-12-05 16:05:26 +00:00
curt
06c4076cf5 Fixed a typo in --opengc parsing. 2001-12-05 04:54:54 +00:00
curt
a1ab836daf Sync with latest JSBSim. 2001-12-05 03:10:20 +00:00
curt
238df6975a Synced with Jon's table parsing fixes. 2001-12-04 13:59:38 +00:00
curt
cec011503c - added gear up and gear down sounds
- changed all sound file properties to end in /path for pathname, and
  added /sound and /pitch (with current values as defaults)
- don't activate the stall horn if CAS is less than 30kt (this needs
  to be refined somehow)
- declarations to support changes to cxx file
2001-12-03 22:48:49 +00:00
curt
5513830175 Initial revision. 2001-12-03 22:36:42 +00:00
curt
408742c48c Syncing with latest JSBSim code with retractable landing gear support. 2001-12-03 22:24:40 +00:00
curt
b3d2d2cd00 Throttle runs all throttles simultaneously by default. 2001-12-03 22:17:35 +00:00
curt
58aa15ece9 JSBSim sync. 2001-12-03 22:17:03 +00:00
curt
0d2d153914 Integrating YASim into the build system. 2001-12-01 06:22:49 +00:00
curt
5b84ae51a5 Initial revision of Andy Ross's YASim code. This is (Y)et (A)nother Flight
Dynamics (Sim)ulator.  Basically, this is a rough, first cut of a "different
take" on FDM design.  It's intended to be very simple to use,
producing reasonable results for aircraft of all sorts and sizes,
while maintaining simulation plausibility even in odd flight
conditions like spins and aerobatics.  It's at the point now where one
can actually fly the planes around.
2001-12-01 06:22:24 +00:00
curt
bc391fb54e Sync with latest JSBSim. 2001-12-01 04:03:57 +00:00
curt
a69e2cc976 Added Network/opengc.cxx Network/opengc.hxx Network/opengc_data.hxx
This is John Wojnaroski's initial implimentation of an interface to the
OpenGC glass cockpit displays.
2001-11-30 23:56:28 +00:00
curt
e1ac99d5c9 ** src/Cockpit/panel.cxx
- delete table in destructor

** src/FDM/flight.cxx
- bind engine properties in FGInterface::bind, and publish properties
  for all engines rather than just engine 0

** src/Main/fg_props.cxx
- removed all engine properties; now bound in FGInterface::bind

** src/Sounds/fg_fx.cxx
- support multiple engine and cranking sounds

** src/Sounds/fg_fx.hxx
- support multiple engine and cranking sounds
2001-11-30 20:55:14 +00:00
curt
4b4394774b Tweaks to pitch/volume of a couple sound effects. 2001-11-30 17:55:28 +00:00
curt
71a562b695 Sync with latest JSBSim changes. 2001-11-30 17:49:37 +00:00
curt
c167c60de9 Don't use turbulence model by default because it is still under development. 2001-11-27 03:32:24 +00:00
curt
ffe498f33f Initial revision. 2001-11-25 00:32:58 +00:00
curt
ac50500e80 Sync with latest JSBSim CVS. 2001-11-24 22:13:04 +00:00
curt
d19ef5cd99 Synced with latest JSBSim cvs. 2001-11-20 22:34:24 +00:00
curt
3d1e802b84 Format tweaks. 2001-11-20 22:03:58 +00:00
curt
bcca6a88a4 - changed MAX_GEAR to an enum to avoid upsetting non-conformant C++
compilers
2001-11-20 22:03:40 +00:00
curt
804c9adbb0 - added extensive documentation comments 2001-11-20 22:03:29 +00:00
curt
7a88cd31eb - added /sim/logging/classes and /sim/logging/priority properties
to control logging
- /sim/logging/classes takes a value like "terrain|astro", where the
  names are the macros from simgear/debug/debug_types.h with the
  initial "SG_" removed and converted to lower case; for none, use
  "none"
- /sim/logging/priority takes a single name like "warn", where the
  name is a macro from simgear/debug/debug_types.h with the initial
  "SG_" removed and converted to lower case
2001-11-20 22:03:17 +00:00
curt
2bc1e7d365 a couple of minor modifications, including hardwiring temperature again
(the global temperature property returns that at the aircrafts altitude) and
adding "information" to the airport name to avoid having to store it
in the default.atis file 1200 odd times.
2001-11-20 21:23:42 +00:00
curt
e35fffa035 David Luff writes:
Heres an update to the ATIS stuff.  In brief:

The possible buffer overflow in the display with wind should
hopefully be fixed.

Temperature is taken from the global temperature property instead
of being hardwired.

The display class now includes an implementation of the member
function to change the repeating message.

The message callsign is no longer hardwired.  The first message
from each station is generated with a random callsign.
Subsequent messages from the same station have the callsign
incremented every hour.  A map of airport-id vs. last callsign and
transmission time is kept for each station that has transmitted for
the duration of the FlightGear session.  The logic might be flaky if
FlightGear is run for more than 24 hours at a stretch between
visiting the same ATIS station though!  (ie I don't check the day.)
This map is kept in the atislist class.  This might not be the best
long-term place for it (in an ATC class of some sort might be
better), but it works for now.
2001-11-19 23:53:36 +00:00
curt
36de63366b I just nailed an especially annoying tile cache scheduling bug.
What was happening was that we screwed up and scheduled tiles for
(lon,lon) rather than (lon,lat) ... note the typo.  This generated
bogus tile id's which the system happily accepted, put into the tile
cache system, and attempted to load.  The problem was that these bogus
tile id's were negative where as all valid tile id's should be >= 0.

These negative tile id's up the logic used to remove tiles from the
cache.  When identifying tiles for removal, we look for the furthest
tile away from us by starting out the furthest id at -1 and if we find
something further, we update the furthest tile id.  Then at the end we
check if the furthest tile id >= 0 to see if we found anything we
could remove.  However, the furthest tile id was these bogus tiles
with negative tile id's so the system always assumed there was nothing
appropriate for removal.  This made it impossible to ever remove a
tile from the cache meaning it quickly filled up and no more tiles
could be loaded.

I fixed the one instance of scheduling tiles for a bogus location, and
added a sanity check so if it ever happens again we'll bomb with an
appropriate error message.
2001-11-12 22:05:47 +00:00
curt
a3bce2f219 Updated mouse gui tweaks and Jim's nifty new external view controls. 2001-11-12 20:57:08 +00:00
curt
d227398525 Norman Vine's mouse cursor tweaks fixes. 2001-11-12 19:37:23 +00:00
curt
2b28f7c41b Updated by Geoff McLane. 2001-11-12 18:13:17 +00:00
curt
6bc2f59572 Sync with latest JSBSim CVS 2001-11-12 16:06:29 +00:00
curt
daabe407aa Add the "null" flight model which is a better name for what the "external"
flightmodel used to be called.
Fixed wind (it was 180 degrees off).
2001-11-12 04:49:06 +00:00
curt
fee8c33799 Sync with latest JSBSim 2001-11-09 04:38:53 +00:00
curt
8ff6965f98 Add #include <math.h> for fabs() 2001-11-08 16:52:51 +00:00
curt
b85be56a55 Changes to support Dave Luff's initial ATC/ATIS module. 2001-11-07 17:55:28 +00:00
curt
20f0d3f83e Initial revision of ATIS module contributed by Dave Luff. 2001-11-07 17:55:04 +00:00
curt
e19d456716 Tweaks to get startup time, relative sun angle, sky colors, etc. to be
properly initialized.
2001-11-07 04:55:57 +00:00
curt
5fe0f04702 Updates to JSBSim and FDM interface. 2001-11-06 22:33:05 +00:00
curt
bc20e9b490 - added support for new sounds: flaps, wheel rumble, squeal
- cache property nodes to avoid hash lookups
2001-11-06 22:32:26 +00:00
curt
19a8dacdb4 - removed references to FGSoundMgr 2001-11-06 22:32:14 +00:00
curt
fe22475260 Alasdair Campbell's ILS patch allowing us to fly both ILS approaches if both
ends of the same runway share the same frequency.  This is probably the best
we can do until we impliment some sort of operator interface to manually set
which end is active (like is done in real life.)
2001-10-30 17:45:11 +00:00
curt
dff16b3f8d Fix from Dave to get JSBSim engine startups working again. 2001-10-30 16:14:51 +00:00
curt
b82a5ad062 Latest updates from the JSBSim project. 2001-10-30 02:51:13 +00:00
curt
7172d31e71 Additional changes including updates to JSBSim to try to get interface and
initial trimming to work.
2001-10-29 19:00:24 +00:00
curt
5f4f82dbe7 Additional startup work and error checking. 2001-10-29 18:38:21 +00:00
curt
c74c2f224f Update JSBSim files to latest JSBSim CVS. 2001-10-29 18:25:19 +00:00
curt
c3ec11ca13 Fix a screwup I introduced with radians to degree conversion in passing data
between JSBSim and FlightGear.
2001-10-29 17:28:00 +00:00
curt
971f2383ff update based on property system rather than cur_fdm_state because cur_fdm_state
may not always hold valid information.
2001-10-29 04:41:30 +00:00
curt
15f02e9dd6 Sound manager changes from David Megginson. 2001-10-29 04:40:43 +00:00
curt
d0df197e1d Temporarily added some debugging output. 2001-10-29 04:40:19 +00:00
curt
5cf725035f Sound effect changes from David Megginson. 2001-10-29 04:39:54 +00:00
curt
2a00ebf9b4 Added sound effect changes from David Megginson. 2001-10-29 04:39:05 +00:00
curt
c8f21829d4 Attempting to simplify JSBSim initialization. 2001-10-29 04:38:25 +00:00
curt
4b5bcd0f0a Cosmetic changes. 2001-10-29 04:37:24 +00:00
curt
250bab5089 Initial revision of fg_fx.[ch]xx 2001-10-28 16:27:16 +00:00
curt
d41bb00d6e Fix return type on get_num_engines() 2001-10-28 16:19:54 +00:00
curt
2b056c8452 This set of changes touches a *lot* of files. The main goal here is to
fix startup sequence problems where we initialize the FDM before we know
the desired starting altitude.

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

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

There are some glitches still when switching to a new airport or reseting
the sim.  I will work on addressing these, but I need to commit the changes
so far to keep in sync with other developers.
2001-10-28 16:16:30 +00:00
curt
eacec814e1 Fixed a typo in an #if ... 2001-10-26 22:58:28 +00:00
curt
d7ec45ca3b Various tweaks for support of external flight models running as seperate
processes.
2001-10-26 05:42:08 +00:00
curt
035b9dabb1 Fix to check for nonexistant nodename requests. 2001-10-26 05:41:39 +00:00
curt
111f2b7b86 Addition Irix tweaks. 2001-10-24 22:06:47 +00:00
curt
535d708ee0 Various MSVC patches. 2001-10-24 21:25:11 +00:00
curt
33854d9f6a Fixes to remove dependencies on depricated plib code (that just happened to
be removed in the latest plib CVS.)
2001-10-24 21:24:53 +00:00
curt
b6a259dc90 Fixes for win_ratio/aspect_ratio confusion. It was due to confusion in the
meaning of "win_ratio".  I've removed win_ratio and added fov_ratio and
aspect_ratio, as it seems both are needed.

n.b. The multi-line changes in fgReshape comprise:
  extracting common code,
  removing an apparently arbitrary "+1" on the view height,
  changing "set_win_ratio" to "set_aspect_ratio".
2001-10-24 20:28:28 +00:00
curt
fe8c751f1b Macintosh OSX changes. 2001-10-23 22:25:53 +00:00
curt
a5ee77406f Emergency memory leak fix. ***Hopefully*** these fixes will get applied
to JSBSim so they can become permanent.
2001-10-14 16:13:00 +00:00
curt
2fbab0d702 Various floating point / initial value bug fixes from Christian Mayer. 2001-10-11 22:07:45 +00:00
curt
2653a8dc7e Patch to fix wrong case crash. 2001-10-10 18:15:07 +00:00
curt
ca29586a45 Fixed a few spelling/grammer mistakes in the command line help output. 2001-10-10 17:55:29 +00:00
curt
3e968179c2 Patches from Dave Luffto pass the magneto and starter control movements
through the controls interface and the running and cranking flags through
the engine interface.  This has no current effect on LaRCsim (other than
to make the code neater) but is necessary to add engine startup to JSBSim
which is now underway.  I've also put in main.cxx which escaped getting
committed in the previous round of changes - adding this will add
the cranking sound to LaRCsim during engine startup.
2001-10-10 17:50:20 +00:00
curt
a264f99310 Updated with additional engine parameters. 2001-10-05 22:44:15 +00:00
curt
f02107a0cc Tweaks ... 2001-10-05 20:27:43 +00:00
curt
74fc1387a9 Begin wiring Dave Luff's engine model into JSBSim. 2001-10-05 20:27:33 +00:00
curt
07f5955f8c Many engine model tweaks, updates, and enhancements. 2001-10-05 20:27:01 +00:00
curt
cb0aa1baa1 Added panel jitter support dependent on cockpit forces (visual force feedback) 2001-10-05 20:26:21 +00:00
curt
ba10c133fc Syncing with the very latest JSBSim development code. 2001-10-05 20:19:59 +00:00
curt
2297c706e8 Initial revision. 2001-10-05 20:16:16 +00:00
curt
85371ee361 Extend range of ILS in reverse direction to allow back course approaches. 2001-09-24 17:43:33 +00:00
curt
f77877ffa8 White space changes. 2001-09-20 22:10:45 +00:00
curt
1dfe83dfd4 Follow up tweaks. 2001-09-20 21:03:41 +00:00
curt
646f93e618 Enclosed is the latest engine model update that supercedes the
one I sent yesterday.  I have re-zipped all four files so you can
neglect the last lot but only io360.cxx has changed if you've
already committed.  It's untested since I can't start the engine until
John has committed his update with separate properties.  Should
work fine though.
2001-09-19 22:58:29 +00:00
curt
c0f70c0d54 Initial supporting code for runway lighting (not yet working) 2001-09-19 22:30:41 +00:00
curt
f2e89407d2 For ADA fdm turn on hud for center channel. 2001-09-19 22:27:08 +00:00
curt
b991f8fd96 Turn hud off by default for ADA fdm. 2001-09-19 22:26:01 +00:00
curt
bb785797b9 b) FDM - ada.cxx, ada.hxx have been updated with the faux, daux and iaux arrays that you created in flight.hxx. In Flight.hxx I use the get_V_north_rel_ground() set of functions. Please do not comment them out. If you dont comment them, you dont have to forcibly return zero vale to get_Vx(),get_Vy() & get_Vz() in cockpit.cxx. 2001-09-19 22:25:22 +00:00
curt
2154915465 a) HUD - Here is the updated hud code with moving pointers, dials, turn/slip gauge, choice of circular ticks, two sizes for fonts, box for text labels etc. based partly on MIL-STD-1787b and our pilots requirements. Our pilots are not very enthusiastic about all symbols discussed in MIL-STD-1787b (I suppose it is very subjective) and so I did not have motivation to try all of them. Even now I plan to do simple symbols as seen on Russian aircraft since our Air Force pilots are familiar with them. That should be part of my next update. I have included a html document which is basically the old text file plus some snapshots with all possible hud symbols linked to corresponding xml templates. You have to just cut & paste the template, change names and positions to create additional symbols (if you have the real estate on the hud). 2001-09-19 22:23:25 +00:00
curt
45390e0655 Renamed to hud_gaug.cxx 2001-09-19 21:41:46 +00:00
curt
d96dd611b1 Tweaks. 2001-09-14 20:54:46 +00:00
curt
bfc56f9d17 More changes in support of UIUCModel. 2001-09-14 20:47:27 +00:00
curt
19e7e93787 /FDM/UIUCModel/uiuc_aircraft.h
Added variables necessary for new abilities.
/FDM/UIUCModel/uiuc_coefficients.cpp
/FDM/UIUCModel/uiuc_coefficients.h
/FDM/UIUCModel/uiuc_coef_lift.cpp
	Added CZfa.
/FDM/UIUCModel/uiuc_controlInput.cpp
	Added aileron and rudder inputs.
/FDM/UIUCModel/uiuc_engine.cpp
	Added throttle input.
/FDM/UIUCModel/uiuc_engine.h
/FDM/UIUCModel/uiuc_map_CL.cpp
/FDM/UIUCModel/uiuc_map_engine.cpp
/FDM/UIUCModel/uiuc_map_init.cpp
/FDM/UIUCModel/uiuc_menu.cpp
/FDM/UIUCModel/uiuc_wrapper.cpp
	Added a few new functions.
/FDM/UIUCModel/uiuc_wrapper.h
/FDM/UIUCModel/uiuc_map_controlSurface.cpp
/FDM/UIUCModel/uiuc_initializemaps.cpp
/FDM/UIUCModel/uiuc_initializemaps.h
/FDM/UIUCModel/uiuc_map_keyword.cpp
/FDM/UIUCModel/Makefile.am
/Main/Makefile.am

added files
/FDM/UIUCModel/uiuc_map_fog.cpp
	For the visibility ability.
/FDM/UIUCModel/uiuc_map_fog.h
/FDM/UIUCModel/uiuc_fog.cpp
/FDM/UIUCModel/uiuc_fog.h
2001-09-14 20:36:34 +00:00
curt
9385f607bc Initial revision. 2001-09-04 14:39:12 +00:00
curt
a691a3a3f6 Changes to better support arbitrary external flight models. 2001-09-04 14:38:15 +00:00
curt
a6ab6f0117 Fixed option help (Tony Peden). 2001-08-31 23:55:58 +00:00
curt
019b6d29fe Fixed [simple] terrain following altitude hold mode to work again. 2001-08-31 18:07:23 +00:00
curt
0f68fb3633 Initial revision. 2001-08-21 21:19:42 +00:00
curt
90471b6fad Added information on enabling the http server. 2001-08-21 21:19:26 +00:00
curt
c2e6992b5e Added httpd protocol so you can interface to a running copy of FlightGear
via a web browser, see README.IO for more details.
2001-08-21 21:13:55 +00:00
curt
b6520485ca Fix a segfault on exit. Introduces a small memory leak if the instrument
panel is reloaded, but *hopefully* David will fix this soon. ;-)
2001-08-16 16:06:55 +00:00
curt
0d76618950 Various tweaks for mingwin32. 2001-08-14 22:18:19 +00:00
curt
59ccf90a60 Misc tweaks. 2001-08-14 19:47:40 +00:00
curt
db7b3ec096 - some code rearrangement for readability and maintainability
- commented out some destructor code that's causing crashes
  (temporarily creates a minor memory leak, triggered only when
  reloading the panel)
2001-08-10 05:17:40 +00:00
curt
79b25c850e - modified to use pointers to bindings to avoid copying 2001-08-10 05:16:41 +00:00
curt
26bfe067e9 Fixed gauge spelling error. 2001-08-07 21:19:29 +00:00
curt
1f4788fbb5 - declared FGCondition class and subclasses
- declared FGConditional abstract base class
- declared fgReadCondition global function
2001-08-03 00:19:59 +00:00
curt
4de352cbe8 - added FGCondition class and subclasses
- implemented FGConditional abstract base class
- added fgReadCondition global function
2001-08-03 00:19:41 +00:00
curt
cd6683bdb5 - FGBinding now extends FGConditional
- switched to a vector of binding pointers, to avoid copying
- removed FGBinding copy constructor declaration
2001-08-03 00:19:19 +00:00
curt
dd440e7829 - added support for conditions in FGBinding
- switched to a vector of binding pointers, to avoid copying
- removed FGBinding copy constructor implementation
2001-08-03 00:19:03 +00:00
curt
0cf62da796 - changed comments to proper doc formatting
- added support for conditions and group layers
- have all panel components but FGPanel itself derived from
  FGConditional
2001-08-03 00:18:21 +00:00
curt
b077c3a8a0 - added support for conditions
- added support for group layers
2001-08-03 00:17:58 +00:00
curt
17c781a870 Remove cached intersection code so that we can support intersecting with
dynamic objects.
2001-07-31 19:54:29 +00:00
curt
57b4283383 MSVC tweak. 2001-07-30 22:54:20 +00:00
curt
45904a45eb Various MSVC tweaks and warning fixes. 2001-07-30 22:53:53 +00:00
curt
89bc634cd6 initialize marker_xs. 2001-07-30 22:30:05 +00:00
curt
e7e67fd468 Minor fix for Irix. 2001-07-30 22:06:33 +00:00
curt
ad48935028 - implemented DME ETE and speed
- modified DME distance to return nautical miles rather than meters
- modified to use /panel/dme/switch-position to select DME frequency
2001-07-30 16:26:46 +00:00
curt
d7c3801bae - declared new methods for getting DME ETE and speed 2001-07-30 16:26:25 +00:00
curt
cfe05480f4 - modified switch layers to use layer[0] and layer[1] rather than
layer1 and layer2; panel config changes required
2001-07-30 16:26:02 +00:00
curt
4678a4db66 - added support for reporting SGPropertyNode::NONE type 2001-07-27 22:00:48 +00:00
curt
f725b12de5 - added optional min, max, and wrap parameters to property-adjust 2001-07-27 22:00:35 +00:00
curt
921a1290f5 - fixed typos relating to nav frequency properties 2001-07-27 22:00:25 +00:00
curt
b222051ee4 - modified readAction to use FGBinding 2001-07-27 22:00:17 +00:00
curt
0f156c7280 - modified PanelAction to use FGBinding, like keyboard and joystick
events
- removed all classes derived from PanelAction (no longer needed)
2001-07-27 21:59:53 +00:00
curt
6d1c383814 Added protocol to output out complete control positions. 2001-07-27 14:23:01 +00:00
curt
5796b95988 Updates. 2001-07-26 17:17:11 +00:00
curt
58c936cc4e - ensure that all throwables are caught
- use new sg_throwable::getFormattedMessage method
2001-07-24 23:51:57 +00:00
curt
ff91dbfd7b - catch sg_exception instead of sg_io_exception
- use guiErrorMessage
- added new properties /sim/view/pilot/x-offset-m,
  /sim/view/pilot/y-offset-m, and /sim/view/pilot/z-offset-m to
  control pilot-position offset from CG
2001-07-24 23:51:47 +00:00
curt
c6711fb877 - catch sg_exception instead of sg_io_exception
- use new sg_throwable::getFormattedMessage method
2001-07-24 23:51:36 +00:00
curt
ffd94e24a1 - removed some verbose output 2001-07-24 23:50:52 +00:00
curt
c5d7944b17 - added guiErrorMessage 2001-07-24 23:50:44 +00:00
curt
f636a6ce6d - added guiErrorMessage (sends both to log and dialog, if GUI active) 2001-07-24 23:50:34 +00:00
curt
ddbd85aa7b - catch sg_exception instead of sg_io_exception
- use guiErrorMessage
2001-07-24 23:50:08 +00:00
curt
43cf7b07fd Tweaks. 2001-07-24 01:02:59 +00:00
curt
d76c92df5e Initial revision. 2001-07-23 22:17:47 +00:00
curt
a40a60a213 Multi-engine throttle fixes. 2001-07-23 20:32:31 +00:00
curt
97067e62a2 Added recent ground effect modeling changes. 2001-07-23 20:31:59 +00:00
curt
450de25cc7 - added get_gear_down and set_gear_down (bool) 2001-07-23 20:31:40 +00:00
curt
cf73bc2365 - added property /controls/gear-down 2001-07-23 20:31:33 +00:00
curt
67091a4b13 - fixed typo that prevented ADF needle from being offset by aircraft
heading
2001-07-23 20:31:11 +00:00
curt
6fdbbaf475 Initial revision. 2001-07-22 20:01:25 +00:00
curt
96b88e539f Move FGControls declaration to globals.hxx 2001-07-22 19:51:16 +00:00
curt
fe82a3d31f Make the tile loader more tolerant of situations where the cache is full,
but no entries qualify for removal.  It will keep trying to schedule the
tile(s) until an entry frees up.  Entries in the cache do not qualify for
removal if they are in the process of being loaded.
2001-07-20 22:25:12 +00:00
curt
20f50d349f CM:
I've updated the WeatherDatabase to be able to use only the n closest
stations. This can speed up the initalization dramatically.

To take a benefit from that you need:

- http://129.13.102.67/out/flight/current.txt.gz in
  FG_ROOT/weather/current.txt.gz
- --prop:/environment/weather/working-type=internet
- --prop:/environment/weather/max-stations=what_ever_you_want

The WeatherCM stuff now publishes its data in the property system.

    /environment/weather/wind-north-mps
    /environment/weather/wind-east-mps
    /environment/weather/wind-up-mps
    /environment/weather/temperature-K
    /environment/weather/air-pressure-Pa
    /environment/weather/vapor-pressure-Pa
    /environment/weather/air-density

are the new properties.
2001-07-19 22:10:14 +00:00
curt
1de5373ed9 - don't set computer sound volume -- that's up to the user 2001-07-19 04:55:58 +00:00
curt
4141c6f8bb - moved main to mainLoop, and added top-level main to catch any missed
exceptions; we'll make it smarter later
2001-07-19 04:54:53 +00:00
curt
5abff48c8a - catch exception from readProperties and exit 2001-07-19 04:53:13 +00:00
curt
7004475732 - catch exception from readProperties and show dialog 2001-07-19 04:51:05 +00:00
curt
004055a3be Fix include order for FreeBSD. Actually this is the published order for
Linux, but linux seems to be more tolerant of the includes being out of order.
2001-07-16 23:12:39 +00:00
curt
76a94d8f02 Tweaks to base version check code. 2001-07-16 19:37:13 +00:00
curt
093960be31 Check for the proper version of the base package and exit gracefully if not
found.
2001-07-16 19:17:58 +00:00
curt
ef5037fe42 Center display upon leaving mouse mode until we can come up with a more
comprehensive solution.
2001-07-16 04:44:49 +00:00
curt
bbc2d1758e - added /sim/temp/winding-ccw property
- added /sim/temp/full-screen property
- added /sim/fdm/data-logging property
2001-07-16 04:35:35 +00:00
curt
5e58976862 - removed hard-coded bindings for ^R (toggle winding-ccw), W (toggle
3DFX full-screen mode), Shift-F10 (toggle FDM data logging)
2001-07-16 04:35:15 +00:00
curt
98b90a2a37 - make certain UVW velocities don't overright airspeed-kt at startup 2001-07-16 04:34:46 +00:00
curt
c5c5a83ab2 Use try/catch to flag FDM initialization errors. 2001-07-16 04:15:02 +00:00
curt
3cca0caced Use throw to report config file load errors. 2001-07-16 04:14:34 +00:00
curt
f2515f709e Updated so load/save will work. 2001-07-13 21:45:48 +00:00
curt
361fa84d18 More work on the external view panning. 2001-07-13 16:50:35 +00:00
curt
26d12e4b69 Synced with latest JSBSim. 2001-07-13 16:41:23 +00:00
curt
dae9b63a14 Nuked the segfault on exit bug everyone was seeing. The material lib could
have multiple ptrs to individual entries (aliases) but the destructor was
trying to delete every ptr so it would delete already freed memory for aliases.
I implimented a simple ref counting scheme (similar to the plib mechanism) to
track references to material lib entries and only "delete" them when the last
reference is removed.
2001-07-13 05:15:29 +00:00
curt
a9289994b0 Most recent changes blew up LaRCsim so we are reverting to a previous
version.
2001-07-13 05:13:29 +00:00
curt
4e74c02688 Fix a comment. 2001-07-13 05:12:53 +00:00
curt
e4044e469f We check if the ptr is NULL before deleting it, so set it to NULL after
deleting it.
2001-07-13 05:12:30 +00:00
curt
0ff9311948 Just being a tad more careful with setting the ptr to NULL after deleting
it.
2001-07-13 05:11:46 +00:00
curt
0fa4b9a154 Leave view as is when leaving mouse pans view mode. 2001-07-12 23:36:31 +00:00
curt
87fbd941ba - added full doc comments for all functions
- added fgSetArchivable, fgSetReadable, and fgSetWritable functions
2001-07-12 23:36:04 +00:00
curt
6beb00f407 Made the following properties archivable:
- /sim/time/gmt
- /sim/view/offset-deg
- /sim/view/goal-offset-deg
- /sim/field-of-view
- /consumables/fuel/tank[0]/level-gal_us
- /consumables/fuel/tank[1]/level-gal_us
- /autopilot/locks/altitude
- /autopilot/settings/altitude-ft
- /autopilot/locks/glide-slope
- /autopilot/locks/terrain
- /autopilot/settings/climb-rate-fpm
- /autopilot/locks/heading
- /autopilot/settings/heading-bug-deg
- /autopilot/locks/wing-leveler
- /autopilot/locks/nav[0]
- /autopilot/locks/auto-throttle
- /autopilot/control-overrides/rudder
- /autopilot/control-overrides/elevator
- /autopilot/control-overrides/throttle
- /environment/visibility-m
- /environment/wind-north-fps
- /environment/wind-east-fps
- /environment/wind-down-fps
2001-07-12 23:35:56 +00:00
curt
5daff6705a - modified set_V_(north|east|down) to use set_Velocities_Local, so
that overrides in JSBSim will work (i.e. properties can be set)
- modified set_(u|v|w)Body to use set_Velocities_Wind_Body, so
  that overrides in JSBSim will work (i.e. properties can be set)
2001-07-12 23:35:36 +00:00
curt
ac1342de59 Made the following properties archivable:
- /position/latitude-deg
- /position/longitude-deg
- /position/altitude-ft
- /orientation/roll-deg
- /orientation/pitch-deg
- /orientation/heading-deg
- /velocities/speed-north-fps
- /velocities/speed-east-fps
- /velocities/speed-down-fps
(TODO: add rotational velocities)
2001-07-12 23:35:18 +00:00
curt
e0ffdf2109 - removed /controls/brakes/all property (no longer needed, since we
can bind a single input to multiple properties)
Made the following properties archivable:
- /controls/aileron
- /controls/elevator
- /controls/elevator-trim
- /controls/rudder
- /controls/flaps
- /controls/throttle[*]
- /controls/mixture[*]
- /controls/propellor-pitch[*]
- /controls/brakes[*]
2001-07-12 23:34:57 +00:00
curt
353e09ea0b Made the following properties archivable:
- /steam/airspeed-kt
- /steam/altitude-ft
- /steam/altimeter-datum-mb
- /steam/turn-rate
- /steam/slip-skid
- /steam/vertical-speed-fpm
- /steam/gyro-compass-deg
- /steam/adf-deg
- /steam/gyro-compass-error-deg
- /steam/mag-compass-deg
2001-07-12 23:34:38 +00:00
curt
a3f8653064 Made the following properties archivable:
- /radios/nav[0]/frequencies/selected-mhz
- /radios/nav[0]/standby-mhz
- /radios/nav[0]/radials/selected-deg
- /radios/nav[0]/volume
- /radios/nav[0]/ident
- /radios/nav[1]/frequencies/selected-mhz
- /radios/nav[1]/standby-mhz
- /radios/nav[1]/radials/selected-deg
- /radios/nav[1]/volume
- /radios/nav[1]/ident
- /radios/adf/frequencies/selected-khz
- /radios/adf/frequencies/standby-khz
- /radios/adf/rotation-deg
- /radios/adf/volume
- /radios/adf/ident
2001-07-12 23:34:27 +00:00
curt
4bd5a0ab29 Made the following properties archivable:
- /sim/panel/visibility
- /sim/panel/x-offset
- /sim/panel/y-offset
2001-07-12 23:34:16 +00:00
curt
c0309ef524 "Fix a bug" in mouse-pans-external view mode. 2001-07-12 20:03:37 +00:00
curt
e2dd3ac3e5 MSVC tweaks. 2001-07-12 17:55:44 +00:00
curt
1cdcaef13d sync with latest JSBSim ... 2001-07-12 17:55:27 +00:00
curt
2fba4df258 Begin stubbing in some wrapper code in preparation for runway lighting. 2001-07-12 15:03:49 +00:00
curt
2cb51a228b Restructured code a bit to split out the bits that create objects on the
fly.  More work needs to be done.
Added apt_signs.[ch]xx
2001-07-12 15:03:09 +00:00
curt
7b917bbd5c Removed FGControls.{cpp,h} 2001-07-11 23:53:45 +00:00
curt
4c281f0c65 Fix a dialog box cancel problem. 2001-07-11 23:51:31 +00:00
curt
b338698c79 - move data structure allocation into constructor (it doesn't belong
in init)
- free data structures in destructor
- ensure that interpolation tables are allocated before any searching
  is done; otherwise, starting at some locations (such as CYYZ) causes
  a segfault
2001-07-11 18:54:50 +00:00
curt
4b23576df1 Shuffled around and restructured the terrain elevation interesection code
to make it usable by the threaded tile loader for placing objects at ground
level at load time.
2001-07-11 15:51:21 +00:00
curt
bc4859c0fb Attempt to fix a segfault on exit, although I don't think this quite
does it.  We'll have to dig deeper.
2001-07-11 15:50:18 +00:00
curt
1e474b4773 Restructured the audio initialization order and don't attempt to continue
loading while intro music is being played.
2001-07-11 06:01:55 +00:00
curt
347d951bca Fixed a problem with recentering/snaping the view direction to forward so
the panel can come back.
2001-07-11 06:00:55 +00:00
curt
96eff71a13 20010710 sync with JSBSim. 2001-07-10 15:56:38 +00:00
curt
968b9fcb9c - /sim/model/h-rotation renamed to /sim/model/heading-offset-deg
- /sim/model/p-rotation renamed to /sim/model/roll-offset-deg
- /sim/model/r-rotation renamed to /sim/model/pitch-offset-deg
- /sim/model/x-offset += "-m"
- /sim/model/y-offset += "-m"
- /sim/model/z-offset += "-m"
2001-07-09 16:17:28 +00:00
curt
5f12c963d6 - modified to take advantage of SGCommandState to cache property nodes
and other information and avoid expensive lookups in the main loop.
2001-07-09 16:17:20 +00:00
curt
589eb42699 Fixed a typo, tank2 -> tank[1] 2001-07-09 15:50:36 +00:00
curt
df793e6763 Fixed a typo ... 2001-07-09 12:58:08 +00:00
curt
82f9528927 Fix a bug with old-style binary scenery compatibilty where no ground lighting
was generated.
2001-07-08 23:38:56 +00:00
curt
6116accf6a Various cleanups, jettison plib-1.2.0 support, remove a potential memory
leak.
2001-07-08 23:38:16 +00:00
curt
4520173d9b Allow other routines to increment/decrement goal_view_offset while keeping it
in the allowable 0-360 range.
2001-07-08 23:37:14 +00:00
curt
297241c318 Untweak my button tweak. 2001-07-08 23:30:44 +00:00
curt
90634ffc23 Added "/sim/startup/browser-app" as a property.
Added auto coordination to the --help output.
2001-07-08 23:30:17 +00:00
curt
4fe4a14ab8 Added "/sim/startup/browser-app" as a property. 2001-07-08 23:29:48 +00:00
curt
76815256f7 Updated to work with current property naming convention. 2001-07-06 21:38:28 +00:00
curt
74bb87e855 Use the new plib-1.4.1 sound interface to set a maximum of 6 concurrent
sounds (rather than the default 3).
2001-07-03 23:07:57 +00:00
curt
706db85486 gcc-3.0 fixes. 2001-07-03 22:39:16 +00:00
curt
db40b8c48b Rather than create an SGTime structure and trigger a spurious
"*** NO TIMEZONE" error message, just grab the modified julian date
directly.
2001-07-03 16:45:34 +00:00
curt
fe0c17625b Upgraded to handle new default.apt.gz file. 2001-07-03 16:44:37 +00:00
curt
7ec0025615 Add a link library needed by Irix. 2001-07-02 22:55:32 +00:00
curt
0b8c3564ff Add a library needed by Irix. 2001-07-02 22:55:16 +00:00
curt
72a95d570c ** Properties Renamed
- /autopilot/locks/nav1 => /autopilot/locks/nav[0]
- /autopilot/settings/altitude += "-ft"
- /autopilot/settings/climb-rate += "-fpm"
- /autopilot/settings/heading-bug += "-deg"
- /consumables/fuel/tank1/level => /consumables/fuel/tank[0]/level-gal_us
- /consumables/fuel/tank2/level => /consumables/fuel/tank[1]/level-gal_us
- /engines/engine0/cht => /engines/engine[0]/cht-degf
- /engines/engine0/egt => /engines/engine[0]/egt-degf
- /engines/engine0/fuel-flow => /engines/engine[0]/fuel-flow-gph
- /engines/engine0/mp => /engines/engine[0]/mp-osi
- /engines/engine0/rpm => /engines/engine[0]/rpm
- /environment/clouds/altitude += "-ft"
- /environment/magnetic-dip += "-deg"
- /environment/magnetic-varation += "-deg"
- /environment/visibility += "-m"
- /environment/wind-down += "-fps"
- /environment/wind-east += "-fps"
- /environment/wind-north += "-fps"
- /orientation/heading += "-deg"
- /orientation/heading-magnetic += "-deg"
- /orientation/pitch += "-deg"
- /orientation/roll += "-deg"
- /position/altitude += "-ft"
- /position/altitude-agl += "-ft"
- /position/latitude += "-deg"
- /position/longitude += "-deg"
- /radios/adf/frequencies/selected += "-khz"
- /radios/adf/frequencies/standby += "-khz"
- /radios/adf/rotation += "-deg"
- /radios/nav1/* => /radios/nav[0]/*
- /radios/nav2/* => /radios/nav[1]/*
- /radios/nav[*]/dme/distance += "-nm"
- /radios/nav[*]/frequencies/selected += "-mhz"
- /radios/nav[*]/frequencies/standby += "-mhz"
- /radios/nav[*]/radials/actual += "-deg"
- /radios/nav[*]/radials/selected += "-deg"
- /sim/view/goal-offset += "-deg"
- /sim/view/offset += "-deg"
- /steam/adf += "-deg"
- /steam/airspeed += "-kt"
- /steam/altitude += "-ft"
- /steam/gyro-compass += "-deg"
- /steam/gyro-compass-error += "-deg"
- /steam/mag-compass += "-deg"
- /steam/vertical-speed += "-fpm"
- /velocities/airspeed += "-kt"
- /velocities/side-slip += "-rad"
- /velocities/speed-down += "-fps"
- /velocities/speed-east += "-fps"
- /velocities/speed-north += "-fps"
- /velocities/uBody += "-fps"
- /velocities/vBody += "-fps"
- /velocities/wBody += "-fps"
- /velocities/vertical-speed += "-fps"
2001-07-02 22:27:24 +00:00
curt
75fd10601a - fixed doubled bindings for joystick buttons 2001-07-02 22:26:19 +00:00
curt
4503cbb8b7 Oops, typo. 2001-07-02 22:14:09 +00:00
curt
1d486add56 Tweaks. 2001-07-02 22:12:22 +00:00
curt
5d2855f1ec Updated bug fix to make hopefully more thread safe. 2001-07-02 22:11:56 +00:00
curt
41260ee546 Fixed a bug with warp variable initialization. fgTie() was nuking out the
initial value.
2001-07-02 16:44:02 +00:00
curt
9fc9c8d55a Fix what looks like it could potentially cause a problem with accessing
previously free'd memory.
2001-06-30 00:27:13 +00:00
curt
eb2b614117 - changed SGPropertyNode::UNKNOWN to SGPropertyNode::UNSPECIFIED 2001-06-29 03:47:55 +00:00
curt
1b8f9cd1b4 - modified to support new prototype for command functions, with extra
SGCommandState parameter
- changed SGPropertyNode::UNKNOWN to SGPropertyNode::UNSPECIFIED
2001-06-29 03:47:39 +00:00
curt
d9bcec2851 - added variable support for the saved command state and for the local
argument copy in FGBinding
- removed redundant FGBinding::_fire internal method
- declared copy constructor for FGBinding
2001-06-29 03:47:19 +00:00
curt
ce45dbefe0 - modified FGBinding to keep a local copy of the argument property
node, and to modify that directly for scaling events: that will make
  handling joystick axes much more efficient
- modified FGBinding to work with the new command state, so that
  commands can save their state (i.e. compiled arguments) from the last
  pass
- removed FGBinding::_fire implementation
- implemented FGBinding copy constructor
2001-06-29 03:47:07 +00:00
curt
9ff7217961 Fix a JSBSim airport elevation bug. 2001-06-26 22:16:02 +00:00
curt
c3131e5e42 input.cxx: cleaned up some warnings.
fg_props.cxx: fixed a type "if (axisLong = 0) {" ...
2001-06-26 22:05:11 +00:00
curt
93178a944b - added declaration for method get_step 2001-06-26 22:00:31 +00:00
curt
2b6873903c - added implementation for method get_step 2001-06-26 22:00:21 +00:00
curt
7a723244a0 - modified to use the new /sim/freeze property 2001-06-26 22:00:10 +00:00
curt
7fd44010e1 - /autopilot/locks/altitude now returns true only for FG_ALTITUDE_LOCK
- added /autopilot/locks/terrain (bool)
- added /sim/time/warp and /sim/time/warp-delta (both long)
- added /sim/freeze property (bool)
- added /sim/rendering/textures property (bool)
2001-06-26 21:59:59 +00:00
curt
aa5ad5ad6e - added property-multiply command with argument 'factor'
- added confirm dialog for exit command
- added tile-cache-reload command
- added lighting-update command
2001-06-26 21:59:49 +00:00
curt
1c2b612926 - removed hard-coded bindings for ^G, ^T, ESC, M, T, X, Z, m, p, t, x,
z, F2, F4, and F9 (see keyboard.xml for replacements)
- no longer dump position report to log when paused (CLO: Argh! Gasp! I use
  that!)
2001-06-26 21:59:35 +00:00
curt
b8b1425761 Removed NetworkOLK/features.[ch]xx 2001-06-26 20:41:26 +00:00
curt
66280d99a9 Moved DEFAULT_AP_HEADING_LOCK to newauto.hxx
it was defined in both fg_props.cxx and newauto.cxx
This is I believe where it belongs.  (NHV)
2001-06-26 20:14:13 +00:00
curt
af2a0da64c Patches contributed by Norman Vine to do ultra-hires tiled screen dumps. 2001-06-26 18:23:07 +00:00
curt
0648e5c051 Updated to read new scenery configuration files. 2001-06-22 20:35:39 +00:00
curt
d99b8fb2ba Synced to latest version of JSBSim which [hopefully] includes all of Erik's
Irix patches.
2001-06-20 22:29:31 +00:00
curt
4c8a7c3cef - fixed an initialization order bug that prevented reading correct
ground elevation at start-up
2001-06-20 22:22:26 +00:00
curt
b97673d877 - added Alex Perry's patch to support more sophisticated hat switches
for the view axes
2001-06-20 20:52:10 +00:00
curt
b498efa47e - adjusted for no-value constructor for FGPanel
- removed unused DefaultPanel, DefaultInstrument, classes
- removed unused defaultTexture
2001-06-20 20:51:45 +00:00
curt
982f145bb7 - changed to no-value constructor for FGPanel
- removed update method with args
2001-06-20 20:51:34 +00:00
curt
4d96e62a10 - added Melchior's patches to allow a joystick axis to act as a pair
of buttons (by adding "high" or "low" to the path before "binding")
2001-06-20 20:51:15 +00:00
curt
6814f9966b - changed to favour height over width when the aspect is less than
4:3, to avoid a gap on top (suggested by Norm Vine)
2001-06-20 20:50:49 +00:00
curt
4be7feddf6 Changed help message to --config= rather than --file= 2001-06-18 20:17:43 +00:00
curt
2b9727a4da Ooops, fixed a typo ... 2001-06-18 20:13:23 +00:00
curt
02ce62548b Remove fgjs from the makefile for the 0.7.7 release. 2001-06-18 18:09:47 +00:00
curt
d2eb835c84 Add *.h files to Makefile.am so they get included in the .tar.gz 2001-06-14 22:23:58 +00:00
curt
d839e84f99 Cleaned up various warning messages. 2001-06-14 22:18:01 +00:00
curt
81eb6d345d Fixed various warnings. 2001-06-14 22:10:29 +00:00
curt
e779ec44b4 Cleaned up various warnings. 2001-06-14 22:07:19 +00:00
curt
60553b64d1 Cleaned up various warning messages. 2001-06-14 22:02:38 +00:00
curt
86b7f1b26a - check for null property before trying to copy properties 2001-06-14 20:25:39 +00:00
curt
46b82360b0 Fixed a couple items for Norman's large resolution print routines. 2001-06-13 20:31:49 +00:00
curt
6420088452 Check for a NULL current_panel before shelling out mouse actions to a panel
method.
2001-06-13 16:41:02 +00:00
curt
d0126ec533 Fixed some warnings, updated whitespace. 2001-06-12 23:37:29 +00:00
curt
3d0ed99651 Cygwin fixes contributed by Norman Vine. 2001-06-12 23:15:16 +00:00
curt
da33ab1cf8 Oops, fixed a bug introduced in the previous round that munged many
runway textures.
2001-06-12 22:24:52 +00:00
curt
5f71bca303 Fixed panel edge artifacts (due to forced wrapping of background texture) 2001-06-12 19:07:13 +00:00
curt
bd0b5085db Fixed an data initialization problem that was causing MSVC grief. 2001-06-12 18:45:23 +00:00
curt
15fadd1687 There was a typo in the $fgbase/materials file where an alias was
pointing to a non-existant material name.  (This has been fixed.)

The alias code didn't check to see if this condition would occur so it
was putting a 'NULL' entry in the material library which was causing
the crash.  It now checks for and skips bad aliases and prints a
warning message.
2001-06-12 17:52:09 +00:00
curt
9337a5446c Added David's 'real' patch rather than my guess at it. 2001-06-12 16:25:36 +00:00
curt
c086f3e0e5 Property node patches by David Megginson. 2001-06-12 05:18:43 +00:00
curt
3899259cf7 - changed SGValue::Type references to SGPropertyNode::Type
- added "long" to list of known types
2001-06-12 05:18:15 +00:00
curt
80bc1edcd5 removed fgHasValue
removed fgGetValue
added fgHasNode
2001-06-12 05:17:49 +00:00
curt
6a9051883c changed SGValue::Type references to SGPropertyNode::Type 2001-06-12 05:17:33 +00:00
curt
2795fefa71 replaced 'static const int' with enum, as suggested by Christian
Meyer, to work around yet more MSVC bugs
2001-06-12 05:16:57 +00:00
curt
fe1f65eb24 replaced dynamically-sized arrays with statically-sized ones, to
work around MSVC bugs.
2001-06-12 05:16:38 +00:00
curt
72c7dc57fd replaced SGValue with SGPropertyNode throughout. 2001-06-12 05:15:48 +00:00
curt
1aa5235f17 Updated to work with David's new property naming conventions. 2001-06-08 05:49:32 +00:00
curt
7f6d4b0a01 Irix Mips compiler tweaks. 2001-06-06 23:31:48 +00:00
curt
c64e284c51 More property node optimizations. 2001-06-06 19:12:24 +00:00
curt
64254d7410 Optimized property node accesses. 2001-06-06 17:43:16 +00:00
curt
083ba99657 Optimized key property node accesses. 2001-06-06 17:21:34 +00:00
curt
70cfe7e606 Debugging output. 2001-06-06 17:11:35 +00:00
curt
71380de883 White space tweaks. 2001-06-06 17:02:39 +00:00
curt
d7ae38c0dd Optimized property manager accesses.
Fixed a creep in bug in the altitude hold autopilot.
2001-06-06 17:02:25 +00:00
curt
a54e10ac12 Part of David's command binding updates. 2001-06-05 22:13:26 +00:00
curt
5cf0bae003 JSBSim tweaks. 2001-06-05 22:12:57 +00:00
curt
dacb644ae7 - replace FGBFI::update with fgUpdateProps
- switched to properties for calculating RPM for model selector
- no longer includes bfi.hxx
- no longer includes keyboard.hxx
2001-06-05 22:12:28 +00:00
curt
286817978d - added load and save commands
- added panel-load command
- added preferences-load command
2001-06-05 22:12:17 +00:00
curt
cdfd5cada4 - removed all reference to BFI; use fgInitProps instead 2001-06-05 22:12:08 +00:00
curt
f7c1a37611 File no longer used. 2001-06-05 22:11:56 +00:00
curt
f367e6d432 - removed bfi.cxx and bfi.hxx
- removed keyboard.cxx and keyboard.hxx
2001-06-05 22:11:37 +00:00
curt
9b7c5c4ded - moved declarations of GLUTkey, GLUTkeyup, GLUTspecialkey, and
GLUTspecialkeyup from obsolete keyboard.hxx to here
2001-06-05 22:11:25 +00:00
curt
2a34a5d815 - moved shift-F1 and shift-F2 (load/save) bindings to XML
- moved shift-F3 (reload panel) bindings to XML
- moved shift-F4 (reload prefs) bindings to XML
- moved shift-F5, shift-F6, shift-F7, and shift-F8 (scroll panel) to
  XML
- no longer includes Main/bfi.hxx
- added implementations of GLUTkey, GLUTkeyup, GLUTspecialkey, and
  GLUTspecialkeyup
2001-06-05 22:11:16 +00:00
curt
149ddd450b - removed unused reference to bfi.hxx 2001-06-05 22:11:00 +00:00
curt
a8fb1aabca - eliminated all references to BFI; use properties instead
- copied DEFAULT_AP_HEADING_LOCK over from old BFI
2001-06-05 22:10:33 +00:00
curt
f9533d2f4b - eliminated all references to BFI; use properties instead 2001-06-05 22:10:25 +00:00
curt
9c0925744d Synced with latest JSBSim as of June 5, 2001. 2001-06-05 20:58:48 +00:00
curt
b31c520a39 Removed 'x' from the xgl* calls. 2001-06-05 19:50:36 +00:00
curt
095fb5c946 Irix/MIPS compiler fixes. 2001-06-04 21:47:48 +00:00
curt
cce5426ac8 Fixed a problem where all hardcoded keybindings were being double executed. 2001-06-04 21:40:38 +00:00
curt
b75e1af838 More tweaks related to David's input patches. 2001-06-04 21:38:44 +00:00
curt
30c23281d9 Joystick functionality has been moved to ../Joystick. 2001-06-04 21:38:03 +00:00
curt
698004e401 Eliminate a couple compiler warnings. 2001-06-04 21:30:03 +00:00
curt
9124dd945d Files moved from ../Joystick to here. 2001-06-04 21:26:53 +00:00
curt
7821a45772 - make repeatable for keys and joystick buttons default to false
rather than true; it's too confusing for users if keys and buttons
  repeat by default (keys weren't anyway, but they were supposed to)
2001-06-04 21:15:23 +00:00
curt
0dc313c955 - reduced amount of logging
- fixed bug with incorrect modifiers for some joystick buttons; trim
  buttons now work on my system
2001-06-04 21:15:09 +00:00
curt
96be3ad601 - no longer include Joystick/joystick.hxx
- include Input/input.hxx
- register GLUTkeyup and GLUTspecialkeyup with glut
- comment out call to fgJoystickRead
- comment out call to fgJoystickInit
- add call to FGInput::update to replace fgJoystickRead
2001-06-04 21:08:06 +00:00
curt
c9616e8c10 - added declarations for GLUTkeyup and GLUTspecialkeyup to capture
key-release events
2001-06-04 21:07:54 +00:00
curt
523cc794df - implemented GLUTkeyup and GLUTspecialkeyup 2001-06-04 21:07:39 +00:00
curt
d2a20a3824 - no longer include joystick.hxx 2001-06-04 21:07:27 +00:00
curt
d00ea4540f - removed Joystick library 2001-06-04 21:07:16 +00:00
curt
2d1d8cd274 - added FG_MOD_UP to use key-up or button-up as a command modifier;
this way, keyboard buttons can work the same way as joystick buttons
- added declaration for FGBinding::fire(double); this adds a setting
  property to the arguments passed to the command, so that it can use
  the current axis position as part of its calculations
- added data structures from joystick.cxx
2001-06-04 21:07:02 +00:00
curt
112a531f42 - added FGBinding::fire(double) - added support for "mod-up" property
- go back to using index as key code (otherwise, we'll get nasty
  surprises when users try to override bindings)
- XML config file now nests bindings inside modifiers
- allow user to specify whether key is repeatable
- removed hard-coded bindings for 'b', ',', and '.'
- added code from joystick.cxx, with the following major changes:
  - changed from js0, axis0, button0 to js[0], axis[0], button[0], etc.
  - removed factor, offset, etc. since they will be args to command in
    binding
  - allow multiple bindings, as with key mappings
  - allow access to keyboard modifier keys for bindings
  - include infrastructure for modifiers (only FG_MOD_UP is used so far)
  - removed unused 'saturation' property
  - temporarily removed capture property and trim code; it will have to
    be rewritten to be more generic
  - allow modifiers for joystick buttons
2001-06-04 21:06:48 +00:00
curt
864e862150 - removed Joystick subdirectory 2001-06-04 21:05:53 +00:00
curt
a6e0a69637 Removed cloud layers added for testing. 2001-06-04 20:48:43 +00:00
curt
a09eb4951e Initial revision of Tony's joystick configurator. 2001-06-01 20:56:13 +00:00
curt
2467c8e2f8 Move a variable declaration out of the case statement. 2001-06-01 20:29:03 +00:00
curt
35533b3a8d Test for null object after load before trying to connect it into the scene
graph (which would cause a crash.)
2001-06-01 18:04:10 +00:00
curt
b2f604ad00 Reduce output verbosity. 2001-06-01 17:55:49 +00:00
curt
f99f670aed - renamed /sim/startup/view-offset to /sim/view/offset 2001-06-01 17:53:20 +00:00
curt
0ec19036b8 - no longer allocate the root property node for globals; globals does
it itself
- tweaks to model path loading.
2001-06-01 17:53:09 +00:00
curt
57aacb64f3 - added an instance of SGCommandMgr
- added a get_commands() method
2001-06-01 17:52:50 +00:00
curt
1b0878a835 - modified setup so that the globals object creates and deletes its
own instances of the property and command managers
2001-06-01 17:52:40 +00:00
curt
ecda50f9bc - added invocation of fgInitCommands() to set up command manager 2001-06-01 17:52:28 +00:00
curt
3cdb3d2c49 Initial revision of interface to new SimGear command manager. 2001-06-01 17:52:17 +00:00
curt
80a5a6b354 - removed some obsolete method declarations
- added declarations for get/setViewOffset and get/setGoalViewOffset
2001-06-01 17:51:49 +00:00
curt
34d941f914 - implemented get/setViewOffset and get/setGoalViewOffset
- tied to properties /sim/view/offset and /sim/view/goal-offset
2001-06-01 17:51:39 +00:00
curt
ca22e9f422 - added fg_commands.cxx and fg_commands.hxx 2001-06-01 17:51:20 +00:00
curt
f695b5b479 - refactored and simplified FGBinding class to use the new command
manager; removed unused getters and setters; track original
  command name for use in debugging messages
- removed unused action methods from FGInput
2001-06-01 17:51:09 +00:00
curt
318326f9af - renamed property binding/action to binding/command; most commands now
want binding/property rather than binding/control
- removed hard-coded bindings for F3 (screenshot), Ctrl-S
  (autothrottle), v (cycle view) and all of the keypad view-direction
  keys; these are now defined in $FG_ROOT/keyboard.xml
- removed unused action method
2001-06-01 17:50:59 +00:00
curt
54a0e1cf52 Make FGViewer::update() a pure virtual because FGViewer is a base class
and can never be instantiated itself.
2001-05-31 04:25:43 +00:00
curt
cecd0df78d We don't need to explicitely #include <glext.h> since gl.h should do this
for us already if it exists.
2001-05-30 20:58:02 +00:00
curt
d5a2533411 Fixed a bug in the tile pager / caching / management system that caused
a crash when relocating to a new airport.  Pending work from the old
area is now just completed as normal, rather than trying to empty the various
queues in their various stages when can lead to many problems in a threaded
environment.
2001-05-30 18:21:03 +00:00
curt
5893de13ff 1. Fixed FGInput bug preventing same key from being bound separately
with different modifiers (the format of the key bindings has changed
again slightly, adding a <code>..</code> element; see keyboard.xml for
details).

2. Modified FGInput to try default modifiers for ctrl, shift, and alt
when the initial bindings fail (i.e. you don't have to specify
mod-shift explicitly for upper-case 'P' any more).

3. Fixed problems with properties and panel reloading reported by
Martin Dressler and John Check.

4. Updated preferences.xml to get rid of obsolete references to
/controls/brakes/left and /controls/brakes/right (as reported by John
Check).


There were also two non-bugs reported by John Check:

(a) Differential braking doesn't work (John was using the obsolete
properties from #4 above).

(b) Duplicates show up in the property tree using the telnet interface
(the property tree doesn't show indices, and John was seeing separate
entries for each possible engine, etc.).
2001-05-29 22:31:04 +00:00
curt
876e9c60fd Win32 fixes.
Fixed a few glitches in the autopilot keys
Added a #define to be able to make a compile time decision to revert to
   older GPS like autopiolt behavior this define SHOULD become a property
   so that it is run time switchable.
2001-05-29 22:06:14 +00:00
curt
38f29c3d86 Fix a clash with some standard MSVC defines (yeah MS) :-( 2001-05-29 20:02:00 +00:00
curt
94f745e3ea I'm attaching diffs to add a new FGInput module to FlightGear
(src/Input).  So far, FGInput replaces most of src/Main/keyboard.cxx
(I've left a tiny stub); in the very near future, it will also take
over control of the joystick, mouse (Norm permitting), and panel
instrument interactions, so that there is a single mechanism for
configuring all input devices.

The new format should be (close to) self-explanatory by looking at the
new base-package file keyboard.xml, which is now included by
preferences.xml (I'll do the same thing for the joystick when I have a
chance).  I have not managed to move all keybindings into this file
yet, but I've made a good start.  I'm including Tony in the recipient
list so that he can see how bindings can use an external XML file.

This patch also adds support for multiple bindings for a single key,
special keys (i.e. keypad and function keys), and key modifiers
(shift/alt/ctrl); special keys use the PUI convention of adding 256 to
the Glut key code.

Unfortunately, everything comes with a price; in this case, I have not
yet found a general mechanism for the old (hard-coded) modal bindings,
which behaved differently depending on the autopilot state (i.e. left
rudder or move AP heading left); with my patches, this functionality
disappears, but you can still adjust the autopilot using the panel or
the GUI input dialogs.
2001-05-23 23:01:15 +00:00
curt
7208b95d36 Initial revision. (Contributed by David Megginson) 2001-05-23 22:59:40 +00:00
curt
7e4a96dc77 Norman Vine contributed more optimized object placement math. 2001-05-23 22:28:38 +00:00
curt
76f2eb47eb Whitespace tweak. 2001-05-23 20:57:25 +00:00
curt
02896643d7 Minor texture tweaks. 2001-05-23 20:54:51 +00:00
curt
29d540901c Tile pager tweaks.
MSVC++ tweaks.
2001-05-21 20:44:59 +00:00
curt
2afcbb4bc8 We can't remove ssg branches in the threaded tile page because if we happen
to have attached an ssg loaded object to this branch, then plib will remove
it and all it's states (and textures) which will call opengl api commands
which will crash the program if run from a separate thread from the main render
thread.
2001-05-20 06:49:06 +00:00
curt
34854ab2af Threaded tile paging:
- model loading deferred to primary thread
- tile removal deferred to paging thread
- other tweaks and rearrangments.

Airport signs
- first stab at some support for adding taxiway and runway signs.  This
  is non-optimal, but I'm under the gun for a demo.
2001-05-19 16:59:43 +00:00
curt
865fb56c5a Tile loading is interleaved now when not threaded. Threaded loader is
throttled to one tile per frame maximum.
2001-05-18 20:31:23 +00:00
curt
f85df36eaa Tweaks. 2001-05-18 20:30:36 +00:00
curt
31c8d67333 Push external eye point a bit further away from the aircraft. 2001-05-18 20:30:18 +00:00
curt
74b473ca36 Don't build ls_trim.c, but keep it in EXTRA_DIST. 2001-05-18 20:29:57 +00:00
curt
69a4aa083d Trying to fix ascii file parsing and line terminator handling. 2001-05-18 16:09:39 +00:00
curt
aea664cd15 MSVC++ changes contributed by Geoff McLane. 2001-05-17 21:55:22 +00:00
curt
4bdbe9c8c1 Added David Megginson's patch for reconfigurable keyboard bindings. 2001-05-16 23:27:59 +00:00
curt
31890db125 First stab at adding static objects to scene. 2001-05-16 06:00:02 +00:00
curt
5c52bb1f22 Added a missing 'return' in case statement. 2001-05-16 00:32:28 +00:00
curt
3b131ceaa8 Updates for new, more flexible panel design from David Megginson. 2001-05-15 23:54:32 +00:00
curt
b1af3904c8 Updates from David Megginson. 2001-05-15 23:08:25 +00:00
curt
a0d50000ba Modifications to coordinate with recent changes in simgear. 2001-05-15 22:30:39 +00:00
curt
5014a910bb #ifdef ENABLE_AUDIO_SUPPORT around all audio stuff. 2001-05-15 16:52:02 +00:00
curt
b7ccbfe532 Fixed a typo. 2001-05-15 04:08:31 +00:00
curt
a01a26a009 Re-added support for loading on-the-fly textures. 2001-05-15 00:01:04 +00:00
curt
0d999c9936 Added a search method for an airport/runway number combination. 2001-05-15 00:00:08 +00:00
curt
c7f7093df5 Timezone fixes for Cygwin. 2001-04-26 18:15:32 +00:00
curt
4c4d17631f Screenshot tweaks from Cameron Moore. 2001-04-22 22:04:25 +00:00
curt
ffe70e3221 Fix various compiler warnings contributed by Norman Princeton. 2001-04-22 17:00:08 +00:00
curt
f3ca9b2e05 Synced with latest JSBSim. X15 works for me, but C172 segfaults. 2001-04-17 21:19:54 +00:00
curt
051e2a6dc3 Tweaks so tile loading still works in non-threaded mode. 2001-04-17 05:21:56 +00:00
curt
9bc25d9ce3 Fix for reinit after user resizes screen. 2001-04-16 20:31:26 +00:00
curt
4a609646b6 Modified FlightGear/src/Scenery. The tile loader thread no longer adds
a newly loaded tile to the scene graph.  Instead it puts it in a queue
for the tile manager.  I've used your counter_hack to check the loaded
queue and add any tiles to the scene graph.  I was playing around with
the counter_hack so there might be some commented out code, etc.  I also
changed some SG_DEBUGs to SG_INFOs so I could track the tile loading.
2001-04-16 20:03:52 +00:00
curt
a29cb28e93 Tweaks to the tile pager so it waits for a signal from the main thread before
loading the next tile.  This allows the main thread to "pace" the tile loader
so it consumes fewer resources.
2001-04-14 03:11:39 +00:00
curt
f117bc201f Oops missed one updated file. 2001-04-13 21:16:16 +00:00
curt
fc7e234d3d Irix MipsPRO fixes. 2001-04-13 21:00:07 +00:00
curt
e03752883e Unconvoluted around line #130 2001-04-11 20:09:23 +00:00
curt
b0b6c34249 Initial stab at a threaded tile loader contributed by Bernie Bright.
He writes:

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

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

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

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

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

CLO: I made a few tweaks to address a couple issues, hopefully what we
have is solid, but now we kick it out to the general public to see. :-)
2001-04-11 02:47:15 +00:00
curt
a2049b110f More JSBSim updates. 2001-04-06 22:59:31 +00:00
curt
606b8d13d9 Added loaded flag to FGTileEntry so that the main thread knows when the
tile has been loaded.  Since this flag can be set by another thread I've
declared it "volatile bool".

Also cleaned up delete vs delete[] usage.  Gcc is happy with delete[],
which is the correct usage.
2001-04-06 18:30:07 +00:00
curt
4b6e8102a7 Synced with latest JSBSim cvs.
reinit fix from Norman.
2001-04-05 21:14:37 +00:00
curt
d422a7bb7f Added a special default default fgroot for cygwin. 2001-04-05 20:25:40 +00:00
curt
65f6e343ab From David Megginson:
The files in the attached tarball make the following changes to
FlightGear:

- rename the existing FGInterface::init() method to
FGInterface::_setup to get it out of the way

- move *all* FDM initialization code out of src/Main/fg_init.cxx and
into FGInterface::init(), and clean up fg_init.cxx a little
(especially by removing the zillions of attempts to place the plane on
the ground at various locations in the code)

- modify FGInterface::bind() so that no values are picked up
automatically at bind time (they are set previously by init() instead)

- modify the init() methods of the classes derived from FGInterface
(i.e. larcsim, jsbsim, balloon, magic, and ada) to invoke
FGInterface::init() explicitly before doing their own setup

I don't claim that the code in FGInterface::init() is optimal (or even
correct), but it seems to work for on-ground starts with both LaRCSim
and JSBSim on runways pointing various directions from near sea level
to about 700' ASL (the range I happened to test).  I expect that Jon
and Tony will want to look at the code and refactor and correct it now
that they can see what's going on in one place.

Here's a quick outline of what is invoked:

  cur_fdm_state = new <whatever>(dt);
  cur_fdm_state->init();
  cur_fdm_state->bind();

The constructor allocates memory and sets default values only (with
the help of the FGInterface::_setup() method).  The init() method pull
any required properties out of the property tree and sets up the
initial state of the FDM.  The bind() method takes ownership of
FDM-related properties so that the FDM can publish them to the rest of
the sim.

Note that bind() and init() are virtual, so any implementation in a
subclass will hide the implementation in FGInterface; that's why
subclass implementations of init() and bind() have to invoke
FGInterface::init() and FGInterface::bind() explicitly, probably at
the start, so that they get the basic initialization.
2001-04-05 20:20:44 +00:00
curt
397a83d69f Data logging patches from Jon Berndt
Fix for model loading under plib-1.2.x in main.cxx
2001-04-05 15:39:37 +00:00
curt
96fbc75b7c Bug fix from Norman Vine. 2001-04-02 21:28:35 +00:00
curt
4f7ac699e3 Patches to flight.cxx to make things work better with JSBSim. 2001-04-02 20:14:04 +00:00
curt
16b21865b8 Initial units confusion fixes. 2001-04-02 03:39:43 +00:00
curt
20fb555364 Updates to fix c172 throttle. 2001-04-02 03:18:44 +00:00
curt
94034c3081 Latest jsbsim updates. 2001-04-02 03:12:38 +00:00
curt
2aca8ca2cf Irix MipsPro patches and fixes. 2001-04-02 02:59:31 +00:00
curt
0fdc1caebb Updated for 8 ... 2001-04-02 02:39:51 +00:00
curt
7c81992a2d Updated from JSBSim cvs. 2001-04-02 02:27:45 +00:00
curt
626969d0cc Initial revision. 2001-03-30 03:08:44 +00:00
curt
74fbaa8f5e Latest round of JSBSim updates. 2001-03-30 01:04:50 +00:00
curt
679eb0b984 Tweaking sound safety margin. 2001-03-29 14:11:43 +00:00
curt
bfb2a65128 Initial revision. 2001-03-29 13:14:42 +00:00
curt
c5bd20c21d Removed some debug output. 2001-03-29 06:14:42 +00:00
curt
776e7293bc Changed wording ... 2001-03-29 06:09:25 +00:00
curt
4fc7f6d097 Put blinking marker beacon (bool) into the property registry for use by the
panel.
2001-03-29 06:05:01 +00:00
curt
f8e234bb27 Dynamically adjust audio safety margin (how much audio we stuff in the
pipe in advance) based on frame rates.
2001-03-29 05:18:29 +00:00
curt
31047f65ac - model loading should work again with the latest CVS PLIB (and, I
hope, with earlier versions as well)
- support for the new LONG value type
- gear support for UIUC (updated for the newly renamed SG_* stuff;
otherwise identical to what I sent you before)
- fixed reported MSVC problem in src/FDM/flight.cxx
2001-03-29 03:49:02 +00:00
curt
0ab39eea99 From: David Megginson <david@megginson.com>
I have created a set of patches to provide configurable landing gear
for the UIUC models.  The patches (including four new files) are
available at

  http://megginson.com/private/fgfs/uiuc-20010309.tar.gz

A modified UIUC configuration file for the Twin Otter (DHC-6) is
available at

  http://megginson.com/private/fgfs/aircraft.dat

It should be possible to configure appropriate gear for all of the
UIUC models now.  As a bonus, the models also support braking, both
absolute and differential, as well as nose-wheel steering (all of
which are currently missing from the UIUC models) -- when you land,
you don't have to keep rolling off the end of the runway anymore, and
you don't have to bank to steer in a taxi.

My sample configuration file contains absolutely bizarre, wild
guesses, and many places that I didn't even bother to guess properly.
The only actual data I had was the wing-span of the DHC-6 (65ft),
which I used for positioning the wing tips.  The wing-tips for this
model actually work now -- I hit the aileron hard while accelerating
for take-off, and the wingtip noticeably strikes the ground and
bounces up (quite dramatic in external view using the DHC-6 model from
Wolfram's site).


Details
-------

The UIUC models now support up to 16 gear points each where a gear
point is anything in the aircraft that can come in contact with the
ground, including the tail and wing-tips.  I have added the following
new fields to the UIUC configuration files, where <index> is an
integer between 0 and 15, and <value> is a real number:

  gear <index> Dx_gear <value>     # x offset from CG [ft]
  gear <index> Dy_gear <value>     # y offset from CG [ft]
  gear <index> Dz_gear <value>     # z offset from CG [ft]
  gear <index> cgear <value>       # spring damping [lbs/ft/sec]
  gear <index> kgear <value>       # springiness [lbs/ft]
  gear <index> muGear <value>      # rolling coefficient
  gear <index> strutLength <value> # gear travel [ft] (not yet used)

Most of these names were already pencilled into the UIUC documentation
(as TODO items), but I had to make up Dx_gear, Dy_gear, and Dz_gear --
if those are inappropriate, I'd appreciate suggestions for better
names.

It will be necessary to modify the other UIUC configuration files to
include some kind of gear support as well, or the planes will sink
nose-first into the ground down to their CG's (it's actually quite
funny to watch with an external view).


Background
----------

As I frequently remind everyone here, I have no math background worth
spitting at, so I will not even pretend to have done the hard stuff.
The UIUC code uses a copy of a very old version of the LaRCsim
c172_gear.c -- I wanted to update it with Tony Peden's excellent newer
version, which includes differential braking among other goodies (the
UIUC models don't support brakes, period).

I copied the newer code into uiuc_aero.c, and it compiled and ran, but
all of the planes ended up sitting on their tails with their noses in
the air.  Since Tony made his gear code nicely parameterized, I
experimented with different values, and found that it wasn't too hard
to balance the Twin Otter by moving the gear back a bit.  At first, I
used properties to set different values, but then I decided to
integrate the whole thing properly into the UIUC configuration
framework.  Thanks to Tony Peden, who did the real modelling work -- I
can take credit only for two or three hours of integration.  It turns
out that Tony's code is generalized enough to deal with a wide range
of different gear structures -- I suspect that it will even work for
the 747, when I get around to trying some values.
2001-03-29 03:16:25 +00:00
curt
84816c13af Fix for MSVC. 2001-03-29 01:44:54 +00:00
curt
191bb3956a Updates from Bernie Bright to massage tile loading around to make it
slightly more conducive to future threading.
2001-03-29 01:42:31 +00:00
curt
e7d79e7ba2 Light model tweaks. 2001-03-28 18:11:05 +00:00
curt
c4b2e54551 Fix moon drawing at night. 2001-03-28 17:52:40 +00:00
curt
d6039a111f Removed an unneeded exit() 2001-03-28 14:38:55 +00:00
curt
2e8f9f7399 Added marker beacon sound effects. 2001-03-28 07:12:11 +00:00
curt
7aa5e0a4eb Lighting fixes.
Warning fixes.
Typo in configure.in
2001-03-28 00:39:29 +00:00
curt
96a9152b02 Irix MIPS patches. 2001-03-26 18:22:31 +00:00
curt
f1b1077d93 More fg -> sg namespace changes in simgear. 2001-03-25 14:20:12 +00:00
curt
9fac7682e3 inlines.h -> sg_inlines.h 2001-03-24 14:56:37 +00:00
curt
f380595144 fg_zlib.h -> sg_zlib.h 2001-03-24 14:12:00 +00:00
curt
182fd42b40 SG-ified logstream. 2001-03-24 06:03:11 +00:00
curt
5ea9c04c64 SG_ namespace. 2001-03-24 04:56:46 +00:00
curt
17c96ae69e SG_ namespace 2001-03-24 04:48:44 +00:00
curt
92443d36a4 FG_ to SG_ namespace changes. 2001-03-24 03:10:40 +00:00
curt
17f3d48e03 FG_ to SG_ namespace changes. 2001-03-24 02:36:45 +00:00
curt
1bf3001749 FG_ to SG_ namespace changes. 2001-03-24 00:18:01 +00:00
curt
5958389026 FG_ to SG_ namespace changes. 2001-03-23 22:59:18 +00:00
curt
8497f9b1ac FG_ to SG_ name changes. 2001-03-23 22:42:49 +00:00
curt
945163b540 FG_HAVE_STD_INCLUDES -> SG_HAVE_STD_INCLUDES 2001-03-23 22:15:19 +00:00
curt
4162c808bd David Luff: I've put Phil's temperature correction back in since I'm not
implicitly correcting for that yet.  The plane now makes it to 11000ft on
autopilot *slowly*.  I think I'll have to look at the prop parameters
next - altering the diameter and blade angle just slightly can have
quite an effect.  If you want to play then try changing the values
prop_diameter and blade_angle in FGNewEngine::init.  Keep blade
angle between 20 and 25 (since those are the only values for which
I've entered data and I interpolate between them) and ignore
FGProp1_Blade_Angle since that's an old variable that isn't used.  I
really ought to read all the engine and prop parameters from file to
avoid recompilation when tweaking !
2001-03-22 23:42:16 +00:00
curt
80ff1af457 David Luff: Here is an update to the engine model. It now takes
the actual air pressure and temperature from the LaRCSim model
instead of assuming that it is at sea level as before.  This has
reduced the ceiling from over 60000 ft to about 9000 ft.  This is a bit
low (should be around 13 - 14000 ft I think) but I still have some
stuff to do with the engine power correlation and its ignoring the
temperature at the moment so I'm not panicking yet :-)

I've also changed the mixture-power correlation to one from a
published paper since the curve from the IO360 manual seemed to
be a load of rubbish, and didn't have any numbers on the mixture
axis anyway.

I've also knocked the full rich mixture down a touch in line with
Riley Rainey's recommendation, and cleaned up the code a bit.
2001-03-22 16:27:16 +00:00
curt
def805e9dc Added support for reading ~/.fgfsrc.hostname files. 2001-03-22 04:02:11 +00:00
curt
46a4b960d1 MSVC++ fixes. 2001-03-21 23:16:21 +00:00
curt
cdd3082998 MSVC fixes. 2001-03-21 23:10:15 +00:00
curt
eccd695f91 Fixed some problems with marker beacon range:
a) I was compairing feet vs. meter (making the range 3x too. big)
b) I was using the diameter in place of the radius (making the range an
   additional 2x too big.)
c) Updated the equation for calculating range to model the weak transmitter
   not being picked up at upper altitudes.

We still might need some additional tweaking, but I think we are starting to
get in the right ball park.
2001-03-19 13:56:19 +00:00
curt
4cf4edcfb4 Julian Foad: fixes to meters/feet confusion. (Also length of "--vNorth="
is 9 not 8.)  Note that the initial altitude setting was placing us way below
the ground, but as it doesn't seem to have caused us problems, it's probably
redundant!
2001-03-17 21:06:43 +00:00
curt
22d0448657 Oops ... 2001-03-17 00:00:32 +00:00
curt
a695a8d9f5 Initial support for marker beacons. 2001-03-16 23:59:02 +00:00
curt
5978b6967d Fixes to not hide mouse in win32 (current implimentation caused too much
confusion.)
2001-03-16 23:58:31 +00:00
curt
7d38baf850 Initial revision of mkrbeacons.[ch]xx
Additions to query and report if we are over a marker beacon.
2001-03-16 23:57:38 +00:00
curt
99c54d976a More tweaks to radio and sound. 2001-03-16 05:33:04 +00:00
curt
7191e8b810 Tweaks to PLIB version detection. 2001-03-14 23:38:34 +00:00
curt
07c23f5866 More tweaks to radios so we can listen to Nav2 and ADF as well.
Fixed a bug which could make a station appear to be out of range when it isn't.
Expanded usable range to 1.3x times the FAA guaranteed service volume.
2001-03-14 23:37:50 +00:00
curt
bdde4e0581 Removed ios::binary on file open. 2001-03-14 23:35:46 +00:00
curt
e754177bdf ADF needle doesn't zero when it goes out of range. 2001-03-14 14:35:27 +00:00
curt
61c8cefcf2 Working on modeling more realistic VOR and ILS ranges. 2001-03-14 07:25:14 +00:00
curt
6e0a10b757 Working on modeling VOR range as per AIM. 2001-03-14 01:31:04 +00:00
curt
d116eb2a62 Fixes to vor/ils/adf range pickup. 2001-03-12 15:07:49 +00:00
curt
ba12982f5e Fixed a bug in radiostack->search() when switching freq. to a different
station that has the same ident (i.e. from a vor to a ils as in EAU.)
2001-03-12 13:42:32 +00:00
curt
6d6f0d3e71 Cleaned up a few things relating to playing morse audio vor/ils idents. 2001-03-12 12:40:18 +00:00
curt
2b45761f56 Fixes from Erik Hofman for Mips Irix. 2001-03-10 20:58:47 +00:00
curt
c763c795ad Don't play DME ident if no colocated DME. 2001-03-10 00:06:39 +00:00
curt
6e91c958e3 Play the full 4x VOR and 1x DME morse ident sequence at 30 second intervals.
When you tune into a station start at a "random" point in the sequence.
Sped up the words per minute to 13 to which means one sequence per about 4 secs.
This means we get through the whole sequence in about 20 seconds leaving 10
seconds of silence.
2001-03-09 23:35:21 +00:00
curt
55e881b83d Attempt to detect and work around plib-1.2.0 audio bugs. 2001-03-09 20:17:54 +00:00
curt
95e27e8cb9 Working on vor audio ident (morse).
Fixed a bug in Network/props.cxx with the cd command.
Fixed a typo in options.cxx
2001-03-09 02:41:04 +00:00
curt
8395ac8852 Open C++ iostreams as ios::binary. 2001-03-08 02:34:27 +00:00
curt
b1ade68b61 Patch from Tony so the FDM can trim out a specific starting location for a
joystick input, and then will ignore the actual position of that input
until the user places it in the proper position to match the trimmed position.
At that point the joystick input captures control over the value and the
value will match the joystick position from then on.  This is primarily set
up so that the FDM can trim in an initial throttle position.
2001-03-06 23:59:08 +00:00
curt
7555a4b8db Added some sanity checking on max number of bottons and axes. 2001-03-06 23:03:06 +00:00
curt
29275ce1ec Tweaks for Mips Irix compilers. 2001-03-06 22:36:59 +00:00
curt
5ca3ea8ecf A small patch (a few lines) to add a --file option to
FlightGear, a long-standing request from Norm, and to get the UIUC
--aircraft-dir option working again.
2001-03-06 19:11:28 +00:00
curt
0e424f6ad7 Ooops, missed adding this the first time. 2001-03-06 00:51:58 +00:00
curt
815d49e86a Reshuffled some of the sound code and created a "src/Sound" subdirectory. 2001-03-05 22:54:20 +00:00
curt
fbad3482fa More work on morse code ... 2001-03-05 14:11:25 +00:00
curt
040185f0fd Continued work on morse code generator. 2001-03-05 12:09:36 +00:00
curt
3abe133162 Added beginnings of a morse code sound clip manager. 2001-03-05 03:13:47 +00:00
curt
e85cf6cc10 Fixed a couple property manager typos. 2001-03-03 00:04:03 +00:00
curt
0262c56059 Fixes to initial position for JSBSim. 2001-03-03 00:03:42 +00:00
curt
f5baf8c952 Oops, forgot to take out -lsgmetar 2001-03-02 23:28:51 +00:00
curt
29dede4c1a Tony's patches to allow you to position yourself at an offset from the
default location (i.e. end of the runway.)  This allows you to start
up on final and things like that.
2001-03-02 23:27:22 +00:00
curt
d84c64563b Updated comments. 2001-03-02 22:54:10 +00:00
curt
e9591422f3 Added a first pass at a C++ sound manager class. 2001-03-02 22:37:01 +00:00
curt
5d423a94b0 Contributed by Dave Luff:
Added fuel-flow and total fuel to the LaRCSim model.  Its still a bit
rough for now but it works, except the engine dosn't stop when fuel runs
out at the moment since there's no refuelling capability in the sim just
now.  It takes about 4 gallons use before you see the fuel guages begin
to drop since there's 28 gal per tank but the guages go to 26.
2001-03-01 16:32:29 +00:00
curt
d7ca2c7e7d Some error checking and an xml dump routine contributed by Norman Vine. 2001-02-28 19:48:18 +00:00
curt
4a61945285 Backcourse ILS needle should move correct direction now. 2001-02-27 23:52:52 +00:00
curt
79cabb6a8a Lots of little tweaks to autopilot to make it more realistic. 2001-02-27 23:17:58 +00:00
curt
2c9443c698 Fixed a problem with autodetecting if we need to draw our own mouse cursor
on voodoo-1/2 cards.
2001-02-26 13:58:33 +00:00
curt
7c6df16062 Autopilot in nav1 tracking mode bases heading off of desired radial not
current radial.
2001-02-25 18:03:11 +00:00
curt
74cb68daae Fixed a typo preventing the nav2 heading needle from moving.
DG heading bug initializes to a random setting.
Activating heading hold doesn't touch the DG heading bug any more.
Max autopilot decent rate is now -1000.
2001-02-25 16:26:48 +00:00
curt
bd9ce60174 Autopilot in Nav1 heading hold mode is now driven just from needle position. 2001-02-25 05:42:34 +00:00
curt
75a538f5b9 Tweaks relating to autopilot heading hold.
Working on better modeling of nav radio needles.
2001-02-25 04:45:26 +00:00
curt
c210a78067 Autopilot fixes so when in NAV1 radial hold mode we can now fly the FROM
radial and we can properly fly "through" a VOR station.
2001-02-24 13:51:48 +00:00
curt
7a4da94425 Added support for managing fov via the property manager so the --fov= option
can work again.
Removed a bit of debugging output when reading "native" IO input.
2001-02-23 22:25:03 +00:00
curt
f780c27787 Changes to make the default autopilot heading hold work much more like a C172
DG heading hold (i.e. it will follow the gyro drift.)
2001-02-07 04:16:12 +00:00
curt
8830f5c6a8 Fix a problem with external views where the sky lighting was calculated
in reverse.
2001-02-02 23:15:03 +00:00
curt
d1a50b5667 Fixes to get back support for Voodoo-1/2 cards and the voodoo-in-a-window
hack.
2001-02-02 22:39:13 +00:00
curt
a5d1970007 David Luff writes:
Basically I've rewritten the prop model along similar lines to how
Jon has done his - using published efficiency and coefficient of
power data.  It works *much* better - try pulling the throttle back
to idle and putting the plane into a dive before and after updating
and you'll see what I mean.  It doesn't require a fudge factor either
:-)
2001-02-02 20:55:41 +00:00
curt
fcce1d782c Oops for specified magvars, I had the sign backwards. 2001-02-02 17:44:16 +00:00
curt
2827cf1387 Working on ironing out issues with VOR navigation. It think we are "as
good as we can get" until we find a data source with actual VOR magnetic
offsets.  We can use VOR offsets from some fixed date, but not all VOR's
were installed on the same day so no matter what date we pick we will be off on most of them.
2001-02-02 05:25:45 +00:00
curt
cbaf015481 Working on straightening out VOR navigation. 2001-02-02 02:55:07 +00:00
curt
a4d27fe7bc Added a specific "altas" format for output which includes a proprietary string
to convey the radio stack settings.
2001-01-31 22:21:36 +00:00
curt
c7f1c662a1 Initial revision of atlas.cxx atlas.hxx 2001-01-31 21:57:55 +00:00
curt
2cd7473384 Fixed --enable-freeze. 2001-01-31 15:59:16 +00:00
curt
c78827569a Properly close our database file ... 2001-01-31 15:58:53 +00:00
curt
c3e3e9f5d7 Reduce spurious output from joystick.cxx
Fix a typo in JSBSim.cxx (#endif in wrong place)
2001-01-29 15:14:12 +00:00
curt
97f526f7a6 Added a GUI vec3 pilot offset control contributed by Norman Vine. 2001-01-29 05:08:00 +00:00
curt
f023440a5f Bug fix/typo fix submitted by Tony. 2001-01-29 04:47:16 +00:00
curt
e977778527 Fixed a problem with the object loader ignoring custom texture dimensions
specifiec in the materials file.
2001-01-29 04:36:46 +00:00
curt
1a0a65b2a5 Fixes to iochannel parsing which had gotten broke at some point.
Fixed --disable-skyblend
2001-01-26 00:21:36 +00:00
curt
1a6ed2ecc8 Tweaks to autopilot, but I'm not 100% happy with the current state of things. 2001-01-26 00:20:18 +00:00
curt
1c000fef96 Tweaks to add an altitude indicator adjustment. 2001-01-23 07:17:47 +00:00
curt
1bc2a66b1c Fixed a couple property manager typo's. 2001-01-22 20:39:25 +00:00
curt
e1dd52d38a The FlightGear patches add new saveInitialState and
restoreInitialState methods to FGGlobals, as well as the two-stage
commit described above for loading saved files.  fgInit now takes a
snapshot of the initial state before handing off to the main loop, and
the GUI reInit function restores that state explicitly before calling
fgReInit.

The FlightGear patches also modify fg_props.hxx to add optional
useDefault arguments to all of the fgTie functions -- that lets you
choose whether you want to pick up any default value in the property
tree when you tie the property (the default is true).
2001-01-19 22:57:24 +00:00
curt
bfcef94570 Fixed typo that messed up panel toggling from the menu. 2001-01-19 04:32:21 +00:00
curt
e9b492af4f More tweaking of position reset logic. 2001-01-17 23:30:35 +00:00
curt
a5e4e6be11 Working on setting initial altitude correctly after a reset. 2001-01-17 20:32:02 +00:00
curt
26dca37028 More "delta-t" and fdm interface timing tweaks. 2001-01-17 02:37:12 +00:00
curt
d346e53aee Tweaking the FGInterface interface so we can move it towards a more consistant
fgSubsystem init() and update() interface.
2001-01-16 21:41:28 +00:00
curt
f7b844f4d6 More property manager interface updates. 2001-01-16 20:21:03 +00:00
curt
576432ec75 David Megginson writes:
FGOptions is history, and the modules are (starting) to use the property
manager directly.  Let me know if I left any files out.

Inevitably, there will be some problems with broken options, etc.,
that I haven't found in my tests, but I'll try to fix them quickly.
We also need to stress that the property names currently in use are
not stable -- we need to reorganize them a bit for clarity.
2001-01-13 22:06:39 +00:00
curt
a701a2be4a Debugging output tweaks. 2001-01-13 00:14:47 +00:00
curt
5bfca5eff8 Removed some debugging output and added some optimizations. 2001-01-12 22:47:41 +00:00
curt
bc99033c96 Integrated FGOptions with the property manager (by David Megginson) 2001-01-12 15:37:40 +00:00
curt
469703dd0c Internal interface changes by David Megginson. 2001-01-11 22:44:18 +00:00
curt
cff0022a16 Miscellaneous MSVC porting fixes by Christian Mayer. 2001-01-11 05:04:17 +00:00
curt
dc7b762a12 Minor MSVC porting tweaks. 2001-01-11 04:54:33 +00:00
curt
e9d12ee586 Tweaks from Tony to JSBSim.cxx jsbsim interface to flightgear.
Added ls_trim.c to the LaRCsim library.
2001-01-09 18:35:23 +00:00
curt
d9bff43bde Tweaks. 2001-01-08 22:01:24 +00:00
curt
bff544aada Norman Vine has split up the GUI code into more managable/logical sections. 2001-01-08 20:55:16 +00:00
curt
8a7e5eeaf2 Minor tweaks. 2001-01-08 20:40:26 +00:00
curt
7a235abecd Tweaks to the LaRCsim interface to get wind working.
Corresponding tweaks to bfi.[ch]xx and options.cxx.
2001-01-08 17:59:54 +00:00
curt
690d2ac3e8 Tweaks for new SGBinObject interface. 2001-01-06 05:31:45 +00:00
curt
49fc684885 Tweaks to binobj reader interface. 2001-01-06 05:09:40 +00:00
curt
66650e4148 1. Added src/Main/fgfs.hxx as a standard, top-level include file for
FlightGear subsystems -- it isolates some of the config and #ifdef
stuff in a single place.

2. Added a new FGSubsystem interface, defined in fgfs.hxx; so far,
only FGControls implements it, but if that works, we can start letting
it propagate through the system and simplify the code in main.cxx and
fg_init.cxx (which is terrifyingly complex for anyone new to the
project).

3. Added new src/Main/fgfs_props.[hc]xx files with convenience
functions for tying properties under FlightGear.

4. Experimentally modified src/Controls/controls.cxx to tie properties
directly (rather than tying to BFI functions).  I'd appreciate it if
you could get this into CVS as soon as possible, so we can see if the
template stuff causes trouble for any other platforms before I add
properties to the other subsystems.

5. Miscellaneous superficial modifications to other files.


In addition, I've made a couple of further changes:


6. Modified BFI to add support for setting the view axes (i.e. with a
joystick hat).

7. Cleaned up bfi.cxx and removed all cout statements.
2001-01-05 17:38:58 +00:00
curt
5ef00ab621 Contibuted by David Megginson; Initial revision. 2001-01-05 17:37:59 +00:00
curt
3e7bc24006 Tweaks related to the HUD. 2001-01-05 16:45:14 +00:00
curt
af80c2080b Neetha Girish <neethagirish@usa.net>
====================================

Cockpit.cxx
-----------
Commented #ifdef FIGHTER_HUD.

Hud.cxx
-------
Included code to read the xml file and draw the corresponding instrument.

Hud.hxx, Hud_ladr.cxx, Hud_card.cxx and Hud_labl.cxx
---------------------------------------------------
Integrated code to draw any kind of hud.

Preference.xml
---------------
Included XML file path in the sim/hud property.

ReadMe.xmlhud
-------------
The Readme.xmlhud describes the reconfigurable HUD implemented thru XML
files.
2001-01-05 16:44:48 +00:00
curt
ba8f62a540 Added support for loading binary object files. 2001-01-05 01:07:10 +00:00
curt
1db7986e0e Added a scenery version check so we will die if the program tries to load
scenery that is newer than we know how to handle.
2001-01-03 19:00:55 +00:00
curt
6ccc92a666 Fixed an array overrun typo ... 2000-12-20 23:50:44 +00:00
curt
3b88c71122 Applied changes relative to David Megginson's property manager rewrite. 2000-12-19 23:29:16 +00:00
curt
6d399f83f8 Added some initial support for moving parts on aircraft models. 2000-12-19 20:50:00 +00:00
curt
0d457e78e2 Fix a view bug that could make the aircraft appear rotated from an
external view if the primary view was rotated before we switched.
2000-12-14 21:59:47 +00:00
curt
e333080388 MacOS changes contributed by Darrell Walisser (12/13/2000) 2000-12-13 23:02:02 +00:00
curt
95d6d93bed Renamed FGBucket -> SGBucket. 2000-12-13 20:36:04 +00:00
curt
da97ac5b9f Tweaks. 2000-12-13 17:56:43 +00:00
curt
403c740b34 Updates to DCS support and updates to options in preparation for support
the new xml configurable hud.
2000-12-08 20:05:43 +00:00
curt
94fd1bd8f2 Blame this on David Megginson ... :-)
Save/restore seems to be working now, thanks to a couple of
unspeakable kludges:

1. Every time the altitude changes, pause the flight simulator for
five frames and then change it a second time.

2. Every time the latitude or longitude changes, wait five frames,
then invoke fgUpdateSkyAndLightingParams() a second time.
2000-12-08 17:36:07 +00:00
curt
65087c6b56 Removed tilecache.cxx tilecache.hxx.
Tweaks to ground lighting.
2000-12-08 17:28:05 +00:00
curt
6574e8f4f6 Updates to time parsing and setting by David Megginson. 2000-12-08 17:26:49 +00:00
curt
5fecec2bba More night ground lighting tweaks. 2000-12-06 22:16:12 +00:00
curt
40d68c5627 Tweaks to get lights to fade in quantity-wise as well as brightness-wise. 2000-12-06 13:57:29 +00:00
curt
31b9c763df Added a --visibility= option. 2000-12-06 04:13:16 +00:00
curt
f37f2f73ce Added a file load / save entry box so you can specify a file name (contributed
by David Findley)
2000-12-05 22:19:42 +00:00
curt
84440e9b5e Added support for specifying light coverage on a per material basis in the
materials file (contributed by David Megginson.)
2000-12-05 20:53:14 +00:00
curt
3ec542d18f Faster triangle area routine contributed by Norman Vine. 2000-12-05 20:20:57 +00:00
curt
174553feef Tweaked thresholds for staging in ground lighting. 2000-12-05 18:58:05 +00:00
curt
2baba715b4 Adjust ground lighting up significantly higher to avoid zbuffer fighting
on cards with 16 bit (or less) depth buffers.
2000-12-05 14:27:27 +00:00
curt
a775392e31 Bring lights in in stages as it get's darker. 2000-12-04 23:25:05 +00:00
curt
f14e155533 Tweaks to ground lighting infrastructure. 2000-12-04 22:36:18 +00:00
curt
90d30b023e Generate a set of ground lights when loading a scenery tile. 2000-12-04 22:35:38 +00:00
curt
45564beba8 Fix fog / light punchthrough. 2000-12-04 22:35:10 +00:00
curt
2f9850024a Renamed fg_random -> sg_random. 2000-12-04 05:28:01 +00:00
curt
3f32f2680d Started laying out infrastructure for ground lighting.
Renamed fg_random -> sg_random.
2000-12-04 05:26:40 +00:00
curt
d3c4018baa Started laying out the infrastructure for handling lighting.
Started experimenting with ground lighting.
2000-12-04 05:24:38 +00:00
curt
bb108c7917 Added a hardcoded "LIGHTING" material entry in the matlib.
Fixed a typo in creating textured ssg simple states.
Start looking at a faster method for generating surface lighting based on the
scenery triangles.
2000-12-04 05:23:06 +00:00
curt
39632b90b8 Rewrote the tile scheme to use a "map" structure rather than "vector"
structure.  The new approach is simpler, more flexible, and more dynamics.
We can now dynamically size the tile cache up and down.  Also, the range
of tiles to load is now dependent on visibility and is calculated to always
bring in enough tiles.
2000-12-03 20:15:46 +00:00
curt
11987d96c3 Removed tile radius option. Range of tiles to be loaded is now controled
by the visibility distance.
2000-12-03 20:13:58 +00:00