Welcome to the AngelCode forum
Dave was good enough to create this forum for me. Because of AngelScript I''m starting to get a lot of questions that I believe would be better tackled in a forum, than by me single handedly.
In this forum you can ask about anything game development related (or anything else you might find on my site). I promise that I will do my best to read all the posts here personally, but if the question you have is directed at me personally you might be better of sending it to my e-mail instead.
Well, what are you waiting for? Start asking away...
- Andreas
www.AngelCode.com
yay let hope this forum doesnt die
typedef unsigned long long int me;
typedef signed short char you;
typedef unsigned long long int me;
typedef signed short char you;
I'll do my best preventing it from dying, but I can't do it alone so keep posting
Yes, a new forum to moderate. Hopefully I'll be able to keep up with this one. I have the advantage of having a personal interest this time so I think it will be ok.
www.AngelCode.com - game development and more...
AngelScript - free scripting library
[edited by - WitchLord on March 9, 2004 1:43:51 PM]
Yes, a new forum to moderate. Hopefully I'll be able to keep up with this one. I have the advantage of having a personal interest this time so I think it will be ok.
www.AngelCode.com - game development and more...
AngelScript - free scripting library
[edited by - WitchLord on March 9, 2004 1:43:51 PM]
As I''m far to lazy to go through all the docs, could you answer a very basic question:
Assuming it can compiles scripts to some form of byte code (which I assume it does for speed unless it goes all the way with JIT), is it possible to execute X cycles on the virtual machine (that is, rather then run an entire script/function in one call, use an incremental function that lets the virtual machine do a little bit of work and then return control to the appliction)? My main problem with almost every all other scripting system is that they make the assumption that all script functions can execution within a reasonable amount of time.
I would also be interested in how much of a sandbox environment is provided, and how dependent the virtual machine is on the source language (is it like Java, or more like .NET)
Assuming it can compiles scripts to some form of byte code (which I assume it does for speed unless it goes all the way with JIT), is it possible to execute X cycles on the virtual machine (that is, rather then run an entire script/function in one call, use an incremental function that lets the virtual machine do a little bit of work and then return control to the appliction)? My main problem with almost every all other scripting system is that they make the assumption that all script functions can execution within a reasonable amount of time.
I would also be interested in how much of a sandbox environment is provided, and how dependent the virtual machine is on the source language (is it like Java, or more like .NET)
There are three ways you can execute a script partly. Either use ExecuteStep() which executes one line of the script (approximately) and then returns. Or you could allow the script to call a registered function that suspends the execution, e.g. suspend(), yield(), or wait(). Another way is to have another thread call suspend on the engine if it executes more than a specified amount of time.
I''m not sure what you mean by a sandbox environment. The virtual machine works with a home grown byte code, but it has been designed for use with C/C++ so it calls the registered system functions directly by copying the parameters onto the application call stack and then invoking the function. For languages that doesn''t work this way, you''ll probably have to write a wrapper for the library, or use proxy functions.
Oops, I have to go now. Time''s up. I''ll come back later to tell you some more.
Andreas
www.AngelCode.com - game development and more...
AngelScript - free scripting library
I''m not sure what you mean by a sandbox environment. The virtual machine works with a home grown byte code, but it has been designed for use with C/C++ so it calls the registered system functions directly by copying the parameters onto the application call stack and then invoking the function. For languages that doesn''t work this way, you''ll probably have to write a wrapper for the library, or use proxy functions.
Oops, I have to go now. Time''s up. I''ll come back later to tell you some more.
Andreas
www.AngelCode.com - game development and more...
AngelScript - free scripting library
A sandbox environment is basically a scripting environment where you can''t create hostile scripts. Basically you can''t crash the program running the virtual machine (or screw up the virtual machine beyond the point of the VM saying a script failed). You can''t DoS the machine by stealing all CPU or memory resources. You can''t run code outside of the virtual machine, etc.
Whew..........a forum is way better than a mailing list. Cant wait to try out 1.6.1.
Jayanth.K
Raptor Entertainment Pvt. Ltd.
Jayanth.K
Raptor Entertainment Pvt. Ltd.
Ah I understand. Well, I''ve thought much about the security with AngelScript, and I try to make it as secure as possible, in that the script writer is only able to do what the application writer wants.
The scripts use pointers, but as a security issue it doesn''t allow manipulation of them, i.e you cannot read or write the memory that the pointer points to, and you cannot move the pointer manually. The only thing the script can do with pointers is accessing object members (those that are registered by the host application). The script cannot take the address of objects by itself either and doesn''t allow conversion of a pointer type to another type. Basically the script writer is very restricted. Of course, the application writer is allowed to register functions for manipulating pointers directly which might compromise the security.
www.AngelCode.com - game development and more...
AngelScript - free scripting library
The scripts use pointers, but as a security issue it doesn''t allow manipulation of them, i.e you cannot read or write the memory that the pointer points to, and you cannot move the pointer manually. The only thing the script can do with pointers is accessing object members (those that are registered by the host application). The script cannot take the address of objects by itself either and doesn''t allow conversion of a pointer type to another type. Basically the script writer is very restricted. Of course, the application writer is allowed to register functions for manipulating pointers directly which might compromise the security.
www.AngelCode.com - game development and more...
AngelScript - free scripting library
I''m happy you found your way here Jayanth. I was worried that you wasn''t getting the support you needed for AngelScript. Our communication has been a little slow lately.
www.AngelCode.com - game development and more...
AngelScript - free scripting library
www.AngelCode.com - game development and more...
AngelScript - free scripting library
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement