Erik Hofman
dd59119570
Store the region name of the material in the region parameter
2020-11-15 09:30:27 +01:00
Julian Smith
b78ef0c1ab
src/Scripting/NasalSys.cxx: fix call to sglog() to pass function="".
...
Nasal function names are not persistent strings so are not handled correctly by
sg_log_delta code.
2020-11-01 00:03:03 +00:00
Automatic Release Builder
19aa0332f2
loadxml() command: add ‘quiet’ bool option
...
This is to avoid console/log spam from jetways.nas in particular,
which uses loadxml to probe for file existence, every 10 seconds. But
in general it seems useful to have this potentially be quiet, since
there is a result code.
2020-10-29 16:23:26 +00:00
Automatic Release Builder
4c48faf2c7
Remove log warning from geodinfo(), it's too noisy
2020-10-29 14:53:36 +00:00
Automatic Release Builder
c7f66ecf1c
Fix some warnings from Xcode 12
2020-10-29 14:52:19 +00:00
James Turner
395a3e70e9
Logging: use new MANDATORY_INFO level.
...
Requires corresponding SG commit.
2020-09-08 10:59:29 +01:00
James Turner
1fd5502e9b
Nasal removecommand: use a return value
...
Change removecommand() to indicate success or failure via a return
value: 1 for success, 0 for failure.
2020-09-04 10:56:41 +01:00
James Turner
37d820120d
Unit-testing: tests for Nasal SGCommand API
...
Test adding/removing/invoking commands, and error handles when
duplicate adding and removing a command name.
2020-08-26 17:20:58 +01:00
James Turner
8a1109160b
Fix Nasal ‘removecommand’ so it actually works.
2020-08-25 19:23:43 +01:00
Scott Giese
91f8b4dbef
REVIEW: Memory Leak - ClipboardX11 ctor
...
55,397 (104 direct, 55,293 indirect) bytes in 1 blocks are definitely lost
2020-08-22 17:00:24 -05:00
James Turner
a297c89144
Flightplans: add clearAll, rename clear -> clearLegs
...
Improve naming of clear() methods, and expose the new ones to Nasal.
this will allow RouteManager dialog ‘clear’ button to clear all, soon.
See ticket:
https://sourceforge.net/p/flightgear/codetickets/2064/
2020-08-17 16:11:10 +01:00
legoboyvdlp R
d6b7eaf60f
Fix that tp_type will return nil for transitions
2020-07-30 12:26:04 +01:00
legoboyvdlp R
668b499ff4
Correct restrictions above and below. Add test case. Fix contributed by Tobias Dammers
2020-07-30 12:25:02 +01:00
James Turner
ae094f9a77
Nasal: fix valgrind error in print/logprint
...
Requires matching Simgear change.
2020-07-17 12:03:28 +01:00
James Turner
f0d3663102
Nasal unit-testing: allow deep struct equality.
...
Add a deep comparison of vecs and hashes, when deciding equality in
test assertions.
2020-07-08 15:22:27 +01:00
James Turner
73c15c4d5c
Improve a method name, as suggested by Florent
2020-07-03 12:34:37 +01:00
James Turner
736485ab76
Expose a Nasal FP method under a better name
...
Match the C++ name for this, not sure why I ever though pathGeod was a
good name for this.
2020-06-30 17:09:55 +01:00
legoboyvdlp R
cd5a0ffe0b
Expose totalDistanceNm to Nasal flightplan ghost
...
Requested by Tobias Dammers, includes associated test.
May be cherry-picked to 2020.2.
2020-06-30 13:30:35 +01:00
Julian Smith
5af966cfcc
src/Scripting/NasalSys.cxx: use override in SimNasalLogFileLine.
2020-06-20 19:09:12 +01:00
Julian Smith
b35bf51fa0
src/Scripting/NasalSys.cxx: Optionally prefix all Nasal output with Nasal file:line.
...
Depends on /sim/nasal-log-file-line. E.g. enable with:
--prop:/sim/nasal-log-file-line=1.
2020-06-19 20:45:11 +01:00
Julian Smith
4e855c3182
src/Scripting/nasal-props.cxx: avoid gcc initialisation warning.
2020-06-17 22:46:42 +01:00
James Turner
0015744486
Nasal unit-testing feedback from Henning
2020-06-05 21:00:59 +01:00
James Turner
6beeea2bd5
Nasal flight-plans: allow clearing transitions
...
When nil is set on the _trans members, clear the transition value
internally. Also fix an error message.
2020-06-04 17:54:13 +01:00
James Turner
9cc9a8a197
Add ‘makesingleshot’ helper to Nasal.
...
Makes a timer object, but set to single shot mode and starts it.
2020-06-01 11:16:37 +01:00
James Turner
58d7454976
Explicit support for approach transitions
...
Make the handling of approach transitions consistent with SID and STAR
transitions, including the Nasal API. Add some tests to cover the
new features.
2020-05-27 21:44:59 +01:00
Stuart Buchanan
d852308dc6
Nasal library load order
...
Previously, the Nasal files in fgdata/Nasal/*.nas were loaded in
file-name order. This created a particular problem file files
beginning with "a" which might want to use props.nas.
This adds support for an ordered list of files to be defined
in the property tree that will be loaded before the rest of the
Nasal files.
2020-05-25 19:45:40 +01:00
James Turner
ce6bd859b3
Add Nasal source location to unit-tests
2020-05-22 17:35:24 +01:00
James Turner
3576f5ab3e
Split NasalPositioned in two
...
File was getting huge, break it in half.
2020-05-22 16:38:53 +01:00
James Turner
d66edf42f5
Expose new index-of-interest FP methods to Nasal
...
Add some test checks for the Nasal API as well
2020-05-22 15:52:54 +01:00
James Turner
fffcd14362
Fix FlightPlan procedure transition handling
...
Overhaul how transitions are stored in FlightPlan XML, and how
they’re exposed to Nasal. Simplify the Nasal access by making
‘sid_trans’ and ‘star_trans’ writeable.
Extend the unit-tests a lot to cover this, both from C++ and also
from Nasal
As part of this, overhaul the ownership of FlightPlan delegate
factories, to make it safer (use ref-counting of the factories,
and allow the factory to customise delegate clean-up behaviour)
2020-05-21 22:32:28 +01:00
James Turner
8af20fbcab
Fix for loading of FGFP plans.
...
Where the plan does not contain departure / arrival WPs, fire the
corresponding delegate methods after load, to run the selection logic.
Also, add a ‘loaded’ delegate callback, to give delegates a chance to
perform validation and fix-up after all flight-plan loads.
2020-05-19 22:01:42 +01:00
James Turner
522c742419
Draft version of Nasal unit-testing API
...
Only the in-sim version works for now, the test-suite mode is not
implemented yet. Also the test API will evolve, but should stay close
to what CppUnit defines.
Run a test file by specifying a path to nasal-test : examples will be
added to FGData shortly.
2020-05-06 15:20:26 +01:00
James Turner
ee3958f971
Skeleton work on Nasal GC test
...
Incomplete, but the goal is to stess the Nasal GC system by creating
and destroying large number of objects continously.
2020-05-06 15:20:26 +01:00
James Turner
6baa55b36b
Waypoint hiding support (for the A320, etc)
...
To support FMS which delete ‘past’ waypoints, add some helpers:
- waypoints can be flagged as hidden, this property is exposed to Nasal
- currentWP() accepts an offset parameter, allowing FlightPlan indexing
to treat the current WP as index 0
- a ‘numRemainingWaypoints()’ function on flightPlan in Nasal, again
to range how many waypoints are left, starting from the current WP
Add some basic tests of these new features to the route-manager tests.
2020-05-01 09:28:42 +01:00
James Turner
6ae2c387bf
Canvas: expose dirtyPixels() to Nasal
2020-04-28 14:04:40 +01:00
gallaert
f7cbcd9e60
Replace boost::function by std::function
2020-04-22 14:06:13 +01:00
gallaert
27ae79b5da
Replace boost::bind by std::bind and lambda function
2020-04-22 14:06:13 +01:00
gallaert
0dfed0a096
Replace boost::shared_ptr/weak_ptr by std::shared_ptr/weak_ptr
2020-04-22 14:05:46 +01:00
James Turner
fdd509a080
Logging for Nasal errors, disabled for now.
...
Code to log Nasal, as well as C++, errors. But need a way to reduce
the false-positive rate, so disabled for now.
2020-04-20 11:03:35 +01:00
James Turner
7986999650
Nasal: add _toggleBoolValue helper for Henning
2020-04-16 16:41:18 +01:00
James Turner
e939e877dc
Nasal isInt : handle LONG property type
2020-04-15 16:14:24 +01:00
James Turner
fa898e7cd6
Add _adjustValue helper to Nasal-props
2020-04-15 11:24:32 +01:00
gallaert
8da16eddd6
Replace boost::to_lower and boost::to_upper by strutils::lowercase and strutils::uppercase
2020-04-14 13:26:53 +01:00
James Turner
81ba646111
Add some type-checking helpers to Nasal.Props
2020-04-14 13:26:29 +01:00
gallaert
fb65f64342
Replace BOOST_FOREACH by C++ 11 for range loop.
2020-04-12 14:40:36 +01:00
James Turner
c78e6fb443
Nasal: expose SG log levels as constants
...
This avoids the need to use integers as the first argument to logprint()
in Nasal, which is confusing. Add global constants LOG_INFO, LOG_WARN,
etc.
2020-04-09 13:59:37 +01:00
James Turner
785436abf4
Nasal: support for unregister FP delegates
2020-04-08 12:27:31 +01:00
James Turner
36ba1e3dce
UTF-8 support: replace Nasal io.stat with our own.
...
Replace the default io.stat with one which uses our validator, and
uses SGPath to call _wstat on Windows. This does mean we return less
information in the stat() result, but it seems nothing actually uses
the result apart from checking if the file exists.
2020-03-14 21:01:45 +00:00
Erik Hofman
fb348d1a8a
Fix a false compiler warnig about brackets not protecting the next if statement
2020-03-14 14:04:22 +01:00
James Turner
9389c6564f
Nasal geodinfo: warn when scenery is not loaded
2020-03-13 16:46:54 +00:00