1
0
Fork 0
Commit graph

974 commits

Author SHA1 Message Date
mfranz
7ee14f044c fix removal of data entries if channel is used elsewhere 2009-03-20 11:08:09 +00:00
mfranz
2d4d0c81cc fix comment 2009-03-19 20:06:58 +00:00
mfranz
16baea26b4 - vary callsign and tacan channel; use free AI id
- make update loop faster
- fix reinit listener
2009-03-19 16:44:12 +00:00
mfranz
fc9b2dd2a5 - geo.elevation: make intersection vector origin's altitude configurable
to allow measuring terrain elevation under solid objects
- coding style unification
2009-03-18 18:26:30 +00:00
mfranz
020e495197 ... but without debug message. :-) 2009-03-18 13:46:57 +00:00
mfranz
080432cd17 - use new aircraft.nas functions: kias_to_ktas(), wind_speed_from()
- export radar values: bearing-deg, elevation-deg, range-nm
2009-03-18 13:46:07 +00:00
mfranz
dafeb03bf1 add simple wind_speed_from() function, and Jean PELLOTIER's not-so-simple
kias_to_ktas() function
2009-03-18 13:13:15 +00:00
mfranz
bd1c719d6f make tanker appear on the radar 2009-03-17 22:07:43 +00:00
mfranz
abb13ca903 - make sure /systems/refuel/ exists
- cleanup
2009-03-15 20:19:17 +00:00
mfranz
dc7e8577d4 - put tanker nearer
- allow multiple instances
2009-03-15 19:57:13 +00:00
mfranz
5c41d1a99b allow aar-equipped aircraft to request a tanker everywhere without scenario 2009-03-15 16:13:55 +00:00
mfranz
5237feb527 window.write: turn plain numbers into strings 2009-03-15 15:23:00 +00:00
mfranz
d6e96199eb use controls.startEngine(0) for starter release (easier to override) 2009-03-14 20:56:06 +00:00
mfranz
2618b98b88 model: simplification using the new values() function 2009-02-16 23:35:54 +00:00
mfranz
1bf00fbc92 generally allow *.log files under /home/m/.fgfs 2009-02-16 15:48:02 +00:00
mfranz
315d48910a message log: don't show seconds; new header/footer; minor improvements 2009-02-16 15:38:47 +00:00
mfranz
6a6861a5ff mp log: use real time 2009-02-15 22:52:22 +00:00
mfranz
cf88f5e8a4 remove is{dir,reg,lnk,sock,fifo,blk,chr}. The vector returned by io.stat()
does now contain the type in element 11.
2009-02-15 21:08:55 +00:00
mfranz
fed30b2f05 io.nas: add deprecation warning to io.is{dir,fifo,lnk,...} 2009-02-15 18:26:20 +00:00
mfranz
9b8f29fdfe use local hash (again) to store last messages per callsign 2009-02-15 17:50:13 +00:00
mfranz
b465bd27a8 --prop:sim/multiplay/write-message-log=1 enables logging of MP messages
to $FG_HOME/mp-messages.log
2009-02-15 17:36:47 +00:00
mfranz
efaa3d545d - simplification (multiplayer.model does a lot of the checks already)
- write to /sim/messages/mp-plane (rather than ai-plane)
- screen.nas: better color?
2009-02-15 15:48:38 +00:00
mfranz
c77af3c4b6 map /sim/messages/mp-plane to screen/voice 2009-02-15 15:10:47 +00:00
mfranz
8f5304ad90 add values() function as a counterpiece to keys() (see Perl) 2009-02-15 14:13:49 +00:00
stuart
dfc22cf009 Use initNode for safe, effective relief from code bloat. 2009-02-12 21:14:54 +00:00
stuart
72cc845a63 Remove redundant (and ugly) set1 function 2009-02-12 20:32:04 +00:00
stuart
a0a493b8ce Failure manager. Based on work by Erobo and John DENKER. 2009-02-12 20:24:06 +00:00
mfranz
824cff9192 comment out isnan()
It conflicts with Jester's debugging setup, and Andy says there should be
no NaN in the first place. This is a bug that needs to get fixed. Just
enable isnan() if you want to detect NaNs in the meantime. (The MP system
creates them ATM. The property getters shall turn them into nil.)
2009-02-12 16:59:03 +00:00
mfranz
a9afecf74b debug.error: rename to warn, reduce default caller skip, documentation 2009-02-09 14:29:43 +00:00
mfranz
747d9dcbde debug mode: fix slice 2009-02-09 00:24:23 +00:00
mfranz
6495f062d3 var++ 2009-02-08 21:58:31 +00:00
mfranz
4757d49c0c debug mode: add hint for why the write operation probably failed 2009-02-08 21:16:28 +00:00
mfranz
04511dbc8d --prop:debug=1 enables a debug mode where some functions generate warnings.
setprop(), props.Node.set{,Int,Bool,Double}Value() complain if they couldn't
write, e.g. because the target property is write protected, or doesn't have
a tied setter function.
2009-02-08 20:46:55 +00:00
mfranz
a1c1018aa2 Anders GIDENSTAM: adapt for unified tank level property (and do it right :-) 2009-02-06 23:14:49 +00:00
sydadams
22b9c908a9 Update jsb aircraft to use the changed tank/level-lbs property 2009-02-06 22:56:00 +00:00
mfranz
1d783e03bb remove debug.exit(); add debug.isnan()
- exit was only justified at times where fgcommand() needed an explicit
  node statement, which made using it a bit clumsy. Nowadays that's only
  fgcommand("exit"), which is as good as debug.exit() was.
- isnan() is really only for debugging and, thus, not in the global
  namespace. Nasal code should never generate NaNs (though it's easy:
  var nan = 1/0; There! :-), and NaNs imported from the C++ side (tied
  properties!) should get fixed there. IOW: routine checks for nan in
  Nasal can only be temporary hacks/debugging measures.
2009-02-06 14:41:13 +00:00
mfranz
1d50d3c086 dialog: show unavailable entries orange; cleanup 2009-02-06 12:03:31 +00:00
mfranz
540b9368fe multiplayer.model: more containers, more data, variable renaming,
temporarily catching error exceptions, colored missing-ac message ...
2009-02-04 21:47:19 +00:00
mfranz
158c7ea800 - check for availability of MP models (add 'available' member)
- display "??? foo" if "foo" isn't available on the system
- make sure x/y/z are never nil (I think I had such a case)
2009-02-03 16:15:37 +00:00
mfranz
7985e6e984 model_view: add some orientation parameters 2009-02-01 21:59:41 +00:00
mfranz
afe8de52ab - faster sorting
- update loop fix
2009-02-01 01:58:15 +00:00
mfranz
a644007c67 disabling the dialog in screenshots is nice in theory, but doesn't really work 2009-01-31 22:01:42 +00:00
mfranz
9fdec57110 dialog: don't start multiple loops 2009-01-31 21:53:54 +00:00
mfranz
ab1e00a81e - re-open after gui-reinit
- only update once per sec
- cosmetics
2009-01-31 21:22:18 +00:00
mfranz
3cf6667328 gahh ... s/setlistener/_setlistener/ 2009-01-31 20:29:20 +00:00
mfranz
8bb50c1871 model_view_handler: use multiplayer.model + add selection popup 2009-01-31 19:30:31 +00:00
mfranz
65e4b71406 factor the MP aircraft monitoring code out of the dialog class and let
the dialog use it. Other services need the same functionality and it
should only be done once.
2009-01-31 17:15:48 +00:00
mfranz
82d4864c24 model_view: remove stale/invalid entries 2009-01-31 10:24:08 +00:00
mfranz
9927e31504 - use "var" keywords everywhere
- bail out if there's no autopilot at all
2009-01-30 21:24:59 +00:00
mfranz
e31acedcfa model_view: make it more reliable 2009-01-30 15:22:17 +00:00
mfranz
db1fcf2949 model_view: remove experimental mouse handling; cleanup 2009-01-30 12:05:29 +00:00
mfranz
cf69b0d01b model_view: ignore AI models for now (make that configurable?) 2009-01-30 00:16:14 +00:00
mfranz
6aa74d2e7a add model-view: switch through all AI/MP models via dialog in bottom/left corner 2009-01-29 23:57:57 +00:00
mfranz
c697394b1c strip \n from own chat messages (again :-) 2009-01-27 20:12:19 +00:00
mfranz
9957c0a6e1 add eXtended isstring: isxstring(), which also applies to \n 2009-01-27 19:27:21 +00:00
mfranz
fedd64d89a optimization & cleanup & var keyword:
- use find() instead of string.match()  (way faster!)
- add a missing var keyword
- don't store old messages in a hash, but only store the respective last
  message in the model's multiplayer branch
- keep history \n-trimmed (instead of removing \n only when concatenating)
2009-01-27 16:55:46 +00:00
mfranz
14a928f391 trim: allow to specify alternative trim class function 2009-01-27 01:42:46 +00:00
mfranz
9d4d61e2e8 don't close the dialog on Esc (Jester was right: that's annoying :-) 2009-01-25 15:18:51 +00:00
mfranz
2541ad8e30 All elements of a --prop:display expression containing a percent sign are
interpreted as number format. (They couldn't be valid property paths anyway.)
If there's more than one such element, then the last one counts.

  --prop:display=%.2g,velocities/airspeed-kt,position/altitude-ft
2009-01-25 00:27:12 +00:00
mfranz
8d62bc2b0f Anders GIDENSTAM: center dialog and print report only when there was a fire 2009-01-18 16:15:02 +00:00
mfranz
1fe5ace8b5 Anders GIDENSTAM: wildfire (read $FG_ROOT/Models/Effects/Wildfire/README) 2009-01-18 15:43:08 +00:00
mfranz
e8484502da s/set_lonlat/set_latlon/ 2009-01-15 00:39:51 +00:00
mfranz
64a22469ab s/hdg/brg/ 2009-01-12 21:50:43 +00:00
mfranz
c31ab0ea96 showHelpDialog(): leave some margin for resizing 2009-01-12 12:27:41 +00:00
mfranz
1fc7581f77 add symbols for new cursors 2009-01-11 15:04:55 +00:00
mfranz
e96322b351 OverlaySelector: don't choke if there are no options 2009-01-11 02:42:33 +00:00
mfranz
198d1cb60f make dialog resizable with Ctrl-dragging 2009-01-10 22:31:30 +00:00
curt
278b0a7262 This should never really have been in the central nasal area. 2009-01-03 01:23:47 +00:00
mfranz
aff4cacf70 ... and allow to specify several paths separated with comma. Of course,
multiple usage of --prop:display[*]=... is also supported.
2008-12-23 10:15:12 +00:00
mfranz
087494abf5 add some documentation about the property display 2008-12-23 10:03:26 +00:00
mfranz
bab238d58b string(): make zero padding work if arg is 0 2008-12-22 01:50:48 +00:00
mfranz
58897fb5f4 revert init signal change -- better fix the real problem 2008-12-19 20:52:22 +00:00
mfranz
305cac01f3 use a more reliable property to detect real-weather-fetch 2008-12-19 13:50:44 +00:00
mfranz
8fc95fdde1 - add geo.viewer_position()
- make geo.{aircraft,click}_position() a bit faster
- no longer import the math functions (wasn't worth it)
2008-12-19 13:41:25 +00:00
mfranz
2d37f6c60b - remove menu greying out (there's no such entry any more)
- start dynamic view at fdm-initialized to avoid nasal errors (math.cos)
2008-12-18 13:05:56 +00:00
mfranz
5df46f3e5c - add controls.wingsDown() wrapper
- carrier-bindings.xml: remove trailing spaces & add some blanks
2008-12-17 18:42:41 +00:00
mfranz
06cb820759 add KT2MPS/MPS2KT conversion constants 2008-12-17 01:03:32 +00:00
mfranz
821c3bd31c rain: read some properties only if they are actually needed 2008-12-15 16:16:08 +00:00
mfranz
cb76be5383 rain: add units to the output properties and explain them 2008-12-15 08:01:33 +00:00
mfranz
d8131d6944 only turn osg precipitation off for internal views 2008-12-15 00:18:26 +00:00
mfranz
e8a666c8e4 globals: cosmetics
props: initNode(): allow nil as first arg
2008-12-14 23:45:33 +00:00
mfranz
2abb0516b5 Vivian MEAZZA: support for handling rain flow on canopies
/me: some modifications + cosmetics in the light class
2008-12-14 23:43:46 +00:00
mfranz
2be64792e1 add NM2M and M2NM constants 2008-12-13 12:55:47 +00:00
mfranz
117dac8b4f removelistener() must not remove path validation listeners 2008-12-12 14:57:38 +00:00
mfranz
e5656fedc9 store 30 history entries by default (settable via property
/sim/gui/prop-key-handler/history-max-size)
2008-12-09 00:20:29 +00:00
mfranz
59ff8c6129 also search value 2008-12-08 14:03:18 +00:00
mfranz
db4c98d63e add constants GAL2L and LB2KG 2008-12-07 14:44:52 +00:00
mfranz
291ba987d3 fuel dialog: add tank checkbox only if the "selected" property is actually
writable. This omits the box: <selected type="bool" write="n">1</selected>
2008-12-04 11:34:05 +00:00
mfranz
71f80dff34 initNode: add fourth optional parameter: "force", which enforces a type,
so n.initNode("whatever", 1 "BOOL", 1);  will make node n a BOOL even
if it was "DOUBLE" before. Default: 0. An existing value will be retained,
though.
2008-12-04 11:30:44 +00:00
mfranz
8bf823c4fb initNode: make path optional and let it default to "". This is allowed:
props.globals.getNode("sim/foo", 1).initNode();  and equivalent to
    props.globals.getNode("sim").initNode("foo");
2008-12-03 20:53:00 +00:00
mfranz
5c88cdf6f1 dump: no space after [ and before ] 2008-12-03 20:49:33 +00:00
mfranz
bcc043a368 security wrappers: move original func var into wrapper closure 2008-11-26 16:17:55 +00:00
mfranz
1e5cf9ff0a more use of initNode & some consistency improvements (method format) 2008-11-26 16:09:16 +00:00
mfranz
f7e246905b tree(): show which nodes are aliased to which nodes 2008-11-26 16:07:32 +00:00
mfranz
acff4f55ab add getAliasTarget() wrapper 2008-11-26 11:35:48 +00:00
mfranz
8b62c82b38 fix another forgotten geo.FT2M -> globals.FT2M 2008-11-23 22:22:49 +00:00
mfranz
521954116c only enable precipitation if it's enabled in the gui
(/sim/rendering/precipitation-gui-enabled) *and* if the aircraft wants it
(/sim/rendering/precipitation-aircraft-enabled). Some aircraft model rain
on the windshield and want to turn rain off for interior views.
2008-11-23 09:53:46 +00:00
mfranz
31162ce78b more initNode() (Alzheimer?) 2008-11-22 21:02:04 +00:00
mfranz
75470bf31d Rename Node.clear() to Node.clearValue(), because that's the name that we
use on the C++ side.
2008-11-22 12:05:01 +00:00
mfranz
b3032f63c7 Add Node.clear() method, which resets a node to type "NONE" and value 'nil'.
This can be used to invalidate nodes and may be interesting for debugging
purposes. Use carefully!
2008-11-22 11:20:44 +00:00
mfranz
2b77665c22 setCursor: complain and show options if wrong cursor name was given 2008-11-20 23:03:24 +00:00
mfranz
8d7545252f convert more initNode to the method version (sorry, had forgotten these) 2008-11-20 22:06:54 +00:00
mfranz
f263e693f2 remove deprecated (wrapper) function props.initNode() 2008-11-20 20:41:19 +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
c74d6ee75e - make props.initNode a props.Node method
- props.nas: some minor improvements
2008-11-20 19:45:40 +00:00
mfranz
55c34a0748 calculate M2FT from FT2M (of course :-) 2008-11-20 11:33:42 +00:00
mfranz
eebfdf218c - make constants D2R, R2D, M2FT, FT2M global
- geo.put_model: use 'add-model' fgcommand
2008-11-20 11:24:46 +00:00
mfranz
dcb1321923 make constants D2R, R2D, M2FT, FT2M global 2008-11-20 11:24:45 +00:00
mfranz
9976b71472 init: make sure /sim/tutorials actually exists 2008-11-15 19:40:28 +00:00
mfranz
81e967a609 nasal now returns constant and readable ghosttypes, so we do no longer
need the symbol table and comparison with the ghosttype of props._globals()
2008-11-13 12:00:23 +00:00
mfranz
c6cd898f64 - update comment to reflect alias()/unalias() addition
- minor improvements & cosmetics
2008-11-13 11:57:07 +00:00
mfranz
2aba6e7d80 Node: only wrap() functions that actually return property ghosts 2008-11-12 17:06:53 +00:00
mfranz
547770e30b add alias()/unalias() wrapper methods 2008-11-12 14:43:41 +00:00
mfranz
78d1a6e631 OverlaySelector: check callback function explicitly for nil 2008-11-12 11:43:26 +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
05cc0f3fda add complementary function to bits.string(): bits.value() This is rather
pointless for running fgfs, but can be useful for development and debugging,
and it's just a few lines.
2008-10-25 15:03:32 +00:00
mfranz
6384588444 I said "correctly". 2008-10-25 14:24:26 +00:00
mfranz
f7bd13fed3 debug.dump(): print empty strings as hash key correctly 2008-10-25 14:20:47 +00:00
mfranz
6371627424 bits.string: add optional zero-padding 2008-10-23 22:16:32 +00:00
mfranz
97c1ec0ac7 set: bugfix (invert test; still faster than the old version :-) 2008-10-22 23:27:03 +00:00
mfranz
f5ab1de0b6 set/clear: shorter & a few nanoseconds faster 2008-10-22 23:04:07 +00:00
mfranz
464d9d3f75 add bits.toggle() and bits.switch() 2008-10-22 20:56:22 +00:00
mfranz
80215e0731 "export" bit vector & cleanup 2008-10-22 14:02:58 +00:00
mfranz
6003c3a17d bits.test: remove silly loop 2008-10-22 13:26:55 +00:00
mfranz
6d5585ec65 restore simple bits functions. Useful for setting/testing boolean values
inr MP transport, and for setting/clearing modifier bits in js config files.
2008-10-22 12:49:01 +00:00
mfranz
2f76461c8c io.nas/stat: drop use of broken bits library
gui.nas/OverlaySelector: me.data is no longer a node; only sort once
2008-10-21 21:37:41 +00:00
mfranz
0bd5bc58a7 livery: documentation fix 2008-10-19 21:12:57 +00:00
mfranz
c5fe446f58 overlay-select.xml, gui.nas: fix overlay-dialog close(); add relpath() func
aircraft.nas: remove redundant data.add()
2008-10-19 12:34:09 +00:00
mfranz
94211721cf livery: fix bad default nameprop (must be relative) 2008-10-19 11:55:52 +00:00
mfranz
32bf0f7265 gui.nas: remove trailing slashes in nameprop/sortprop
aircraft.nas: add generic overlay_update function, and make livery_update
         a wrapper for it
2008-10-19 11:52:56 +00:00
mfranz
da7d1ded71 aircraft.nas: make aircraft.livery a wrapper for gui.OverlaySelector
gui.nas: add file name to stored data (needed for MP-livery)
2008-10-16 15:26:19 +00:00
mfranz
a021ab0af0 - aircraft.nas: remove formation class (Deprecated only three hours ago.
Is this fast development, or what?! :-)
- gui.nas: remove debug message
2008-10-15 18:14:54 +00:00
mfranz
181dbba72c OverlaySelector: more robust path handling 2008-10-15 16:48:24 +00:00
mfranz
c350a7b6a8 s/fixpath/normpath/ (as in python) 2008-10-15 16:35:11 +00:00
mfranz
8c7e7cb994 OverlaySelector: add callback func arg; only store the file paths 2008-10-15 16:13:10 +00:00
mfranz
5d576f0e3d - gui.OverlaySelector: add optional sort criterion, add selection by index,
add next(), and previous() methods.
- aircraft.nas: deprecate formation class
2008-10-15 15:27:56 +00:00
mfranz
6a72126327 OverlaySelector: don't autosave choice. That's easy enough to do "by hand". 2008-10-14 18:48:54 +00:00
mfranz
4341781968 add overlay selector dialog class (similar to the livery selector) 2008-10-14 18:41:19 +00:00
mfranz
782368fefa documentation update and cosmetics 2008-10-09 17:20:27 +00:00
mfranz
b1017ac425 Vivian MEAZZA: tyresmoke: add spray flag/intensity for wet surfaces 2008-10-08 22:57:50 +00:00
mfranz
996fd73c0c - let F12 pop up radio settings dialog (used to be Ctrl-r)
- disable "reload global preferences", which is semi-broken
2008-10-08 21:59:31 +00:00
mfranz
ce0504cfd4 - move development functions from function keys to :Y (multikey)
- move replay from 'r' to 'Ctrl-r' where it is less dangerous
2008-10-07 20:13:34 +00:00
mfranz
3ba03ff2d7 AJ MacLEOD: add braking chute wrapper function 2008-10-07 19:22:49 +00:00
mfranz
363e210fda - typeset longer option lists in multiple columns
- make it a tad faster
2008-10-07 10:44:45 +00:00
mfranz
fe8f9134ec fun hack to get useful error message 2008-10-06 23:21:54 +00:00
mfranz
d9b5505a39 load_nasal(): hack around new Nasal bug 2008-10-06 21:21:13 +00:00
mfranz
77480233a6 ok, and now really fix it :-P 2008-10-06 20:22:28 +00:00
mfranz
459add7acb d'oh ... s/setlistener/_setlistener/ 2008-10-06 20:12:50 +00:00
mfranz
757b64a2c3 tyresmoke: s/getNode/getChild/ 2008-10-05 23:35:02 +00:00
mfranz
c56653d203 tyresmoke: make it faster, cleaner, shorter 2008-10-05 23:16:15 +00:00
vmmeazza
f7339eeb22 Add generic tyre smoke - correctly this time 2008-10-05 22:56:44 +00:00
vmmeazza
16818db739 Add generic tyre smoke 2008-10-05 22:41:39 +00:00
mfranz
eab70dccda improve dialog layout 2008-10-05 16:13:13 +00:00
mfranz
adc77f2777 replace all %% 2008-10-04 22:43:24 +00:00
mfranz
437dbf524d aircraft.nas: light: remove backwards compatibility warning
multikey.nas: don't show %% in option display for %
string.nas: scanf: add -1 return mode; documentation
2008-10-03 20:46:08 +00:00
mfranz
e6e1f8ae20 - move color functions from debug.nas to string.nas
- multikey.nas: add exit/no-exit markers to help output
2008-10-03 15:20:12 +00:00
mfranz
597a7d2187 add teleport() function 2008-10-03 10:48:39 +00:00
mfranz
fbd73ee7d3 multikey.nas: don't show empty ("reserved") entries
string.nas: scanf: detect %% correctly
2008-10-03 09:47:40 +00:00
abory
8fcaaf4491 - Alexis Bory: As seen previously with Till, the nasty F-14 radar brakes multiplayer.dialog.show() unless we better test the "valid" node. 2008-10-02 20:12:00 +00:00
mfranz
e561c08c04 - gui.nas: make fuel&payload warning closable with Esc
- multikey.nas: minor clarification in the help output
2008-10-02 15:19:47 +00:00
mfranz
a334ed9e7b add initial slightly greyed out help text about <Tab> options 2008-10-02 11:37:17 +00:00
mfranz
29f7d18865 repair :? help function ... sigh, should never have started with colorizing 2008-10-02 10:43:17 +00:00
mfranz
67c40af00c use patthern tree, offer options on <TAB> 2008-10-02 00:59:52 +00:00
mfranz
3fbb11b27a scanf: don't bark on empty test string if format ends with number element 2008-10-02 00:58:57 +00:00
mfranz
5fd89049bb add field width to %s & coding style 2008-10-01 19:51:44 +00:00
tat
04d90bae5a Added: %s support for scanf 2008-10-01 18:36:09 +00:00
mfranz
283dd67ca8 whoops 2008-10-01 16:39:26 +00:00
mfranz
32c5cde2f0 move improved help screen generator multikey.{xml -> nas} 2008-10-01 16:30:25 +00:00
mfranz
772112df89 use color codes only when printing to the terminal 2008-10-01 14:04:47 +00:00
mfranz
613e693656 Be a bit more careful with the kbd hack ... not that I noticed any problems.
(Proper fix probaly necessary in OSG. On my TODO list.)
2008-09-30 20:41:06 +00:00
mfranz
886cf8b382 also let adjEngControl return value (average of selected engines) 2008-09-30 20:33:18 +00:00
mfranz
b1a3428bd8 make slewProp(), and with it {aileron,elevator,rudder}Trim return new value 2008-09-30 18:11:46 +00:00
mfranz
f5babfe796 s/desc/_/ & cosmetics 2008-09-29 22:39:45 +00:00
mfranz
12412f0a56 does no longer work after the nasal update 2008-09-29 16:37:23 +00:00
mfranz
7274bfe94a s/desc/_/ (binding return variable) 2008-09-29 14:16:50 +00:00
mfranz
1b9f9a2f98 hack around kbd bug for now (eew!) 2008-09-29 13:30:42 +00:00
mfranz
024842d9b9 indendation fix, drop a few braces (because we can :-) 2008-09-29 10:06:50 +00:00
mfranz
df90d69de9 string.scanf(): return elements in vector given as argument; function
only returns success (0: no match, 1: extensible match, 2: safe match)
2008-09-29 10:06:16 +00:00
mfranz
eb11977be2 implementation of vi-like multiple-key commands (as suggested by John DENKER) 2008-09-28 20:28:28 +00:00
mfranz
3197bc3f24 string.scanf(): more efficient and (more :) correct %f detection 2008-09-28 20:23:14 +00:00
mfranz
13a5e62995 scanf: '+' or '-' alone aren't really numbers 2008-09-28 16:20:49 +00:00
mfranz
2ea8466111 steering: vim typo 2008-09-26 22:53:57 +00:00
mfranz
d5605e2280 steering: fix after nasal update 2008-09-26 22:48:48 +00:00
mfranz
3f4df41fc7 add simple scanf function (a.k.a. poor man's regex) 2008-09-26 12:04:57 +00:00
mfranz
bb6b98b306 runBinding: support optional default namespace/module 2008-09-25 11:10:35 +00:00
mfranz
ba68b4f8eb typo & consistency 2008-09-24 23:06:43 +00:00
mfranz
366792cf3d add props.runBinding(<binding-node>) command 2008-09-24 20:03:06 +00:00
mfranz
e354f26a4d add braces to work with Nasal TNG 2008-09-24 19:38:56 +00:00
mfranz
91ab7d4b97 - remove no longer neede complement_runways() function
- s/threshold1/threshold/
2008-09-23 20:08:15 +00:00
mfranz
c047efb41f debug.proptrace: increase the default frame number to get one complete frame 2008-08-17 07:35:27 +00:00
mfranz
a289958717 improve help message 2008-08-16 15:37:54 +00:00
mfranz
917cace77c string.nas: remove forgotten debug message
props.nas: replace some "arg[*]" by named args
aircraft.nas: load aircraft data only if the file exists (to avoid warning)
debug.nas: no space before colon & fixed comment & cosmetics
2008-08-14 22:13:25 +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
51aae20072 screen.nas: evaluate --prop:display when fdm is up, or some props are missed
(you didn't take the "final version" seriously, anyway, did you?)
2008-08-05 12:35:01 +00:00
mfranz
f0463b345f screen.nas: display option (final version)
- use --prop:display=fdm/jsbsim/fcs   to display this node only
- use --prop:display=fdm/jsbsim/fcs/  to display this node's children
2008-08-05 12:20:27 +00:00
mfranz
2823009955 s/live/display/ ... makes more sense 2008-08-05 11:58:43 +00:00
mfranz
1f65d80475 allow to add properties to the live display with --prop:live=/some/property 2008-08-05 11:49:13 +00:00
mfranz
b360c2ad62 use <enabled>false</enabled> flag for widgets that shouldn't be drawn
instead of <hide>true</hide>. This is consistent with other places
in fgfs, like menu entries, hud elements, subsystem switches, etc.
2008-08-05 05:28:27 +00:00
mfranz
2040b96b4f s/show_widgets/enable_widgets/ (the function doesn't show anything) 2008-08-03 15:37:43 +00:00
mfranz
463105bca5 add show_widgets() function 2008-08-03 13:41:07 +00:00
mfranz
49defb639e - load_nasal(): catch usage of improper namespaces (e.g. $FG_HOME/Nasal/isa.nas)
- IOrules: add harmless rule for extremely popular Nasal addon script  :-)
2008-07-30 20:34:52 +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
ad781922a7 here's a case where we want explicit namespace prefixes everywhere
(just renaming debug.string instead was plan B ;-)
2008-07-30 19:22:36 +00:00
mfranz
78ba60685c some convenience functions for the built-in bits library 2008-07-29 17:17:09 +00:00
mfranz
00475e2d5c - set "archive" flags on all /sim/presets/ children on saving flight, and
- run "presets-commit" after loading
2008-07-29 00:07:18 +00:00
mfranz
ae40faf4e5 cosmetics (comment fixes & improvements, variable name) 2008-07-27 22:00:58 +00:00
mfranz
dec94a9bb4 - fully complement runways (for external callers)
- show id/name of new airport
- use props.initNode()
- cleanup
2008-07-27 21:59:13 +00:00
mfranz
daee426f00 minor reorganization and cosmetics 2008-07-24 17:41:40 +00:00
mfranz
9148a4b2eb cosmetics: white space fix & one "var" added 2008-07-23 19:37:51 +00:00
mfranz
de1aa4c56e finally make printf() globally available 2008-07-23 15:43:45 +00:00
mfranz
93bc59c9a3 update comment 2008-07-23 15:42:43 +00:00
mfranz
f046c00c3d make valdiation listeners safe 2008-07-23 15:42:16 +00:00
mfranz
fee6139da5 partly revert last change: thisfunc() isn't safe enough for this purpose 2008-07-23 00:41:18 +00:00
mfranz
7bbbfa6a8e use thisfunc() instead of caller(0)[1] 2008-07-22 23:26:46 +00:00
mfranz
54e6ec55b4 closure(): better error formatting 2008-07-22 22:50:42 +00:00
mfranz
e522611638 closure(): level is optional and defaults to 0 2008-07-22 22:38:34 +00:00
mfranz
1ad5b18ec8 closure(): must freeze io.open for the comparison 2008-07-22 22:26:09 +00:00
mfranz
dc4b8633a3 new io.open()'s closure musn't get manipulated either 2008-07-22 21:30:47 +00:00
mfranz
3cfc93927f make sure the closure of security code can't be manipulated by wrapping
closure()
2008-07-22 21:23:54 +00:00
mfranz
8b6ff24167 make sure functions used by the security code are tamper-proof 2008-07-22 21:22:59 +00:00
mfranz
b9e7bb1b4b add thisfunc() for reliable recursion 2008-07-22 19:03:25 +00:00
mfranz
cb3150b915 (failing attempt to) lock down two functions 2008-07-22 16:46:18 +00:00
mfranz
30cd488f90 data.load(): use io.read_properties() (fixes *.sav loading bug) 2008-07-11 22:50:58 +00:00
mfranz
abdc416f32 - remove "load flight"/"save flight" dialogs, and
- use a file selector instead
- file-select.xml: handle non-existing files correctly
2008-07-11 20:57:52 +00:00
mfranz
c604b92deb now that the file reading/writing fgcommands underlie the same mechanism
as Nasal's io.open(), we need to allow saving/loading flights and saving
aircraft specific data at exit
2008-07-11 16:38:51 +00:00
mfranz
32f1730c6e - load_nasal: better error message if compile() fails
- io.open handler: extract validation to separate function and
- add detached read/write validation listeners
2008-07-11 15:37:27 +00:00
mfranz
86475efa5e fixpath: handle empty strings 2008-07-11 15:23:23 +00:00
mfranz
3be5c6956b io: use default attribs rather than a hard-coded number for globals identification
gui/tutorial/aircraft: use io.read_properties()/io.write_properties()
2008-07-11 09:37:33 +00:00
mfranz
ee44cdf0db Anders GIDENSTAM: enable fuel&payload dialog for JSBSim
mf: minor modifications & adding several instances of "var"
2008-07-10 20:13:58 +00:00
mfranz
9be716de1c typo 2008-07-10 16:55:45 +00:00
mfranz
8909695f36 add io.{read,write}_properties() convenience wrappers for
fgcommand("loadxml") and fgcommand("savexml")
2008-07-10 16:53:43 +00:00
mfranz
951f31a56c change attribute names from read/write to readable/writable 2008-07-07 10:25:08 +00:00
mfranz
b8ba3c5f66 cosmetics (no braces for one-liner functions; looks nicer, IMHO) 2008-07-03 16:24:52 +00:00
mfranz
6e24e077ba - invert io.load_nasal() return value
- let load_rules() return nil or the path (rather than 0 or 1)
- better log output
- cosmetics
2008-07-03 16:23:13 +00:00
mfranz
6f9f70e84d - don't use undefined variable `curr'
- cosmetics
2008-06-22 18:00:02 +00:00
mfranz
caca942012 revert last change: don't append cwd to relative paths for now. There's
no way yet to safely detect absolute paths, so this would break on MS Windows.
This will only mean that relative paths will always fail, as they don't
match any pattern. These are all absolute.
2008-06-22 13:54:36 +00:00
mfranz
875b99c90e whoops, wrong quotes 2008-06-22 12:17:02 +00:00
mfranz
cf9f30cb11 fixpath(): simplify by using new join() and replace() functions 2008-06-22 11:33:13 +00:00
mfranz
5240b57018 io.open(): turn relative paths into absolute ones before checking 2008-06-22 11:31:41 +00:00
mfranz
d86b1b9c74 string.nas: new functions string.join() and string.replace()
debug.nas: let benchmark() repeat tested function
io.nas: cosmetics
aircraft.nas: initialize time property only once
2008-06-21 07:10:32 +00:00
mfranz
ab08bfb8eb make sure that a die() (e.g. caused by an IOrules file being read protected)
doesn't disable the whole security mechanism
2008-06-16 11:19:29 +00:00
mfranz
94e010e4d1 whoops ... s/and/or/ 2008-06-16 11:00:05 +00:00
mfranz
bf9c2dc6a5 read rules for io.open() file access from $FG_ROOT/Nasal/IOrules or, if
available, from $FG_HOME/Nasal/IOrules. That's desirable because
ordinary users aren't allowed to edit files in $FG_ROOT.
2008-06-16 10:47:02 +00:00
mfranz
7cc783c2f5 this comes from not using tabs ... sigh 2008-06-16 07:16:10 +00:00
mfranz
b5cdfeb2b8 ... and allow reading only from ~/.fgfs/* and $FG_ROOT/* 2008-06-16 07:07:50 +00:00
mfranz
df018fff49 only allow writing to ~/.fgfs/Scenery/*.stg and ~/.fgfs/Export/* 2008-06-16 06:32:32 +00:00
mfranz
141f1c8da4 must not use setlistener in $FG_ROOT/Nasal/*.nas ... 2008-06-15 10:11:32 +00:00
mfranz
0fad328217 load_nasal: boolify result, as the number doesn't mean anything and might
be confusing
2008-06-14 22:39:28 +00:00
mfranz
56eef9c69f move load_nasal to io module 2008-06-14 14:32:37 +00:00
mfranz
62cc0f457c load_nasal: fix module and let it return whether there was an error 2008-06-14 14:25:34 +00:00
mfranz
a79c0e95c5 move load_nasal() here from the debug module 2008-06-14 14:22:34 +00:00
mfranz
c159ea1755 io.open(): drop die() color 2008-06-13 19:19:54 +00:00
mfranz
4a30ad6efe io.open(): remove debug messages (for easier code review) 2008-06-13 19:14:48 +00:00
mfranz
59e3d65545 and die() with red color for now 2008-06-13 13:18:16 +00:00
mfranz
0216b1a65c improve log messages 2008-06-13 13:08:56 +00:00
mfranz
4d17687f12 move fixpath back to string.nas. It *is* about strings, after all, and also
usable for property paths, so io.nas doesn't seem the right place.
2008-06-13 13:01:38 +00:00
mfranz
496a76b9fa and "br" as well :-) 2008-06-13 12:11:42 +00:00
mfranz
06aa2b772c open: allow "rb" everywhere like "r" 2008-06-13 12:09:45 +00:00
mfranz
2b3f574063 don't need /var/log/ 2008-06-13 11:57:20 +00:00
mfranz
7d9bd68742 - move fixpath() from "string" to "io" module
- first stab at Nasal security model: allow writing files only to authorized
  dirs. (Most of the debug messages will be removed later.)
2008-06-13 11:35:55 +00:00
mfranz
11d7de3e85 enable the Multiplayer menu if any of txport and rxport is set 2008-06-11 20:05:46 +00:00
mfranz
55670ccb35 enable multiplayer menu only in MP mode 2008-06-11 18:46:54 +00:00
mfranz
761444b917 close dialog on Esc, like every other dialog with a close button 2008-06-11 18:39:03 +00:00
mfranz
c1581e2ea1 Till BUSCH: multiplayer dialog (open with multiplayer.dialog.open() or toggle()) 2008-06-11 18:23:03 +00:00
mfranz
2866043c3d - prop_key_handler: limitate history to history-max-size on loading
- string/debug: cosmetics
2008-06-08 11:14:57 +00:00
mfranz
238fce1d15 let initNode() initialize a property to double(0) by default 2008-06-04 20:41:44 +00:00
mfranz
246ce973ec save and reload up to 20 history entries 2008-05-19 17:31:57 +00:00
mfranz
8fe1cf807d add initNode() function that initializes (if necessary) and returns a property.
If the property has a valid value already, then the given value is ignored.

  var x = props.initNode("/foo", 10);
  var y = props.initNode("/bar", 1, "BOOL");
2008-05-19 15:44:23 +00:00
mfranz
67ba396942 display: redraw on window resize so that the display won't disappear 2008-05-19 09:48:41 +00:00
mfranz
3184ea67a3 - add screen.display documentation
- add screen.display.setfont() and .toggle() method
- make property labels optional
2008-05-16 16:26:15 +00:00
mfranz
5334016034 display: format number, true/false for bools, quotes for strings 2008-05-15 20:31:35 +00:00
mfranz
f54cb1159f prop_disp: change color to white ... again. (Sorry for the many small commits. :-) 2008-05-15 16:11:50 +00:00
mfranz
54f8fc4370 property_display: turn it into a regular class & lots of improvements 2008-05-15 15:42:31 +00:00
mfranz
0b4322736f - make debug.dump() accept more than one argument (one could already write
debug.dump([a, b]) for that, but debug.dump(a, b) is more obvious)
- change output colors: variable names are no longer bold, all property
  attributes are now blue, not just the property type)
- drop redundant braces & other cosmetics
2008-05-15 15:23:17 +00:00
mfranz
b6d987453f data.add(): use props.nodeList() function 2008-05-15 15:20:11 +00:00
mfranz
a329a7ba14 - add props.nodeList() function which turns property ghosts, props.Nodes,
and path strings into a list of props.Nodes. It also digests lists of
  properties, or lists of lists of properties etc., thus allowing things
  like props.nodeList(arg), props.nodeList(n.getChildren("foo")). This is
  meant for functions like aircraft.data.add() or screen.display.add().
- remove some redundant braces
- fix comment
2008-05-15 15:17:56 +00:00
mfranz
e5c027786d property_display:
- don't use screen.window, but let it do its own dialog handling. Thereby
- make it faster  (update every frame by default)
- prevent collisions with the menu
- allow to move the dialog away (only the left edge is draggable!)
- try color white  (better color suggestions welcome :-)
2008-05-14 20:06:50 +00:00
mfranz
356a8430a7 property display: make sure tags are as short as possible but unique 2008-05-14 15:40:00 +00:00
mfranz
af38cc7c63 property display:
- make interval and color configurable
- use bigger font
- display strings containing \n in one line
2008-05-14 12:04:54 +00:00
mfranz
ee8b517246 property display: don't choke on nil properties 2008-05-14 10:57:02 +00:00
mfranz
ba57bd9a2e property display: set HELVETICA_12 font (same as for fps display) 2008-05-14 10:36:37 +00:00
mfranz
02c4b7a613 - screen.nas: add live property display
- prop_key_handler.nas add support for live property display
2008-05-14 10:23:47 +00:00
mfranz
b055de3528 add setCursor() wrapper function for the "set-cursor" fgcommand 2008-05-08 10:15:18 +00:00
mfranz
7c5bd888ac negative key numbers mark events consumed now 2008-05-03 21:29:38 +00:00
stuart
7513200f8e Add additional message check so callsign is not prefixed if present in message itself. 2008-05-03 19:45:22 +00:00
stuart
acef95d90c Re-order initialization and fix a couple of bugs. 2008-04-29 19:58:10 +00:00
mfranz
757c2314dd don't try to build completion from invalid node 2008-04-26 23:29:52 +00:00
mfranz
1544af3ab9 return negative key numbers to report key event as consumed 2008-04-26 13:27:27 +00:00
stuart
b703e21db9 Initialize on /sim/signals/fdm-initialized instead of /sim/signals/nasal-dir-initialized. This happens later on, and ensure we have a valid /sim/time/delta-sec value for the filters. 2008-04-23 22:09:34 +00:00
mfranz
c78327ee21 - lowpass: work with delta-sec = nil
- cosmetics
2008-04-23 22:01:44 +00:00
stuart
01d21c928a Add generic redout. 2008-04-23 20:44:57 +00:00
mfranz
efaeff5180 - make the limiter a tad faster
- fix comment
2008-04-21 21:39:45 +00:00
mfranz
ff6c9ec672 view_limiter: fix wrong starting offset 2008-04-15 16:55:40 +00:00
mfranz
c97010cefd make panViewDir use new limiter params & some parameter tweaks 2008-04-15 13:29:23 +00:00
mfranz
7fbeb50695 view_limiter:
- new parameter naming (left/right instead of min/max; signs are ignored)
- fix wrap-around skips
- use regular constructor so as not to confuse people  ;-)
2008-04-15 13:02:18 +00:00
mfranz
c4ebd9a0f2 - use separate view-limiter handler instances per view
- cleanup
2008-04-15 07:04:52 +00:00
mfranz
656340fa3d davidB21 + Vivian MEAZZA + /me: pilot view limiter
If a <view> contains a <limits> block, then a view handler gets attached to
it, which limits head turns to a given range, whereby headings beyond a given
threshold cause an additional sideways movement. This is turned off by default
for now.
2008-04-14 10:00:27 +00:00
mfranz
3e9a108288 make view.index (value of "/sim/current-view/view-number") and view.current
(a props.Node hash of the current view, e.g. /sim/view[100]/) available
2008-04-12 20:25:21 +00:00
sydadams
c7b3412af0 Added a check for passive mode to allow keyboard controls .. 2008-04-01 05:56:38 +00:00