1
0
Fork 0
Commit graph

245 commits

Author SHA1 Message Date
Thomas Geymayer
88b7d4f530 Update for SGPropertyNode changes. 2014-03-06 00:41:41 +01:00
James Turner
34ed79e5f8 getprop/setprop allows integer indices.
As suggested by a long-standing enhancement idea,
extend getprop/setprop to accept multiple args,
including integer arguments. This removes the need
for string concatenation (and hence, allocation)
on the Nasal side.

Patch by Nicholas 'Philosopher' Scheel
2014-02-18 20:07:29 -08:00
Thomas Geymayer
67be73fdde Expose SGPath to Nasal 2013-12-18 10:30:19 +01:00
James Turner
9c11dfd545 Reset: free nasal-module-listeners on shutdown. 2013-12-03 21:38:45 +00:00
James Turner
d99109c9e4 Reset: do re-init Ghost bindings. 2013-11-24 15:10:00 +00:00
James Turner
0fbc448af0 Nasal changes for reset
- reduce use of global context (will die soon)
- replace static wrappedNode ref which breaks reset
2013-11-22 22:52:33 +00:00
bcoconni
139af0026f Synchronized FG with the removal of 'using std::*' in simgear's easyxml 2013-11-14 22:07:50 +00:00
James Turner
881df711ba Reset: Nasal can be shutdown.
Also guard against duplicate init of cppbind wrapped classes.
2013-11-12 22:47:41 +00:00
James Turner
af6131b556 Bug 1246, Nasal repeating timers fire immediately.
Initial delay is passed separately to interval in the
API, oops.
2013-11-09 08:01:57 -08:00
Thomas Geymayer
cf270bde22 Expose HTTP module to Nasal. 2013-10-27 19:39:22 +01:00
Thomas Geymayer
5c38395395 NasalSys: do not print invalid elements for error backtraces. 2013-10-16 23:41:38 +02:00
Thomas Geymayer
26a3573aea Update/simplify for SimGear changes. 2013-10-15 17:48:13 +02:00
Thomas Geymayer
5c42071fbb Scripting: get rid of gcHash and use new SimGear/Nasal functions. 2013-10-15 00:58:21 +02:00
James Turner
52e5a9abe8 Reduce amount of log output at level=debug. 2013-09-28 14:47:20 +01:00
James Turner
33425c671d Support for multiple data dirs. 2013-09-17 07:47:58 +01:00
Tom Paoletti
b27eb2571c Performance optimization: empty() instead of size()>0
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:02:15 +01:00
Thomas Geymayer
913727239d Expose pose of scenery models to Nasal load/unload scripts.
This allows Nasal code attached to scenery models access their
world position and orientation by calling _model.getPose().

Also ensure models are attached to the scenegraph before Nasal
load scripts are called. This ensures that the world position
and orientation are available upon executing the load script.
2013-03-23 12:54:45 +01:00
Thomas Geymayer
eba03b5e46 Allow placing canvas on scenery objects. 2013-03-21 01:16:47 +01:00
James Turner
6f80df0b8d NasalTimerObject tweaks. 2013-03-20 18:10:27 +00:00
Thomas Geymayer
1e4ba18284 Update/simplify property interpolation to latest SimGear changes 2013-03-17 23:49:15 +01:00
Thomas Geymayer
4b21dc51ee Replace SGInterpolator with new advanced interpolation system.
Allow for advanced animations using easing functions and adapters
for interpolating specific property types (eg. CSS colors).
Old behavior should not have changed.
2013-03-16 16:45:03 +01:00
James Turner
ab939ff772 A real Timer object in Nasal.
A persistent timer object which can be stopped, started and restarted. Gosh. Has both singleShot and repeating modes.
2013-03-16 12:44:27 +00:00
James Turner
f2c267f5d7 MouseInput changes to support hover.
This adds the framework for platform cursor implementations; Windows and X11 to be done.
It also extend the mouse-input code to generate hover events suitable for driving tooltips.

Note there should be no visible functionality change from this commit, since everything
is inactive until fgdata changes are made.
2013-03-04 23:35:30 +00:00
Thomas Geymayer
4b573ebd13 Start porting NasalPositioned to cppbind.
For now it is available in the positioned Nasal
module. FGAirport is fully ported, but especially
procedures/navaids and free functions are still
missing.
2013-03-04 19:24:47 +01:00
James Turner
7b663cd7f7 Split huge NasalSys header apart. 2013-02-09 15:33:05 +00:00
James Turner
ce9afecdbd Support a log-list widget in PUI.
Add a puaListBox which can show the contents of a log-buffer. Currently only two buffer sources are supported more to follow (and the dialog XML updates).
2013-02-08 19:39:41 +00:00
Frederic Bouvier
7cc3ffb30f Fix build for windows after logstream changes 2013-02-08 08:46:34 +01:00
James Turner
b52a61c2cb Support logging from Nasal at custom levels.
For now, print() still logs at SG_ALERT level.
2013-02-07 16:44:24 +00:00
Thomas Geymayer
5b38e00ade Expose some methods on strings to Nasal 2013-01-31 19:14:23 +01:00
James Turner
2e1fb7972e Initial work on native file dialog support.
Add an abstract interface, version that forwards to the existing PUI dialog, and a Cocoa-native version.
2013-01-19 14:41:45 +00:00
Thomas Geymayer
724d54b3a3 Clean up and some more testing 2012-11-15 12:43:34 +01:00
Thomas Geymayer
863cd6a290 Canvas/Nasal and Nasal/C++ binding experiments 2012-11-15 12:43:34 +01:00
ThorstenB
1d99401c04 Remove osg dependency for isNaN only. 2012-11-11 17:22:42 +01:00
ThorstenB
60eaa22fda Drop sorting of Nasal scripts.
simgear::Dir now always provides results in a deterministic order.
2012-10-13 15:45:15 +02:00
James Turner
688d76613e Expose SGCondition as a ghost to Nasal directly. 2012-08-19 21:13:31 +01:00
Thomas Geymayer
d6a5a911bc Complete X11 clipboard support.
- Now ClipboarX11 also supports writing to the clipboard and
   sending the data to another application if requested.
2012-08-05 11:19:24 +02:00
Thomas Geymayer
aa9d0e3a8a Basic clipboard access from Nasal.
- Add platform independent clipboard layer for Nasal access
   to clipboard (thanks to Hooray for basic code)
 - Add Windows clipboard access
 - Add partial X11 clipboard access (only reading from clipboard)
 - Add fallback clipboard for application internal clipboard if
   platform not supported
 - Add some helper functions to FGNasalSys
2012-08-04 17:33:48 +02:00
James Turner
f703882ffa Skeleton Nasal-Canvas integration.
This code is non-functional, but contains most of the stubs to show what's required to add property get/set access, convert to from ghost & C++ types, and manage ownership. Element derived classes & inheritance (e.g., methods on image/path/map elements) will follow, along with some actual functionality!
2012-08-02 12:18:38 +01:00
Thomas Geymayer
373d511c69 Canvas: Allow using canvases as PUI widgets.
- Add new widget type canvas
 - Set canvas view dimension from the gui xml.
 - Expose mouse events to canvas widget properties.
2012-07-31 23:19:22 +02:00
James Turner
ce92730ef6 Expose FlightPlan delegates to Nasal, finally.
This will permit Nasal (e.g., FMS) to update nicely when the FlightPlan
is modified from anywhere else.
2012-05-12 17:23:17 +01:00
James Turner
c5781546b9 Expose greatCircleMove to Nasal, and allow geo.Coord to be passed into methods. 2012-04-25 16:54:40 +01:00
James Turner
a132ced084 Nasal airport functions for various ancillary data pieces now work. 2012-04-23 23:04:59 +01:00
James Turner
ef796e88bc Fix build for non-Mac, hopefully. 2012-04-15 14:20:03 +01:00
James Turner
f5a79fc893 Start refactoring how FGPositioned classes are exposed to Nasal, more to come. 2012-04-15 13:54:50 +01:00
ThorstenB
5f1435b4fd Avoid "using..." in header files. 2012-04-05 21:02:09 +02:00
ThorstenB
578df0f484 #553: decouple OSG callbacks from Nasal subsystem 2012-02-06 22:19:33 +01:00
ThorstenB
d47342a5a4 Add --log-class option, improve logging classes.
Replace SG_GENERAL by more specific log classes in many places.
Allow "," to separate logging classes (using "|" is odd on the
command-line).
Also add new option to make logging more useful for developers.
You can use:
  --log-level=debug --log-class=environment
to only get environment debug messages, or
  --log-level=debug --log-class=sound,ai
to only get debug messages related to the sound or AI subsystem.
2011-12-11 14:06:17 +01:00
Torsten Dreyer
b82ea065c3 Add the frequency to the navinfo hash 2011-08-22 09:18:04 +02:00
Torsten Dreyer
3723de56ca Experimental navinfo() Nasal extension function
Add a navinfo() Nasal extension function to provide
information about navaids. Inspired by the airportinfo
function.

This is work in progress, do not rely on this in your Nasal
code - the interface might change over the next weeks.
2011-07-22 12:37:41 +02:00
ThorstenB
4fd1e219a4 #348 related: More places where missing files were not reported properly
Whenever resolving a (relative) path to an absolute path with
'resolve_maybe_aircraft_path', check if the result is empty and report original
(relative) path as missing. Otherwise no or a meaningless message is
issued ("File '' not found.").
2011-07-03 13:06:41 +02:00