1
0
Fork 0
Commit graph

2396 commits

Author SHA1 Message Date
curt
28243f40ca White space cleanups. 2002-12-07 02:26:50 +00:00
curt
1feedec8d1 - Change the global_tile_mgr to a globals->get_tile_mgr() which is
dynamically created at run time.
- Further clean ups to the FGTileMgr class interface.
2002-12-06 22:29:46 +00:00
daveluff
49d843e22e Patches from Erik Hofman - use Plib's wave file loader plus IRIX fixes. 2002-12-06 15:35:18 +00:00
daveluff
4d6ac0ddf5 Code improvements from Norman Vine 2002-12-05 16:51:40 +00:00
curt
a4600f85c7 Updates for 0.9.1 2002-12-05 15:31:09 +00:00
curt
eac68e9d93 add uiuc_getwind.h to distribution. 2002-12-04 23:02:08 +00:00
daveluff
bc3df74066 Add ground.[ch]xx, groundlist.[ch]xx and ATCVoice.[ch]xx to Makefile.am 2002-12-04 20:08:03 +00:00
daveluff
c65c5f3a4a Changes to support voice rendering of ATC 2002-12-04 20:07:12 +00:00
daveluff
d3e33e8b53 Changes towards tower control - work in progress with no end-user benefit yet 2002-12-04 20:06:20 +00:00
daveluff
46011ab535 Changes and additions to utility functions to support voice ATC rendering and AI taxiing. 2002-12-04 20:05:30 +00:00
daveluff
2a1c00b8e4 Minor changes to variable name and comments 2002-12-04 20:04:26 +00:00
daveluff
8bd892a1a0 Minor change to variable name 2002-12-04 20:03:18 +00:00
daveluff
9be0f4032d Changes to support AI taxiing and crabing when flying in wind. Still a work in progress. 2002-12-04 20:02:03 +00:00
daveluff
791caf9fbc Removed unused code and obsolete comments 2002-12-04 19:52:50 +00:00
daveluff
df089b80f8 Changes to support voice ATIS 2002-12-04 19:51:21 +00:00
daveluff
fe6784af51 Initial draft of a canned ATC voice handling class 2002-12-04 19:49:35 +00:00
daveluff
1db3b01e04 Add ground control frequency data handling along the same lines as navlist etc... 2002-12-04 19:47:16 +00:00
daveluff
25d9868759 Include GPL 2002-12-04 19:38:04 +00:00
daveluff
5f543a2fd1 Changes towards ground control and AI taxiing currently very hardwired to KEMT 2002-12-04 19:36:39 +00:00
tony
75e51b0d81 Sync with JSBSim CVS 2002-12-04 15:32:03 +00:00
david
2e8572a4c5 Ignore more generated files. 2002-12-04 01:01:45 +00:00
curt
35b7d568d0 #include <config.h> where needed for cygwin/gcc-3.2. 2002-12-03 14:59:24 +00:00
curt
7674741abb Add -lplibjs where needed. 2002-12-03 14:55:23 +00:00
curt
953162ea53 Remove cout/endl usage and replace with SG_LOG() 2002-12-02 19:01:59 +00:00
curt
64028a37ef Andy Ross:
I wrote:
 > I can confirm this.  Layers on the 2D panels (but oddly, only the 2D
 > panels) aren't drawing over the background with the current ATI
 > drivers.

OK, this turns out to be a trivial fix, although I still think it's a
driver bug.  There are two calls to glPolygonOffset in the panel
rendering code (shared by both 2D and 3D panels).  One is called
per-layer, and sets up a layer-specific offset.  The other is called
for drawing the background textures, to lift them off of any
underlying cockpit geometry.

I was using different "factor" values for each, incorrectly.  Patch
attached.  It was affecting only 2D panels because the 3D ones don't
use background images.

Problem is, by my reading of the specification the bug should have had
the effect of pushing the background texture *farther* behind the
instruments, instead of pulling it on top of them.  Either I'm reading
the spec incorrectly or ATI has inverted the sense of the factor
argument.  Dunno, I'll submit a bug report to them and see what
happens.
2002-12-01 22:38:38 +00:00
andy
d98b7f05ff Honor the /sim/freeze/fuel property to inhibit fuel consumption at runtime.
Link the standalone executable against the source files explicitly rather
than libYASim, as the Irix linker can't handle the unneeded dependance on
other parts of FlightGear.
2002-11-30 20:22:25 +00:00
curt
ebc2fbd684 Exposed the fg_commands though the httpd interface.
Added a built in command to preset to what ever values are in /sim/presets/
Twiddling with preset code.
2002-11-30 20:10:16 +00:00
curt
a6ce9a5b2a A small amount of additional massaging of tile manager update() interface. 2002-11-30 14:22:00 +00:00
andy
0b2a45e256 Add the command-line yasim compiler to the automake configuration. It
installs into the build directory as "yasim".  Simply run it with the
xml file as its only argument.
2002-11-30 06:28:18 +00:00
andy
388d714fdc Fuel consumption. Simple implementation without support for tank selection
or engine-specific feeds.
2002-11-30 06:12:20 +00:00
curt
bcf9fa3695 Massaging the FGTileMgr->update() interface towards using FGLocation. 2002-11-30 03:05:34 +00:00
andy
fe4e83a10b Added a tunable "induced drag" number to aircraft. One of the things that
isn't well-constrained by the solution process is the drag-vs-aoa curve.
The default value that YASim picked was very steep, and resulted in most
of the jets flying their approaches *way* behind the power curve.  This
changes the default to be more forgiving, and adds an "idrag" tunable
to the configuration file for tweakers.

Also, change the default gear springiness to be less stiff.
2002-11-30 02:24:16 +00:00
curt
95109cec57 Split out tile load/free queue processing into a separate routine. 2002-11-30 02:21:04 +00:00
curt
89874fd5f5 Make tile_mgr->prep_ssg_nodes() use an FGLocation object. 2002-11-28 01:08:25 +00:00
david
9ca42c5fa3 Patch from JSBSim:
Convert DrCmd from percentage to radians.
2002-11-27 21:09:16 +00:00
david
b79c943aa3 Change from JSBSim:
Changed steering to use the rudder command rather than the rudder
position.  During taxi, the rudder trim shouldn't affect the steering
in any serious way.

This should be configurable in the aircraft file, since not all
aircraft use the rudder pedals for ground steering.

[In FlightGear, this may make it easier to taxi straight.]
2002-11-27 01:38:26 +00:00
curt
3aa5e5fcdf Don't force ground lighting to have the same limited visibility as runway
lighting.
2002-11-26 16:01:39 +00:00
curt
98dca16794 Having the runway lights "pop" in at a specific range is not 100% realistic.
I have updated the lighting code to use fog to try to fade the runway lights
in smoothly, but still keep them from being visible until you are about 7-10
miles out, and then only have them be very faint at first.  I think what I
have is a bit nicer than before since it completely avoids the "popping" effect,
but I've very open to tweaking the actual ranges based on people's real
world experiences.
2002-11-26 02:29:03 +00:00
curt
019b31ea26 Make the runway lights come on just a bit sooner in terms of sun angle. 2002-11-25 21:42:07 +00:00
tony
b672fed418 Updates for cygwin 2002-11-23 15:33:01 +00:00
curt
dc5397b33b Minor property name change to avoid some minor confusion. 2002-11-21 02:54:46 +00:00
curt
80e8647330 Removed depricated files. 2002-11-18 21:34:07 +00:00
curt
df2356050d Added a "Presets" menu. 2002-11-18 21:31:33 +00:00
david
9a3f0c5c19 Irix patch from Erik Hofman. 2002-11-17 12:56:01 +00:00
curt
8f3a988e0e If a non existant runway is specified with --runway=xxx fall back to
finding the runway that is the closest match to the specified (or default)
heading.
2002-11-17 04:17:27 +00:00
curt
13bb01a70e Added a --runway= option which can be used in conjunction with the --airport=
option to specify a starting airport + specific runway.  If you don't specify
a runway, you get the one that's closest to your specified (or default)
heading.
2002-11-17 04:04:21 +00:00
curt
2384d0ed51 Added some cheap eye candy to entertain myself for a few minutes. Splash
screen now fades out revealing the scene.
2002-11-17 01:21:13 +00:00
david
928309d3d1 Cygwin patch from Patrick Staehlin:
To compile the development CVS version of FlightGear(0.9.0) i had to
apply some small changes to SimGear and FlightGear.

The changes need probably some additional ifdefs for other platforms but
since my linux-hd crashed i can't verify that.
2002-11-17 00:42:50 +00:00
david
bd5560605d Patch from Jim Wilson to fix model offsets:
Here's a patch to fix the offsets bug.  The problem was the transform was just
getting added to a local instance rather than being returned by the function.
2002-11-17 00:30:40 +00:00
david
8eb735d149 I wrote:
> Jim Wilson wrote:
 > > How hard would it be to have a property that toggles hotspot
 > > visibility?  It'd be nice to be able to turn it on and have yellow
 > > rectangles show up on the hotspots...
 >
 > That's not a bad idea.

It's actually an astoundingly good idea, and implementable over lunch
to boot. :)

Try the attached patch, which predicates the boxes on the
/sim/panel-hotspots property.  I mapped a toggle event on this to a
spare joystick button, and had fun. :)

[dpm: bound to Ctrl-C]
2002-11-17 00:04:57 +00:00
david
a53ccae248 Make sure led_font isn't used unless it's initialized. 2002-11-16 22:13:49 +00:00
david
de0f20aa22 Reduce POFF_UNITS from 40 to 4, following Andy Ross's suggestion (to
avoid having the 2D instruments obscure 3D objects in front of them):

It's related to depth buffer precision.  On my Geforce cards (2MX and
3), it never happens with the 24 bit depth buffer you get by default
at 32bpp.  At 16bpp, it picks a slimmer depth buffer (probably 16 bit)
and the texture layers bleed through.

The code is using a pretty big argument to glPolygonOffset, and I've
never investigated how small it can be.  If someone has a little time
the next time they see this issue, try changing the value of
POFF_UNITS at the top of Cockpit/panel.cxx.  Decrease it until the
textures *just* start to interfere with each other, and post the value
that works for you.
2002-11-16 22:08:22 +00:00
david
4d1e05804f Patch from Frederic Bouvier:
I have discovered recently that plib has ulIsAbsolutePathName
in ul.lib so you can try this patch.
2002-11-16 22:01:15 +00:00
curt
35f24baf32 Clean ups to the code that determines initial position based on command
line options or defaults.
2002-11-16 21:34:51 +00:00
curt
b3935aa01f Make the routines that scan the command line options and config files more
general so we can eliminate the option specific versions of these.
2002-11-16 20:41:00 +00:00
curt
52a322decc Some various massaging and clean ups of initialization code. 2002-11-16 20:17:11 +00:00
david
c5ebb65efd Turn off runway lights during the day, except in less than 5km
visibility (that should be lower, but it will do for now).
2002-11-16 11:56:15 +00:00
curt
52312f2a13 Restructuring some of the initialization code.
The general idea is to help clean up some aspects of the FDM init and be
able to provide startup conditions in a less ambiguous manner.

Previously, things like positions, orientations, and velocites were set on
"the bus".  These had to be read by the FDMs which then were supposed to
initialized themselves to those values and turn write around and start
modifying those values.  It was messy and cumbersome.

Now, all the initial fdm conditions are written to a sub-[property-]tree
under /sim/presets/

The values in /sim/presets/ always stay set to what the user has specified.
The user can change these at his/her liesure, and then request a "reset"
which will reset to the new conditions.  I don't even want to say how this
worked before. :-)

Now, an script, or gui interface can stage a set of initial conditions while
the sim is running (without disrupting it), and then call "reset" to commit
the change.

People who should worry about all this are FDM writters, and a small few
others who care about over all program structure and flow.
2002-11-15 21:13:29 +00:00
david
bb9b1ae3c7 Correct offset-deg in a rotate animation so that it is added after the
factor (otherwise, it's not in degrees).

Allow 2D panel inclusions to be named (and further animated).
2002-11-13 16:45:21 +00:00
andy
e8e1a087fe Add "spring" and "damp" tunables to gear objects. 2002-11-09 21:08:10 +00:00
curt
3640aca191 Robert Deters:
Attached is more UIUC revisions.  Actually it is only an updated
uiuc_wrapper.cpp.  Thanks
2002-11-08 17:05:56 +00:00
curt
4a2c47d9d7 Robert Deters:
Latest revisions of the UIUC code.
2002-11-08 17:03:49 +00:00
david
49a8c070f3 Moved command information into user data. 2002-11-08 16:33:00 +00:00
david
8205c4e030 Separated out GUIWidget class to manage a top-level widget. 2002-11-08 15:24:14 +00:00
david
3e217ba909 Instead of reading $FG_ROOT/gui.xml, recursively read all files under
the $FG_ROOT/gui/ directory; that way, each dialog can have a separate
configuration file, and management should be simpler.
2002-11-08 02:03:56 +00:00
david
4d292daeaa Added button actions so that property fields can be applied or
updated.
2002-11-07 22:59:46 +00:00
david
2de88f278b Started new, XML-configurable GUI subsystem. 2002-11-07 16:27:47 +00:00
david
0de065b0ec Added fgLoadProps to load properties from a path relative to FG_ROOT. 2002-11-06 18:57:31 +00:00
david
a8f40e0771 Fixed bug in timed update cycling. 2002-11-06 16:04:04 +00:00
david
e9dc716221 Added a new TimedAnimation, using the type "timed" and the property
duration-sec.  This animation may have any number of child objects,
and each one will be displayed for the requested duration before
moving on to the next one.

Added Animation::init for initialization after children have been
added to an animation.

Added a default implementation of Animation::update, and removed all
of the empty ones in derived classes.

Removed tabs from model.cxx.
2002-11-06 15:47:40 +00:00
andy
7b7de3d3e0 Blindingly stupid ground effect bug. It interpolated in the wrong direction
(zero at ground, maximum at 1-span!)
2002-11-05 21:36:47 +00:00
david
dd10ae6ba8 Patch from Andy Ross:
Indeed, there was no check for panel visibility in the input code.  I
guess we've never noticed because nothing was fighting for the same
real estate in the past.  This one-liner appears to fix the problem.

[also converted all tabs to spaces for Norm Vine]
2002-11-05 02:28:07 +00:00
curt
b57a78e637 Cleaned up some debugging output. 2002-11-04 16:58:54 +00:00
curt
925126fa6b Add support for drawing ODALS approach lighting. 2002-11-04 16:34:42 +00:00
david
f2a5f98532 Patch from Jim Wilson:
That's a little too small to resolve differences at 16bpp. Try the
patch below.  It decreases the lifting substantially.  You will see
a slight increase in z-buffer flickering but it isn't bad.  Note
that we removed the "distance" component the other day,  the purpose
of it was to lift the lights higher when viewed at shallow viewing
angles.  The distance component is critical for the street lights that
can be very long distances away.

But with the distances we're working with here it really doesn't
do all that much.  The factor used in this patch is about as shallow
a lift as can be used when looking straight down at the airport.  At
24bpp there's no effect from incorporating a distance component.

The choice is to reintroduce a distance component...one that works (and
only for 16bpp), or alter the factor used in the patch below to strike an
acceptable balance between different viewing angles when in 16bpp mode.
2002-11-04 02:17:13 +00:00
david
68d44ac103 Removed debug print statements.
Added ability to set a name for an animation and refer to it in
subsequent animations.
2002-11-03 15:48:08 +00:00
david
351a4d5c09 Streamline to create fewer branch nodes. This involves moving some
objects around when an animation specifies more than one object.
2002-11-03 15:42:11 +00:00
david
2bc7a538cf Eliminate dependency of flight.hxx on model.hxx, to avoid unnecessary
rebuilding.
2002-11-03 15:41:30 +00:00
david
f06a658bee Modified /sim/current-view/axes/long and /sim/current-view/axes/lat to
use the user-configurable view defaults.
2002-11-02 21:43:15 +00:00
curt
dbf997a2d3 Put taxiway lights in their own scene graph so we can adjust their brightness
(or fog punch through) independently from the ground or runway lighting.
2002-11-01 21:56:48 +00:00
curt
eb0c92f8ff Fix a couple oversights in the runway light lifting formula. 2002-10-30 22:56:22 +00:00
curt
94a36038d2 Remove distance component from runway lifting function. Only use the AGL
component.  This seems to work pretty well and simplifies things a fair bit.
2002-10-30 21:59:05 +00:00
curt
72017fc671 Andy Ross:
The biggest and coolest patch adds mouse sensitivity to the 3D
cockpits, so we can finally work the radios.  This ended up requiring
significant modifications outside of the 3D cockpit code.  Stuff folks
will want to look at:

+ The list of all "3D" cockpits is stored statically in the
   panelnode.cxx file.  This is clumsy, and won't migrate well to a
   multiple-aircraft feature.  Really, there should be a per-model list
   of 3D panels, but I couldn't find a clean place to put this.  The
   only handle you get back after parsing a model is a generic ssg
   node, to which I obviously can't add panel-specific methods.

+ The aircraft model is parsed *very* early in the initialization
   order.  Earlier, in fact, than the static list of allowable command
   bindings is built in fgInitCommands().  This is bad, as it means
   that mouse bindings on the instruments can't work yet.  I moved the
   call to fgInitCommands, but someone should look carefully to see
   that I picked the right place.  There's a lot of initialization
   code, and I got a little lost in there... :)

+ I added yet another "update" hook to the fgRenderFrame routine to
   hook the updates for the 3D panels.  This is only required for
   "mouse press delay", and it's a fairly clumsy mechanism based on
   frame rate instead of real time.  There appears to be delay handling
   already in place in the Input stuff, and there's a discussion going
   on about different mouse behavior right now.  Maybe this is a good
   time to unify these two (now three) approaches?
2002-10-29 19:44:03 +00:00
curt
5a439826ff Andy Ross:
Make rotational rate FDM values available from the property tree.
This is required for some cool stuff I've been doing with the Harrier.
2002-10-29 19:27:05 +00:00
david
9a5080b6ad Fixed jump around the north indication. 2002-10-27 20:32:34 +00:00
andy
f80b8660bf Fix coordinate conventions for reporting pilot acceleration. Add a few
digits to the c.g. report.
2002-10-27 04:30:34 +00:00
david
fa87fe5c1d Modified for simpler command-manager interface. 2002-10-26 01:19:23 +00:00
david
d43dfa54df Major code simplification. 2002-10-25 22:19:51 +00:00
curt
4c2e97be18 Default to experimental point lighting disabled. 2002-10-24 14:05:40 +00:00
curt
ae46fe825f Erik Hofman: Irix build fixes. 2002-10-24 14:02:19 +00:00
curt
a9b9e9d155 Tweak red and blue runway light colors a bit more. 2002-10-24 14:02:06 +00:00
curt
786e58aa1a Removed some left over debugging output. 2002-10-24 12:12:14 +00:00
curt
bbf33cc7cb White space tweak ... 2002-10-24 12:11:55 +00:00
curt
d62b1a0a66 Fix a subtle bug in the partial ssg tree deleter which was leaving some
parts of the tree left over at the end which the failsafe was catching, but
this could impose a huge framerate hit if the missed portion of the tree
was large enough (and it very often was.)
2002-10-24 03:38:14 +00:00
curt
aff9655029 Tweak lighting colors a bit. Add a slight yellow tint to "white" lights.
Add a slight orange tint to "yellow" lights.  Brighten the blue lights a bit
to make them more visible.
2002-10-23 16:29:53 +00:00
curt
2214f540e2 Fixed the DG heading bug hold to work with the new DG instrumentation.
It was slightly goofed up before by about the amount of the magnetic
variation.
2002-10-23 16:27:30 +00:00
curt
66e8d3fe65 Updates to how we structure runway lighting in the scene graph so we can get
the range selector to work on a per runway (or per lighting group) basis.
2002-10-22 20:47:14 +00:00
curt
95f46806c2 Tone down the relative intensity of the taxiway lights. 2002-10-22 04:12:33 +00:00
curt
13813f9143 Added support for taxiway lights that are much more visible from the size
than from above.
2002-10-22 03:57:32 +00:00
curt
86d586e592 Make runway lighting LOD work correctly. 2002-10-21 19:45:21 +00:00
curt
15b6f15d36 Misc clean ups. 2002-10-21 16:26:48 +00:00
curt
4496bf341d Preallocate proper ssg list sizes when building list structures so plib
doesn't need to waste time extending it's list sizes.
2002-10-21 16:26:34 +00:00
curt
a4c06de42f Fix a bug with rabbit light creation. 2002-10-21 16:09:11 +00:00
curt
b0d12281c8 Minor tweak to avoid some compile errors people are seeing with the
glPointParameterExt.
2002-10-21 03:22:27 +00:00
david
d7662bceb8 Put cout and endl in std:: namespace. 2002-10-19 10:27:52 +00:00
curt
9c561ab860 Add a pre/post draw call back to strobe lights so we can make them bigger
so they will stand out from everything else.
2002-10-18 18:43:50 +00:00
curt
89ede45989 There are some problems with ssgTimedSelector's but shorter strings of
rabbit lights appear to almost work except the last light or two is never
included in the animation and longer strings of lights are drawn as all
light on ... :-(
2002-10-18 03:36:56 +00:00
curt
bbdca39e3b Some restructuring to optimize the light point portion of the scene graph.
There's no point in having a separate leaf for each light.
2002-10-17 23:17:16 +00:00
curt
7df3da668c Fix a bug in ground elevation measuring for the first frame after we cross
a tile boundary.  (Potentially imposes a slight performance penalty, but
getting the correct answer needs to be higher priority than getting the
wrong answer really quickly.)
2002-10-17 15:54:31 +00:00
curt
a01f92f0d1 Support green directional lights. 2002-10-17 15:52:32 +00:00
curt
55b7dc661e Playing with glPointParameterfEXT. 2002-10-17 04:34:32 +00:00
curt
050f44adc8 Cleaned some cruft. 2002-10-17 03:11:10 +00:00
curt
9d5281a5d1 Add support for generating REIL approach light animations. 2002-10-17 03:08:46 +00:00
curt
66bd17bfa3 Add support for additional runway light colors and intensities. 2002-10-16 22:39:08 +00:00
david
8aae366757 Fixed so that ASI will indicate correctly (or at least, more
correctly) in winds.
2002-10-16 22:09:26 +00:00
curt
3f7b0533a5 Add support for wind speed/direction and freezes. 2002-10-16 03:46:24 +00:00
curt
27c4385980 Throttle was being scaled with mixture config values.
Cleaned up some old cruft.
2002-10-16 03:46:05 +00:00
curt
4ef75aa6c8 Playing with point lighting effects. 2002-10-16 03:44:44 +00:00
curt
8166467292 Cleaned up some old cruft. 2002-10-16 03:44:19 +00:00
curt
b699a0aac9 Added support for passing wind speed/direction.
Added support for passing various freeze commands to fdm.
Initial support for in-air starts.
2002-10-16 03:43:52 +00:00
curt
1ce4ef590f Norman Vine:
Updates to the autopilot to allow it to run off of 'non-cooked' altitude
and heading values (as a compile time option.)
2002-10-16 02:06:42 +00:00
curt
f38c88b762 Fix an init order bug and do some minor cleanups. 2002-10-16 02:02:39 +00:00
david
f962e24fee Use default visibility instead of modified sky visibility when 2D
clouds are disabled.
2002-10-13 10:46:37 +00:00
david
b66a6c75b3 Patch from Frederic Bouvier:
I noticed that textures for scenery static objects are not loaded
anymore for a few weeks.  Static objects have absolute path while
random objects and aircraft have relative path but fgLoad3DModel
unconditionally prepend fg_root to the model path. This patch test the
beginning of the model path to choose if fg_root has to be prepended
to the model path.
2002-10-13 10:43:57 +00:00
david
76cda01641 Fixed init-order bug that caused c172-set.xml defaults always to be
used unless explicitly overwritten.  Now, the options are parsed
twice, and only the *-set.xml file for the *last* aircraft specified
is loaded.
2002-10-10 18:39:52 +00:00
david
e8db622ce1 Patch from Alex Perry:
Ok, I found the problem.  You're computing the dynamic pressure in
"psf" and adding it to the static pressure in "inHg" to form the
total pressure.  The attached patch is the simple fix to the source.

With that fix, failing the pitot while in cruise at 3k' will cause
the airspeed to indicate beyond redline during climb ... well before 4k'.
Thus, a pitot problem can be detected on any IFR altitude change.

Similarly, failing the static (with working pitot) while cruising 4k'
causes the airspeed to indicate beyond redline during a descent
well before reaching 3k' (during which, of course, the ALT looks fine).
Thus, a static failure can be detected before the aircraft breaks out
of the pilot tolerance range and is blatantly conspicuous soon after.
2002-10-10 18:15:22 +00:00
curt
470d233f0d Eric Hofman:
Now the options can be localized as well. This adds a slight problem for
the --language options, but not that much (worst case, the strings are
loaded twice consuming some more memory). I tried to be as accurate as
posiible when copying the options texts, but there might be some
mostakes left.
2002-10-10 15:02:50 +00:00
curt
83314d3f45 Fix a potential crash with William Riley's scenery build. 2002-10-09 14:29:42 +00:00
curt
257c065d81 misc tweaks. 2002-10-09 14:15:08 +00:00
curt
f54302e9e9 Begin work on improving runway lighting infrastructure. 2002-10-09 03:40:23 +00:00
curt
e74c4d9437 Oops, I had my lighting tris wound the wrong way. 2002-10-08 22:25:41 +00:00
curt
9dcf7dd13f Erik Hofman:
This adds supports for a language specific font, defined in locale.xml
I've also moved the fgInitLocale() routine from main.cxx to fg_init.cxx
to prevent an ungly extern definition in options.cxx.
2002-10-07 15:45:00 +00:00
curt
cf96178ea8 Misc clean ups. 2002-10-06 04:27:24 +00:00
curt
c162577340 Begin work on rendering runway lights using environment maps. The basics
are now working.  A runway light is defined by a point and a direction.  The
point and direction are combined with the local up vector to create a small
triangle orthogonal to the direction.  The two ficticous corners of the
triangle are given an alpha value of zero, the orignal corner is given an
alpha of one.  The triangle is drawn in glPolygonMode(GL_FRONT, GL_POINT)
mode which means only the corner points are drawn, and since two have alpha=0
only the original point is drawn.  This is a long way to go to draw a point,
but it ensures that the point is only visible within 90 degrees of the light
direction, behind the light it is not visible.  This is still a long way
to get to drawing a point, but we use an environement map, with the direction
vector as the normal to mimic a light that is brightest when viewed head
on and dimmest when viewed perpendicularly or disappears when viewed from
behind.

- warning, there is a bug in how the current runway light direction vector
  is calculated which will adversely effect runway lighting.  The airports
  should be regenerated in order to fix this problem.
2002-10-06 03:53:19 +00:00
curt
f0b7744fd5 Frederic Bouvier:
The FGGlobals constructor does not initialise the locale pointer.
Under MSVC, uninitialized pointer have a value of 0xcdcdcdcd, not
0, so a test in mainLoop fails and the program segfault.

This patch set un initial value to locale.
2002-10-04 20:57:18 +00:00
curt
5cf14e78c4 Erik Hofman:
This patch fixes some bugs for correctly reporting un-updated
configuration files, and adds support for a --language=<code>
commandline option, overriding the language specified by the OS.
2002-10-04 15:19:07 +00:00
david
29eb5f7f5d Eliminated current_input and added FGInput to the subsystems managed
by FGSubsystemMgr.
2002-10-04 13:20:53 +00:00
david
598db3d528 Decrease the error (slightly) from a power glide. 2002-10-04 01:04:20 +00:00
david
ee6f6ecf61 Turn the runway lights on during the day when visibility is less than
5000m (about 3SM).
2002-10-04 00:23:40 +00:00
david
d1f5f04423 Have update check that sound is enabled. 2002-10-03 21:21:44 +00:00
david
38f0d6a35c First draft of subsystem manager; moved some subsystems into it. 2002-10-03 21:20:56 +00:00
david
fe14223750 Ignore generated files. 2002-10-03 16:59:32 +00:00
curt
44fcbbd0af Better internationalization infrastructure. We now supports the "LANG"
environment variable.
2002-10-03 14:39:37 +00:00
curt
bacbd50eaa Init 3d clouds at starting location. 2002-10-03 03:19:35 +00:00
david
c581cfa395 Preliminary support for AI planes from Dave Luff. This works only at
KEMT (w120n30 scenery), and you will have to set the property
/sim/ai-traffic/enabled to 'true' to see the other plane (and tune
comm1 to 121.2 to hear the other plane's radio calls).
2002-10-02 15:27:49 +00:00
david
03b508adb7 Support Dave Luff's AI plane if /sim/ai-traffic/enabled is set to
true.
2002-10-02 15:25:58 +00:00
david
ab27c591b5 Removed print statements accidentally committed. 2002-10-01 23:35:33 +00:00
david
42dfe6256f Corrected so that deflections are reversed on ILS backcourse. 2002-10-01 23:28:17 +00:00
curt
8ad519d854 Get rid of some debugging output. 2002-10-01 18:39:49 +00:00
curt
8722af0eb8 Read menu titles indirectly from specified property names so we can support
translations.
2002-10-01 18:38:34 +00:00
curt
4fb56176ce Allow for a user specified timeout when waiting for a response from the
remote fdm command server (http server.)
2002-10-01 16:44:38 +00:00
curt
4763dbae6a Pass data needed to make David's new ASI model work correctly. 2002-10-01 15:26:15 +00:00
curt
1604c9bae2 Erik Hofman:
This is a small patch which resets the delay counter if the sound
doesn't need to be stopped. Also the code is reorganiozed a bit to fix
sume "bugs".
2002-09-30 18:45:09 +00:00
david
b0afca93d5 Put gyro spin into a property so that it can be restored after a save. 2002-09-29 18:26:24 +00:00
tony
09cb9b750c Include gravity in pilot accel calc when Vt < 1 2002-09-29 14:13:39 +00:00
tony
eb05a298e9 Latest JSBSim updates -- includes fix for control surface animations. 2002-09-29 13:33:53 +00:00
tony
2c1889a8b5 Removed delete of dangling pointer -- fixes seg fault on reset 2002-09-28 22:48:21 +00:00
curt
2eaaddc52a Renamed raw_ctrls.hxx -> net_ctrls.hxx which makes more sense and matches
net_fdm.hxx.
2002-09-28 22:10:49 +00:00
curt
0d87fad65c Shuffled location of ExternalNet.[ch]xx to it's own subdir.
Removed External.[ch]xx which is a duplicate of NullFDM.[ch]xx
--fdm=external is preserved but just maps to NullFDM.
2002-09-28 21:42:03 +00:00
curt
d2dbf0a8ee Moved the ExternalNet code to it's own subdirectory. The plan is also
place standalone FDM wrappers here as well so we can build FDM specific
executables that interface with FG via the ExternalNet interface.
2002-09-28 21:38:51 +00:00
david
1acb43dbfc Added pitot system and new airspeed indicator. 2002-09-28 20:48:53 +00:00
curt
dc7103245a My understanding of plib's net libs has expanded slightly. A couple of
small mods here reflect that and allow the external network connection
to play better when other net connections (i.e. telnet) are activated.
2002-09-28 17:37:44 +00:00
curt
57ba57a18b Erik Hofman:
For sounds that play while a value is in transit, use time rather than
the number of frames to judge when to halt the sound because it will be much
more reliable on high performance systems. It currently waits 10 ms.
before stopping the sound, but you might want to fiddle it a little by
changing MAX_TRANSIT_TIME defined int fg_sound.hxx
2002-09-28 12:16:37 +00:00
curt
de667227c4 Minor formating tweaks. 2002-09-28 04:01:34 +00:00
curt
3a0f56a6e6 Removed some extraneous spaces that crept in some how. 2002-09-28 04:01:20 +00:00
curt
a677ddac5d Pass ground elevation at aircraft position to external FDM, not ground
elevation at view point.
2002-09-28 04:00:55 +00:00
curt
c7df5f3639 Panel night lighting acts as if lights are always turned on. We don't
really see anything different in the day, but as day turns to night the
panel smoothly darkens and the lighting component becomes visible.
Lights are wired to electrical system so if you kill power, you lose the
lights.
2002-09-28 03:57:37 +00:00
david
8685e68b99 Modified to use fgGetLowPass from utils.cxx. 2002-09-27 22:04:21 +00:00
david
5289055776 Added a heading-indicator connected to the vacuum pump and a
vertical-speed indicator connected to the static port.
2002-09-27 22:03:48 +00:00
david
c542559097 When the clock is frozen, set delta time to 0 so that the subsystems
won't keep updating themselves; that effectively freezes the
instrumentation.
2002-09-27 22:02:48 +00:00
david
3da2de39fc Add utils.[ch]xx. 2002-09-27 22:02:09 +00:00
david
84d2627236 Globally-useful functions, starting with Alex Perry's low-pass
function from steam.cxx.
2002-09-27 22:01:33 +00:00
curt
b81139dab3 Pass stall warning info in net_fdm.hxx 2002-09-27 21:20:28 +00:00
david
8d5714084e Added static port system and a new altimeter model connected to it.
The static port uses the

  /systems/static/

property subtree, and the altimeter uses the

  /instrumentation/altimeter/

property subtree.
2002-09-27 18:27:58 +00:00
curt
d150450b06 Mixture is on channel 6. 2002-09-27 02:33:32 +00:00
curt
c1417a0268 Pass velocities in local body axis. 2002-09-27 01:20:20 +00:00
curt
a7fb46bcb2 Interface the adf and transponder to the electrical system. 2002-09-26 17:26:34 +00:00
curt
3fdcbbd6ce Code clean ups. 2002-09-26 17:25:19 +00:00
curt
cd9c38e0b4 Connect to the electrical system. 2002-09-26 17:24:11 +00:00
curt
2a73201ca8 More code shuffling. 2002-09-26 16:19:06 +00:00
curt
eaf4954441 Shuffling/reorganizing code. 2002-09-26 15:34:00 +00:00
curt
2a19fc2f53 Work on wiring the dme into the electrical model. 2002-09-26 14:13:42 +00:00
curt
cc4821e43f Each node in the electrical system graph can now publish to an arbitrary
number of properties which will reflect that node's state.
2002-09-26 04:51:23 +00:00
curt
911e7dbfa8 For flaps power, fuel pump, and starter, send power state rather than switch
state.
2002-09-26 04:49:31 +00:00
curt
4a28902197 Begin interfacing the navcom's to the electrical model. 2002-09-26 04:47:29 +00:00
curt
427505cf37 Begin interfacing with the electrical model. 2002-09-26 04:45:45 +00:00
curt
d16f082500 Read and publish states of master switches (bat, alt, avionics.)
Read and publish states of toggle switches and circuit breakers.
2002-09-25 22:09:38 +00:00
curt
d53b005a41 Interchange state of fuel_pump (switches) and master switches (bat, alt,
and avionics.)
2002-09-25 22:08:43 +00:00
curt
4a43282b72 Change path name of electrical system config file. 2002-09-25 22:07:28 +00:00
curt
d976a1f879 Added fuel_pump switch, and master switches (bat, alt, avionics) 2002-09-25 22:06:38 +00:00
curt
f26e8e5af0 Added a per-engine fuel pump switch. 2002-09-25 22:05:49 +00:00
curt
02d1d81348 Fixed a compiler warning. 2002-09-25 22:05:14 +00:00
curt
c6c96eb688 Remove 'cout' 2002-09-25 12:38:09 +00:00
tony
04f7625c67 Fixes for flaps, gear, and reset. The c310 takeoff rotation problem seems to be fixed as well, though I don't understand why. 2002-09-25 11:04:20 +00:00
curt
8d2014f7bc Updates to the electrical system model. "Juice" is now propogated through
the system, switches, fuses, circuit-breakers work.  Nothing is actually
wired into the electical system yet.
2002-09-24 23:45:56 +00:00
curt
3323efa256 Check point commit:
The code reads the electrical system config and contructs an internal model.
Nothing is done beyond that yet ... the electrical system is not updated,
nor is it connected to the property system in anyway.
2002-09-24 19:57:11 +00:00
david
6a8371c44c Introduce a simplistic spin-down when insufficient suction is
available.
2002-09-24 16:37:28 +00:00
curt
90e64f9430 Stub in a place holder for the electrical system model. 2002-09-24 15:24:04 +00:00
david
512f37185a Ignore generated files. 2002-09-24 14:55:14 +00:00
david
682feb8f2d Flattened src/Systems/ subtree.
Added src/Instrumentation/ with partial stab at a vacuum-driven
attitude indicator.
2002-09-24 14:51:37 +00:00
david
e97b8841e1 Forgot to update header.
Added .cvsignore.
2002-09-24 13:11:27 +00:00
curt
d19ef4008d Small tweaks for improved compiling. 2002-09-24 13:07:30 +00:00
tony
ab242159a3 JSBSim updates. This update changes the file format, so an update of the base
package is required.
2002-09-24 12:54:43 +00:00
curt
43af8026d8 More tweaks to opengl state management when drawing 3d clouds. 2002-09-23 22:05:36 +00:00
david
7c057de4fe Started new module and sub-modules for aircraft systems, including an
initial simplistic vacuum system that's not yet connected to anything.
2002-09-23 19:55:10 +00:00
curt
f6607cac90 Removed some depricated code snippets. 2002-09-23 18:52:21 +00:00
curt
5133b9467b Removed some left over debugging output. 2002-09-23 18:49:12 +00:00
curt
29e72b0b90 Various tweaks and fixes to navcom radios.
Oops, taking the address of a temporary in main.cxx: 3dcloud rendering.
2002-09-23 18:44:09 +00:00
david
5eef7d7ad1 Removed tabs. 2002-09-23 15:27:46 +00:00
curt
7b01068d9c Bernie Bright:
fgLoad3DModel() throws an exception if it fails to load the requested model.
This causes FGTileMgr::update(...) to exit.  So I've added a try/catch block
to catch the exception and display an error message instead.
2002-09-23 14:23:17 +00:00
curt
578073a6f3 Slightly cleaned up 3d cloud positioning code. 2002-09-23 13:34:51 +00:00
curt
e23b22fabe There is something wierd about moving the cloud base around, let's just leave
it rooted in place until we sort out the positioning.
2002-09-22 23:07:01 +00:00
tony
743b4848cf Changed much inline code to non-inline. The inline code that remains in the header *must* be there to avoid linker errors. 2002-09-22 15:32:45 +00:00
tony
1ca94a72c0 Latest updates, including a thrust-only turbofan model. It should produce
realistic thrust (including time-dependent effects), but does not provide
N1, N2, EPR, etc.
2002-09-22 15:31:09 +00:00
david
c3a1a9335e Added OBJECT_SHARED, which is identical to OBJECT_STATIC except that
the object is loaded relative to $FG_ROOT rather than to the current
scenery directory.
2002-09-22 11:46:53 +00:00
curt
ab49022465 Patch to position 3d clouds at center of <current> tile. This means the clouds
jump whenever you cross a tile, but there are currently a lot of other
positioning problems as well, so this doesn't really detract too much and
means you can play with 3d clouds from just about any starting point.
2002-09-20 15:30:54 +00:00
david
2d7d0034d0 Do 3D cloud state changes only when 3D clouds are selected. 2002-09-20 14:01:06 +00:00
curt
53b9eacf74 Stabalize cloud shading. 2002-09-19 02:21:23 +00:00
curt
b350c6cd0f Miscellanious flailings trying to get 3d cloud imposter rendering to work
correctly.
2002-09-19 01:27:49 +00:00
curt
a15f79f4ae Cascading changes from the navcom.[ch]xx addition. 2002-09-19 01:12:26 +00:00
curt
3d2311d884 Split Nav/Com units out into their own source code file to continue the
process of simplifying radiostack.[ch]xx
2002-09-19 01:11:07 +00:00
curt
e0a7536e55 Erik Hofman:
This patch shows fatal error messages even when ./configure --disable-logging
is specified.
2002-09-18 16:13:08 +00:00
curt
c5f7f15f5b Updated from Norman to hack on clouds ... some progress. 2002-09-18 14:57:20 +00:00
curt
bb4fe6907f Bernie Bright:
Fix a problem compiling Main/fg_io.cxx with MSVC.
2002-09-17 16:16:54 +00:00
curt
0d7a859d76 Bernie Bright:
Added some missing defines to config.h-msvc6 and updated the version macros.
2002-09-17 16:16:31 +00:00
curt
b811ce4bcf Fixed some stupidity. 2002-09-17 02:36:59 +00:00
curt
cc87fb93ba Updates for 3d cloud rendering. 2002-09-16 14:56:16 +00:00
david
95e1b51068 Added --enable-clouds3d and --disable-clouds3d options. 2002-09-16 02:46:23 +00:00
curt
73c4fd481d Changed the clouds3d header install directory. 2002-09-15 04:32:49 +00:00
curt
82c87b2456 Updated the base package version required. 2002-09-14 01:58:40 +00:00
curt
bdde29e203 Update base package version. 2002-09-13 23:37:55 +00:00
curt
a4b3e35c0e Stubbed in initial support for 3d clouds. 2002-09-13 20:38:15 +00:00
curt
b92244ea7a Added support for calibration properties. 2002-09-12 03:15:27 +00:00
curt
e2313bfb55 Michael Selig:
A bug lurked into our uiuc code.

There are two changes:
[1] Comment out the chunk of code as shown (compare w/ the old)
[2] Put back in the function call, and in that code change AlphaTail to Alpha.
2002-09-11 18:27:26 +00:00
curt
f8abc6d848 Fixed: When you select Menu->Autopilot->Set Heading nothing happens. 2002-09-11 16:51:23 +00:00
curt
1784ad74b6 Updates from Rob Deters. 2002-09-11 16:45:47 +00:00
curt
93c9f8cbf4 Updates from Rob Deters. 2002-09-11 02:31:10 +00:00
curt
ed4a2e6db6 Darrell Walisser:
This allows it to behave like a certified Mac OS X citizen.
2002-09-10 19:43:33 +00:00
curt
f8c24745b6 Initial revision 2002-09-10 01:13:59 +00:00
curt
5598d2735a Read the desired menu font from the property system (or default to
typewriter.txf if it's not specified.)
2002-09-07 14:16:06 +00:00
curt
2da005377e Fix a typo that could cause a crash on some platforms. 2002-09-07 14:15:10 +00:00
david
832d514d05 Added explicit std:: prefix to map to work-around MSVC6 bug reported
by Jonathan Polley.
2002-09-07 13:16:48 +00:00
david
f0195b564d Made temperature, dew-point, and pressure at altitude read-only, so
that they won't get messed up during a reset if there are reassigned
before the altitude.
2002-09-07 13:00:20 +00:00
david
0ba90f4d2b Patch from Julian Foad:
Use getDisplayName instead of duplicated code: gives a better
decision on whether to display the index.
     Replace unnecessary node lookups by name with direct access: tidier
and more efficient.  E.g. "getValueTypeString
(node->getNode(name.c_str()))" -> "getValueTypeString (child)".
2002-09-07 12:35:31 +00:00
david
7599f0ec8c Patch from Julian Foad:
When the scroll bar slider is dragged, the list scrolls only far
enough to see all items; only the arrow buttons can scroll it so far
that the last item goes to the top of the view.
     Fix scroll bar proportional size: was wrong when the list was only
a little longer than the visible area.
     Minor fixes such as "delete files[i];" -> "delete[] files[i];"
(where the item being deleted is an array of characters) and removal of
global variables.
     Smooth scrolling when dragging the slider: one item at a time,
rather than one tenth of the list at a time.
     Fix a bug that would have occurred if instantiated with arrows=2.
     Sort properties primarily by name and then by numerical index
order, rather than a simple ASCII string order.  E.g. "js[1]", "js[2]",
"js[10]" rather than "js[1]", "js[10]", "js[2]".
     Avoid crashing if the selected property path does not exist;
display an empty list instead.  This cannot happen when the property
picker is working properly, but did happen due to missing indices prior
to this patch, and could happen if the user is allowed to type a
pathname, as in the http and telnet interfaces.
     Fix truncation of strings to PUSTRING_MAX: was wrong when string
length was exactly 80.
     Fix: move the scroll bar to the top each time a new list is
displayed.  It was left at its previous position, while the top of the
new list was displayed, not corresponding to the slider.
     Use getDisplayName instead of duplicated code: gives a better
decision on whether to display the index, and avoids invalid property
paths being generated which would previously crash find_props().
     Replace unnecessary node lookups by name with direct access: tidier
and more efficient.  E.g. "getValueTypeString
(node->getNode(name.c_str()))" -> "getValueTypeString (child)".
2002-09-07 12:35:06 +00:00
curt
6bcef49afc Erik Hofman:
It turned out that pui required the submenu structure to be declared
backwards, which I didn't notice the first time.
2002-09-05 21:58:24 +00:00
tony
83179a5daf Various clean-ups. 2002-09-05 13:55:16 +00:00
curt
e9dba2caa1 Removed dos line endings. 2002-09-03 13:27:45 +00:00
curt
1dfb58783c Additional build system tweaks. 2002-09-03 01:12:26 +00:00
curt
9de48125cc Initial revision. 2002-09-03 00:50:01 +00:00
curt
9a5ec79e11 Updates to the UIUCModel code. This includes some big compile time
speedups to uiuc_menu.cpp.

(Note these were originally submitted before the cutoff date for new
features, but something was corrupted in the transfer so I granted a bit
of leeway in the schedule.)
2002-09-02 23:26:28 +00:00
curt
401c0afcd9 Return the closest match, not just the first match. Sometimes there
are stations with the same frequency close enough together to cause problems
for our code.
2002-09-02 05:31:46 +00:00
curt
692445fe3e Read the com1/2 on/off switch. 2002-09-01 03:02:11 +00:00
david
d4f92d6aff Removed unused cur_view_fdm variable as suggested by Bernie Bright. 2002-08-31 19:48:28 +00:00
tony
408c3d5dda Removed unused and improperly initialized constant. 2002-08-30 13:43:28 +00:00
curt
66ab510a3e Norman's fix to make the help system start on Win32.
And fixed up some other non-sensical code in the vicinity which
was generating compiler warnings.
2002-08-29 21:00:22 +00:00
tony
f8c1e8dc98 Fixed an oops. 2002-08-29 13:39:29 +00:00
tony
b2fe0cc682 Added FGTurbine.[ch]* 2002-08-29 13:27:43 +00:00
tony
3f459636fd New Turbine engine model framework 2002-08-29 13:26:49 +00:00
curt
430f030cbf Make adf volume and adf on/off seperate properties. 2002-08-29 04:18:55 +00:00
curt
17efea3ec0 Ignore files that have -set.xml in them, but don't end in that exact string
(i.e. something-set.xml~)
2002-08-28 17:53:52 +00:00
curt
61655bb2b2 Add support for a --show-aircraft option. This displays a list of all
available aircraft and a brief description if one is available.
2002-08-28 16:59:40 +00:00
curt
5aaa533da9 Fix a compile error. 2002-08-28 16:58:57 +00:00
tony
b5d116dad7 Latest JSBSim updates. 2002-08-28 13:46:42 +00:00
curt
21db1e10b2 More tweaks to the automake/conf configuration scripts. 2002-08-28 03:34:31 +00:00
curt
ff7c8101bc Modernize the autoconf/automake files. 2002-08-27 23:52:15 +00:00
curt
050ba12fba Strip dos line endings. 2002-08-26 22:04:10 +00:00
curt
25c4d9b620 Minor tweaks to sound subsystem update rates. 2002-08-26 20:46:13 +00:00
curt
3976a6d55c Removed an old test. 2002-08-26 00:08:14 +00:00
curt
ee35eecb54 Erik Hofman:
I removed some pending random code and I also fixed a
small cosmetic glitch where dt_play was cleared before it was printed.

Curt: Erik changed the sound update intervale and I further I tweaked it.
The issue is that if we put too much into the sound buffer, then we can't react
quick enough to sounds like tire squeek that need to be synced with the visuals
and the action.  We put too little into the sound buffer and we risk the
audio dropping out for moment if a frame takes longer to draw than the amount
of audio in the buffer.
2002-08-25 23:27:00 +00:00
curt
61cf3a8f6d Erik Hofman:
I cleaned up the XML menu code a fair bit, in preparation to C++-ifying it.
2002-08-25 22:53:38 +00:00
curt
b21333d4f8 Erik Hofman:
I've modified the code to display a brief help message instead of the
whole bunch of options. To get the complete message -v or --verbose has
to be added to the command line.
2002-08-25 22:38:20 +00:00
curt
df6989a37a Bernie Bright:
Here is a FGIO class derived from FGSubsystem that replaces the fgIOInit()
and fgIOProcess() functions.  The FGIO::update(double delta) doesn't use the
delta argument yet.  I suspect it could be used as a replacement for the
calculated interval value but I'm not familiar enough with that piece of code
just yet.

I've also added two "command properties" to fg_commands.cxx that select the
next or previous view.  Writing any value to these properties triggers the
corresponding action.  As an example I modified my keyboard.xml:

 <key n="118">
  <name>v</name>
  <desc>Next view</desc>
  <binding>
   <command>property-assign</command>
   <property>/command/view/next</property>
   <value type="bool">true</value>
  </binding>
 </key>

 <key n="86">
  <name>V</name>
  <desc>Prev view</desc>
  <binding>
   <command>property-assign</command>
   <property>/command/view/prev</property>
   <value type="bool">true</value>
  </binding>
 </key>

And of course these actions can also be triggered from external scripts via
the props server.
2002-08-25 20:56:16 +00:00
curt
4f00d9a959 Tidy up the autoconf/automake configuration a bit.
- Removed some old cruft.

- Removed some support for older versions of automake which technically was
  correct, but caused the newer automakes to squawk warnings during an
  initial sanity check (which isn't done very intelligently.)

  NOTE: this fix is technically not correct for older version of automake.
  These older version use the variable "INCLUDES" internally and could have
  them already set to an important value.  That is why we were appending
  our values to them.  However, newer versions of automake don't set this
  value themselves so it is an error to append to a non-existant variable.
  We seem to "get away" with overwriting the value on older versions of
  automake, but if you have problems, consider upgrading to at least
  automake-1.5.
2002-08-25 19:40:04 +00:00
curt
1b197dd8bf Bernie Bright:
Here are some changes that gave me a significant frame rate increase of about 10 fps with random objects disabled.  The interesting thing is that these changes aren't in the main loop but are in tile loader.  My guess is that I've reduced the memory footprint just enough to reduce CPU cache misses, though I have no hard evidence of this.

Initially I modified all SGBinObject member functions to pass/return by reference instead of by-value.  This gives little or no speed up but allows for some optimizations in fgBinObjLoad().  It is these changes that reduce the number of memory allocations.  Needless copying of vectors, and vectors of vectors, can be very memory intensive, especially if they are large.

Anyway I would be interested to see if you get similar results.  I would emphasize that the frame rate increase only occurs with random objects disabled.  I lose about 10-15 fps on my GF2MX 32MB with random objects, probably a fill-rate limitation or texture memory thing.
2002-08-23 19:53:48 +00:00
curt
b9218c74af Scale throttle inputs a bit better.
Add support for rudder pedal inputs.
Reverse adf frq switch.
2002-08-19 02:08:43 +00:00
curt
9238050068 Add support for flipping the instrument panel vertically on screen (if
we want to do a full screen panel on a device that is mounted upside
down.)
2002-08-19 02:07:39 +00:00
curt
d2ba5b1883 Force ATC interface to run at 30 hz. 2002-08-19 01:59:26 +00:00
david
f0e40fa3f8 XML-configurable menu support from Erik Hofman.
[dpm: removed an attempt to free a pointer to a function]
2002-08-08 23:25:47 +00:00
david
47b4dcd65f Random-object and -light placement optimizations from Norman Vine. 2002-08-08 23:09:02 +00:00
curt
4dac47f558 * Cleaned up some loose ends with free tiles that are paged out of the cache.
* Finally I think I have the partial ssg tree deletion routine working correctly
  after I managed to break it (and other confusion in the code cause it to
  never be called so I didn't notice the problem.)
* Converted several SG_INFO statements to SG_DEBUG to clean up some
  extraneous console output.
* This *should* conclude my investigation into a massive memory leak. :-)
2002-08-07 02:53:01 +00:00
david
0ebe8ec8f0 Removed the FG3DModel class and replaced it with fgLoad3DModel.
Animations are now contained within the scene graph itself and are
updated whenever the graph is traversed -- that saves time by not
updating animations not currently in sight, and it allows animations
to be used for static objects and random objects as well.

Added new FGModelLoader and FGTextureLoader classes.  These are intern
tables for models, to guarantee (mostly) that no model is loaded more
than once.  FGTextureLoader is not yet used anywhere, but
FGModelLoader is now in place everywhere that ssgLoad* used to be
used (thus adding the ability to use animations).

In the future, FGModelLoader will add some interesting functionality,
including the ability to reload 3D models on the fly.
2002-08-07 01:34:49 +00:00
david
c3f4b63258 Remove dependency on acmodel.hxx out of flight.hxx (which is included
many places) and into the files that actually use it.
2002-08-07 01:30:21 +00:00
curt
29d20b1703 Temporarily fix a crash and correctly free memory until I can sort out a
problem with the partial ssg tree freeing code.
2002-08-06 18:52:45 +00:00
curt
9885169964 Working on hunting down a really awful memory leak. This arose out of a
misunderstanding over which section of code would be freeing tiles.  This
patch cleans up several things, but a little more work is still needed.
2002-08-06 18:50:12 +00:00
david
e66c57a7bb Patch from Erik Hofman to remove 'random' option for sound:
I back out this patch because it gives me 2~3 bonus fps, and it isn't
used now and probably won't be used in the future.
2002-08-05 20:49:17 +00:00
david
f253425973 Detabified for Norman Vine. 2002-08-05 20:14:28 +00:00
david
844a55c3d1 Latest JSBSim updates. 2002-08-05 20:13:34 +00:00
curt
f71e09be69 Remove call to function only in plib-cvs. 2002-08-05 18:29:25 +00:00
david
67fc66f82e Improve the random seed calculation slightly. 2002-08-04 19:10:13 +00:00
curt
0c0b150661 Bernie Bright:
I've merged FGProps and FGTelnet so there is just a single property server.
I've left in the --telnet=port# command line option but it could be removed
if we wanted to.  The command line accepts two forms of the --props option.
The original (--props=medium,dir,hz,host,port#,style) and the shorter
--props=port#.  If you accept this change then src/Network/telnet.[ch]xx
can be removed from the cvs repository.
2002-08-02 22:49:34 +00:00
curt
dc28e74081 Convert several alert/info statements to debug. 2002-08-01 21:51:09 +00:00
curt
128dd77314 Filter fuel selector knob. 2002-08-01 21:50:40 +00:00
curt
2619106044 Fix tile cache resizing bug (which could lead to thrashing.) 2002-08-01 06:15:59 +00:00
curt
acdd550a2f Fixes so that we can read incoming broadcast packets (so we can have multiple
channels driven from one broadcast source.)
2002-07-31 23:24:55 +00:00
david
ff6a2ab520 Roll out change that required CVS version of plib. 2002-07-31 21:51:03 +00:00
david
4cb99e05ad Patch from Dave Luff:
Your 3D models cause a stackdump when the base is separate from the
root.  I've attached a patched newmat.cxx - you may want to test it
before committing!
2002-07-31 18:44:30 +00:00
david
a5f251a5de Patch from Erik Hofman:
I changed the code such that textures terrain also takes ambient,
diffuse, specular and emissive from the materials.xml file.

[note from dpm: doesn't seem to work yet]
2002-07-31 17:57:59 +00:00
david
942cf9e51d Accept multiple names for the same joystick. 2002-07-31 17:32:16 +00:00
david
2a1ef0621e Patch from Julian Foad:
Use getDisplayName instead of duplicated code.
Replace unnecessary node lookups by name with direct access.
2002-07-31 16:45:35 +00:00
david
1d82339fd8 Patch from Julian Foad:
When the scroll bar slider is dragged, the list scrolls only far enough to see all items; only the arrow buttons can scroll it so far that the last item goes to the top of the view.
    Fix scroll bar proportional size: was wrong when the list was only a little longer than the visible area.
    Minor fixes such as "delete files[i];" -> "delete[] files[i];" (where the item being deleted is an array of characters) and removal of global variables.
    Smooth scrolling when dragging the slider: one item at a time, rather than one tenth of the list at a time.
    Fix a bug that would have occurred if instantiated with arrows=2.
    Sort properties primarily by name and then by numerical index order, rather than a simple ASCII string order.  E.g. "js[1]", "js[2]", "js[10]" rather than "js[1]", "js[10]", "js[2]".
    Avoid crashing if the selected property path does not exist; display an empty list instead.  This cannot happen when the property picker is working properly, but did happen due to missing indices prior to this patch, and could happen if the user is allowed to type a pathname, as in the http and telnet interfaces.
    Fix truncation of strings to PUSTRING_MAX: was wrong when string length was exactly 80.
    Fix: move the scroll bar to the top each time a new list is displayed.  It was left at its previous position, while the top of the new list was displayed, not corresponding to the slider.
    Use getDisplayName instead of duplicated code: gives a better decision on whether to display the index, and avoids invalid property paths being generated which would previously crash find_props().
    Replace unnecessary node lookups by name with direct access: tidier and more efficient.  E.g. "getValueTypeString (node->getNode(name.c_str()))" -> "getValueTypeString (child)".
2002-07-31 16:44:27 +00:00
curt
94c44fc172 A couple fixes to the network fdm interface. 2002-07-30 04:37:16 +00:00
curt
f4e1298a1a Added formatted time to property tree for use by 'virtual' instruments. 2002-07-30 02:56:42 +00:00
curt
b3c5a8fb95 Various tweaks, enhancements, and optimizations surrounding tile paging
(specifically freeing tiles when we need to remove them from the tile cache.)
2002-07-29 05:07:38 +00:00
david
edaac686a2 Patch from Melchior Franx to restore fog on tdfx cards like the Voodoo3. 2002-07-27 22:31:40 +00:00
david
43d89cb8d6 Create a top-level branch in each tile for random objects with the
name "random-objects".

Put the random objects for each tile inside a top-level
ssgRangeSelector with a maximum range of 20km.  This saves a lot of
range tests for distant tiles, and gives about a 10% framerate boost
on my card at 1000ft AGL (possibly more on faster cards).
2002-07-27 14:29:57 +00:00
curt
f1eddc9bf4 No need to additionally ref() subcomponents of a tree. Only the root node
needs to be ref()'d.
2002-07-26 23:27:53 +00:00
curt
dc40db3b33 Modified the partial ssg tree deletion algorithm so it correctly preserves
subtrees that may be connected into the scene graph multiple times.
(i.e.  our random ground cover objects.)
2002-07-26 22:23:49 +00:00
david
f05e8f95e2 Some renaming, since there wasn't really a tile-level LOD. 2002-07-26 22:12:29 +00:00
david
8244b210fa Give up on the idea of using a singleton dummy bounding sphere;
instead, use a separate dummy bounding sphere for each triangle and
each tile, with the actual bounds, to make sure that objects are
always added when they should be in sight.
2002-07-26 19:06:29 +00:00
david
c33c58476e Load models before counting them. 2002-07-26 19:04:40 +00:00
curt
94b6d4fed5 Oops, remove some unwanted debugging output. 2002-07-26 17:00:18 +00:00
curt
8c7fe4c328 Fixed some signed vs. unsigned warnings. 2002-07-26 16:54:40 +00:00
david
88758e60b4 Added --random-wind command-line option. 2002-07-26 02:49:14 +00:00
david
f8d4cb36b2 Fixed reporting of winds, cloudbase, and altimeter setting. The
temperature is still wrong.
2002-07-26 02:48:56 +00:00
david
0178c65981 I totally misunderstood sgFrustum. This patch should put it right,
and also adds an optimization to avoid traversing anything closer than
1000m.
2002-07-26 01:52:51 +00:00
curt
27158525a9 Restructure the way tile freeing is handled. When a tile is removed from
the tile cache it's ssg elements are disconnected from the main ssg scene
graph, and then the tile is thrown on the end of a delete queue.  The
tilemgr->update() routine runs every frame.  It looks at this queue and if
it is non-empty, it incrementally frees the compents of the first tile
on the queue.  When the tile is completely free it is removed from the queue.

The amount of time to free the memory for even a single tile can be quite
substantial, especially with the increased overhead of dynamic/random
ground objects.  This change allows the system to spread the work of freeing
tile memory out over many frames so you don't get a noticable single frame
hit or stutter.
2002-07-25 23:59:04 +00:00
curt
96d499f4f1 Restructuring how tiles are freed to allow us to eventually spread the task
out over multiple frames.
2002-07-25 21:57:58 +00:00
david
d86a513997 Fix random seeds to avoid coincident objects but still ensure
consistency.
2002-07-25 20:30:51 +00:00
david
9bf3c10743 Change the extra culling to do only a quarter of the scene every 200
frames rather than the whole thing, to avoid tiny stutters.
2002-07-25 17:47:42 +00:00
david
e7e576055f Added a new range-selector layer above each tile. That way, by
default, each tile has only 3 extra SSG nodes unless it falls into
range.
2002-07-25 17:32:31 +00:00
david
1c35d89eb4 Fix a problem with the culling of out-of-range random objects. When
the triangles containing the objects were out of the view Frustum,
they were never traversed by ssg (and thus, never culled).  Now, every
200 frames, do a pass through the whole scene graph with cull-testing
disabled and without drawing anything; that will allow random-objects
to be collected incrementally.
2002-07-25 17:29:08 +00:00
curt
493fcadacd Save state before drawing '3d' panel, and then restore it after. 2002-07-22 21:09:42 +00:00
curt
e85939a814 Removed some redundant glLight() calls. 2002-07-21 17:03:29 +00:00
curt
f330ae1234 Patch to explicitely control the specular lighting component. 2002-07-21 15:40:51 +00:00
curt
750fcc7a86 Support for fuel selector switch. 2002-07-21 15:40:20 +00:00
david
140774b1e2 Renamed /sim/rendering/dynamic-objects to
/sim/rendering/random-objects, and changed the default from false to true.
2002-07-20 23:11:27 +00:00
david
3f174a15cd Added more documentation. 2002-07-20 23:10:42 +00:00
david
6ca17098b8 Added --disable-random-objects and --enable-random-objects options. 2002-07-20 23:10:16 +00:00
david
ab91bbe17a More efficient version of get_bounding_radius from Norm Vine. 2002-07-20 19:23:44 +00:00
david
d6f9038a25 Enforce a sane minimum of 1000m for coverage, to avoid run-away object
placement.
2002-07-20 18:41:17 +00:00
david
29268401b2 Randomly-place object overhaul and enhancements
-----------------------------------------------

Fixed a segfault on exit.

Changed the radius of the dummy bounding sphere from 10m to 1000m to
ensure that FOV culling doesn't leave anything out.

Allow an object to have more than one variant model, which will be
chosen randomly.  Simply repeat the <path>...</path> property.

Removed the <billboard> property and replaced it with <heading-type>,
which can be set to "fixed" (leave the model oriented as it is),
"random" (give the model a random heading between 0 and 359 deg), or
"billboard" (always turn the model to face the camera).  The default
is "fixed".  Models look much better when they are not all facing the
same direction.

Allow the user to group models with the same visual range, so that
there can be *many* fewer nodes in the scene graph when the models are
not visible.  This causes an XML-format change, so that instead of

  <object>
   <range-m>...</range-m>
   ...
  </object>
  <object>
   <range-m>...</range-m>
   ...
  </object>
  ...

we now have

  <object-group>
   <range-m>...</range-m>
   <object>
    ...
   </object>
   <object>
    ...
   </object>
   ...
  </object-group>

Every object in a group can still have its own model(s), coverage, and
heading-type, but they all share the same range selector.

This change should already help users with tight memory constraints,
but it will matter much more when we add more object types -- for
example, we can now add dozens of different urban building types
without bloating the scene graph or slowing down the LOD tests for
tris that are out of range (i.e. most of them).
2002-07-20 14:56:37 +00:00
david
cecedd302b Moved object information into a new subclass of FGNewMat, and changed
the property name from coverage to coverage_m2.
2002-07-20 01:51:27 +00:00
david
e5f4da0e9a Problem reported by Erik Hofman:
Replaced left-over std::cout statements with SG_LOG statements.
2002-07-18 22:38:46 +00:00
david
35e67c3a31 Patch from Cameron Moore:
* Rearranged member initializers
2002-07-18 22:33:10 +00:00
david
973ffbf289 Patch from Cameron Moore:
* Fixed (un)signed comparisons
2002-07-18 22:32:50 +00:00
david
bf1e7c7881 Patch from Cameron Moore:
* Rearranged member initializers
2002-07-18 22:32:32 +00:00
david
ed917f8661 Patch from Cameron Moore:
* Fixed (un)signed comparisons
* Rearranged member initializers
2002-07-18 22:32:12 +00:00
david
def3c68ffa Patch from Cameron Moore:
* Rearranged member initializers to shut gcc -Wall up
2002-07-18 22:31:53 +00:00
david
ebb180f094 Patch from Cameron Moore:
* Fixed uninitialized values
2002-07-18 22:31:36 +00:00
david
ec637e33d3 Patch from Cameron Moore:
* Fixed uninitialized MaxAileron value (set to 0.5)
2002-07-18 22:31:19 +00:00
david
c814eb3a1e Make objects appear more smoothly and reliably. 2002-07-18 19:16:47 +00:00
david
4ab343569f More efficient rotation matrix calc from Norm Vine. 2002-07-18 15:54:21 +00:00
david
f4cfe4c207 Significant speedup for randomly-placed objects, by taking better
advantage of ssg Frustum culling.
2002-07-18 13:23:29 +00:00
david
f7a17c9020 Modifed random-object code for more memory efficiency:
1. Only one copy of each object (and its texture) is stored in memory,
   no matter how many materials use it.

2. Random objects are added to a triangle only when the objects are in
   range, and they are deleted as soon as the objects are out of
   range.  That way, only a relatively small number of ssg nodes are
   used at any one time.

This patch seems to eliminate freezes when tiles are freed.  There are
occasional stutters at extremely high speeds (i.e. over 3,000kt), but
it seems smooth enough for normal aviation speeds.
2002-07-18 01:04:08 +00:00
david
cc8567ad63 More functional decomposition and documentation. 2002-07-17 22:11:13 +00:00
david
5d2c640f1a Fix some minor inconsistencies and inefficiencies:
- no extra nodes are created at all if the material has no random
  objects defined

- the range selector is place correctly under the transformation

- there is only one range selector for each object type in each
  triangle (experimental -- doesn't seem to make a difference in speed
  or memory)

This patch removes Curt's patch that randomized ranges slightly, since
individual random objects no longer have their own range selectors.
It also leaves the object-group-range value unused, for now.
2002-07-17 21:00:54 +00:00
david
f71f4cf9ab Started functional decomposition for dynamic objects.
Fixed typo in last patch, where objects were using object_group_lod
rather than object_lod.
2002-07-16 23:39:53 +00:00
curt
8dc38a5198 put a separate LOD node in front of ever random object so we can randomize
the exact pop in location of each object ... this allows us to put some objects further out and perhaps hide the popping just a tiny bit?
2002-07-16 20:43:40 +00:00
david
84fcb479f6 Added support for dynamically-generated scenery objects. Set the
property /sim/rendering/dynamic-objects to true to enable them.
2002-07-15 18:16:20 +00:00
tony
f04d342f6a Member variable initialization fixes from Cameron Moore 2002-07-11 00:19:19 +00:00
tony
e0fa2db2c9 Fixed typo in SetGammaFallback() 2002-07-10 03:24:57 +00:00
david
5aee96c481 Change FGSteam into a proper subsystem rather than a collection of
static methods, and remove outdated dependency in panel_io.cxx.
2002-07-07 15:45:56 +00:00
david
bf58dbd3c9 Patch from Julian Foad:
- tidies up the update-time-step handling (making it a simple "dt");
- makes the altimeter get a proper pressure, and the (unused) vacuum
  calculation get a proper RPM (*);
- replaces property name look-ups with static pointers to property nodes.

Notes from DPM:

- the static pointers are a very bad idea, but they're only temporary;
  I plan to make FGSteam into a proper subsystem soon, and then they
  can be member variables
- I fixed the patch to get the current static pressure from the
  /environment/pressure-inhg property, so that the altimeter interacts
  properly with FGEnvironment
2002-07-07 13:29:52 +00:00
david
ee8c5d0a3a Patch from Julian Foad:
The present sets of bindings result in the throttle being "squared"
about its centre, which is silly.  This is because the "squared"
parameter is not set by the throttle binding, but the default is
"true".  We discussed this before and I think there was general
agreement that the default should be "false" on the basis of
generality.
2002-07-06 18:02:06 +00:00
david
0f3db24a90 Patch from Julian Foad:
May I offer this patch which will help non-Linux users find their
joysticks' names.
2002-07-06 18:00:34 +00:00
david
b2d8574b75 Remove a kludge that was introduced to work around the #defined "NONE". 2002-07-06 17:50:52 +00:00
david
30d239eeda Change identifiers to their new names to match hud.hxx. 2002-07-06 17:50:38 +00:00
david
fb40950e78 Prefix "HUD_" (or "HUD_FONT_" in two cases) to #defined identifiers.
Remove some unused #defines (not mentioned anywhere, even in
comments).
2002-07-06 17:50:16 +00:00
curt
b17e1bb7c0 Update controls so we can specify each tank on/off individually. Also
updated the network interface files to add fuel tank selector information.
2002-07-05 19:04:04 +00:00
curt
eab0479417 Oops, fixed a typo. 2002-07-05 14:49:18 +00:00
curt
6d3204eedd Added a fuel selector switch. I understand that this won't handle all
situations for every kind of airplane.  But at the moment we have nothing
implimented and this will cover the simpler cases until someone has a
chance to impliment a fuller solution.
2002-07-05 14:46:38 +00:00
curt
1c91723cef Switch to snprintf() for safety. 2002-07-05 13:56:46 +00:00
curt
01f846feb2 MSVC fixups. 2002-07-05 05:23:53 +00:00
curt
667f9e0dbf Added interface to ATC xponder hardware. 2002-07-04 21:38:37 +00:00
curt
5f37f2eaa5 Initial revision of a Bendix/King KT 70 transponder. 2002-07-04 21:37:34 +00:00
curt
ac61b8323e Fixed up a couple loose ends. 2002-07-04 21:37:06 +00:00
david
1669820bba Modified to use named-joystick bindings when available (js-named
rather than js).  This functionality is available only with recent CVS
plib versions (i.e. since about May 2002).
2002-07-04 17:38:18 +00:00
curt
2fec1506d3 A bunch of reorg and clean up of the KR 87 (adf) code including some
property renaming with corresponding changes to instruments in the base
package.
2002-07-03 23:35:21 +00:00
curt
24d14dd421 Updated adf property names. 2002-07-03 21:52:13 +00:00
curt
f6e8060879 A couple ADF needle direction tweaks. 2002-07-03 05:15:04 +00:00
curt
b3be31c5ab Add support for KR 87 annunciators. 2002-07-03 04:48:44 +00:00
david
961804b03e Patch from Dave Luff to use dt properly in CHT calculation. 2002-07-03 04:13:28 +00:00
david
b3bb53b67f Fix a bug reported by Frederic Bouvier:
GL/gl.h can't be included at the first position in windows. It requires
the inclusion of windows.h that must be included in other fgfs header
file. I only move down #include <GL/gl.h>
2002-07-03 04:09:27 +00:00
david
e4d014a959 Commented out a cout statement. 2002-07-03 04:04:00 +00:00
curt
1bbc82a438 Default to ADF (rather than ANT) mode and start with the ADF turned on.
Oops, left in a debugging statement.
2002-07-02 22:39:04 +00:00
curt
aef1876858 - Oops, some name simplification led to overlapping variable names which caused
the adf needle to not point correctly, fixed.
- Make the code slightly smarter so ADF needle never takes the long way around
  to it's destination.
2002-07-02 22:35:15 +00:00
curt
a28b35f3f2 Fixes for IA-64 with Intel compiler. 2002-07-02 20:45:02 +00:00
curt
dee32ef826 Updated hardware interface to match new KR 87 features. 2002-06-30 22:46:34 +00:00
curt
fa6ad91fde Working on implimenting the timer features of the King KR 87 ADF (as well
as some of the other subtleties.)
2002-06-30 22:44:38 +00:00
curt
79a7c1c9ce Allow the default GUI font to be set via properties. 2002-06-29 13:07:25 +00:00
david
51d3edaafa Patch from Melchior Franz:
This patch eliminates about 10 of valgrind's "Use of uninitialised
value of size ..." messages. They are all caused by approachlist building
incomplete FGApproach class instances and then copying them into the
approchlist container, hence copying data garbage.
   I know, I couldn't win a beauty contest with this patch, but the
alternative approach -- letting operator<< always leave complete
entries -- didn't look any better. And I do only add those seemingly
useless initialization where the values would be used uninitialized
else. The constructors are only run during setup and won't slow fgfs
down at runtime.
2002-06-28 19:14:42 +00:00
david
0c4c182f1e Fixed an uninitialized variable reported by Frederic Bouvier; this
could cause the FDM occasionally to get caught in a very long loop.
2002-06-28 19:06:23 +00:00
david
a26ea45c43 Update from JSBSim - fix bugs reported by Gonzalo Peralta with CHT and
oil pressure.
2002-06-28 18:38:28 +00:00
david
140f58b4ca Patch from Julian Foad:
Use defined constant instead of yet another approximation to pi.
2002-06-28 18:00:49 +00:00
david
048da049f8 Patch from Julian Foad:
Make locally-used strings local instead of global.  (The safety and
cleanliness benefit outweights the slight performance hit.  If
performance is an issue, the way these strings are used should be
optimised.)  Use existing defined constant instead of a literal
number.
2002-06-28 18:00:21 +00:00
david
0cbe8a597d Patch from Julian Foad:
Remove trailing comma (unportable).
2002-06-28 17:59:59 +00:00
david
343fb01972 Patch from Julian Foad:
Remove redundant class scope qualifiers.  (Should not be used within
class definition.)
2002-06-28 17:59:44 +00:00
david
cd59f77c40 Patch from Julian Foad:
Remove unused variable.
2002-06-28 17:59:30 +00:00
david
72fbb0f3f5 Patch from Julian Foad:
Newline at end of file is required.  (On a preprocessor line it is
required; on other lines it is recommended but not required.)
2002-06-28 17:59:13 +00:00
david
0d48bae1ef Patch from Cameron Moore:
The patch fixes the uninitialized values by explicitly starting
everything at sea_level values.
2002-06-28 17:41:18 +00:00
david
b53cd9c59f 3D panel support from Andy Ross:
+ The panel(s) are now an first-class SSG node inside the aircraft
  scene graph.  There's a little code added to model.cxx to handle the
  parsing, but most of the changes are inside the new FGPanelNode
  class (Model/panelnode.[ch]xx).

+ The old FGPanel source changed a lot, but mostly cosmetically.  The
  virtual-cockpit code moved out into FGPanelNode, and the core
  rendering has been abstracted into a draw() method that doesn't try
  to set any OpenGL state.  I also replaced the old inter-layer offset
  code with glPolygonOffset, as calculating the right Z values is hard
  across the funky modelview matrix I need to use.  The older virtual
  panel code got away with it by disabling depth test, thus the "panel
  draws on top of yoke" bug.  PolygonOffset is really the appropriate
  solution for this sort of task anyway.

+ The /sim/virtual-cockpit property is no more.  The 2D panels are
  still specified in the -set.xml file, but 3D panels are part of the
  model file.

+ You can have as many 3D panels as you like.


Problems:

+ The mouse support isn't ready yet, so the 3D panels still aren't
  interactive.  Soon to come.

+ Being part of the same scene graph as the model, the 3D panels now
  "jitter" in exactly the same way.  While this makes the jitter of
  the attitude gyro less noticeable, it's still *very* noticeable and
  annoying.  I looked hard for this, and am at this point convinced
  that the problem is with the two orientation computations.  We have
  one in FGLocation that is used by the model code, and one in
  FGViewer that is used at the top of the scene graph.  My suspicion
  is that they don't agree exactly, so the final orientation matrix is
  the right answer plus the difference.  I did rule out the FDMs
  though.  None of them show more than about 0.0001 degree of
  orientation change between frames for a stopped aircraft.  That's
  within an order of magnitude of what you'd expect for the
  orientation change due to the rotation of the earth (which we don't
  model -- I cite it only as evidence of how small this is); far, far
  less than one pixel on the screen.

[and later]

OK, this is fixed by the attached panel.cxx file.  What's happened is
that the winding order for the text layer's polygons is wrong, so I
reverse it before drawing.  That's largely a hatchet job to make
things work for now, though.  We should figure out why the winding
order is wrong for only text layers and fix it.  I checked the plib
sources -- they're definitely doing things CCW, as is all the rest of
the panel code.

Odd.  I'm also not sure why the 2D panel doesn't care (it works in
both winding orders).  But this will allow you to check in working
code, anyway.  There's a big comment to this effect in there.
2002-06-28 14:17:40 +00:00
curt
004359f0e8 Updates to the OpenGC interface from John Wojnaroski. 2002-06-27 22:26:47 +00:00
curt
a6c192911d Initialize a value so we don't see non-deterministic behavior. 2002-06-27 20:48:39 +00:00
andy
b162cf8707 Wrong units when interpreting <weight> tags. 2002-06-24 04:18:53 +00:00
andy
8199ece7dc Hack in an /accelerations/pilot-g property, for testing a new panel
instrument.  This needs to move somewhere permanent.

Also, remove a bogus fuel consumption setting that (1) was off by a factor
of 3600 (hours, not seconds) and (2) collided with identical code in FGFDM.
2002-06-20 04:11:19 +00:00
david
6df9479415 Allow an empty virtual model, to which other submodels can be attached
(when no path is specified).
2002-06-19 03:25:40 +00:00
david
9569c43126 Avoid a segfault when a named object is not found for an animation.
Ensure that global animations are applied to the model.
2002-06-19 02:58:06 +00:00
david
dc132d80b1 Added fgAddChangeListener convenience functions. 2002-06-18 03:27:21 +00:00
curt
ee98995d30 Updated to match changes in radiostack.[ch]xx 2002-06-16 15:23:22 +00:00