mfranz [Sun, 29 Oct 2006 12:34:26 +0000 (12:34 +0000)]
George PATTERSON:
"Flightgear.py
- Added the procedures view_next and view_prev
demo.py
- altered the wait five seconds to the new property path and allowed for
the script to be started after five seconds of simulation file
(/sim/time/elapsed-sec).
- the section of code was changed to a pythonism as python does not
support do-while loops, instead you break out of a continuous loop.
- Commented out the fg.wait_for_prop_eq() method as I haven't rewritten
that part of the code yet. Not sure of the best way to do that. Those
lines may not be necessary any more."
mf: removed trailing spaces; I updated the pyc, too, but I really think
it shouldn't be in CVS at all.(?)
mfranz [Thu, 26 Oct 2006 14:09:13 +0000 (14:09 +0000)]
- don't read the channel always from tacan[0] (even if the existence of
a second tacan may not be likely)
- remove some dead code
- simplify <name>/<number> handling
- let a listener watch over input props and search for new channel/frequency
- allow to set channel number as one number (rather than as single digits),
as some aircraft may prefer this (the ch53 does so); this is to be set
in /instrumentation/tacan[n]/frequencies/selected-channel[0]
mfranz [Thu, 26 Oct 2006 09:07:41 +0000 (09:07 +0000)]
emit signal /sim/signals/fdm-initialized when the FDM is up; this is
useful to attach listeners and have their functions run at a time when
they can safely access FDM generated properties
mfranz [Fri, 20 Oct 2006 12:12:12 +0000 (12:12 +0000)]
drop pointless warning. If the sound can't be removed, then proably because
it was never added, which is perfectly normal when the aircraft started
out of range. (Analog to the DME sound, which doesn't have that warning
either.)
andy [Tue, 17 Oct 2006 19:58:33 +0000 (19:58 +0000)]
A bug was discovered on IRC where an errant script was setting a nil
value on a property. This becomes a NaN when converted to a numeric
value, which then percolated into the C++ world where it ultimately
caused a crash in YASim's turbulence code. While converting nil to
NaN isn't *strictly* wrong, it's dangerous for this reason. Toss a
Nasal exception instead. Hopefully this won't break too much
preexisting code.
durk [Fri, 6 Oct 2006 17:36:31 +0000 (17:36 +0000)]
Major update of traffic manager and AI related airport facilities.
- Moved AIModels/Traffic Manager related AI functions to a new file
- Rewrote the traffic manager so that the containers use pointers to
objects instead of the objects themselves, which will allow for a
more flexible memory management.
- Rewrote parts of the airport groundnetwork code, also because the
stl containers now contain object pointers instead of the objects
themselves.
- Fixed an uninitialized iterator in the AI distance tracking code
- Fixed flawed logic in some of the traffic controller's while loops
- Added a tower controller, which paces take-off behavior of AITraffic
in a more realistic way.
- Various other minor fixes and fine tuning.
Adding some more intelligence to the AI system step 2: Added a system to
detect interfering taxi routes and added a "hold position" instruction to
make one of two conflicting aircraft wait until it's route is cleared again
andy [Thu, 14 Sep 2006 18:18:33 +0000 (18:18 +0000)]
Helicopter update from Maik:
More realistic calculation of vortices at the blades and therefore
real airfoil parameters can be used now (not to be mixed up with the
vortex ring state which is still not simulated), ground effect is now
continuous e. g. at buildings, calculating of the rotor in more than 4
directions, better documentation of the airfoil parameters.
- Well I finally licked it, the clipping works great now, in 16 and 32
bpp mode, on 2d and 3d panels.
- I tried glScissors, didnt work because clipping was done in screen
co-ordinates.
- Stencil buffer methods worked great for 2d panel, but messed up 3d
panels,(depth buffer problems I think), and only worked in 32 bpp mode.
- I then tried clip planes , and so far it appears to work with no
problem, and no framerate drop like I had with the stencil buffer
method...
andy [Mon, 28 Aug 2006 17:24:34 +0000 (17:24 +0000)]
Curt noticed a while back that YASim was producing alpha and sideslip
values that were angles between the aircraft's orientation and the
global velocity vector, not the airflow velocity. So the HUD velocity
vector was wrong when the wind was non-zero. Fix that.
durk [Sat, 26 Aug 2006 07:22:20 +0000 (07:22 +0000)]
Ground network distance tracking code. AIAircraft taxiing at airports
maintain a resonable distance from each other while taxiing on the same
route. The current code does not yet take crossing routes or aircraft
taxiing into opposite directions into account.
curt [Tue, 22 Aug 2006 00:58:25 +0000 (00:58 +0000)]
Tested and working under Linux. I have no way to test this under windows.
If there is a windows problem, look very carefully at the line termination
with a serial port monitor. It should be \r\n (CR-LF), not \n, not \r\r\n
or any other possible variant.
curt [Sun, 20 Aug 2006 23:38:38 +0000 (23:38 +0000)]
Make the vertical acceleration rate scale with vertical performance. The
default case for tankers should still be right about the same as where it was.
curt [Sun, 20 Aug 2006 23:37:13 +0000 (23:37 +0000)]
Add an initial implementation of the Garmin 400 series "Aviation In" data
format. I have a Garmin 295 to test with, but so far I haven't been able
to make this work (code should compile cleanly though.) I don't know if
I've made a mistake in the protocol or if my 295 just doesn't support this.
More work on this to come.
mfranz [Sun, 20 Aug 2006 15:27:26 +0000 (15:27 +0000)]
- make *all* class members start with underscore (not all but two)
- NEVER EVER use leading underscores for auto variables
- don't store values in auto variables for the next function call (not
even when they start with underscore :-) This fixed the TACAN
channel lookup, which was supposed to be done on channel changes only,
but was always done)
- only do frequency search if frequency has changed (this was apparently
planned, but not finished; leftover from adf.cxx?)
- don't use double as bool switch
- some minor cleanup
mfranz [Sat, 19 Aug 2006 07:30:52 +0000 (07:30 +0000)]
as the "Attempting to schedule tiles for bogus lon and lat = (-1000,0)"
bug happens now on a regular basis, and just ignoring it doesn't seem to
cause any harm, just return after it, rather than abort.
durk [Wed, 16 Aug 2006 09:58:26 +0000 (09:58 +0000)]
Bugfix of problem reported by Mathias Fröhlich: Ground network trace()
algorithm caused a program crash. Because there is always one waypoint more
than there are routes, the trace function should only pop_back the final route
entry at search depths of one or higher. I also added a lot of of additional
safeguarding code, due to the fact that the new trace algorithm was
apparently not as stable as I'd hoped it would be. ...
mfranz [Thu, 10 Aug 2006 11:21:15 +0000 (11:21 +0000)]
print the whole autosave.xml path, not just the filename. Unfortunately,
in the case of fg_init.cxx we'll only see that if the log-level is set
in preferences.xml, because command line options weren't even processed
at that time. :-/
andy [Tue, 8 Aug 2006 18:23:20 +0000 (18:23 +0000)]
Fix a few warnings while I'm in there. Melchior poitned out that my default
configure-generated Makefiles don't include -Wall and a few issues had crept
into the code.
andy [Tue, 8 Aug 2006 18:05:43 +0000 (18:05 +0000)]
Add a lift/drag vs. AoA graph option to the yasim tool, which
generates a data file of aerodynamic lift and drag (and L/D) against
AoA at a specified speed and altitude through a full circle. Wrote it
to track down the YF-23 superthrust issue, but it wasn't any help.
All the forces look fine.
andy [Tue, 8 Aug 2006 14:19:15 +0000 (14:19 +0000)]
Melchior sent me a property dump of the YF-23 in the wacky superthrust
state. The only really obvious problem was a giant negative engine
RPM, which happened because of a lack of clamping in the engine code
combined with the YF-23's ability to actually reach speeds near the
engines _vMax value. It's not clear to me that this will fix the
superthrust issue at high AoA's, but it's an obvious bug nonetheless.
andy [Mon, 7 Aug 2006 16:49:26 +0000 (16:49 +0000)]
Fixes from Maik Justus:
+ The wing compilation step was accidentally omitting regions that lie
between the tips and the first/last control object. That's a real
problem for wings that contain no controls, and a significant issue
for those that contain only a few. I'm stunned that this went
undetected for so long.
+ The Surface::flapLift() function was oddly returning 1.0 Newtons as
a minimum, instead of zero.
mfranz [Mon, 7 Aug 2006 15:19:22 +0000 (15:19 +0000)]
remove experimental and unused code (we read the splash screen style
from /sim/gui/style[0] since a while, not from the preferred style.
This allows overriding it from *-set.xml files.)
mfranz [Mon, 7 Aug 2006 15:11:46 +0000 (15:11 +0000)]
move GL_TEXTURE_LOD_BIAS_EXT one section up and document what it does
(this was the reason why the first two text lines on the splash screen
looked more blurry than the others). BTW: I played with other values
than -0.5, but this turned out to be the best already. It makes textures
sharper than 0, but not too sharp (and thus flickering).
mfranz [Wed, 2 Aug 2006 15:34:33 +0000 (15:34 +0000)]
throw out "zoomed" tapes. These drew 60% of the scale with bullets rather
than tick marks, and looser (zoomed) than the other 40%. Rationale:
- this was only used in *one* tape of *one* HUD ("custom")
- it's not in the MIL-STD!
- doesn't seem very useful
- relies on integer scale values, while we now have float values in the new HUD
This feature would have had to be rewritten anyway. If someone needs it and
can come forward with a (MIL-)STD description, then it can be added to the
existing tape generator again (using a value->screen-position mapper function).
Otherwise it's simply declared dead.
mfranz [Tue, 1 Aug 2006 15:31:15 +0000 (15:31 +0000)]
- make the alignment function a static HUD member (for namespace
encapsulation, but a real namespace would probably be better)
- extend alignment to optionally adjust x/y, and to return absolute
l/r/b/t coordinates (as opposed to plib's relative ones!)
- implement tape gaps as per Curt's order :-)
- shuffling stuff around for fun
- move HUDText constructor/methods to HUD.cxx
- add generic text adjustment and
- use it in the ladder: climb -> vert bar on the outside, numbers below line
dive -> vert bar on the inside, numbers above line
Spectacular improvement in traffic manager initialization and preparatory
work for ground based distance separation of AIAircraft.
Traffic manager initialization related changes:
- Schedules initialize "on the fly", instead of during initialization
- Invalid routes are no longer deleted, but marked as BOGUS and ignored
- Changed loading order from a distance based prioritization to a point-
score based prioritization, resulting in a much faster establisment of
AIAircraft near the user's plane.
Preparatory work for ground-based separation of Aircraft.
- The groundnetwork findShrortestRoute function not only returns a list
of waypoints, but also a list of taxi "segments" (a.k.a. taxiways).
- The taxiway list is stored in the Flightplan, and updated everytime
a new taxi leg is created.
Specify "clip planes" as a separate independent option (not implied from
the type option.) The clip area is and has always been hard coded, but at
some point we should make it configurable.
Add an option to get a realistic climb dive ladder without all the other
implications.
Fix the ladder so it "moves" around in the hud correctly based on alpha/beta
offset projected onto the horizon line so the horizon is always the horizon.