[angelscript] AngelScript 1.7.0 beta 1

  • From: "Andreas Jonsson" <andreas@xxxxxxxxxxxxx>
  • To: <angelscript@xxxxxxxxxxxxx>
  • Date: Mon, 26 Apr 2004 19:21:45 -0300

Dear patient subscribers,
It's been a long time since the last update to AngelScript, almost an entire 
month, and I ask forgiveness for this. I was busy making some extra money this 
month and had to put AngelScript to the side. Today I found some extra time so 
I decided to at least release a beta of the new version.

There are a couple of minor interface changes for this version:

- Two new methods in the asIScriptEngine, ExecuteString() and 
GetContextForExecuteString()
- New parameter for ExecuteStep() in asIScriptContext

If you are not using ExecuteStep() things should work just as before with a 
simple recompilation. If you use ExecuteStep() you should set the parameter to 
asEXEC_STEP_INTO (= 0) which is the only supported flag at the moment. In the 
next version ExecuteStep() will also support the flags asEXEC_STEP_OVER, and 
asEXEC_STEP_OUT_OF.

ExecuteString() is a novelty that I'm currently finishing. It allows you to 
execute a simple string of statements using the currently compiled script code, 
perfect for situations like a Quake style console. Currently ExecuteString() 
cannot access the global script variables and constants, but all the rest is 
functioning, i.e script functions as well registered global properties and 
functions. The interface for ExecuteString() is the following:

int ExecuteString(const char *script, asIOutputStream *out, int stackSize);

script is the statements you wish to execute. You can execute more than one 
statement, separating them with ; but it is not necessary to terminate the 
string with ;.
out is an output string that receives whatever errors are encountered during 
compilation of the string.
stackSize is the size of the stack in the context the string will be executed.

When this function is called the engine does a series of steps to execute the 
string: Wrap the string in a function. Compile the function. Create and prepare 
a context. Execute the context.

The return value is either a negative value which indicates an error or one of 
the context states where the execution ended. 

If you wish to access the context created for this execution you can use the 
GetContextForExecuteString(). This can be used to resume the execution if it 
was somehow suspended, or to access exception information, etc.

I will now go back to work and get the ExecuteString() to access global 
variables and constants as well.

Regards,
Andreas Jönsson
Author of AngelScript
www.AngelCode.com



AngelScript - AngelCode Scripting Library
http://www.angelcode.com/angelscript/

Other related posts:

  • » [angelscript] AngelScript 1.7.0 beta 1