1
0
Fork 0
Commit graph

5166 commits

Author SHA1 Message Date
curt
6076c83904 Various tweaks for v0.9.5-pre1. 2004-07-15 18:07:02 +00:00
ehofman
c70db33e28 Add a section about subsystems. 2004-07-15 17:09:29 +00:00
ehofman
e4fc1541f4 Add some introduction documentation. 2004-07-12 12:11:07 +00:00
ehofman
1d2af567bf Frederic Bouvier:
I have 3 issues that are fixed by this set of patches.

1. In extensions.cxx
  #else if !defined( WIN32 )  must be changed by
  #elif !defined( WIN32 ) because the text after #else
  seems to be ignored

2. banner is not available on windows, only cygwin

3. ANSI escape sequences are not interpreted on the
   windows console. We just have garbage that is hard
   to read.
2004-07-03 10:59:34 +00:00
ehofman
5c685b34de Sync. with JSBSim CVS again. This fixes some small issues. 2004-06-27 19:35:54 +00:00
david
25ac349fe4 On a reinit() subsystem event, reconfigure the joystick and other
inputs.  This makes it possible to hot-plug a new joystick while
FlightGear is running (as long as the user explicitly reinits the
input subsystem).
2004-06-24 02:08:38 +00:00
curt
258cd292c6 When searching for nav records ignore stations > 300nm away. 2004-06-20 18:58:44 +00:00
david
2bcec1fbbc Ignore generated files. 2004-06-15 12:48:22 +00:00
curt
19dff3ac44 Alternator should still put out some output when RPM < 800. (Yes I know this
is hard coded for the C172, but so far no one has asked to do this more
generically.)
2004-06-14 21:36:10 +00:00
curt
e32c5d965f Pending white space tweaks I forgot to commit the other day. 2004-06-14 18:47:21 +00:00
curt
886d003688 - Track a saved mouse pointer location from the previous frame so we can detect
motion.

- Track a timeout value so we can optionally hide the mouse pointer after
  some user specified timeout period.

- in doMouseMotion() always update m.x and m.y even if we return early because
  pui wanted the event.  Without this, we can't reliably detect motion vs.
  inactivity.

- in _update_mouse() add a dt parameter so we can decriment the timeout value
  in "real" time.

- in _update_mouse() optionally hide the mouse pointer if m.timeout goes to
  zero.  Restore the pointer (and the timeout counter) if the mouse is moved.
2004-06-14 18:46:58 +00:00
curt
0fa47dbbdc Change the fps toggle property name a bit and add a toggle switch in the
gui/dialog/rendering box.
2004-06-14 16:38:44 +00:00
curt
1fa0f4157c Make the onscreen fps display toggleable via a boolean property. 2004-06-14 16:25:32 +00:00
ehofman
8e1482f746 Sync w. JSBSim CVS 2004-06-14 11:40:45 +00:00
ehofman
56f085b6f1 Melchior FRANZ:
Remove an unused test, counter_hack is initialized to 0 and the test never reaches the increment section but instead will always call loader.update();
2004-06-13 18:47:55 +00:00
ehofman
22c0529280 Work around a potential never ending loop problem. A proper fix will be in the next JSBSim update. 2004-06-13 18:44:21 +00:00
ehofman
dbfc0eb287 Put the sqrt() back in. That was part of another attempt to optimize the code, but it hadn't fully matured yet. 2004-06-12 11:37:47 +00:00
ehofman
c43e514e87 No need to do he calculations twice. FGAIBAse::update() handles them already. 2004-06-12 11:34:05 +00:00
ehofman
24820e6d5a Move the radar update code to the AIBase class. There seems to be a problem where all targets disappear whenever one of them disappears, but that was present in the previous update also. 2004-06-11 13:49:07 +00:00
ehofman
11290e8022 Remove an unnecessary property set. 2004-06-11 08:09:55 +00:00
curt
756f05501b Oops, fix a bug (introduced recently) that could cause the glide slope
indicator to read incorrectly for many approaches.
2004-06-10 19:51:27 +00:00
ehofman
4fe886f008 Introduce a radar/in-range boolean property, end check this to see whether the CPU intensive radar calculations need to be done. If not, skip them. 2004-06-10 19:14:19 +00:00
curt
6c8f7fab01 DME units report a distance based on the assumption that the ground station
will delay it's reply by 50ms.  The ground station can change it's reply delay
to trick the airborn dme unit into reporting a distance that is offset from
the true distance by some constant value.  In FG we model this by subtracting
a fixed distance from the actual distance.

It is thus possible in our implimentation for the displayed distance to become
negative.  This patch clamp DME distance to a minimum value of 0.00 so it can
never go negative.
2004-06-09 20:21:18 +00:00
curt
225298a09e Often, the elevation of an ILS component is not listed in our nav database.
A good elevation is critical for proper glide slope modeling.  This patch
assigns the average field elevation to any ILS component that doesn't have
a valid elevation.

Also, for an ILS approach, use the GS transmitter elevation for glide slope
calculations rather than the localizer elevation, in some cases this can
make a big difference.
2004-06-09 03:13:13 +00:00
curt
a01bbf5a28 iSwitch position changes. 2004-06-09 00:49:04 +00:00
ehofman
ff9258528c Melchior FRANZ:
Wouldn't it be better to prepare the whole list of paths (or two
separate ones for Terrain/Objects if necessary) in FGGlobals::set_fg_scenery,
and to pass the vector<string>s to FGTileEntry::load? It doesn't seem to make
a lot of sense to split the path up, modify it, mount it together to one string
again, and then let FGTileEntry::load split it up again.

Here we go:

Main/globals.cxx
================
As fg_scenery is now a string_list, we don't need initialization. Furthermore,
this list is cleared with every set_fg_scenery() call.

ctor: create default dir from fg_root if necessary. Otherwise check all paths
of --fg-scenery/FG_SCENERY: If the path doesn't exist, ignore it. If it contains
a dir Terrain and/or Objects, then only add that to the list. If it contains
neither, then use the path as is.


Scenery/tileentry.cxx
=====================
Trivial: don't split a "base path", but use the given path_list as is.
(I considered a variable name "path_list" better suited than "search".)


Scenery/FGTileLoader.cxx
========================
No more fiddling with sub-paths. This has to be delivered by get_fg_scenery
already.
2004-06-08 15:32:09 +00:00
ehofman
43df8a9cc0 Remove some debugging code. 2004-06-07 09:55:55 +00:00
ehofman
079890e955 Make use of the new SGPath::add() function and automatically append 'Terren' and 'Objects' the the scenery path when one or both of those subdirectories exsist. 2004-06-07 09:52:11 +00:00
ehofman
1bdcbd69f3 Windows uses ';' instead of ':' as a path separator. 2004-06-06 19:34:31 +00:00
ehofman
86a24bc9e8 Search in share/FlightGear instead of lib/FlightGear 2004-06-06 19:31:42 +00:00
ehofman
372920236f Make it possible to split the Scenery into Scenery/Terrain and Scenery/Objects in preparation for the next scenery release. 2004-06-06 19:15:04 +00:00
ehofman
a3c8bc99a2 Incorporate some of the changes from the Linspire diff. 2004-06-06 14:28:45 +00:00
ehofman
dda15ac488 David Culp:
Here's some additions to AI that allow refueling from an AI tanker (the actual
onload of fuel must be handled by the user's FDM of course, this just lets
the FDM know that the user is in position to refuel).

I've added a new class of AIAircraft called "tanker".  It uses the same
performance struct as a jet transport.  An AI tanker is just like an AI jet
transport, except it uses the already-existing radar data to control the
boolean property systems/refuel/contact.  The code change was minimal.

An AI tanker can be created like this:

  <entry>
   <callsign>Esso 1</callsign>
   <type>aircraft</type>
   <class>tanker</class>
   <model>Aircraft/737/Models/boeing733.xml</model>
   <latitude>37.61633</latitude>
   <longitude>-122.38334</longitude>
   <altitude>3000</altitude>
   <heading>020</heading>
   <speed>280</speed>
   <roll>-15</roll>
  </entry>

This puts a tanker over KSFO at 3000 feet, in a left-hand orbit.  When the
user gets within refueling range (contact position) then the property
systems/refuel/contact will be true.  Otherwise it is false.

The dimensions of the refueling envelope are pretty rough right now, but still
usable.  The user must be behind the tanker (ie. radar y_offset > 0).  The
user must be at or below the tanker's altitude (ie. radar elevation > 0).
The user's lat/lon must be within 250 feet of the tanker's lat/lon (ie. radar
range_ft < 250).  This last requirement is loose because the radar data is
only updated every 100 ms, which is accurate enough for radar use, but
which is sloppy for air refueling.  This could be tightened up by increasing
the radar update rate to once every sim cycle.

I'm going to add a light to the T-38 instrument panel that will monitor the
property systems/refuel/contact.  This will make it easier to explore the
boundaries of the refueling envelope.
2004-06-06 08:50:17 +00:00
ehofman
38f5e2c1dd MSVC fixes 2004-06-06 08:35:09 +00:00
curt
049afb8a48 Change the default rsync module to Scenery-0.9.5 2004-06-05 18:46:36 +00:00
ehofman
0d3bd26188 Ingnore some generated files." 2004-06-05 08:51:29 +00:00
ehofman
b3e9697262 Add the AIModel based air traffic subsystem from Durk Talsma. 2004-06-03 17:59:14 +00:00
ehofman
9227d02aa3 Updates ias requested by Melchior. 2004-06-01 13:29:04 +00:00
ehofman
77f9237bae Some (small) modifications. 2004-06-01 11:42:05 +00:00
ehofman
30b9893bb4 Updates. 2004-06-01 08:36:27 +00:00
ehofman
3c1a7174fb David Culp:
Here's some new AI stuff.

1)  AI objects must now be defined in a scenario file, not in preferences.xml
or a *-set file.  (Of course this doesn't prevent objects from being created
dynamically, as with Durk's traffic manager).

2)  A new demo_scenario file is attached.  It creates 3 aircraft, a sailboat,
and a thunderstorm.

3)  Objects without flightplans live forever.

4)  FGAIShip::ProcessFlightplan() is not yet implemented.

5)  preferences.xml should now define only <enabled> and <scenario>
2004-05-29 11:39:10 +00:00
curt
d1944b338b Remove some left over debugging output. 2004-05-28 21:47:11 +00:00
curt
a08f4c084b Allow a "threshold" value to determine which localizers to snap to the
runway heading or not.
2004-05-28 20:57:05 +00:00
ehofman
0074269d11 Fix a gxx 3.3 compiler problem. 2004-05-28 19:03:55 +00:00
curt
a3cde21637 Curt Olson:
These change add some code that at initialization time will snap all
localizers into perfect alignment with their runways.  It's my experience
that the DAFIF/FAA data reports runway and localizer headings to a level
of precision that is great for making charts, or adjusting your OBS, etc.
But the level of precision of this data can be far enough off to make you
visibly *un*aligned with the runway when the CDI needle is centered.

There are probably cases where the localizer isn't really perfectly
aligned with the runway, or intentionally misaligned to avoid obstacles
or terrain.  So I have made this configurable for those that trust the
data more than I do.  Just set "/sim/navdb/auto-align-localizers" to
true/false in the preferences file to turn this feature on or off in the
code.
2004-05-28 16:24:43 +00:00
ehofman
70a6f2c014 Use SGRawValueMethods rather than SGRawValueFunctions because that allows one to pass the 'this' pointer. Remove some debug code. 2004-05-28 08:46:33 +00:00
curt
1b5483bc63 And again ... 2004-05-28 05:33:10 +00:00
curt
197cef01d3 One more ... 2004-05-28 05:31:11 +00:00
curt
6ec9e2dcdc Oops, and another similar one. 2004-05-28 05:29:04 +00:00
curt
90c5f1f22d Fix a compile error I missed in the first round. 2004-05-28 05:27:40 +00:00