1
0
Fork 0
Commit graph

3435 commits

Author SHA1 Message Date
ehofman
8beb280625 Oops, change type. 2004-05-19 14:10:31 +00:00
ehofman
4d3e523f90 Add AI models enableing/disableing command line option and support code. 2004-05-19 13:55:49 +00:00
ehofman
0fda8efa03 Reduce the update delay from 500 ms to 100 ms. 2004-05-19 08:12:21 +00:00
ehofman
eb0b1492a2 Fred found some iterated related problems. With a bit of luck this solves the segmentation fault problem. 2004-05-19 08:01:02 +00:00
ehofman
009fa7371d Some small updates that hopefully solve the segmentation fault at the end of the flightplan. 2004-05-18 09:09:08 +00:00
andy
3ef1c6f540 Fix a bug with propeller gearing. The torque computations weren't
properly correcting for the gear ratio.  This is the source of the
problems Vivian and Jim were having with the Spitfire and Mustang.
2004-05-18 01:46:36 +00:00
ehofman
0fd9f0a704 David Culp:
First, preferences.xml will define the scenario filename.

For now, the other way of defining ai objects still works, so the sailboat
stays in preferences.xml.  Later, I'll move the sailboat into the demo
scenario.  If no scenario filename is given, then no scenario will be
processed.

I changed the demo scenario to create two 737's, one takes off on runway 01L,
and the other takes off on runway 01R.  This will make a good demo for the ai
system.  One problem, if you takeoff on 28L/R right away, you might run into
the taking-off 737's, or be scared.
2004-05-17 08:45:33 +00:00
andy
4c2f5ce59e Don't set values on "live" text objects to prevent confusion when a
dialog-apply happens.
2004-05-15 21:41:42 +00:00
andy
e590737451 Fix a bug where the interpreter could read a garbage buffer from the stack. 2004-05-15 21:40:58 +00:00
ehofman
c3c61ae657 Use lower case letters instead. 2004-05-15 12:46:25 +00:00
ehofman
1dfe93d550 David Culp:
Here's the newest AI stuff.

The AIManager at init() creates a new scenario.  Right now the
default_scenario is hard coded in, but eventually the AIManager should get
the scenario filename from preferences.xml.

The scenario defines which AI objects will be created.  Right now it only
creates AIAircraft, but this is easily extended.  The scenario also defines
which flightplan will be assigned to the airplane.  Scenario config files go
in data/Data/AI.

The Airplane gets a pointer to a FlightPlan object.  Each airplane should get
its own flightplan object, even if two airplanes have the same flight plan.
This is because  the flightplan maintains the iterator pointing to the
current waypoint, and two airplanes might be at different locations (for
instance if they were created at different times).  The flight plan files go
in data/Data/AI/FlightPlans.

When the airplane gets to the waypoint named "END" it vanishes.  The
AIAircraft destructor deletes its flight plan (if it has one).

The last waypoint is a place holder only.  I called mine
<WPT><NAME>"EOF"</NAME></WPT>.
2004-05-15 09:07:55 +00:00
andy
bc22a50cde Fix the slider to request a non-zero length, and make its width a
little larger.

The text widget can now be meaningfully associated with a property; in
PUI, it's "value" isn't the same thing as its label, but we can hack
things to treat them symmetrically.

Commit an experimental "live" property that can be set on widgets to
cause them to update their values every frame.  This works great for
text widgets, as above.  Note that this synchronization is input-only:
no support is provided (or needed -- the GUI only changes when the
user does something) for writing those properties out every frame.
2004-05-14 17:16:35 +00:00
curt
3f3d3b2c6f Better support for pausing/unpausing sound.
Add support for controlling global volume of FlightGear.
2004-05-14 15:51:43 +00:00
curt
2fce07a4ce main.cxx - small tweak to sound updating logic.
options.cxx - change property name /sim/sound/audible to /sim/sound/pause
2004-05-14 15:50:28 +00:00
curt
ec8c167a27 Code at this level shouldn't care if the sound manager is paused or not.
Just forge ahead as if sound is playing, let the sound manger worry about
the details.
2004-05-14 15:49:10 +00:00
ehofman
410e02ceaf Add some floating point (exception) optimizations for IRIX machines. 2004-05-14 11:58:57 +00:00
andy
269134465a Oops, need config.h before pu.h or else the build will fail on
glut-less systems.
2004-05-12 20:51:47 +00:00
andy
eeeee3a53e GUI layout management and a few visual/eye-candy modifications. See
DOCS/README.layout in the base package for details, along with the
modified dialog files.
2004-05-12 15:36:07 +00:00
curt
944a82b576 Clean up some sound buffer allocation/deallocation issues. 2004-05-10 21:24:30 +00:00
andy
aadb3cb94f Fix from Melchior: It replaces the ridiculous 5 seconds by
the 30 seconds that Maik had originally intended, according to the comment.
This is important for the pending sound and rotor disc changes (and of course
for realism).
2004-05-06 16:28:08 +00:00
ehofman
4cc32d837a Add a macintosh identifier for joystick axis numbering support. 2004-05-06 16:07:30 +00:00
ehofman
0c13fcb3f9 Roy Vegard Ovesen:
Fix the leg distance calculation to display nautical miles instead of meters.

It turns out that Simgear already has a range normalize function, so I use
that one instead.
2004-05-06 09:29:26 +00:00
ehofman
8db96e10fb Add /sim/initialised which is set to true when we're ready to go. 2004-05-05 09:01:21 +00:00
curt
72f7595273 Add calls to jsInit() which is a noop on all platforms but Mac. 2004-05-04 19:02:19 +00:00
andy
09d4176e96 GUI windows are now draggable. This missing feature has annoyed me
for a while, it turned out to be pretty easy to implement.  Also, the
property picker is now non-modal, I presume the modality wasn't an
intentional feature.
2004-05-03 00:40:50 +00:00
andy
2aaa1803d3 Reverse the sense of manual propellers. Low numbers == fast
propeller, silly.
2004-05-01 15:18:27 +00:00
andy
e14aa3627f Oops, I broke engine starting. 2004-05-01 14:30:00 +00:00
ehofman
c7d6fa2164 Roy Vegard Ovesen:
I've added a vertical navigation capability to the GPS module. One can input
two waypoints, wp[0] and wp[1], with altitude. If the altitudes differ, then
the altitude deviation from a "straigth" line from wp[0] to wp[1] is
calculated. The true course and course deviation from wp[0] to wp[1] is also
calculated. All this can be found in the wp subdir where one also finds the
wp[0] and wp[1] subdirs.

All this has to be done through the property browser. Maybe I should make a
gui window for the GPS!
2004-05-01 09:40:09 +00:00
andy
0bd25eb082 It can't be turned off, so force the running flag to true to avoid an
uninitialization stupidity.
2004-05-01 04:59:09 +00:00
andy
a3ba94c39e Initial checkin of a TurbineEngine implementation. This hasn't been
tested at all yet, but it doesn't seem to have broken anything so it
should be safe.  See the README in the base package for docs.
2004-05-01 00:26:33 +00:00
andy
9f2a8d4651 Attempt at a fix for the propeller torque problems in the
"slow/windmilling propeller" regime.  I'm happy with the foundations
of the solution, but this hasn't been complete tested yet.  The
solution behavior seems fine on the planes I tried.
2004-05-01 00:25:56 +00:00
andy
b1c964030d Refactoring in preparation to add a turbine engine to YASim. The
PistonEngine class has grown an "Engine" superclass.  Some other stuff
moved around too, and I cleaned up some property naming while I was in
there.  This hasn't been tested very thorougly, hopefully I didn't
break anything.
2004-04-30 19:06:29 +00:00
ehofman
a6466e7d2f MSVC fix. 2004-04-30 08:44:59 +00:00
ehofman
2a4fd79bb4 Remove the references to fg_os.hxx since the UL_USE_XXX variable is located in the config.h file since the changes for confgure.ac. 2004-04-30 08:44:35 +00:00
andy
7ceb85d454 Changes to get FlightGear (well, the src directory at least) to
configure and compile out-of-the-box on a MinGW target:

Use -lSDL instead of -lglut32 on windows builds when --enable-sdl
is set.

Link against alut.dll in addition to openal32.dll.

Replace BSD bcopy() with ANSI C memmove() in a few places.  This is
simpler than trying to abstract it out as a platform dependency in a
header file; bcopy() has never been standard.

The ENABLE_THREADS handling has changed to be set to 0 when threads
are not in use.  This breaks expressions like #ifdef ENABLE_THREADS.
Replace with a slightly more complicated expression.  It might have
been better to fix the configure.ac script, but I didn't know how and
this whole setting is likely to go away soon anyway.

The MinGW C runtime actually does include snprintf, so only MSVC
builds (and not all WIN32 ones) need _snprintf in JSBSim/FGState.cpp

Building on a platform with no glut at all exposed some spots where
plib/pu.h was being included without a toolkit setting (it defaults to
glut).  Include fg_os.hxx first.

And when still using glut, glut.h has a bizarre dependency on a
_WCHAR_T_DEFINED symbol.  It it's not defined, it tries to redefine
(!!) wchar_t to disasterous effect.
2004-04-30 00:52:11 +00:00
ehofman
e83af4e235 Make sure pu.h doesn't include glut by accident. 2004-04-29 09:36:27 +00:00
ehofman
2069bf3eb1 Replace axe by axis. Make sure the right number of joystick buttons is used. The number of defined buttons does not always equal the maximum number of allowed buttons. 2004-04-29 09:10:06 +00:00
ehofman
dd2e2c21a6 Revert the previous patch. The <target-platform> tag is not supported
anymore. Instead Frederic Bouvier suggests to add a <number> tag to
the axis definition which accepts values for <windows> and <unix>
for now but which can be extended later on:

<axis>
 <desc>Rudder</desc>
 <number>
  <unix>2</unix>
  <windows>3</windows>
 </number>
 <binding>
  <command>property-scale</command>
  <property>/controls/flight/rudder</property>
  <offset type="double">0.0</offset>
  <factor type="double">1.0</factor>
  <power type="double">2.0</power>
 </binding>
</axis>
2004-04-28 08:03:40 +00:00
curt
dd4d116e00 Set a rapid fall off rate for interior cockpit sounds so they won't be heard
from the tower view.
2004-04-28 03:57:50 +00:00
curt
0aabc112b4 Make several assumptions:
1. The listener is always positioned at the origin.
2. All sounds eminate from the aircraft's model position.
3. Sound positions are relative to the listener location.
2004-04-27 20:49:00 +00:00
ehofman
baa49ad145 Make it possible to define a <target-platform> tag in the joystick configuration file. This would make it possible to have different configuration files for Windows. Possible values are: Windows, UNIX or All. Not specifying the tag equals to 'All'. 2004-04-27 08:43:20 +00:00
curt
0483333a6b Get ATIS voice working again. 2004-04-26 22:02:30 +00:00
curt
8ab1e47021 Hook in the fgOSExit() function. 2004-04-25 02:17:03 +00:00
curt
2f1e2bc6e9 Register an atexit() function so we can delete the global constructor.
This also gives us a proper hook if we want to clean up SDL (Andy?)
2004-04-25 02:06:55 +00:00
ehofman
70cb759ea8 Frederic Bouvier discovered a buffer overflow in the airport select dialog. 2004-04-24 21:25:54 +00:00
curt
df472fe0f5 Changes to go along with small interface changes in simgear/sound/libsgsound
(which is now written on top of OpenAL.)
2004-04-24 19:28:12 +00:00
curt
4e14316256 Fix a property name that was missed in an earlier change. 2004-04-20 22:54:44 +00:00
curt
e5a57189c9 Stub in controls for second engine master bat/alt switches. 2004-04-20 22:54:20 +00:00
curt
795abb81a4 Change the message passing structure just a bit in order to remove a possible
time dependency ambiguity on the remote end.
2004-04-20 22:53:38 +00:00
curt
bded088de1 Fix an MSVC compile error. 2004-04-19 02:24:22 +00:00
curt
be7e5e4990 Small rewrite of waypoints parsing fix to move global list to the globals.hxx
file.
2004-04-18 18:01:10 +00:00
curt
4a41f96631 Roy Vegard Ovesen:
I've added a tracking bug to the gps. This is of course very similar to a
heading bug for a DG. I don't know if this is the common name, but I feel
that for a gps the name tracking bug is more accurate than heading bug. A
true bug error and a magnetic bug error is calculated and shifted into the
-180 to 180 range so that they can be used by autopilots.

I've also fixed a property name that crept in when I had to change back to
indicated-***. Back then I accidentally changed the desired course name to
"indicated-course". The property that is supposed to be the input for the
desired course should naturally be named something like "desired-course", and
definitely _not_ "indicated-course". If this name change breaks anything it
should be fixed in the other end.

I've also commented out a lot of #includes that I don't think is needed. I'm
on Suse 9.0 now, and it builds fine here, but this might be a problem for
different platforms    I guess we have to cross our fingers.
2004-04-16 22:12:26 +00:00
curt
994f4a16c4 Avoid an autoconf warning about using a "reserved" word in a variable name. 2004-04-16 18:53:36 +00:00
curt
3db9dc5a23 Durk Talsma:
Enclosed you find a tar ball of the two files I changed to get the
--waypoint and --flight-plan command line option to work again.
2004-04-15 22:09:46 +00:00
andy
7b3c6c0ff7 Units bug. 2004-04-14 17:05:33 +00:00
ehofman
bd3c57beee Frederic Bouvier:
my code was accidentally drawing the cockpit twice
in view 0. This patch should fix the problem of
lights not seen through canopies or prop discs.

It was also drawing the lights ( ground and rw )
after the clouds, so they were not obscured by
them.
2004-04-14 07:59:50 +00:00
curt
088a7a83b4 Add a pressure rate helper function for Roy's KAP140 autopilot model. 2004-04-12 19:17:47 +00:00
daveluff
7019fcdc15 Fix a seg fault that could be caused if all no AI models were in existance. Ssg could then free the memory pointed to by our pointer behind our back, causing it to crash when next approaching a controlled airport requiring an AI model. Fix is to hold one ref to each model in the AIMgr at all times. 2004-04-11 15:20:36 +00:00
andy
d27ba7f2d2 Numeric keypad handling 2004-04-09 15:57:16 +00:00
andy
53e470ad0c Don't ask for 32 bit depth buffer. Some cards do only 24, leaving 8
for the alpha channel.
2004-04-09 14:52:03 +00:00
ehofman
b0a3ce0fc0 First attempt to make it possible to use either SDL or glut at compile time. 2004-04-07 14:42:41 +00:00
andy
049fda00cf Fix more brain damage with keyboard handling. I think everything is
working now.
2004-04-06 23:47:56 +00:00
andy
96afa68cad Fix brain damage in previous fix. 2004-04-06 22:17:25 +00:00
andy
163d2c5105 Fix bug where key releases got reported as presses. 2004-04-06 21:55:49 +00:00
andy
395c9bc638 API changes to get fullscreen mode working with SDL. It can't switch
modes after creating the window, so it needs a flag in
fgOSOpenWindow().
2004-04-06 14:28:22 +00:00
ehofman
34b0b5220c Windows fix. 2004-04-06 14:25:33 +00:00
andy
86d4fcf5b6 Added mouse cursor definitions stolen from the X11 cursor font (via a
pointer from Melchior to a font editor that could read .pcf and
generate image files)
2004-04-06 04:06:11 +00:00
andy
941f99308d Oops. A change to an upstream header seems to have remove glu.h, which
these files require.  Dunno why my build didn't pick up the transitive
dependency.
2004-04-06 03:51:11 +00:00
andy
897cc6295c Need to include fg_os.hxx, so the PUI initialization picks the right library. 2004-04-05 21:51:16 +00:00
andy
52a2f92009 Early-access version of an SDL implementation of the fg_os API. It works,
but is not integrated into the build process.  It also lacks support for
changing mouse cursors, which works rather differently in SDL vs. Glut.
2004-04-05 21:39:32 +00:00
andy
f46f962ca0 Revert the hard-coded keybindings I just replaced, and turn them into real
command bindings accessible from XML.  This still probably isn't a final
solution (which would drive the HUD from propery values), but it's a step
in the right direction anyway.
2004-04-05 19:38:50 +00:00
andy
27290ab0ef Restore the hard-coded HUD keybindings that I inadvertently killed
during deglutification.
2004-04-05 18:54:53 +00:00
curt
0490631250 Jim Wilson:
This update contains a change to not overwrite the altitude-ft preset during
"onground" start.  The change also prevents a ground trim issue with the
JSBSim fdm when a "reset" is done by FlightGear.
2004-04-05 16:47:13 +00:00
ehofman
e30112a5ca Frederic Bouvier:
this patch is to clear a problem that I sometimes
encounter : FG locks when hitting the cancel button
of a dialog. In fact, an interator is always invalid
when it was used to erase a member of a collection.
The braces are here to help my debugger, and I also
removed a warning about unused variable.
2004-04-05 11:29:12 +00:00
ehofman
966e0bdd4d Frederic Bouvier:
I restored the output to cout / cerr
for the options and the warning for the version mismatch.
There is a dummy SG_LOG to allow the windows version to
popup the console.

The snapshot rendering use multipass now.
2004-04-03 09:27:38 +00:00
ehofman
7902c04905 Plib is willing callbacks to return 0, 1 or 2 and not simply a boolean 2004-04-02 19:49:51 +00:00
ehofman
ace81503d6 Match the changes in SimGear to fix an NVidia problem. 2004-04-02 19:44:42 +00:00
ehofman
7c616bb5bd Frederic Bouvier:
Cure the performance penalty that leads to draw the aircraft twice.
Also cure the transparency bug over the aircraft.
2004-04-02 16:50:38 +00:00
curt
aa2541a776 Towards better support for a per engine master bat/alt switch. 2004-04-02 16:20:46 +00:00
curt
8d952961cf reflect net_ftm/net_ctrls changes. 2004-04-02 16:20:17 +00:00
curt
ec036a7be8 native_ctrls:
- We need to be able to support a per engine master bat/alt switch.
- Forgot to write the gear level state into the network structure.

native_fdm:
- renamed EGT->egt for consistancy.
- added manifold pressure to the structure.
2004-04-02 16:19:59 +00:00
curt
b5c9a3c0e2 Clean up some debugging output. 2004-04-02 16:17:08 +00:00
ehofman
4e6a009476 Frederic Bouvier:
Add a select method to FGAircraftModel to draw the aircraft
  or not when calling ssgCullAndDraw on the whole scene.
2004-04-02 14:43:31 +00:00
ehofman
b34f0711c4 Frederic Bouvier:
Add a static function that will be installed as a callback to
  cull or not the terrain leaves in tiles.
  Add a function to set the filter.
2004-04-02 14:42:42 +00:00
ehofman
c98daef926 Frederic Bouvier:
Add a pretrav callback to the first kid of geometry that should
  be the terrain_branch. The callback is a static function in
  FGTileMgr
2004-04-02 14:42:03 +00:00
ehofman
924e95fec2 Frederic Bouvier:
Call sgLoad3DModel from simgear instead of duplicating code.
2004-04-02 14:41:35 +00:00
ehofman
dba02e35d4 Frederic Bouvier:
FG_ENABLE_MULTIPASS_CLOUDS must be defined to enable
 the algorithm. I made this because the stencil buffer
 must be initialized at the beginning of the program and
 OpenGL can fallback to software rendering if it can't
 find a visual with stencil buffer. I didn't touch the
 configure script, so CXXFLAGS=-DFG_ENABLE_MULTIPASS_CLOUDS
 must be set before running ./configure.

 If FG_ENABLE_MULTIPASS_CLOUDS is defined, the main render
 loop begins by reading the /sim/rendering/multi-pass-clouds
 property. It is a boolean property so there are only two
 quality levels. false means no multi pass and no use of
 the stencil buffer, true means an additionnal pass for
 both upper and lower cloud layers.

 The algorithms are as follow :
  /sim/rendering/multi-pass-clouds=false
   1. draw sky dome
   2. draw terrain only
   3. draw clouds above the viewer
   4. draw models except the aircraft
   5. draw clouds below the viewer
   6. draw the aircraft.
  The cloud rendering doesn't update the depth buffer.
  This means that models overwrite clouds above the viewer.
  This is only noticeable for tall buildings and when
  flying very low. Also, drawing low clouds after models
  means that they are not blended with models' translucent
  surfaces. Large transparent area require alpha test
  enabled and AI aircraft canopy are making holes. The
  pilot's aircraft being rendered at the end, there is no
  problem with canopy or prop disc.

  /sim/rendering/multi-pass-clouds=true
   1. draw the sky dome
   2. draw the terrain only
   3. draw all clouds
   4. draw models except the aircraft
   5. redraw the clouds where the models where drawn ( stencil
      test on )
   6. draw the aircraft
  The assumptions made by this algoritm are that the terrain
  is not transparent ( should be true in all cases and
  that there are no clouds between the aircraft and the viewer.
  Assuming these facts, there should be no blending bugs.

  The screenshot rendering is not updated yet.
2004-04-02 14:40:54 +00:00
curt
92010f9f94 Clean up a couple bugs in the multiengine handling of the net_fdm.hxx
external interface.
2004-04-02 01:54:38 +00:00
andy
95e8b63988 I was too agressive in the fg_os port. Glut doesn't support grabbing
the keyboard modifiers outside of a key event handler, so adding the
fgGetKeyModifiers() call to doMouseMotion was broken.  The user could
see "phantom" modifier keys.
2004-04-01 23:28:47 +00:00
andy
ae2dbe4f25 Re-enable glut game mode for now 2004-04-01 15:44:13 +00:00
curt
2acdd02879 Clean up various compiler warnings that have crept into the code. This
by no means get's them all, but it's a start.
2004-04-01 15:27:53 +00:00
andy
db79413b6e Win32 typos crept in during the patch. Fix from Frederic Bouvier. 2004-04-01 15:14:34 +00:00
curt
a3b6a593d6 Don't include an unnecessary header. 2004-03-31 23:53:51 +00:00
andy
c0b4531d04 Yank out all the glut dependencies and concentrate them in a (easily
reimplementable) Main/fg_os.cxx file.
2004-03-31 21:10:32 +00:00
ehofman
d430290e48 Frederic Bouvier:
trying the --show-aircraft option, I noticed that I had
no output. This is because there are still output to
cout or cerr, that are not triggering my console patch
for windows. The patch attached use SG_LOG instead.
A request to hit a key is also added because otherwise,
the console window will disappear as soon as the program
stop.

This problem is minor though given the fact that fgfs.exe
is shipped with fgrun that do show the available aircraft
in a much nicer manner.
2004-03-30 09:05:05 +00:00
daveluff
e1d1bdc1da A few abs->fabs where we are passing a double in 2004-03-29 10:25:21 +00:00
daveluff
0bea768f24 Patch from Fred Bouvier to use multi-platform ul library from plib for directory searching instead of ifdefs 2004-03-29 10:20:19 +00:00
andy
dc41cdb948 More work to get the starter behavior right, without breaking David's
work on the pa28 idle and without creating ridiculous side effects
(like being able to fly the aircraft with the starter motor, heh).
This one looks pretty good for now, pending work on the propeller to
get its low speed drag in line with reality.
2004-03-27 18:34:04 +00:00
andy
c62048d5e2 YASim now supports the new fuel.nas fuel management system. It
reads the /consumables tree for input to determine weights, but
places output only in /engines/engine[n]/fuel-consumed-lbs where
it gets picked up by the Nasal code.
2004-03-27 04:07:18 +00:00
andy
17b6142a76 Tune up the starter torque to match the recent changes to engine
friction.  We should get these better calibrated at some point...
2004-03-26 22:53:41 +00:00
andy
3ddfd77781 Forgot to handle "unspecified" properties in getprop(). Treat them
as strings.
2004-03-24 19:06:54 +00:00
andy
b3ce2c3cfe Failed timers should log errors rather than silently eating them. 2004-03-24 18:37:58 +00:00
daveluff
e8ccfb6d20 Round millibars to nearest whole number, and make inches default even in UK until the altimeter on the panel gets a millibar adjuster 2004-03-24 00:28:52 +00:00
daveluff
b6d30b7224 Convert altimeter to millibars for the UK 2004-03-23 23:36:27 +00:00
daveluff
a8b25e57ff Add altimeter to the ATIS. Always does inches at the moment. 2004-03-23 23:25:37 +00:00
curt
349195795e Jim Wilson:
This is a fix for my earlier "Remove some hardcoded dependencies between fdm,
viewer and acmodel" patch.  The problem was discovered when testing the
wrightFlyer.
2004-03-23 13:19:40 +00:00
curt
2b721e8443 Return to original property names. 2004-03-23 02:44:24 +00:00
daveluff
22d8f5a72c Fix another possible ATC stackdump 2004-03-22 22:09:47 +00:00
daveluff
7e395b47b7 Fix some warnings 2004-03-22 20:57:27 +00:00
curt
bcc42cbe4c Various final tweaks for the 0.9.4.pre1 release. 2004-03-22 20:19:18 +00:00
curt
ba840da288 plib-1.8.0 no longer defines the cchar type (which we used because we were
deriving a class and the base class used this type.)  Return to using
const char and hope people compiling against earlier versions of plib
have compilers that think typedef const char cchar; char *abc; is equivalent
to const char *abd;
2004-03-22 15:00:42 +00:00
ehofman
f08625d64d A hack to prevent a devide by zero sotuation. Should we still leave the balloon in CVS without WeatherCM? 2004-03-22 10:59:08 +00:00
curt
0857271582 Jim Wilson:
This patch adds the ability to do a simple scaling of input without having to
add hardcoded helpers.  Example:

    <reference>
      <prop>/autopilot/settings/vertical-speed-fpm</prop>
      <scale>0.01667</scale>
    </reference>
2004-03-21 21:05:06 +00:00
ehofman
deccb6c9a7 Fix a problem where the windspeed could be negative in the property tree. Animations relying on this property could become stressed because of that. 2004-03-21 10:57:44 +00:00
ehofman
cf96deac29 Frederic Bouvier:
The message 'Alert: catching up on tile delete queue'
comes from the fact that 48 tiles are scheduled and
added to the cache at startup before the plane location
is initialized. My proposed patch is to initialize
SGLocation with an invalid position and detect this
fact before scheduling tiles. I prefer to do that
rather than testing for lon and lat being 0,0 because
it is a valid position and someone could want to fly
near Accra.
2004-03-20 22:42:41 +00:00
ehofman
52cb1190d0 Frederic Bouvier:
This patch is for windows only. It hides the console window
until there is a message to print. It only support SG_LOG,
that I think is the right way to display something in FG.
2004-03-20 22:39:30 +00:00
daveluff
e2c4a83040 Some more tweaks to the landing clearance code 2004-03-20 04:12:05 +00:00
daveluff
db2ef57049 Delay deletion of AI traffic until after it has had time to release the frequency after its last transmission. This is a bit of a band-aid for more deep-seated problems with the dialog model, but it will solve some problems for now 2004-03-20 03:13:29 +00:00
daveluff
80761c515e Release the frequency after finishing a transmission 2004-03-20 02:56:13 +00:00
daveluff
fc36c51e89 Slightly more robust handling of runway vacation 2004-03-20 02:55:25 +00:00
daveluff
4d25095e76 Convert some char* return types to string 2004-03-19 13:46:15 +00:00
curt
f7fc455b0d Jim Wilson:
Remove some hardcoded dependencies between fdm, viewer and acmodel classes and
replaced them with property references.   Fix roll offset in viewer.
2004-03-19 03:30:18 +00:00
curt
2845a75753 Jim Wilson:
Add FGPredictor class to xmlauto.  Add support for horizontal navigation based
on flight track as opposed to heading.  Add crosstrack-error support to nav.
Simplify error adjust calculation for horizontal nav (better interception).
Fixed potential divide by zero that was producing nan issues in the xmlauto
code.
2004-03-19 03:23:28 +00:00
curt
a1a68b9c93 Various preparations for the next release. 2004-03-18 02:37:01 +00:00
curt
fe7321e91e Add extern "C" wrappers. 2004-03-16 20:44:00 +00:00
david
25290c4467 Remove the old WeatherCM module. 2004-03-16 20:19:07 +00:00
daveluff
738b81dc49 Fix a possible crash 2004-03-16 10:35:29 +00:00
ehofman
3d65e2dac9 Cugwin fix (min macro conflicts with a
windows one)
2004-03-16 10:02:46 +00:00
curt
fbee3d10f0 Rob Deters: UIUC updates from March 1, 2004. 2004-03-16 04:01:38 +00:00
curt
00002357b3 Roy Vegard Ovesen:
I've done som more work on the gps instrument.

- You can now input airport-, nav- or fix-ID to select a waypoint.
- You have to specify either "airport", "nav" or "fix" in the waypoint-type
  property (some fixes and navs have identical IDs).
- Formatted the time to waypoint output.
- Cleaned up and changed some propery names (wp-heading -> wp-bearing).

- I've also added a name member to the FGNav class so that the gps instrument
  can get the name of the nav.
- Changed the airport name parsing in simple.cxx.
2004-03-15 19:23:39 +00:00
curt
ea39c09192 Make sure delta_u_n and u_n are always explicitely initialized. 2004-03-15 19:15:40 +00:00
curt
a5f9927727 Roy Vegard Ovesen:
I've done some changes to xmlauto.cxx.

Only calculate the derivate filtering if derivate time Td is greater than
zero. This means that one can set Td=0.0 in the xml file to completely remove
the derivate action. (Setting Td to zero in the current version would lead to
a division by zero and crash.)

Setting the integrator time Ti to zero doesn't make sense, right! I've
modified so that setting Ti to zero results in the integral action being
completely removed.
2004-03-15 19:09:44 +00:00
daveluff
1347ca930f Work around for the AI-traffic due to precision issues generated by the radio frequency dialog 2004-03-15 11:14:03 +00:00
ehofman
c37874e140 Fix an issue where math.h doesn't define sqrt in namespace std (at least on MSVC) and remove DOS line-endings. 2004-03-15 09:24:57 +00:00
curt
d77e8c75a1 - Filter the fuel switch position to allow it to slowly transition through
null space without killing the engine (hardware specific problem.)
- NMEA output: I'm slightly confused but it appears that a real GPS outputs
  traditional unix line endings on it's gps strings, we were outputing DOS
  CR/LF which was causing some confusion.  This changes the line ending
  convention to match that of a real gps.
- Calculate true ground track and speed for NMEA.
2004-03-14 23:04:32 +00:00
curt
5c0ae1c6f6 Resolve a meters vs. feet interpretation problem with nav station elevations. 2004-03-14 23:01:44 +00:00
curt
2caa017a79 Change nav->get_elev() to nav->get_elev_ft() to convey the actual units
explicitely.  This value has always been feet, but there were a couple places
in the code that assumed this elevation was meters.  The result was that you
could park directly over the top of the Black Forest VOR (112.50) NE of KCOS
and get a dme reading of 2.5 or so.  This problem is now resolved.
2004-03-14 23:01:09 +00:00
curt
78155104e8 I found a meter/feet conversion problem with DME elevations. These changes
should resolve the problem.
2004-03-14 22:58:58 +00:00
ehofman
f63d336ebc Sync. with JSBSim CVS. 2004-03-14 14:57:07 +00:00
ehofman
a97b69056e Fix a string clearance issue with certain compilers. 2004-03-12 17:33:30 +00:00
daveluff
ead3dd3d5c Don't clear the user to land following downwind report if there is other traffic on final to land first - instruct the user to follow the other traffic and clear the user to land once the other traffic is clear of the runway instead. 2004-03-12 15:59:14 +00:00
daveluff
9e968eaec7 Fix a situation where the AI aircraft sometimes wouldn't be visible when they should 2004-03-12 15:58:00 +00:00
daveluff
7a044b3faa Start adding a better framework for ATC-initiated communication. There should be no user-visible change from this commit 2004-03-10 16:01:17 +00:00
daveluff
1e3a4f312b Add an option for the user to inform the tower (s)he is going around after downwind or final has been reported 2004-03-09 16:20:55 +00:00
ehofman
6a08c79fcc David Culp:
I added some things to the AI stuff to improve the AIThermal processing.
Before, all the thermals were processed in order, and the last one overwrote
the prior one.  Now, only the data from the nearest thermal is kept.  This
way a tile can be populated with many thermals, and (as long as they have the
same diameter) the one nearest the airplane correctly takes effect.  This
will make us ready for the next step, "auto-thermaling", where FlightGear's
tile manager can cover a tile with thermals, and set the thermal strength
based on land-use type.

I moved the enumerated object_type to the base class.  When an AI object is
created it now sets the _otype variable in the base class.  This lets the AI
manager find out what kind of AI object it is dealing with, using the base
pointer.  I also added a function isa() to the base class, so the manager can
process objects differently based on their type.

The AI manager now sends AIThermal processing to a different function, where
only the data from the nearest thermal is kept.  After the manager processes
all the AI objects, then the results from the nearest thermal are applied to
wind-from-down.
2004-03-07 12:08:46 +00:00
ehofman
536d135856 MSVC .NET 2003 fix 2004-03-07 09:37:49 +00:00
david
620832274a Increase friction at idle, so that the engine idles more slowly.
The friction factor should be tunable through a runtime parameter;
right now, it is optimized for the PA-28-161.
2004-03-07 01:26:30 +00:00
daveluff
82ec72da84 Start making the AI traffic robust to not getting a tower pointer from ATC. Eventually this should also lead to being able to generate AI traffic at uncontrolled airports 2004-03-06 14:44:38 +00:00
daveluff
4c84d11862 Use the airport elevation instead of the actual ground elevation when out of visible range of the user. This should reduce thrashing / pollution of the tile cache. 2004-03-05 16:24:04 +00:00
daveluff
f8ef6d16b4 Fix a crash that sometimes occurred when reporting downwind in the circuit 2004-03-05 12:34:08 +00:00
daveluff
406c7d7042 Fix a problem where track would not get initialised to a sensible value before getting altered 2004-03-04 10:11:29 +00:00
ehofman
250ccf7bff Put the Thermal and Storm support code back in 2004-03-03 20:33:08 +00:00
ehofman
ed4509d8b5 Put the AIStorm and AIThermal classes back in 2004-03-03 20:26:06 +00:00
daveluff
9773ba5542 Move the mechanics of turning out of the derived classes into AIPlane. The user-visible effect is that AI planes no longer suddenly change direction without turning properly. 2004-03-02 10:43:16 +00:00
daveluff
cb8db7725a Don't cast string to c_str before passing to functions that take string, and remove an inadvertant push onto the airport_atc_map of data that already exists on it 2004-03-02 10:37:38 +00:00
daveluff
e4859c1fbf Return the closest match instead of the first in-range match when searching by frequency 2004-03-01 13:49:47 +00:00
curt
d8000569ea Investigating some wierd behavior where the threaded metar fetcher would
occasionally cause a large number of valid stations to be flagged as invalid.
This *seemed* like a "race condition" type problem because there were some
assumptions in the communication between the main process and the threaded
loader which if they broke down could lead to this problem.

In the process of removing this ambiguity, I restructured the threaded
(and non-threaded) metar fetching code a bit.  Some of the top level logic
(which Erik politely left untouched) didn't make nearly as much sense in the
context of a threaded metar loader and could have contributed to some of the
wierdness I was seeing.
2004-02-28 19:52:17 +00:00
ehofman
feb9f16410 Revert the previous patch, wind-heading-from is part of a range, not a direction itself. 2004-02-28 12:08:01 +00:00
ehofman
2c6c83ce9b Fix a misunderstanding between wind-from and wind-heading 2004-02-28 11:03:59 +00:00
david
d535c7c6b1 Reverted recent changes -- the dependencies are badly (and
unnecessarily) tangled.
2004-02-27 16:48:27 +00:00
david
721e9f469d Add the aircraft model, model manager, view manager, and scenery
manager to the standard subsystem collection manager, rather than
using extra code to initialize and update them.
2004-02-27 15:16:23 +00:00
ehofman
85a1e5cc98 David Culp:
Here's a new batch of AI code which includes a working radar instrument.

I put the radar calculations into the existing AIAircraft class.  It was
easier that way, and it can always be migrated out later if we have to.
Every tenth sim cycle the AIManager makes a copy of the current user state
information.  When the AIAircraft updates it uses this information to
calculate the radar numbers.  It calculates:

1) bearing from user to target
2) range to target in nautical miles
3) "horizontal offset" to target.  This is the angle from the nose to the
   target, in degrees, from -180 to 180.  This will be useful later for a HUD.
4) elevation, in degrees (vertical angle from user's position to target
   position)
5) vertical offset, in degrees (this is elevation corrected for user's pitch)
6) rdot (range rate in knots, note:  not working yet, so I commented it out)

and three items used by the radar instrument to place the "blip"

7) y_shift, in nautical miles
8) x_shift, in nautical miles
9) rotation, in degrees

The radar instrument uses the above three items, and applies a scale factor to
the x-shift and y-shift in order to match the instrument's scale.  Changing
the display scale can be done entirely in the XML code for the instrument.
Right now it's set up only to display a 40 mile scale.

The radar is an AWACS view, which is not very realistic, but it is useful and
demonstrates the technology.  With just a little more work I can get a HUD
marker.  All I need to do there is make a bank angle adjustment to the
current values.
2004-02-27 10:20:17 +00:00
david
ef12314346 Load submodels before animations, so that we can animate submodels.
Allow submodels to be named when they are loaded.
2004-02-27 03:31:12 +00:00
curt
8d44c8cecc For weather fetching from the noaa.gov site: If the closest station hasn't
changed, wait 15 minutes before grabbing it's weather data again.
2004-02-26 18:21:11 +00:00
ehofman
dad0c2de10 Add an option to define the proxy settings (used by metar data fetching only at this time). Usage: --proxy=user:pwd@host:port 2004-02-26 12:57:38 +00:00
ehofman
061f1688c3 Add support for a proxy server when retreiving metar data. 2004-02-26 10:23:48 +00:00
ehofman
bca8c29795 Add threading to metar data fetching where available. 2004-02-25 15:31:01 +00:00
curt
4fca15fa1d Avoid a possible segfault crash if a nonexistant airport is specified. 2004-02-25 02:16:36 +00:00
ehofman
4b424a29e7 David Culp:
I went through the AI code to put the "bank" node back into the config file,
so the models can fly circles.  While I was in there I made some other
changes.

*)  Moved the initialization of roll, tgt-roll, pitch ... etc, from init()
into the constructor, so it wouldn't over-write the config settings.

*)  Changed the altitude getter to remove the meters-to-feet conversion.  The
altitude is kept internally in feet.  Only the scenery code needs meters.

*)  Added "bank" item for config file (for type=aircraft).  Left bank is
negative.

*)  Added "rudder" item for config file (for type=ship).  Left rudder is
negative.  Internally this is stored in the "roll" variable, but the ship
model doesn't roll.  It uses the "roll" variable for turning though.


The following puts a tanker at 3000 feet, 6 nm northwest of KSFO.  On takeoff,
the tanker is visible over the hanger building at one-o'clock.

   <entry>
    <type>aircraft</type>
    <class>jet_transport</class>
    <path>Aircraft/737/Models/boeing733.xml</path>
    <speed-KTAS type="double">320.0</speed-KTAS>
    <altitude-ft type="double">3000.0</altitude-ft>
    <longitude type="double">-122.455</longitude>
    <latitude type="double">37.69667</latitude>
    <heading type="double">200.0</heading>
    <bank type="double">-15.0</bank>
   </entry>
2004-02-23 20:55:07 +00:00
curt
31e563c2a4 A first stab at limiting the noaa.gov query to only valid stations. There
are many recognized limitations and inefficiencies with this entire approach,
however, it's a quick and dirty way to get something working, where before
we didn't.
2004-02-23 18:25:29 +00:00
ehofman
fa344f7667 Add the network libraries for Solaris 2004-02-23 14:22:53 +00:00
curt
7f3a870b03 Fix a type mismatch error introduced with the latest changes to
src/Airports/simple.[ch]xx
2004-02-23 11:42:49 +00:00
ehofman
69d67d7478 only airports with four-letter codes can have metar stations 2004-02-23 09:49:02 +00:00
ehofman
86e94fd08e Frederic Bouvier:
The last change from Curt to Airports/simple.[ch]xx made
GUI/AirportList.cxx not compilable because of the loss of
a '*' in getAirport.

Also : fabs is not defined under MSVC unless <math.h> is
included.
2004-02-23 09:48:10 +00:00
ehofman
5822e0b0e8 Move fgSetupWind() from options.cxx to util.cxx 2004-02-23 09:37:28 +00:00
ehofman
3143e44faa Use floor() insstead of floorf() 2004-02-23 09:03:41 +00:00
curt
11e0b75bc3 Oops, call *re*init() so that the weather conditions (not just clouds)
are actually updated.
2004-02-23 02:22:49 +00:00
curt
a8be680c43 Enhance the FGMetarEnvironmentCtrl class to also do on the fly weather
updates based on the "closest" airport with metar data available.  Note that
the web based query is in the main loop and causes brief sim pauses.  Update
rate (once per minute) needs to be tweaked with, but is a good value for
testing.
2004-02-23 01:39:12 +00:00
curt
4606f96e13 Various mods to allow querying for nearest airport (with optional ability to
only query those stations with metar weather available.)  Metar availability
is determined on the fly for now.
2004-02-23 01:37:26 +00:00
curt
969fbe4601 Updates so clouds, temp, and dewpoint can be set correctly using weather
station base elevation.
2004-02-22 14:21:37 +00:00
curt
b464703a6f For metar, correctly update visibility and pressure/altimeter. Temp and
clouds need to be implimented (and adjusted for station elevation.)
2004-02-22 02:06:05 +00:00
ehofman
3dd9b14190 ignore resets for now because every z/Z key press would trigger a call to NOAA. We need a better approach. 2004-02-21 15:20:41 +00:00
ehofman
cb77391d43 Catch exceptions when no metar data is available (e.g. KUFO) 2004-02-21 15:00:49 +00:00
ehofman
897f295988 Encapsulate the interpolstion version of FGEnvironment and fix some bugs 2004-02-21 14:04:40 +00:00
ehofman
84e4b1be2e Add support for retreiving metar data from the internet 2004-02-21 12:56:16 +00:00
david
9409d5e35e Change fg_props.[ch]xx into a proper subsystem, under the control of
the subsystem manager.

Add properties for the individual parts of the time and date.
2004-02-20 17:35:33 +00:00
ehofman
32a17bf442 Remove truncf() all together. 2004-02-20 07:54:26 +00:00
andy
8d1698d21a Added a <solve-weight> subtag of the approach/cruise parameters that can
be used to set the variable weights to specific values for the solution.
2004-02-18 15:36:35 +00:00
ehofman
7de581bf8f Changes to tke sky dome coloring 2004-02-18 14:33:50 +00:00
andy
500b081ca5 Allow a "fuel" attribute in the approach and cruise tags to have
values other than the defaults (20% and 50%, respectively)
2004-02-17 23:24:36 +00:00
curt
7cad72a6f2 Add trim tab deflection to surface positions passed in net_fdm. 2004-02-17 22:46:28 +00:00
ehofman
1c576866b2 Adjust the turbine names for N1, N2 and EGT_degC to match those already specified by YASim (n1, n2 and egt_degf). 2004-02-17 09:07:27 +00:00
curt
3daf9e5a2d Fix an #include typo. 2004-02-15 18:41:14 +00:00
ehofman
c92cb650eb Add the latest version of JSBSim including support for a Visual Reference Point 2004-02-14 10:19:56 +00:00
andy
1bc3c5eca0 Yank the sqrt() terms from the twist calculations. They were causing
solution failures for reasons I have still to investigate.
2004-02-13 18:12:08 +00:00
ehofman
7da5a741fb Revert to the previous version because it looks it isn't the friction force after all. 2004-02-13 15:20:13 +00:00
ehofman
c648bc18f7 Make sure the friction forces are positive, otherwise they will push the aircraft rather than holding it into place. The ground reaction code still needs some attention. 2004-02-13 12:54:38 +00:00
curt
71c83c4de7 Initialize autopilot output to start at current manual control position
to [hopefully] make autopilot activation less "dramatic."
2004-02-12 22:35:29 +00:00
curt
7f6b36d0d2 Simple hack to allow selectively disabling the hardware flight controls. 2004-02-12 20:56:24 +00:00
andy
fc565ebd86 Put the sqrt(frac) terms back into the wing twist. 2004-02-09 19:53:14 +00:00
andy
85115ef347 Fix the left/right terms in the twist handling to be symmetrical. 2004-02-09 15:18:33 +00:00
david
fbfdc6b987 Updated. 2004-02-07 21:37:54 +00:00
david
633e0fde43 Be a little quieter at the default debug level. 2004-02-07 21:37:35 +00:00
curt
29b1f376f7 Fix altitude/agl hold display. 2004-02-05 23:49:18 +00:00
curt
bffca78da4 Add my old ultra-simplistic PI controller. The fancy PID controller doesn't
seem to be fully deterministic in P-only mode.  This old simple controller
does what I expect, so it's good for calulating stage #1's of multi-stage
controllers.
2004-02-05 17:11:47 +00:00
ehofman
869aa997a5 Initialize the varables *before* reading in the configuration file 2004-02-05 13:47:48 +00:00
curt
266534259d Add vertical speed fpm conversion since the fdm provides this value in
fps.
2004-02-04 20:16:30 +00:00
curt
8191e743f0 Cleaned up some left over stuff. Working towards infrastructure to support
adding additional PID type algorithms to the code.
Add support for calculating heading bug error relative to magnetic heading
for slaved DG's.
2004-02-04 17:10:32 +00:00
daveluff
dcf8d93852 Make sure at least one Transform() is performed to set the model position *before* first calling DoGroundElev() in order to avoid polluting the tilemgr with bogus tiles 2004-02-04 17:00:19 +00:00
daveluff
129a9fabe2 Oops - no 3D model assigned to aircraft starting at airports with logical networks 2004-02-04 16:59:04 +00:00
curt
c4bca03ec2 autopilot reinit() now reloads config file. 2004-02-03 20:17:57 +00:00
curt
570ea80a36 Remove stray debugging output. 2004-02-03 19:48:41 +00:00
curt
348d3e26ce Comment out some unused references and left over debugging output. 2004-02-03 19:34:23 +00:00
ehofman
7ffce3ac6a Move the new metar class from FlightGear to SimGear 2004-02-02 10:14:20 +00:00
curt
e3a584ffd0 Include compiler.h and config.h first. 2004-02-01 16:50:13 +00:00
curt
da5ea10d5d Curt Olson:
Autopilot overhaul.
2004-01-31 19:47:45 +00:00
andy
5a9c5d80c8 Thrust reversers. Very simple implementation. 2004-01-30 23:21:26 +00:00
ehofman
d3865a9bf9 Check for the precense of truncf rather than hard-wire it in 2004-01-27 09:31:27 +00:00
curt
72f2c5c4f4 Fix a type ... 2004-01-26 22:44:27 +00:00
ehofman
dc5a58fdcf Alexander Nedotsukov:
I just met a couple of warnings about depricated headers beeng used.
Please take a look at patch (against today cvs) attached wich
does strstream -> stringstream migration. I hope you found it usefull.
2004-01-26 20:33:30 +00:00
ehofman
8c129e8470 Make it possible to show the DME in the HUD 2004-01-26 20:24:29 +00:00
ehofman
4fb5e61162 MSVC fixes 2004-01-26 20:06:03 +00:00
andy
e8009ed8fa Forgot the gear ratio handling in stabilize() method, so the solver
got wrong values.
2004-01-25 18:57:11 +00:00
andy
5af1e589de Wire up a "gear-ratio" attribute for geared propeller aircraft 2004-01-24 23:09:41 +00:00
ehofman
f845aa9b2a Add Melchior FRANZ's metar class. It is not yet used anywhere (but in the resulting metar executable), but it makes adding live weather quite easy. 2004-01-24 10:38:39 +00:00
ehofman
816d84457c Reduce the log level to info 2004-01-24 10:36:37 +00:00
ehofman
64cad6a288 Fixes to the kr_87 radio 2004-01-24 10:05:54 +00:00
curt
af66e80358 John Wojnaroski:
latest version is attached to reduce need to search property
tree each frame. I don't think this will break any Fg code and
opengc has been updated a while back and have had no complaints ;-) so it
should be a no impact change, hopefully.
2004-01-23 21:02:09 +00:00
daveluff
845ba951e4 Melchior found another way to crash it 2004-01-23 18:38:02 +00:00
ehofman
74d163b51b Rather define our own truncf implementation for BSD alikes 2004-01-23 18:27:55 +00:00
ehofman
44108678f7 BSD doesn't have truncf(), it does have floorf() however 2004-01-23 18:05:05 +00:00
daveluff
a739fad664 Lots of changes to the ATC/AI system for initial revision of random AI GA VFR traffic 2004-01-23 17:18:24 +00:00
daveluff
afb654a068 Initial revision of class for AI VFR GA traffic 2004-01-23 17:16:15 +00:00
daveluff
4fa02012dc Don't loose the elevation in ATC projection conversions 2004-01-23 17:14:08 +00:00
ehofman
02cf3373d5 Use fgGetBool to assign a boolean variable 2004-01-23 09:46:56 +00:00
ehofman
863b0c9432 Make the AI models a bit more intelligent. The Gear should be extended and retracted automatically, the navigation lights turn on when sun-angle-rad > 1.57, strobe and beacon are always on and make sure all properties are returned in the right unit format. 2004-01-22 21:13:47 +00:00
ehofman
6ba351cfc6 Make it possible to truncate the result of a number-value text chunk calculation rather than rounding it by specifying <truncate>true</truncate> inside the chunk. 2004-01-22 18:42:42 +00:00
andy
0a9a72f209 Don't default to exactly zero RPM if the RPM property isn't there.
The engine model doesn't like that.
2004-01-21 22:51:21 +00:00
ehofman
79ef949e17 Check for less than -1.0 also. 2004-01-19 14:26:24 +00:00
ehofman
fbd21c499f Turn the console colors back to default before continueing 2004-01-19 13:51:05 +00:00
ehofman
ce66c93d6c Fix a problem where the dot product might possibly be greater than 1.0 causing a NaN for the following acos() 2004-01-19 13:46:47 +00:00
ehofman
491e7c6fea Fix a posible devide by zero situation 2004-01-15 18:10:00 +00:00
ehofman
2c59d1621f MSVC fix 2004-01-15 10:18:51 +00:00
curt
95440173ca Curt Olson:
Sync with most current JSBSim CVS.
2004-01-14 22:09:39 +00:00
ehofman
8e5a884428 Add support for an offset for number-value typed text chunks 2004-01-13 18:28:46 +00:00
curt
9c49534907 Attempt #1 to sort out confusion between left / right / parking brake
controls in the cockpit vs. which wheels they apply to.  FlightGear now
sets /controls/gear/brake-left, /controls/gear/brake-right, and
/controls/gear/brake-parking.  It should be up to the FDM to sort out
which wheels under which circumstances are affected by these controls
and ultimately what happens to the physical motion of the aircraft.
2004-01-12 17:39:41 +00:00
andy
ba44655796 Attenuate turbulence near the ground. Tweak turbulence numbers. 2004-01-12 04:03:55 +00:00
curt
492d5fbd8d Fix a small mistake in the scene graph arrangement for vasi lights. 2004-01-11 19:45:29 +00:00
andy
dfffe9c924 Move the turbulence "airmass" according to the local wind.
Clean up and better document the magic numbers in Turbulence.cpp
2004-01-10 22:34:49 +00:00
andy
ce91286e19 First cut at a turbulence model for YASim. It's a
perlin/scale-invariant vector field implemented as a 2D lookup table.
Seems to work OK, but needs testing and feedback.
2004-01-09 17:05:26 +00:00
ehofman
1fa7a1464f Name the property sun-angle-rad instead of sun-pos-rad to make it a bit more descriptive 2004-01-07 22:51:28 +00:00
ehofman
46877af1a7 Make sure FlightGear quits when a specified aircraft configuration file was not found 2004-01-07 13:03:44 +00:00
ehofman
f279f4b065 Chnage the name to reflect the real unit of radians instead of degrees 2004-01-07 09:26:17 +00:00
ehofman
519fd99106 Make the position of the sun above the horizon available in the proprty tree 2004-01-07 09:21:35 +00:00
curt
de7d16cd27 Modified Files:
net_ctrls.hxx net_fdm.hxx net_fdm_mini.hxx net_gui.hxx

I, Curtis Olson, being the primary author of these header files, hereby
release them into the public domain to facilitate interfacing FlightGear
with other external code (which might need to remain proprietary or may
be licensed under some not quite GPL compatible terms.)
2003-12-30 20:46:50 +00:00
curt
461baef128 Add a small optimization to reduce the amount of vasi computation that is
done every frame.
2003-12-30 15:12:04 +00:00
curt
a80b033104 Smarter vasi/papi coloring. 2003-12-30 07:04:40 +00:00
curt
3d7f467c61 First stab at correct vasi/papi coloring. This is still rough and doesn't
account for variation in lighting alignment, but it's more useful than the
previous attempt which was based on a misunderstanding of how environment
mapping worked.
2003-12-30 05:57:25 +00:00
andy
2166dd70a8 Forgot to implment the Node.getChild(name, index) form of the function 2003-12-29 22:52:21 +00:00
ehofman
02623bedbc Reset /sim/crashed upon reset 2003-12-29 10:10:35 +00:00
ehofman
2f764eb319 Make sure the mouse mode can be overriden by a commandline option 2003-12-28 17:42:26 +00:00
ehofman
4cc853e2a2 MIPSpro 7.4 fixes 2003-12-27 22:27:27 +00:00
ehofman
22b5b1c405 Oops, make sure that one of the default splash screens gets used when the splash-texture is undefined 2003-12-22 21:59:43 +00:00
ehofman
465d13b045 Add support for an aircraft specific splash screen 2003-12-22 21:49:11 +00:00
ehofman
5a6858609d Fix a typo 2003-12-22 20:18:33 +00:00
andy
d14bba8458 Fix for a premature deletion bug. The _arg SGPropertyNode* is passed
to handlers which might want to assign it to a SGPropertyNode_ptr for
reference counting (Nasal does, for instance, to prevent garbage
collector interactions).  If that smart pointer is then destroyed,
that will free this object while it is still live.

Simply use a SGPropertyNode_ptr here; the code ends up smaller as a
bonus, since FGBinding no longer has to deallocation for _arg.
2003-12-22 19:18:22 +00:00
andy
a59a272702 Yank more debug code. 2003-12-22 19:02:20 +00:00
ehofman
2d7a6e475d Split up model[] into ship[], aircraft[], ballistic[] and model[] (for unspecified models). 2003-12-22 12:30:35 +00:00
ehofman
298f53edef Tidy up the code a bit more, move /ai/model[] to /ai/models/model[] and make sure there can be more than one model subtree. 2003-12-22 10:24:15 +00:00
ehofman
c1eb54ae0a Use some C++ FOOmagic to get the lat and lon updated in the property tree properly 2003-12-21 22:16:57 +00:00
ehofman
9bc2517417 Make the AI model export it's internal state to the property tree under /ai/model[] using the same naming convention as used for the regular FDM. Also make sure the model animations are relative the the /ai/model[] node. 2003-12-21 20:12:55 +00:00
ehofman
4c01e0e76a Tidy up the code a bit 2003-12-21 13:42:01 +00:00
andy
d0af0c5f58 Export a "/sim/crashed" property to indicate a crash.
Yanked some ancient debug code and cleaned up some whitespace while I
was in there.
2003-12-19 19:02:48 +00:00
andy
439a9fa1e4 Minor API changes to support the new sg_geodesy implementation. A few
places now use sgCartToGeod() instead of rolling their own
approximation.  And YASim is now using exactly the same 3D coordinate
system as the rest of FlightGear is.
2003-12-19 02:42:32 +00:00
andy
7edecf980e Workaround for code generation bug in gcc-2.95.3 2003-12-16 05:39:04 +00:00
ehofman
76585fb801 STL chnages 2003-12-11 14:50:30 +00:00
curt
afd5a88aa2 Fix the nmea and garmin output to a) fake a GSA sentence, b) fix a y2k bug
(seriously, my bad), c) fix some issues with the RMC string, d) use proper
line terminators (\r\n), and e) a few other clean ups.
2003-12-09 21:05:26 +00:00
ehofman
44ce4cdb97 Melchior FRANZ:
I think the ufo turns a bit too fast. 25 is better.
2003-12-08 18:08:27 +00:00
andy
0b3159ec0c Add a new command, "dialog-new", allowing external code (e.g. Nasal
scripts) to create dialogs at runtime.  Augment "dialog-close" to take
a name argument, allowing code other than PUI callbacks to close
dialogs.

The changes to the GUI directory to enable this are actually minor,
basically amounting to using SGPropertyNode_ptr reference counting
(the GUI subsystem no longer "controls" the dialog property trees, so
it can't delete them).
2003-12-08 02:05:10 +00:00
ehofman
7ac15db168 Melchior FRANZ:
Everyone knows that ufos can turn on the spot.
Turn on rudder input at low speeds. (Quite useful when using the
ufo fdm for exploring the scenery.)
2003-12-07 17:39:48 +00:00
andy
eb3f52c340 Turn the __timers garbage collector cache into a more generic "gcsave"
interface, and use it to cache FGNasalScript objects returned from
a new parseScript() method.

Added a rand() function.

Added an interpolate() function interface to the new SGInterpolator
subsystem.
2003-12-05 01:54:39 +00:00
andy
85b5210022 Initialize the SGInterpolator subsystem. Also remove some PSL code, since the include file is no longer there 2003-12-05 01:52:34 +00:00
andy
9d15561937 My refactoring left two values uninitialized when running a
helicopter.  Melchior caught the bug.
2003-12-03 21:26:03 +00:00
ehofman
6b1e5f905a Remove the reference to libObject.a since it isn't generated anymore. 2003-12-02 18:47:55 +00:00
ehofman
ff2bef2784 Comment out the rest of the Makefile to make the compierl happy 2003-12-02 17:57:21 +00:00
curt
25fddbf476 Add the current true heading to the tuned nav station into the property tree. 2003-12-02 15:56:56 +00:00
ehofman
79e48829da Add Nasal Vs. 1.5 2003-12-01 14:35:49 +00:00
andy
3b2d97289c Cleanup and refactoring to better integrate the helicopter code into
the core YASim stuff.  Mostly cosmetic: whitespace adjustment, dead
code & meaningless comment removal, a little code motion to better
partition the helicopter handling from the original code (no more
giant if() { ... } around the solver).  Added a warning to the parser
to try to eliminate the string booleans that crept in.

There should be NO behavioral changes with this checkin.
2003-12-01 01:22:27 +00:00
ehofman
4a68c2ffb0 Use strndup() replacement code that doesn't cause a segmentation fault. 2003-11-28 20:25:50 +00:00
ehofman
a9c6ca26af Don't destroy the elements ourselves. Instead clear
() calls the destructor for each element itself.
2003-11-28 20:16:59 +00:00
ehofman
3297ac3544 Some small updates 2003-11-28 20:05:32 +00:00
ehofman
378a4ba0f7 Make room for the terminatig '\0' and prevent a potential buffer overflow. 2003-11-28 17:56:36 +00:00
ehofman
cd0c447b43 Add David Culp's AI model manager code which is derived from David Luff's AI/ATC code. 2003-11-28 15:48:05 +00:00
ehofman
06ce7ae928 IRIX/MipsPro 7.2 doesn't have strndup. Work around it. 2003-11-28 10:25:33 +00:00
david
8b2cfb515b Add a scrolling list widget for selecting airports. 2003-11-27 23:41:00 +00:00
david
e3737de2d6 Allow sequential access to airports. 2003-11-27 23:37:03 +00:00
ehofman
2be85c1b1b gcc 2.95 and 3.0 requite handleTimer to be public 2003-11-27 14:34:37 +00:00
ehofman
3459147f5f Add a refference to sprintf 2003-11-27 13:44:20 +00:00
ehofman
c7ae0e3b0f Partability fix 2003-11-27 10:24:05 +00:00
curt
0cdbf86578 libnasal.a renamed to libsgnasal.a 2003-11-25 22:50:17 +00:00