1
0
Fork 0
Commit graph

124 commits

Author SHA1 Message Date
andy
568d53875e Make readScriptFile() public, and rename it to loadModule(), so that external
code can have access to the facility for loading modules from files.

Also includes a cast-int-to-pointer fix that causes a warning on 64 bit
systems.
2005-06-14 19:57:24 +00:00
andy
3a6bc316ed Same bug, different place. Don't treat a length of zero as "please
strlen() it", because real files and properties can have lengths of
zero.
2005-04-26 20:57:06 +00:00
andy
239077599c Don't try to strlen() the input buffer if the length is zero. That
was probably my idea of a feature, but if the input buffer actually
does has a length of zero (as Melchior discovered for the case of a
zero-length .nas file) then there will be no null.
2005-04-26 17:18:00 +00:00
andy
142854d3d1 Upgrade to Nasal 1.0 test candidate 2005-04-18 19:49:13 +00:00
curt
ecfaa79b9e Permit a single nasal module to reference any number of files which are all
loaded into that single nasal name space.
2005-03-16 21:36:55 +00:00
ehofman
def25f39d5 gcc 4.0 fixes. 2004-12-18 11:59:33 +00:00
andy
d43d10046b Melchior caught a missing return value that is now an error on newer gcc versions 2004-11-15 18:15:33 +00:00
andy
e590737451 Fix a bug where the interpreter could read a garbage buffer from the stack. 2004-05-15 21:40:58 +00:00
curt
2acdd02879 Clean up various compiler warnings that have crept into the code. This
by no means get's them all, but it's a start.
2004-04-01 15:27:53 +00:00
andy
3ddfd77781 Forgot to handle "unspecified" properties in getprop(). Treat them
as strings.
2004-03-24 19:06:54 +00:00
andy
b3ce2c3cfe Failed timers should log errors rather than silently eating them. 2004-03-24 18:37:58 +00:00
andy
2166dd70a8 Forgot to implment the Node.getChild(name, index) form of the function 2003-12-29 22:52:21 +00:00
andy
7edecf980e Workaround for code generation bug in gcc-2.95.3 2003-12-16 05:39:04 +00:00
andy
0b3159ec0c Add a new command, "dialog-new", allowing external code (e.g. Nasal
scripts) to create dialogs at runtime.  Augment "dialog-close" to take
a name argument, allowing code other than PUI callbacks to close
dialogs.

The changes to the GUI directory to enable this are actually minor,
basically amounting to using SGPropertyNode_ptr reference counting
(the GUI subsystem no longer "controls" the dialog property trees, so
it can't delete them).
2003-12-08 02:05:10 +00:00
andy
eb3f52c340 Turn the __timers garbage collector cache into a more generic "gcsave"
interface, and use it to cache FGNasalScript objects returned from
a new parseScript() method.

Added a rand() function.

Added an interpolate() function interface to the new SGInterpolator
subsystem.
2003-12-05 01:54:39 +00:00
ehofman
79e48829da Add Nasal Vs. 1.5 2003-12-01 14:35:49 +00:00
ehofman
2be85c1b1b gcc 2.95 and 3.0 requite handleTimer to be public 2003-11-27 14:34:37 +00:00
curt
d1360d26d0 Remove old PSL support and put our eggs into the Nasal basket. 2003-11-25 21:16:13 +00:00
curt
d3181fb437 Andy Ross:
A set of changes to impliment Nasal support in FlightGear.  The nasal
interpreter is now part of SimGear.
2003-11-25 21:08:36 +00:00
ehofman
980012e168 Move FGEventMgr and FGSubsystemMgr over to SimGear, add SGEventMgr to FlightGear's globals structre and some small code cleanups 2003-09-24 17:20:55 +00:00
curt
80e98bdc57 Compiler squawked because a typed function had no return, create a dummy value
to return.
2003-08-11 19:33:49 +00:00
david
04f1dc4837 Make all PSL support conditional, because it's not included in plib
1.6.  The macro is HAVE_PLIB_PSL.
2003-01-17 12:41:47 +00:00
david
af4f1894c9 Added a run_inline method that automatically wraps the script in a
main() function.  It's not hooked to a command, yet.
2003-01-16 18:04:24 +00:00
david
9bbe8a78b6 Added simple proof-of-concept support for running PSL scripts from
input bindings.  They will work only with the latest CVS; otherwise,
./configure will disable them.  There is a new command, 'script',
which takes a single argument, also called 'script', containing PSL
code (currently PSL requires a main() function).

Erik Hofman has written some more elaborate code for triggering PSL
code from drop-down menus and scheduling events; I will look at
integrating that next.
2003-01-11 16:30:32 +00:00