mfranz
8f5304ad90
add values() function as a counterpiece to keys() (see Perl)
2009-02-15 14:13:49 +00:00
mfranz
06cb820759
add KT2MPS/MPS2KT conversion constants
2008-12-17 01:03:32 +00:00
mfranz
e8a666c8e4
globals: cosmetics
...
props: initNode(): allow nil as first arg
2008-12-14 23:45:33 +00:00
mfranz
2be64792e1
add NM2M and M2NM constants
2008-12-13 12:55:47 +00:00
mfranz
db4c98d63e
add constants GAL2L and LB2KG
2008-12-07 14:44:52 +00:00
mfranz
55b7e3d8e0
dynamic_view.nas: use D2R/R2D constants
...
globals.nas: move constants to top
geo.nas: fix comments & make bucket_span "private"
2008-11-20 20:18:39 +00:00
mfranz
55c34a0748
calculate M2FT from FT2M (of course :-)
2008-11-20 11:33:42 +00:00
mfranz
dcb1321923
make constants D2R, R2D, M2FT, FT2M global
2008-11-20 11:24:45 +00:00
mfranz
d1fd61c728
gui.nas: use nasal-dir-initialized signal for INIT func, so that it's
...
earlier available. (The settimer/1 was a workaround for another
problem that should be fixed by now.)
globals.nas: load $FG_HOME/Nasal/ files as first settimer(0) function,
so that it always comes after all nasal-dir-initialized callbacks
This should fix the glide_slope_tunnel/popupTip bug and makes the
startup order clearer and cleaner.
2008-11-11 14:54:51 +00:00
mfranz
4ac84809e9
nasal: cleanup & minor fixes
...
- fuel.nas: use props.initNode()
- debug.nas: fix comment
- globals.nas: load_nasal(): check extension and set module arg
- io.nas: update log message (the rules are no longer for io.open() only)
2008-08-10 17:53:41 +00:00
mfranz
443c261cdd
- drop redundant log message
...
- cosmetics: fix mixed tab/space indentation, drop pair of curly braces
2008-07-30 19:33:42 +00:00
mfranz
8202730c4e
use io.load_nasal() to load the local Nasal files from ~/.fgfs/Nasal/
2008-07-30 19:25:27 +00:00
mfranz
ae40faf4e5
cosmetics (comment fixes & improvements, variable name)
2008-07-27 22:00:58 +00:00
mfranz
de1aa4c56e
finally make printf() globally available
2008-07-23 15:43:45 +00:00
mfranz
b9e7bb1b4b
add thisfunc() for reliable recursion
2008-07-22 19:03:25 +00:00
mfranz
80ed641d69
avoid unnecessary call()
2008-02-13 20:12:42 +00:00
andy
4ae206fc00
Turns out some code likes to call isa() with non-objects. Might as
...
well have it return false (which is valid) instead of throwing an
exception (also valid, but more surprising).
2008-02-07 21:23:42 +00:00
andy
bedac8ec83
Fix isa() when used on classes with superclasses.
2008-02-07 18:03:03 +00:00
mfranz
ecf469e295
prop-key-handler.nas: check for nil property
...
tutorial.nas, globals.nas, controls.nas: cosmetics
2007-11-20 17:02:13 +00:00
mfranz
b3ab26db07
fix comment & cosmetics
2007-11-06 21:23:53 +00:00
mfranz
fc6f357a0e
add new debugging function proptrace(), which outputs all regular property
...
writes (not directly written tied ones), all node additions and removal.
Frames are separated with a line. Turn off ANSI coloring if you want to
pipe the results into a file: --prop:sim/startup/terminal-ansi-colors=0
2007-10-16 15:24:30 +00:00
mfranz
256b1880cb
wrapNode(): One argument ought to be enough for anybody.
2007-10-15 18:32:20 +00:00
mfranz
2bcddab9b6
setlistener(): accessing the node via cmdarg() is now depreciated. Use
...
a regular function argument for that. Note the "n" in this example:
setlistener("/sim/current-view/view-number", func(n) {
setprop("/sim/hud/visibility", !n.getValue());
}, 1);
2007-10-15 18:27:42 +00:00
mfranz
12c11dfa6f
setlistener(): now that we know the params, we only need to unwrap the first two
2007-10-15 18:00:17 +00:00
mfranz
0d3c7cec6f
- setlistener(): add wrapper function to turn ghost arguments into props.Nodes
...
- "modernization": use more named function arguments and "var" keywords
2007-10-15 16:30:37 +00:00
mfranz
705e4bcaac
forward fourth setlistener() arg to _setlistener()
2007-10-14 18:03:31 +00:00
mfranz
dfd21c722d
- add more "var" keywords, fix indentation, drop some parentheses,
...
fix comments, consistency fixes, ...
- aircraft.nas: angular_lowpass -> minor speedup
2007-10-07 15:12:05 +00:00
mfranz
bf050c012f
load and execute all ~/.fgfs/Nasal/*.nas files in alphabetic order after
...
the $FG_ROOT/Nasal/*.nas ones are done. This allows to use props.Node etc.
immediately, without requirement for settimer(func{}, 0) constructions.
Rationale:
- clean separation of local additions (and hacks :-) from standard files
- users might not have write permission to $FG_ROOT/Nasal/ or shouldn't
have to su to root for writing Nasal code
2007-08-06 22:50:06 +00:00
mfranz
cfd9c1b48f
pointless spelling fixes
2007-06-22 18:49:38 +00:00
andy
30502189d8
The screen-capture command no longer pops up a dialog, so toss up a tip
...
from within the F3 keybaord handler instead.
2007-06-07 16:59:07 +00:00
mfranz
1e446a26ae
setlistener(): don't drop calls with invalid property -- the c++ side
...
outputs a nice error message in this case
2007-04-27 15:52:54 +00:00
mfranz
944e6a8548
in debug levels "debug" and "bulk" output listener id, file name, and
...
line-number for every setlistener() wrapper call. This allows to identify
listeners later by their id.
2007-04-27 14:27:01 +00:00
mfranz
5f7104ac8a
revert condition() patch. This can as easily be done in pure Nasal.
2007-03-18 10:52:08 +00:00
mfranz
d1c4bcea85
condition(property) wrapper for the _condition function.
...
See $FG_ROOT/Docs/README.condition
2007-03-17 15:59:39 +00:00
mfranz
cde64c8543
use __ for static variables (one underscore is too handy for use in other
...
modules to waste it here)
2006-02-18 00:12:09 +00:00
mfranz
dc6ab58eaf
allow printlog() to be used with variable arg list (like print()):
...
printlog("warn", "Monty", "Burns");
2006-02-17 22:05:32 +00:00
mfranz
003ae0986f
add printlog() function that works like SG_LOG(). It takes two arguments:
...
a --log-level and a scalar. Example: printlog("info", "I want more noise");
2006-02-17 21:24:08 +00:00
mfranz
714504b548
support optional setlistener() arg to fire callback function initially;
...
copy arg checking from interpolate()
2006-01-30 12:37:34 +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
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
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
andy
3677b96fad
Bugfix to globals.fgcommand().
...
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.
2003-12-08 02:09:19 +00:00
andy
5ed2c89605
Add abs() and interpolate() to globals. Move bo105 code to the -set.xml file
2003-12-05 02:38:35 +00:00
ehofman
0be80148c3
Add Nasal Vs. 1.5
2003-12-01 14:36:22 +00:00