curt [Wed, 7 May 2003 16:00:31 +0000 (16:00 +0000)]
When reseting the aircraft position, the system looks at a number of the
requested parameters to determine if this should be an on-ground vs. in-air
start. The problem was that we never defaulted the value to anything so
if we didn't match an in-air condition, we simply inherited whatever value
was there from before.
ehofman [Wed, 7 May 2003 15:53:50 +0000 (15:53 +0000)]
Curtis found another inconsistency in the sky repaint check. I am afraid that adding more checks would eventually give the same framerate as repainting every frame. Consider this a failed experiment.
curt [Tue, 6 May 2003 23:54:17 +0000 (23:54 +0000)]
This is step "1" of probably "many" in the process of separating out the
scene management code and organizing it within simgear. My strategy is
to identify the code I want to move, and break it's direct flightgear
dependencies. Then it will be free to move over into the simgear package.
- Moved some property specific code into simgear/props/
- Split out the condition code from fgfs/src/Main/fg_props and put it
in it's own source file in simgear/props/
- Created a scene subdirectory for scenery, model, and material property
related code.
- Moved location.[ch]xx into simgear/scene/model/
- The location and condition code had dependencies on flightgear's global
state (all the globals-> stuff, the flightgear property tree, etc.) SimGear
code can't depend on it so that data has to be passed as parameters to the
functions/methods/constructors.
- This need to pass data as function parameters had a dramatic cascading
effect throughout the FlightGear code.
curt [Tue, 6 May 2003 23:46:24 +0000 (23:46 +0000)]
This is step "1" of probably "many" in the process of separating out the
scene management code and organizing it within simgear. My strategy is
to identify the code I want to move, and break it's direct flightgear
dependencies. Then it will be free to move over into the simgear package.
- Moved some property specific code into simgear/props/
- Split out the condition code from fgfs/src/Main/fg_props and put it
in it's own source file in simgear/props/
- Created a scene subdirectory for scenery, model, and material property
related code.
- Moved location.[ch]xx into simgear/scene/model/
- The location and condition code had dependencies on flightgear's global
state (all the globals-> stuff, the flightgear property tree, etc.) SimGear
code can't depend on it so that data has to be passed as parameters to the
functions/methods/constructors.
- This need to pass data as function parameters had a dramatic cascading
effect throughout the FlightGear code.
curt [Tue, 6 May 2003 14:20:30 +0000 (14:20 +0000)]
Removed support of old Ascii scenery format. The loader had not been
maintianed or upgraded in a *long* time so it didn't support many new
features like the runway lighting. If anyone was using it for anything,
it should not be a huge amount of work to switch to the binary format.
SimGear includes a reader and writer for the binary format.
ehofman [Tue, 6 May 2003 14:00:18 +0000 (14:00 +0000)]
Make sure the sky is also repainted when the relative view direction gets out of sync. Add a refference to /sim/rendering/debug for always repainting the sky dome.
First pass at trying to add back in the AI effect where it starts drifting
off it's correct position once the gyro spins down below a certain threshold
(such as what would happen in a vacuum failure.)
Wendell Turner writes:
I modified the files in src/Autopilot to add waypoint capabilities to the telnet port.
'set waypoint <WPT>' will set the next waypoint.
'get waypoint' returns one string which is the list of waypoints.
'set waypoint 0' will delete the next waypoint.
Temporary disable the sky reposition speedup code until I discover the magic key that unlocks the proper behaviour. It's not like this causes a noticable decrease in framerate.
Reposition the sky modules only when the lat or long position is changed for 5 micro degree. This doesn't sound much, but at least it means the modules aren't repositioned every frame
Tweaks to handle odd data cases. Load existing flightgear data at end
to preserve any non-usa approaches that are missing from the FAA data or
the DAFIFT data (these should be checked against current charts to verify
that these still exist and aren't being incorrectly carried along.)
Fixed some stuff in runway number to spoken string function, and added Alexander's function to get the minimum angular difference between two headings from approach to ATCutils
Initial revision of script to build the default.ils.gz file from DAFIFT
data. The script is growing though to incorportate other data sources
so the name will probably have to change. DAFIFT is missing many
approaches (for instance it only has 6 approaches from the entirety of
Canada.) This is not yet ready for prime time, I'm simply committing it
to the repository so I can check it out and work on it from multiple
locations.
Fixed [hopefully] the magvar decoding. The last four digits are quite
clearly the date of installation at that particular offset. Offsets are
usually not changed because this would imply moving intersection points,
fixes, changing approaches, and all sorts of cascading effects. GEP near
my house hasn't been adjusted since 1965; it is now about 8 degrees off the
real current magvar.
Fixed a remaining typo from the death and destruction earlier today.
Added an option to avoid using non-existant rudder pedals if they truely
non-exist.
David Luff:
The one to fg_init.cxx initialises the AI subsystem regardless of whether it's enabled or not so that later enabling by the user doesn't crash it, and the one to main.cxx avoids running the ATC manager and ATC display system unless enabled.
Updates to the controls properties tree. This is a major update so there may be one or two 'old' refferences left. To simplify the transisition there is a file called README.properties in the docs-mini directory of FlightGear that explains the new controls layout.
Previously if a freq search matched an ILS that had no dme, it would
proceed to search for an VOR of that same frequency. On rare occasion
this search could return true with a far distant VOR and cause a small
amount of confusion.
curt [Mon, 31 Mar 2003 01:29:23 +0000 (01:29 +0000)]
I found 3 problems with the GS modeling in flightgear (all my fault originally
I believe.) :-)
- The height of the navaid was not being properly converted to meters
before being used in our internal calculations. This caused the GS
to be placed too high.
- I was using the wrong trig function to calculate the current approach
angle of the aircraft. The distance to the GS source is the euclidean
point to point distance and represents the hypotenuse (not the ground
distance) so I need to use asin() rather than atan() to calculate the
angle.
- I was calculating distance directly to the GS source, rather than
taking into consideration that the GS transmitter projects a plane,
so I need to take the distance to the line where that plane intersectso
the ground. Previously, the way I modeled my distance calculation, the
GS transmitter effectively formed a 3 degree cone from the source. The GS
transmitter is usually placed a 100 meters or so off the runway edge so
the cone model could never bring you in to the touch down point precisely.
With these changes, the GS will bring you in precisely to the touchdown
point as defined in the default.ils.gz file (it wouldn't before.) The only
issue that remains is that it will bring you in to the elevation defined
in the ILS database, which doesn't necessarily match the DEM/SRTM terrain
at that point. Still on average, this will be a big improvement until we
can do a better job of getting the runway end elevations nailed correctly.
curt [Sun, 30 Mar 2003 02:26:05 +0000 (02:26 +0000)]
There were several typos in the unbinding section of FGInterface. This meant
that after a reset or reposition, several FDM variable were not unbound
correctly and left dangling pointing to unallocated memory. This wasn't
a crash type bug, but those properties then had bogus values. This
specifically prevented the turn coordinator gyro modeling from working after
a reset or reposition.
daveluff [Fri, 28 Mar 2003 15:25:48 +0000 (15:25 +0000)]
Calculate active runway in FGGround. It would be better to get the active runway from FGTower instead of duplicating the code to calculate it, but at the moment I can't guarantee that tower control at a given airport will be initialised before ground control, so this will have to do for now...