1
0
Fork 0
Commit graph

77 commits

Author SHA1 Message Date
mfranz
e6ba63050e open fps dialog initially 2005-12-21 10:41:22 +00:00
mfranz
06fa115d86 add function that recursively copies property tree branches (ignoring aliases);
reviewed and OK'ed by Andy
2005-12-16 20:25:52 +00:00
mfranz
523b81e317 globals.nas: add _setlistener wrapper (needs to be used in INIT style
functions when used in $FG_ROOT/Nasal/*.nas, because it
             depends on props.nas being available; no restrictions in
             aircraft files, where it will proof most useful

gui.nas:     replace inefficient FPS display polling loop with listener
             callback
2005-12-16 19:15:08 +00:00
mfranz
df6d7171a6 - fps.xml: revive the traditional font color (a bit brighter than pure red)
- gui.nas: use 4-space indents like the rest of the file; waste slightly less
           cycles: checking for the property shouldn't be done in a loop at
           all, it only serves as a temporary solution
2005-12-16 12:14:43 +00:00
mfranz
fbd735408d implement frame rate display as transparent & draggable dialog
(ordered by Curt as Christmas present :-)
2005-12-15 22:00:31 +00:00
mfranz
defedcc961 use <hrule> instead of fake line; clean-up 2005-12-11 15:38:35 +00:00
mfranz
b8886814ec Access menu entries by their name. This way we can avoid fragile absolute
paths. (The label text isn't suitable for this, because it's subject to
translation.)
2005-12-09 10:34:43 +00:00
mfranz
7e982f91c2 disable "Autopilot" menu when using KAP140 2005-12-08 22:51:23 +00:00
mfranz
9af4695c3c - enable "Fuel & Payload" menu entry when YASim FDM is used
- indentation fix
2005-12-06 17:57:41 +00:00
andy
8a3d81fe0e Architectural fix allowing the "tip" popups (FOV, view name, etc...)
to pop themselves down while the simulator is paused.

The problem was with the "real time" queue in the event manager,
causing the third argument of Nasal's settimer() (a flag for "sim
time") to be ignored.  Inverts the default sense of the argument, as
there are lots of uses of settimer() in the current code, almost none
of which want to use real time.

Note this fix introduces a header file incompatibility in SimGear --
be sure to update.
2005-11-09 20:35:07 +00:00
mfranz
7a3799a241 use gui-redraw fgcommand 2005-11-09 17:17:51 +00:00
mfranz
a3984ccabd make <Esc> key close/cancel/dismiss dialogs; some material.nas tweaking
(Reminder: --aircraft=bo105 ... press Ctrl-C  :-)
2005-11-05 14:19:53 +00:00
mfranz
7f25352610 add support for removeChildren(): takes one name as optional argument
and removes all children with this name; if no name is given, removes
all children
2005-10-23 16:09:51 +00:00
mfranz
8c1e2a6499 make hrule thickness consistent with all other dialogs 2005-10-21 15:36:33 +00:00
andy
ca5982c16c From Vassilii Khachaturov: pop up a user-visible dialog when the FDM doesn't
support dynamic fuel/W&B.
2005-10-18 20:15:04 +00:00
curt
4100dc0f7b gearDown() expects a number either < 0 or > 0 to specify the direction of
gear movement.  gearToggle() was sending either a 0 (not handled) or a 1.
Change gearToggle() so it sends either -1 and 1 so gearToggle() will work
again.
2005-09-09 01:41:08 +00:00
mfranz
dc45f751bf - consider F10/F9 key changes in help screens
- put hrule under titlebar
2005-07-13 11:30:32 +00:00
mfranz
02ca61961d allow to cycle through available styles 2005-07-13 10:56:42 +00:00
mfranz
0f97cfccdf slightly more effective stop() method 2005-06-30 00:18:20 +00:00
andy
f1c70da6d4 Fix interpolate() so that interpolate("/prop/name") freezes the
interpolation at the current value.  This was always a feature of the
C++ code, but the Nasal wrapper couldn't handle the empty argument
list.
2005-06-29 23:58:58 +00:00
mfranz
17166921c0 - rename controls.stepFlaps() to controls.flapsDown(), because:
- 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
2005-06-22 13:08:01 +00:00
mfranz
1988fbb089 Jim Campbell: add carb-heat axis support 2005-06-20 16:52:58 +00:00
mfranz
f4a90a615e add controls.gearToggle() convenience function; adapt all joystick files
to new controls function
2005-06-16 07:59:33 +00:00
mfranz
7cc31829a3 add one level of indirection for gear down/up and use that in all bindings,
so that aircraft with special requirements (hurricane) can simply redefine
controls.gearDown() without breaking all joystick setups
2005-06-16 07:36:54 +00:00
andy
57eea1be61 Melchior needs an equivalent of Perl's defined() function to test for
double-initialization of joystick blocks.  So here it is.
2005-06-12 18:17:00 +00:00
mfranz
b2348ece53 consider changed "material" animation syntax, ignoring the transparency's
new factor/offset properties for now
2005-05-24 12:11:31 +00:00
mfranz
4d185f250c - add gui.Widget.setFont(name, size=13, slant=0) method, and use it in
material.nas (fly the bo105 and press Ctrl-c to see font & color changes)
- use new Nasal feature:  i=i+1 --> i+=1
2005-05-03 13:45:33 +00:00
mfranz
c1be4e53b2 add gui.Widget.setColor() method: takes red/green/blue as mandatory, and
alpha value as optional argument (default: 1)
2005-05-02 16:00:13 +00:00
mfranz
7cecba5024 add 'condition' setter, analogous to 'mixture' etc. 2005-04-21 14:39:00 +00:00
mfranz
da9b28ea6e consider new keys: w/W is now +/- warp, while m/M is richer/leaner mixture 2005-04-20 12:19:27 +00:00
ehofman
ec8742bd65 Melchior FRANZ:
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.)
2005-04-19 13:43:44 +00:00
ehofman
ca224d0ea3 Melchior FRANZ:
- lights are by default off (what was I thinking?!?)
- setters return "me" reference by default, for easier code obfuscation:
  foo = aircraft.light.new("/foo").prop().switch(1);    :-)
- a few mebmers renamed; light.set() -> light.switch(); nodes are named *N
  to avoid collisions and to show relations (switch() <-> switchN)
- yet more (too much?) documentation
2005-04-06 08:18:06 +00:00
curt
b2efcab662 Take advantage of a recent nasal change to simplify a boolean condition. 2005-03-30 19:04:53 +00:00
curt
b0862aa5db A small fix to track latest nasal changes. 2005-03-30 17:00:50 +00:00
ehofman
a978a79d16 Melchior FRANZ:
- light class added (for lights and other pulsing/blinking objects)
- fixed and improved documentation
- all property args may be path strings or nodes
- existing nodes aren't overwritten any more
- better naming of class vars (for outside access)

Tested with the bo105 (which I fully ported to use aircraft.nas) and
the fokker70 (which are the only aircraft using the new classes  :-)
2005-03-30 09:53:00 +00:00
ehofman
39c82918cd Melchior has already a nice collection of animation type nasal classes. These will be converted in a Nasal toolbox so everybody can use them without reinventing the wheel. 2005-03-29 11:26:49 +00:00
ehofman
d0f032bf73 Melchior FRANZ:
Re-organisation: <diffuse>, <ambient>, <emission>, <specular> are
now groups with members <red>, <green>, <blue>, <factor>, <offset>,
and their <*-prop> forms. Additionally, there's an option <property-base>
that can be used to set a path that is prepended to all <*-prop> paths.
It defaults to an empty string. Rationale: see model-howto.html.
2005-03-28 09:15:07 +00:00
andy
4718f2f8f0 Fix broken getPath() method 2005-03-27 17:30:51 +00:00
andy
ca0fa1c427 Changes from Melchior to make use of the spiffy new format feature in
the text widget; and a props.getPath() method.
2005-03-26 22:15:26 +00:00
ehofman
7eb3327565 Melchior FRANZ:
Changes:

o new skids (yet again)
o sun shield for the panel
o beautified exhausts
o new door handling:
  "d"      ... toggle selected door (default: pilot door)
  "D"      ... select next door (indicated with popup)
  "Ctrl-d" ... remove selected door if opened (all bo105 doors can easily
               get removed in RL; it is even flown without doors!)
o dropped shadow boxes (once necessary workaround for the disappearing
  shadow problem, and the reason why the bo105 was so tiny in fgrun)
o automatically selects the emblem of the national Red Cross/Red Crescent
  society on startup
o 5 variants, that can be switched at runtime, with different emblems,
  colors(!), and extra equipment:
  "c"      ... switch to next variant
  "C"      ... pop-up material dialog, as a demonstration of the new
               "material" animation, well ... and for entertainment
               purposes  :-)


The bo105 was and is a testbed for the "material" animation. It uses one to
change a texture at runtime. This has the advantage, that only the currently
selected texture uses up memory (unlike the textranslate method), and it
saves a lot of disk space because it doesn't duplicate all textures (unlike
the current <texture-path> method. You can change the texture in the browser:

  http://localhost:5501/sim/model/bo105/material/emblem/texture
  (choose one of: emblems/{red-cross,red-crescent-[lr],star-of-life}.rgb

(the built-in property browser doesn't grok it, because I used quite long
path names. Needs to be fixed in the GUI.)

I suggest to add the material.nas file to the global Nasal/ dir, not only
because the bo105 update expects it. The Nasal module creates a dialog for
material editing, which is quite useful for development purposes, for gaining
better understanding of the OpenGL color properties, and finally: it's fun.

   http://members.aon.at/mfranz/material.jpg  [45 kB]

The dialog needs to be initialized with a property dir where material
redirects are placed. It isn't available from the menu, but may be useful
for other aircraft. Also, it's quite small and doesn't get in the way.
If people want it removed, I can still move its contents into bo105.nas.
The bo keyboard binding says:

   material.showDialog("/sim/model/bo105/material/fuselage/", "Bo105");

This is documented on top of the *.nas file.
2005-03-22 13:16:59 +00:00
curt
a9c8aeac7e Moved file to it's own aircraft specific directory so it doesn't waste
resources for everyone.
2005-02-15 18:02:06 +00:00
curt
5b34a96a12 Fix some property names. 2004-12-30 21:11:29 +00:00
curt
a355aa410d More /radios -> /instrumentation property name changes. However, we are still
missing something because the nav1 and nav2 are still inop.
2004-12-04 20:37:04 +00:00
curt
71bfe3a4db Move the kr-87 adf from /radios to /instrumentation 2004-11-19 23:56:47 +00:00
curt
565e8aafba Make the comments match reality. 2004-11-19 23:04:32 +00:00
curt
e0f0a78b09 Initial revision, added a light weight interface on top of the raw hardware
to make bridge the gap with what FlightGear expects.
2004-11-18 04:59:32 +00:00
ehofman
8ee606eea8 Roy Vegard Ovesen:
Here are some updates to the KAP140 autopilot in the default c172. It now uses
ailerons and elevator instead of aileron-trim and elevator-trim. I've started
to "upgrade" it to the "two axis altitude preselect" version. Vertical speed
select rounds to nearest 100 fpm.

I've also modified the c172 electrical configuration to turn on the gps
instrument.

Perhaps the most important change is that the nasal script for the KAP140 has
moved from data/Nasal to the c172p aircraft subdir. So it is important that
you delete data/Nasal/kap140.nas. Having the kap140.nas script as a global
script was not a good solution. Now it is aircraft specific, and thus
included in the c172p-set.xml file. Ideally I would like it to be instrument
specific, so that it would be included whenever the KAP140*.xml instruments
where included on the panel.
2004-10-17 17:41:05 +00:00
andy
168e592e03 Probably best to make sure the property is there (even though
"selected" certainly should be)
2004-08-12 18:49:13 +00:00
andy
f2edac1849 Oops, same bug on the next line too. 2004-08-12 18:48:44 +00:00
andy
a20598d0fd Melchior helped to debug this via chat. Turns out to have been a
typo; the SimGear "pass subproperty as first argument" shortcut
doesn't work in Nasal.  This checkin is blind, but should have a high
probability of correctness.
2004-08-12 18:38:02 +00:00