ehofman [Sat, 22 Mar 2003 14:52:15 +0000 (14:52 +0000)]
Remove old if..then..else kludge an favour of Frederic Bouvier's new code. This also fixes a problem with MultiPlayer options being defined in the wrong place
ehofman [Fri, 21 Mar 2003 15:02:23 +0000 (15:02 +0000)]
Andy wrote:
This is just a port of an old 3D HUD patch to the new view code.
This pans the HUD with the view, by pasting it onto a quad fixed in front of the viewer. It also fixes the awful, arbitrary scaling problems the HUD code has. The old HUD only looks right when viewed at 1024x768 and 55 degree FOV. This works the scale out magically so that it looks right in all views. It also redefines the "<compression-factor>" tag in the ladder to (1) mean compression instead of expansion and (2) have non-psychopathic units (now "1" means 1 degree per degree). Fix this in your existing HUD ladder files before reporting bugs. It's definitely a cosmetic win -- the velocity vector points at the right thing and the horizon lines up properly.
Norman wrote:
I have created a modified version of Andy's patch that implements the 3D HUD as the 'normal' and the 2D HUD as the 'minimal' HUD. < i > and < shift I > keys
ehofman [Thu, 20 Mar 2003 09:38:06 +0000 (09:38 +0000)]
David Luff writes:
I've fixed a bug in FGRunways::search(aptid, tgt_hdg) which wasn't working properly for airports with multiple parallel runways. I've also firmed up and pulled out into it's own function the GetReverseRunwayNo code, and done some input checking.
As a result of fixing the above in runways.cxx, I've pulled out the
parallel implementation in the functions that set position by airport and
heading/runway number in fg_init.cxx and called the runways functions
instead.
daveluff [Mon, 17 Mar 2003 11:32:51 +0000 (11:32 +0000)]
Add the ability to scroll single ATC messages - this is toggled using property /ATC/display/scroll-single-messages (off by default). Also increased the time that single messages are displayed in non-scrolling mode - this makes ATC transmissions easier to read.
david [Sun, 16 Mar 2003 21:14:45 +0000 (21:14 +0000)]
Added a new turbulence type ttStandard, and made it the default.
ttStandard is copied from ttBerndt, with the following modifications:
1. All turbulence is diminished within three wingspans of the ground.
2. The horizontal forces are used to calculate the moments, but then
zeroed out so that only the vertical force is actually applied to
the aircraft.
3. The yaw moment is not used.
In fact, the horizontal forces and the yaw moment should be allowed,
but they are extremely rare compared to the vertical force and the
pitch/roll moments. For now, simply zeroing them gives the most
accurate feel.
daveluff [Mon, 10 Mar 2003 13:41:37 +0000 (13:41 +0000)]
Start roughing in interactive tower control. AI planes now get the ground control pointer through tower control, which then handles the difference between larger airports with separate ground and smaller ones where tower handles it
daveluff [Sun, 9 Mar 2003 17:39:44 +0000 (17:39 +0000)]
FGAIMgr now searches for proximity to airports with logical networks defined at startup and periodically thereafter, and only starts AI traffic when a suitable airport is found in range (currently only KEMT). In theory it should now be possible for a user to drop in a *.taxi file in my undocumented-shortly-to-change format into fgfsbase/ATC and have an AI Cessna appear at that airport and fly a circuit if they start there or fly near there. In practice its probably better until we start using the output from Bernie's taxiway editor, and there's bound to be glitches once other networks are tried
daveluff [Sun, 9 Mar 2003 17:35:16 +0000 (17:35 +0000)]
Added a range parameter to the FindByPos search function, also fixed a bug whereby one too few buckets in the North and East direction were searched - hence when only one bucket should have been searched none were
david [Sun, 9 Mar 2003 03:34:29 +0000 (03:34 +0000)]
Major change:
The "switch" layer type now takes any number of child layers, and will
use the first child that has a condition that evaluates to 'true' (no
condition is automatically true). Previously, it could take only two
children, controlled by a boolean property.
david [Sun, 9 Mar 2003 03:20:34 +0000 (03:20 +0000)]
New version of basic DME support. This can coexist with the old one
for a little while, since it uses different properties. There are
some improvements, especially with searching and range. It also has
its own serviceable and in-range properties, independent of any
coupled VOR.
daveluff [Fri, 7 Mar 2003 13:58:33 +0000 (13:58 +0000)]
More stuff to make the AI/ATC system less hardwired and more generic. Most of the hardwired stuff is now gone - there's just a little bit left in FGAIMgr
daveluff [Wed, 5 Mar 2003 21:38:29 +0000 (21:38 +0000)]
Removed a lot of the remaining hardwired KEMT stuff, made the initialisation more generic, added the ability to taxi from a parking spot to a runway, used real ground elevation more
daveluff [Wed, 5 Mar 2003 21:34:58 +0000 (21:34 +0000)]
Added some airport search functions that are straight copies of a couple of statics in fg_init, and will probably be removed again at some point, and added a function to convert a runway designator string to a spoken style phrase
curt [Wed, 5 Mar 2003 18:02:24 +0000 (18:02 +0000)]
David Luff:
// search for the specified apt id and runway no
bool FGRunways::search( const string& aptid, const string& rwyno, FGRunway*
r )
there was a bug, in that each runway corresponds to *two* runway numbers
(eg 01/19, 10L/28R) but the function was only checking one. I've modified
it to check the supplied number against both possible numbers for each
runway.
Secondly, I sent in the function:
// Return the runway closest to a given heading
bool FGRunways::search( const string& aptid, const int tgt_hdg,
FGRunway* runway )
a year or two ago now when I first did the ATIS. I'm not sure what I was
doing at the time (copied most of it out of fg_init.cxx) but I don't think
it's ever worked, so here's a brutal modification that does!
curt [Mon, 3 Mar 2003 17:48:09 +0000 (17:48 +0000)]
Don't remove the named pipe on a "Reset" or position change (i.e. when
FGExternalPipe is destructed.) This leaves the name pipe hanging around
even after flightgear exits, but assuming we put the files in /tmp that
shouldn't be a big deal.
curt [Mon, 3 Mar 2003 04:59:41 +0000 (04:59 +0000)]
A small optimization, pass the number of iterations to the remote end and
have it do all the work, rather than calling the remote end "iteration"
number of times.
curt [Mon, 3 Mar 2003 04:30:16 +0000 (04:30 +0000)]
First stab at a "named pipe" interface to an external FDM. Compared to the
ExternalNet interface:
- allows a much more closely coupled execution. A remote network FDM will run
at it's own rate, and maybe a particular data packets will come, maybe it
won't. This makes it very hard to control timing and keep the animation
smooth. There are also cpu scheduling issues with running multiple
processes on a single machine. The linux scheduler by default runs at
100hz. If an FDM process uses a sleep/alarm system to avoid wasting
CPU, it will be forced to run at 100hz, 50hz, 25hz, 20hz, etc. This
makes it *impossible* to serve a display system running at 60hz without
dropping frames.
- the downside is that the FDM process must now run on the same machine as
the master flightgear process.
david [Sun, 2 Mar 2003 16:37:48 +0000 (16:37 +0000)]
Patch from Frederic Bouvier:
arrays of insufficient size are allocated in prop_picker.cxx ( size()
don't count the null char ) and strcpy is writing outside the allocated
array. A patch follow.
david [Sun, 2 Mar 2003 14:19:24 +0000 (14:19 +0000)]
Patch from Erik Hofman:
I've updated the instrument modulator code to allow tricks like the one
described by Andy. It is now possible to define <min>, <max> and
<modulator> in one layer and if <min> and/or <max> ore within the range
of the <modulator> tag, their value will be honoured.
david [Sat, 1 Mar 2003 21:28:51 +0000 (21:28 +0000)]
Add a new <power> property to allow raising an axis to a power other
than 1 or 2 (<squared/> still works as well, and is equivalent to
<power>2</power>).
daveluff [Wed, 26 Feb 2003 11:24:15 +0000 (11:24 +0000)]
Use actual terrain ground elevation instead of hardwired KEMT elevation field whilst taxiing. Still need to fix this for takeoff and landing roll. Also added a check that a valid gate is found whilst arriving, and simply disappear the plane if none is found (instead of stackdumping\!\!
david [Fri, 21 Feb 2003 02:45:47 +0000 (02:45 +0000)]
Add fgInitNav() function so that navaids and fixes can be loaded
earlier, before fgInitSubsystems().
Modify fgInitPos() so that the plane is not automatically aligned with
a runway when an airport is the reference point unless (a) a runway
was explicitly requested, or (b) the plane is on the ground with no
offset distance specified. To set up the plane lined up on an
approach to a runway, use something like
david [Tue, 18 Feb 2003 16:50:07 +0000 (16:50 +0000)]
Added a "twist" attribute for wings to allow for washout (or washin,
if desired) in the stall. This allows for fairly docile stalls when
desired, as on trainers (you also need to limit the elevator lift).