mfranz [Tue, 8 Nov 2005 11:05:50 +0000 (11:05 +0000)]
Don't use the [] notation here to test for the existence of a map member,
because this creates an empty entry if it didn't exist. This made the
activation of the dialog mandatory before the next gui subsystem update()
happened. Otherwise fgfs segfaulted.
mfranz [Sun, 6 Nov 2005 23:53:30 +0000 (23:53 +0000)]
interpret negative dialog <x> and <y> coordinates as distance from the
right/upper screen edge (analogous to the --geometry spec), assuming
that we never want to draw outside the screen area; for this to work
we need to write the original x/y coords back to overwrite the absolute,
positive values that the layouter stored there
mfranz [Sun, 6 Nov 2005 14:27:17 +0000 (14:27 +0000)]
backing out all changes to non-depreciated symbols/functions: plib's cvs
isn't tagged, so we can't easily say what was added after the last stable
release
mfranz [Sun, 6 Nov 2005 14:22:02 +0000 (14:22 +0000)]
backing out all changes to non-depreciated symbols/functions: plib's cvs
isn't tagged, so we can't easily say what was added after the last stable
release
andy [Wed, 2 Nov 2005 18:34:06 +0000 (18:34 +0000)]
Vivian reported that the caster angle of the Hunter was experiencing
"jitter" when the aircraft was stopped. This is a fundamental
characteristic of the gear model, and can't be fixed without major
surgery (and not a small amount of blinding insight). But we can at
least clamp it so the value can't change unless the wheel is moving
with a nontrivial velocity (5cm/sec in this case).
mfranz [Wed, 2 Nov 2005 13:11:19 +0000 (13:11 +0000)]
allow to trigger widgets via accelerator key, which is defined via "keynum"
property (e.g. <keynum>49</keynum>). The numbers are the same as in
keyboard.xml. (Could later be replaced/enhanced with <key>Ctrl-a</key>
notation.) This does, of course, only work for widgets with assigned
bindings.
ehofman [Tue, 1 Nov 2005 13:41:49 +0000 (13:41 +0000)]
In the process of changing, adding and removing files the last few years
there was the situation where four directories contained jst two files,
of which three directories were aircraft related, and one directory contained
test code from Curt that might be better of in SimGear anyhow.
This is just a patch to move a bunch of files to new locations. In case of
local changes to any of them you can do the following:
move replay.[ch]xx from src/Replay to src/Aircraft
move control.[ch]xx from src/Control to src/Aircraft
move ssgEntityArray.[ch]xx from src/Objects to simgear/screen
In addition it has been decided only to use .[ch]xx files in all directories
unless it's contained within an FDM specific directory, in which case the
author is free to do whatever (s)he wants.
In this repspect the following files have been renamed in src/Multiplayer:
tiny_xdr.[ch]pp has become tiny_xdr.[ch]xx
multiplaymgr.[ch]pp has become multiplaymgr.[ch]xx
mfranz [Sun, 30 Oct 2005 10:50:36 +0000 (10:50 +0000)]
Harald JOHNSEN:
"the model is deref'd and deleted when the refcount is null *but* it is
still referenced in the ai model list, so next time you ask for it you will
have a reference on something deleted"
ehofman [Thu, 27 Oct 2005 08:40:12 +0000 (08:40 +0000)]
Jim Wilson: Adjusting the near clip plane to 0.10 units (approx 3 inches) is less ambitious, a bit more forgiving for the 3D modelers, and perfectly adequate.
mfranz [Wed, 26 Oct 2005 18:20:27 +0000 (18:20 +0000)]
Replace hard-coded dialogs with NewGUI/XML dialogs, where some widgets
and text strings are filled in before displaying. For testing: the new
dialogs are available under menu -> ATC -> Frequencies, and when
communicating with ATC (' key). This isn't completely finished yet, and
will probably profit from some feedback from the ATC folks.
tower.cxx: remove redundant "if (foo) delete foo".
ehofman [Wed, 26 Oct 2005 09:03:49 +0000 (09:03 +0000)]
Alex Romosan:
I tried to make sure accessor functions which return by reference act
on const objects. also replaced some iterators with const_iterator
and a few return/pass by reference that were missed the first time
around.
ehofman [Tue, 25 Oct 2005 13:49:55 +0000 (13:49 +0000)]
Alex Romosan:
* Use "const string&" rather than "string" in function calls when appropriate.
* Use "const Point3D&" instead of "Pint3D" in function calls when appropriate.
* Improved course calculation in calc_gc_course_dist()
* Safer thread handling code.
Vassilii Khachaturov:
Dont use "const Point3D&" for return types unless you're absolutely sure.
Erik Hofman:
* Use SGD_(2)PI(_[24]) as defined in simgear/constants.h rather than
calculating it by hand every time.
ehofman [Tue, 25 Oct 2005 08:57:33 +0000 (08:57 +0000)]
Vassilii Khachaturov:
this patch eliminates some cut-and-paste,
as well as makes some frequently used strings const static at the same
time. A couple of interfaces are decorated with 'const' on the parameters
that are such, in line with other such interfaces where const is used.
"NINE" changed to "NINER", to match ICAO practice and the current FGFS
voice data.
A fixed buffer, sprintf and a warning comment replaced w/ostringstream.
mfranz [Sun, 23 Oct 2005 16:10:32 +0000 (16:10 +0000)]
add support for removeChildren(): takes one name as optional argument
and removes all children with this name; if no name is given, removes
all children (OK'ed by Andy)
mfranz [Sun, 23 Oct 2005 10:19:05 +0000 (10:19 +0000)]
'keep' defaults to true (which is a bad choice -- we never really want
children saved away when removing a node). This caused gui bindings to
fail in some rare cases --> don't keep.
mfranz [Sat, 22 Oct 2005 16:51:27 +0000 (16:51 +0000)]
We never want to know if a dialog is there or not. If we ask for one and
it isn't there, this is a bug. Thus centralize the error message so that it
doesn't have to be repeated everywhere. Of course, the calling code should
still consider that a returned property node may be 0.
ehofman [Sat, 22 Oct 2005 13:37:13 +0000 (13:37 +0000)]
Vassilii Khachaturov:
I found that all the current users of the companion
function, findByFreq() actually did assume radians despite the misleading
comment in the .hxx and .cxx saying it's degrees. I've fixed the
comment now, and no longer change the Navaids code. The new Navaids user
in NewWaypoint() is now passing radians to the findByIdent().
Note that along with fixing the comments in the navlist.hxx, I removed
an obsolete method findByLoc() declaration (there is no definition
anywhere).
ehofman [Sat, 22 Oct 2005 11:22:05 +0000 (11:22 +0000)]
Ima Sudonim:
CygWin/gcc-3.4.4 updates.
I replaced my cygwin compiler with 3.4.4, did a make clean of plib, simgear,
and flightgear, then did a make install of all three. With the included changes,
everything builds fine, and runs fine.
andy [Fri, 21 Oct 2005 19:30:58 +0000 (19:30 +0000)]
Expose the "spool-time" of a Jet engine as a configuration parameter.
This apparently got forgotten -- the tunable was there, but nothing
exposed it in the parser.
mfranz [Fri, 21 Oct 2005 18:50:58 +0000 (18:50 +0000)]
Fix <text> alignment. Because our <text> widget is an empty puObject's
label, we need to compensate for the gap in-between: PUSTR_RGAP (pu.h).
Without that, all text appears shifted right.
mfranz [Fri, 21 Oct 2005 17:47:48 +0000 (17:47 +0000)]
add support for a <hide> property, which hides whole XML groups (widgets
or data blocks) from layouter and dialog creator. This is required for
dynamically generated/modified dialogs. Parts in the XML file can be
hidden and turned on by the C++ code. Other hidden parts can be used
as templates that are multiply used. Hidden datablocks can contain
strings that are used in dialog context, that are easier to translate
or modify in the XML file.
mfranz [Thu, 20 Oct 2005 11:15:00 +0000 (11:15 +0000)]
Add method to get the property root node of named dialogs. This is
necessary to edit dialog contents from C++, and will allow us to
finally let all the hardcoded dialogs be handled by the "gui"
subsystem.
andy [Wed, 19 Oct 2005 19:21:45 +0000 (19:21 +0000)]
Feature addition from Vassilii allows the user to set the tower
location with an airport ID by watching the property with a listener.
Moderately rewritten from the original patch for style.
andy [Wed, 19 Oct 2005 18:52:57 +0000 (18:52 +0000)]
Piston engine oil temperature model from David Luff:
Attached is a patch to add oil temperature to the YASim piston engine
model. This brings to life one of the pa28-161's otherwise 'dead'
guages. It's a pretty simple 'model' based on temperatures and warmup
times I've observed in the labs on auto engines and run through my
dodgy-memory filter. It does the job of populating the guage with
something plausible though.
ehofman [Tue, 18 Oct 2005 18:44:37 +0000 (18:44 +0000)]
Durk Talsma:
Auf Niederlandisch:
Bij deze de patch voor de taxiway code. Deze code is nog gebaseerd
op de bestaaande architectuur, gebaseerd op de FGAirport class in simple.[ch]xx
Ik heb me voornamelijk gericht op nieuwe functionaliteit; de volgende
submissie zal waarschijnlijk bestaan uit opschoning, opsplitsing en een
implementatie van de nieuwe airport architectuur, zoals voorgesteld door
David Luff.
En Anglais:
Here is the patch for the taxiway code. This code is still based on the
exsisting architecture, which is based on the FGAirport class in simple.[ch]xx
I've aimed mostly at new functionality; The next batch will probably contain
code cleanups, splitups and the implementation fo the new airport architecture,
as proposed by David Luff.
ehofman [Sun, 16 Oct 2005 17:31:06 +0000 (17:31 +0000)]
Harald JOHNSEN:
I have corrected a few bugs with the owner draw gauge, weather radar code and heat-haze effect.
- od_gauge.cxx :
corrected a rendering bug where the generated texture was only visible
from a certain angle or distance ;
corrected the search of textures inside the aircraft scene graph ;
- wxRadar.cxx :
the echo of clouds was lost when the pilot was not looking in the
plane direction ;
ehofman [Sun, 16 Oct 2005 09:05:40 +0000 (09:05 +0000)]
Ladislav Michnovic:
Using new gcc 4.0 I have some serios warnings about uninitialized
variables, that are used. I created a patch, but I have no idea if it
is possible to do it my way. Can you check this out please?
Erik: I've modified the patch slightly based on the contents of an older
version of hitlist.cxx. I think this is correct now.
curt [Sat, 15 Oct 2005 20:03:17 +0000 (20:03 +0000)]
Allow a single vacuum system to be driven by multiple pumps. This allows
modeling of a simple single vacuum system with a pump source on each engine
in a multiengine aircraft. The highest rpm engine takes priority for driving
the vacuum system.
ehofman [Sat, 15 Oct 2005 14:55:51 +0000 (14:55 +0000)]
Don't use the this pointer for referencing the AIModels anymore, this
turns out to get problematic on 64-bit systems. Instead use a regular
int based approach.
ehofman [Sat, 15 Oct 2005 14:51:52 +0000 (14:51 +0000)]
Mathias Fröhlich:
I had a quick view over the ssgBase::ref() calls in flightgear.
I made them all symmetric and used ssgDeRefDelete to dereference them.
This has the basic advantage that ssgDeRefDelete additionaly deletes the
memory instead of just decrementing the reference cound without deletion ...
This includes an incorrect deref instead of a ssgDeRefDelete in the placement
transform registration I introduced earlier. I believe that this causes the
problems with long flights (unverified, but with a big propability).
andy [Fri, 14 Oct 2005 21:20:51 +0000 (21:20 +0000)]
Support gear compression along axes other than vertical (Vivian needs
it for the B-29). The gear model itself has supported this always,
but there was no interface from the XML file. Should be backwards
compatible. I don't think I broke anything...
ehofman [Sat, 8 Oct 2005 12:33:06 +0000 (12:33 +0000)]
Mathias Fröhlich:
I believe I have found the agl hud problems as well as the 'hole' in the
carrier's deck. I spent half the day to reproduce that problem, it did not
occure when you start on the carrier not does it occure with JSBSim and my
really often used testaircraft. So I really need to improove my helicopter
flying qualities.
I was under the impression that *all* FDM's call
FGInterface::updateGeo*Position(..)
so set the new position in the FDM interface. Therefore I had added at the
some code that updates the scenery elevation below the aircraft to *those*
functions.
Ok, not all FDM's do so :/
The attached patch factors out a function computing the scenery altitude at
the current FDM's position. This function is also used in those FDM's which
need to update this value themselves.
Also this patch restores the nearplane setting and uses the current views
altitude instead of the current aircrafts. I think that this should further
be changed to the eypoint's agl in the future.
The agl is again ok in YASim's hud.
ehofman [Sat, 8 Oct 2005 11:55:18 +0000 (11:55 +0000)]
Harald JOHNSEN:
Changes
=======
- acmodel.cxx :
we now have an optional new property (/sim/model/texture-path) that is used
as the first path in wich aircraft textures are searched. If textures are not
found there then the usual texture path or model path is used ;
This allows to replace only needed textures for liveries ;
- options.cxx :
added a new --livery=xxx option for the user pleasure ;
this will just set the /sim/model/texture-path property with /livery/xxxx
- od_gauge.cxx, og_gauge.hxx, cockpit.cxx, cockpit.hxx,
generic-instrumentation.xml :
added an helper class that contain a rendering context for glass instrument
or any other opengl drawn instrument ;
- wxradar.cxx, instrument_mgr.cxx, wxradar.hxx :
first experimentation of a weather radar ;
ehofman [Sat, 1 Oct 2005 09:56:53 +0000 (09:56 +0000)]
Vivian Meazza:
This adds a TACAN instrument to the inventory. Range and bearing are calculated
to the TACAN or VORTAC beacon selected by means of the Channel Selector in the E
quipment/Radio pull-down menu.
A TACAN beacon has also been added to the aircraft carrier Nimitz (channel #029Y
).
andy [Tue, 27 Sep 2005 16:53:12 +0000 (16:53 +0000)]
Vivian pointed out that the gear keep rotating after the wheel leaves
the ground. Fix this by zeroing the values, although a fancier
implementation (that spins down slowly and honors the brake input)
would be possible...