curt [Fri, 28 Dec 2001 22:29:59 +0000 (22:29 +0000)]
Updates to build system to better support automake-1.5
- automake-1.4 sets default values for INCLUDES which we can't
overwrite.
- automake-1.5 renames this to DEFAULT_INCLUDES and leaves INCLUDES
open for the developer to use.
Thus for automake-1.4 we are forced to 'append' to INCLUDES and in
automake-1.5 we can just set the value to whatever we like.
Unfortunately, the behaviors of the two versions are mutually
incompatible.
The solution I am committing now works for both versions but
automake-1.5 generates a lot of spurious warning messages that are
annoying, but not fatal.
david [Sat, 22 Dec 2001 23:18:28 +0000 (23:18 +0000)]
Modified FGSubsystem::update() to take an int parameter for delta time
(i.e. multiloop). Most subsystems currently ignore the parameter, but
eventually, it will allow all subsystems to update by time rather than
by framerate.
david [Sat, 22 Dec 2001 19:10:37 +0000 (19:10 +0000)]
Enable floating-point exceptions for Linux/x86 systems. See the
beginning of main() for the exceptions that can be enabled (only
divide-by-zero is enabled by default, but you can uncomment any ones
you want); eventually, FlightGear should run cleanly with all FPEs
enabled.
david [Sat, 22 Dec 2001 17:33:27 +0000 (17:33 +0000)]
Modified FGSubsystem::update() to take an int parameter for delta time
(i.e. multiloop). Most subsystems currently ignore the parameter, but
eventually, it will allow all subsystems to update by time rather than
by framerate.
curt [Fri, 21 Dec 2001 04:53:37 +0000 (04:53 +0000)]
Added a really simple wheel spin model for audio effect purposes only. This
has absolutely no bearing on actual wheel performance and has nothing to do
with the fdm. It is just a simplistic wheel spin velocity model used to
avoid subsequent squealing when a tire is bouncing, or touches down right after lifting off. If at some point tire spin is modeled by an FDM we could
transition to using real data.
curt [Wed, 12 Dec 2001 05:18:46 +0000 (05:18 +0000)]
Rename FGInterface::_updatePosition() ->
FGInterface::_updateGeocentricPosition() for clarity. Also added an
FGInterface::_updateGeodeticPosition() since it is useful.
A few clean ups to native_fdm.cxx and raw_fdm.hxx.
david [Wed, 12 Dec 2001 03:49:48 +0000 (03:49 +0000)]
Added --trace-read=<property> and --trace-write=<property> options.
These will log trace messages whenever a specific property value is
read or written through the property manager. They do not cause
FlightGear to poll bound values, so if a class variable that is bound
is changed directly, no trace message will be displayed.
These options are also useful in conjunction with a debugger.
--trace-read will cause the private SimGear SGPropertyNode::trace_read
method to be invoked, and --trace-write will cause the private SimGear
SGPropertyNode::trace_write method to be invoked; in a debugger
session, a user can set breakpoints on these methods then get a
backtrace to see what specific points in the code are reading or
writing properties.
david [Tue, 11 Dec 2001 19:27:37 +0000 (19:27 +0000)]
Modified initial property parsing order to be more intuitive. It now
works like this:
1. Parse preferences.xml, which will usually specify a default
aircraft using the /sim/aircraft property.
2. If /sim/aircraft is specified and not empty, parse the properties
in $FG_ROOT/Aircraft/{/sim/aircraft}-set.xml to set up a default
aircraft.
3. During command-line parsing, whenever the --aircraft option appears
set /sim/aircraft appropriately and parse the properties in
$FG_ROOT/Aircraft/{/sim/aircraft}-set.xml. Any --config, --prop, or
--aircraft options afterwards will take precedence.
curt [Mon, 10 Dec 2001 22:39:05 +0000 (22:39 +0000)]
Change to WeatherCM so that it doesn't triger an floating point exception
when queried for too low (i.e. < -1000 meters) altitudes. So now there's
now valid weather information for altitudes below -500 meters sea level.
curt [Mon, 10 Dec 2001 16:29:20 +0000 (16:29 +0000)]
Tweaks to how we load aircraft defaults and definition file to make things
more intuitive. We switch to an include in the preferences.xml to include
the default model, and then if the user specifies --aircraft=, that is
expanded immediately so portions can be overwritten by subsequent command
line options.
curt [Sun, 9 Dec 2001 05:43:40 +0000 (05:43 +0000)]
David Megginson writes:
Here's an unusual patch for FlightGear -- I've created .cvsignore
files for every source directory, to make CVS output more informative.
This is especially nice when using cvs-examine from (X)Emacs to look
for changes.
curt [Sun, 9 Dec 2001 05:19:50 +0000 (05:19 +0000)]
Small tweaks to initialization sequence and logic so we can default to
a top level aircraft def file (c172-set.xml)
preferences.xml or --aircraft= or any other property setting mechanism can
be used to set the property "/sim/aircraft". After all options and config
files are parsed, the contents of /sim/aircraft is expanded into a *-set.xml
file and loaded.
curt [Fri, 7 Dec 2001 22:38:19 +0000 (22:38 +0000)]
Changes from Norman Vine that 'almost' get 'reset' and 'goto apt' working.
Note there is still a problem when doing a 'reset' after doing
a 'goto'. Curt says: I also see that doing two subsequent reset's on a
JSBSim model results in a segfault in a deconstructor deep inside JSBSim.
curt [Fri, 7 Dec 2001 17:37:15 +0000 (17:37 +0000)]
Added --aircraft= option back in, but now it refers to a top level aircraft
config file that pulls in the proper fdm, aero model, panel, 3d model, etc.
for the aircraft.
curt [Thu, 6 Dec 2001 23:10:50 +0000 (23:10 +0000)]
Changed --aircraft= to --aero= to make way for a high level aircraft definition
that will tie together fdm, aero model, 3d model, sounds, etc. into one
top level config file.
curt [Mon, 3 Dec 2001 22:48:49 +0000 (22:48 +0000)]
- added gear up and gear down sounds
- changed all sound file properties to end in /path for pathname, and
added /sound and /pitch (with current values as defaults)
- don't activate the stall horn if CAS is less than 30kt (this needs
to be refined somehow)
- declarations to support changes to cxx file
curt [Sat, 1 Dec 2001 06:22:24 +0000 (06:22 +0000)]
Initial revision of Andy Ross's YASim code. This is (Y)et (A)nother Flight
Dynamics (Sim)ulator. Basically, this is a rough, first cut of a "different
take" on FDM design. It's intended to be very simple to use,
producing reasonable results for aircraft of all sorts and sizes,
while maintaining simulation plausibility even in odd flight
conditions like spins and aerobatics. It's at the point now where one
can actually fly the planes around.
curt [Fri, 30 Nov 2001 23:56:28 +0000 (23:56 +0000)]
Added Network/opengc.cxx Network/opengc.hxx Network/opengc_data.hxx
This is John Wojnaroski's initial implimentation of an interface to the
OpenGC glass cockpit displays.
curt [Tue, 20 Nov 2001 22:03:17 +0000 (22:03 +0000)]
- added /sim/logging/classes and /sim/logging/priority properties
to control logging
- /sim/logging/classes takes a value like "terrain|astro", where the
names are the macros from simgear/debug/debug_types.h with the
initial "SG_" removed and converted to lower case; for none, use
"none"
- /sim/logging/priority takes a single name like "warn", where the
name is a macro from simgear/debug/debug_types.h with the initial
"SG_" removed and converted to lower case
curt [Tue, 20 Nov 2001 21:23:42 +0000 (21:23 +0000)]
a couple of minor modifications, including hardwiring temperature again
(the global temperature property returns that at the aircrafts altitude) and
adding "information" to the airport name to avoid having to store it
in the default.atis file 1200 odd times.
curt [Mon, 19 Nov 2001 23:53:36 +0000 (23:53 +0000)]
David Luff writes:
Heres an update to the ATIS stuff. In brief:
The possible buffer overflow in the display with wind should
hopefully be fixed.
Temperature is taken from the global temperature property instead
of being hardwired.
The display class now includes an implementation of the member
function to change the repeating message.
The message callsign is no longer hardwired. The first message
from each station is generated with a random callsign.
Subsequent messages from the same station have the callsign
incremented every hour. A map of airport-id vs. last callsign and
transmission time is kept for each station that has transmitted for
the duration of the FlightGear session. The logic might be flaky if
FlightGear is run for more than 24 hours at a stretch between
visiting the same ATIS station though! (ie I don't check the day.)
This map is kept in the atislist class. This might not be the best
long-term place for it (in an ATC class of some sort might be
better), but it works for now.
curt [Mon, 12 Nov 2001 22:05:47 +0000 (22:05 +0000)]
I just nailed an especially annoying tile cache scheduling bug.
What was happening was that we screwed up and scheduled tiles for
(lon,lon) rather than (lon,lat) ... note the typo. This generated
bogus tile id's which the system happily accepted, put into the tile
cache system, and attempted to load. The problem was that these bogus
tile id's were negative where as all valid tile id's should be >= 0.
These negative tile id's up the logic used to remove tiles from the
cache. When identifying tiles for removal, we look for the furthest
tile away from us by starting out the furthest id at -1 and if we find
something further, we update the furthest tile id. Then at the end we
check if the furthest tile id >= 0 to see if we found anything we
could remove. However, the furthest tile id was these bogus tiles
with negative tile id's so the system always assumed there was nothing
appropriate for removal. This made it impossible to ever remove a
tile from the cache meaning it quickly filled up and no more tiles
could be loaded.
I fixed the one instance of scheduling tiles for a bogus location, and
added a sanity check so if it ever happens again we'll bomb with an
appropriate error message.