where it is desirable (it defaults to false); the <key>'s <repeatable>
setting is also used for the <mod-shift> branch, so we have to set it
as soon as one branch needs it.
- to support "old-style" gear/flap control (operation as long as button
pressed/lever pushed -> b29/hurricane), let bindings not only report
up/down, but up (-1), stop (0), down (1).
- let controls.flapsDown() ignore "stop" so as to remain compatible with
prior behavior
- adapt all joysticks/aircraft (sigh)
- some minor cosmetics in joystick configs, such as indentation fixes
Implement simple help system with global and aircraft specific dialogs:
The gui.nas changes have been discussed with Andy. All ac have a help dialog,
but some are empty. (This wouldn't have been necessary, as the system falls
back to the "Common Aircraft Keys" if an aircraft has no help defined, but an
empty dialog is less confusing and encourages to be filled with interesting
information. :-) I scanned all aircraft files for interesting performance
data and added some to the dialogs (stall speed, etc.) The Concorde and the
p51d have (over?)complete dialogs and can serve as examples. The format is
documented in $FG_ROOT/Nasa/gui.nas.
There is also a couple of other, minor fixes.
The following files have ugly MSDOS line endings:
$FG_ROOT/Aircraft/Hunter/hunter{-2tanks,}-set.xml
$FG_ROOT/Aircraft/A380/A380-set.xml
The Concorde-jsbsim.nas file is a useless copy of the real */nas file, which is
in Nasal/. I'was debugging the Concorde and wondered why changes to this file
had no effect ...
(Fixed Concorde in the help-ac.diff patch: don't use "interpol" keyword as
variable.)
I'd like to suggest that the spoiler settings are set in the same way as the
flaps are now done i.e. via Nasal, so that specific spoiler settings can also
be defined in the aircraft set file.
It was only when I was about to change the keyboard bindings for the slats
control that I remembered that there wasn't already a mapping for them in
keyboard.xml. I've _not_ added a mapping for slats as this is a bit of a hot
topic atm but as I had already added a Nasal func for the slats in
controls.nas I've left that in there. It's a trivial bit of code but I don't
know if leaving it in there is a good idea as it's code that shouldn't ever
be called until there's a corresponding keyboard mapping.
controls in the cockpit vs. which wheels they apply to. FlightGear now
sets /controls/gear/brake-left, /controls/gear/brake-right, and
/controls/gear/brake-parking. It should be up to the FDM to sort out
which wheels under which circumstances are affected by these controls
and ultimately what happens to the physical motion of the aircraft.
Move the "tip popup" code from view.nas to a new gui.nas module, and
make it generically useful.
Wire up flap steppings for the 747 as an example of per-aircraft
flaps.
Realtime-based property slewing, to eliminate dependence of trim and
view direction rates on frame rate.
New Node.setValues() method which sets whole property trees from Nasal
data.
A view.nas module, which takes over handling of the X/x zoom keys. It
clamps the FOV to a dynamically calculated maximum corresponding to
typical human visual accuity, and pops up a pretty dialog informing
you of the new FOV.
discovered that there are a few inconsistencies in keyboard.xml. It allows
you to reduce the magneto setting on 4 engines, but will only increase it
on 2, which tends to result in a somewhat circular path from the end of
the runway :-)
This is my local keyboard.xml file.
There are some definitions in there that I would like to see
in the official keyboard.xml file. I suggested some of them
already almost exactly one year ago, but the suggestion was
dismissed with the argument, that the keyboard settings
should/would be redone very soon, anyway ... :->
* shift escape ... reset FDM
(Note: this doesn't work on IRIX)
* ctrl w ... turn on wing leveler
* g ... gear up
* shift g ... gear down
* control b ... toggle speedbrake (emh)
1. The p51d cries for a "Reset" key. Yeah, I admit that I've
crashed some dozens of these beauties already, and yes, I
am ashamed. Having to turn the menu on every time was too
bothersome. Shift-ESC is still free and resetting is closely
related to quitting. So this seems natural. (And don't ask
why the command is called "old-reinit-dialog".)
2. Finally add a shortcut for the wing-leveler. Natural
choice: Ctrl-W, which is still free and fits well with the
other autopilot shortcuts Ctrl-[ANH].
3. Separate gear up and down into two different shortcuts.
It really doesn't make sense as a toggle property. I'd
even say, that this is the most important prerequisite
for becoming a serious flight simulator. ... Never
land on your belly again, because you were actually
retracting the landing gear on approach, having forgotten
to retract it on lift-off.
Erik Hofman:
I've added Ctrl+B as the default binding for speedbrake support but this binding is overrruled by the p51d model to switch engine boost level.
forward as it always has (not using the cycle-view command). shift+"V" scrolls
in reverse through the views. Ctrl-V returns to view 0 (cockpit).
Both forward and reverse scrolls wrap.
There are a number of little changes. Tested with current cvs as of 20:30EST
04Feb. Actually been running since the beginning of January with these
patches. All changes work without crashing with the current base package cvs,
but there are some visual problems with the views (other than pilot view)
without changes to the base package.
As soon as you can build test and commit I can add in those base package
updates that will make it all work nicely. I will also go through all the 3D
Aircraft configs to make sure the change in the "pitch-offset" for cockpit
views (see below) are made to maintain current behavior.
Here are the files (changes listed below):
http://www.spiderbark.com/fgfs/viewerupdate.diffs.gzhttp://www.spiderbark.com/fgfs/viewerupdate.tar.gz
implement them for the C172P 3D model. Look near the top of
preferences.xml for an example. The recognized properties are as
follow, with vanilla defaults in parentheses:
/sim/view/config/default-field-of-view-deg (30)
/sim/view/config/default-pitch-deg (0)
/sim/view/config/front-direction-deg (0)
/sim/view/config/front-left-direction-deg (45)
/sim/view/config/left-direction-deg (90)
/sim/view/config/back-left-direction-deg (135)
/sim/view/config/back-direction-deg (180)
/sim/view/config/back-right-direction-deg (225)
/sim/view/config/right-direction-deg (270)
/sim/view/config/front-right-direction-deg (315)
These are particularly useful for the view from inside a 3D aircraft
model.