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