20,741
edits
| Line 188: | Line 188: | ||
Adding new extension functions to the built-in Nasal interpreter is documented here: [[Howto: Extend Nasal]]. | Adding new extension functions to the built-in Nasal interpreter is documented here: [[Howto: Extend Nasal]]. | ||
There's also a separate wiki article providing a list of issues related to the Nasal interpreter itself: [[Improving Nasal]]. | There's also a separate wiki article providing a list of known issues related to the Nasal interpreter itself: [[Improving Nasal]]. | ||
None of this requires any C++ knowledge! | None of this requires any C++ knowledge! | ||
Only the scripting interface connecting the Nasal interpreter and FlightGear is implemented in C++, it can be found in $FG_SRC/Scripting: http://gitorious.org/fg/flightgear/trees/next/src/Scripting | Only the scripting interface connecting the Nasal interpreter and FlightGear is implemented in C++, it can be found in $FG_SRC/Scripting: http://gitorious.org/fg/flightgear/trees/next/src/Scripting | ||
Basically, the scripting interface implements a custom SGSubsystem, so that the Nasal interpreter can be run as a FlightGear system. In addition, all FlightGear-specific extension functions are to be found there. Increasingly, this folder also contains wrappers to map FlightGear classes to Nasal space in an OOP fashion, so that not just functions, but full "objects" are provided, which are computed lazily. If that's what you are interested in, you should take a look at the NasalPositioned.cxx source code, which demonstrates how this is done. | |||
= Getting started = | = Getting started = | ||