James Turner
4e6f9e6239
Nasal startup: allow more control over loading
...
Allow excluding scripts entirely based on the startup load properties.
2022-03-09 16:52:19 +00:00
James Turner
52731a7c04
Nasal: expose Canvas SpaceItem directly
...
Allow a SpacerItem to be explicitly created.
2022-03-09 16:52:19 +00:00
James Turner
77501672df
Nasal expose propertyValue as a helper
...
Allow other code to map property values to an naRef, without exposing
the generic property node on their API. This avoids creating a wrapper
props.Node frequently for simple value access.
2022-03-09 16:52:19 +00:00
James Turner
cbd5ef9e7b
GUI: XML to Nasal bridge, to keep PUI dialogs working
...
(Disabled by a CMake option)
This builds equivalent C++ objects to what the PUI dialogs build, with
properties exposed to Nasal. Peer objects are created by Nasal callbacks,
which can implement the various dialog functions needed to keep
compatibility, especially the ‘update’ and ‘apply’ hooks.
2022-03-09 16:52:19 +00:00
James Turner
79f38a5742
Expose new GridLayout to Nasal
...
Requires up-to-date SimGear which includes the new header.
2022-03-09 16:52:19 +00:00
Tobias Dammers
fe8b7bea21
Marker pins
2022-01-27 08:47:48 +00:00
James Turner
d59db8ea54
FlightPlan: distuinguish routes from flight-plans
...
Add a bool flag isRoute to flight-plan, and use it to model
routes (which contain VIAs) from plans/legs, which do not.
Default isRoute to false, so most users only see expanded
Vias, and hence something that can be flown directly.
2022-01-15 22:23:38 +00:00
Florent Rougon
e3b619dd05
Fix missing include in src/Scripting/NasalFlightPlan.cxx
2022-01-06 12:11:02 +01:00
James Turner
c1e5cc3074
Improve creating VIA segments
...
Improve argument parsing for createViaTo, createViaFromTo to
handle Airway ghosts as well as strings. As part of this, allow
specification of the airway level explicitly when looking
up an airway.
SF-ID: https://sourceforge.net/p/flightgear/codetickets/2686/
2022-01-05 15:44:50 +00:00
James Turner
a7ae3bf6cd
Fix up linkage of Nasal tests inside CppUnit
...
Ensure correct test backend is used inside fgfs_test_suite
2022-01-05 15:41:33 +00:00
Jonathan Redpath
0bf618d7f1
Make geodFromHash accept geo.Coord with Cartesian coords.
...
geodFromHash() will now respect the _pdirty and _cdirty flags. This
ensres that FGPositioned functions are protected from invalid or
outdated coordinates, and therefore from erroneous results.
2022-01-04 12:08:14 +00:00
Roman Ludwicki
82f967ab92
Cope with SGPropertyNode::getStringValue() now returning std::string by value.
...
This is by Lars Toenning <dev@ltoenning.de>, Roman Ludwicki <romek21@op.pl> and
SDeAstis <salvatore.deastis@gmail.com>, in 2021 Hackathon.
Also cope with removal of SGPropertyNode::getName() - use getNameString()
instead.
2021-12-24 14:49:06 +00:00
Julian Smith
11426c8177
src/Scripting/NasalSys.cxx: simplified FGNasalSys::logNasalStack().
2021-08-26 22:24:12 +01:00
James Turner
b01beac664
Add error report for Nasal load failures
2021-07-29 08:49:32 +01:00
Julian Smith
31c7fc8565
src/Scripting/NasalSys.cxx: show source line if we get error while parsing Nasal.
...
Helps track down errors in Nalsa embedded inside XML - line numbers are from
start of Nasal, not start of XML file.
2021-06-25 10:32:17 +01:00
Julian Smith
97a25b79ea
src/Scripting/NasalSys.cxx: avoid noisy diagnosic if running test-suite.
2021-06-25 10:32:17 +01:00
Julian Smith
ef07f26023
src/Scripting/nasal-props.cxx:f_getAttribute(): added VALUE_CHANGED_UP and VALUE_CHANGED_DOWN.
2021-06-02 19:06:58 +01:00
James Turner
34b8fbc58e
Precomputed random numbers API
...
Use updated pre-compute API for random numbers
By Marc Eberhard
2021-05-25 12:57:07 +01:00
James Turner
c92c41a50f
Switch test_suite build to use an OBJECT library
...
Remove use of BUILDING_TESTSUITE from headers. Where possible, move
test APIs to their own file in the test_suite dir (testApis.cxx). For
some others, add them to a special list of ‘sources which depend on
the build mode’. This will hopefully go away with some further
refactoring.
2021-03-08 16:59:15 +00:00
James Turner
15dfc492dc
AIModelData: add error report context
...
Not complete yet, but add the ability to pass context in from the
AIBase to the loader thread. Also add error context to more places
in AI / scenario loading.
2021-02-24 14:47:01 +00:00
James Turner
caad29e7c8
Add error reporting to common failure points.
...
Not exhaustive by far, but adds many of the common failure points
witnessed on Sentry.
2021-02-20 20:06:27 +00:00
Scott Giese
0019b22046
Code Maintenance - nullptr checking
2021-02-18 23:52:46 -06:00
Julian Smith
fb027e0193
src/Scripting/nasal-props.cxx:f_setValueHelper(): improved diagnostic.
...
Added s_val_description() which returns string describing a naRef.
2021-01-30 12:48:06 +00:00
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