Andy Ross wrote:
Erik Hofman wrote:

BTW. Does Nasal work like PSL, int that one has to initiate each step?

I've done a script manager for PSL that I've laying around somewhere
that would allow multiple scripts to work simultaneously and can
expand over multiple frames (instead of needing to run the whole
script in one frame timespan).

It's a bytecode interpreter, and by design it doesn't use the processor stack for recursion. So in principle you could instruct it to run for some number of "cycles" and then return to be called later. I would just need to add a counter inside the intereter loop that returned early, and define a return value for naCall() to indicate "not finished yet".

There are limits to this, obviously.  If you call the interpreter, and
the script calls a C function which enters the interpreter again, then
this won't work.  There's no way (short of user-space context
switching voodoo) to return to the top-level stack frame without
trashing the frame of the recursive call.

I don't see the need for calling the script from within C code outside the script manager. The way I see it the manager instantiates the scripts and handles all communication between the script and the calling program (like changing properties within the script).


Erik


_______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to