AngelScript 2.5.0c released

Started by
44 comments, last by WitchLord 18 years, 2 months ago
AngelScript 2.5.0 has just been uploaded. This version brings a lot of improvements. The VM was updated with three-op instructions for more efficient code. The result is a much faster byte code execution, though there is still room for more improvements. The libraries support for parameter references have been revised so that it is now much closer to how C++ developers are used to, still without compromising the safety. Operator behaviours can now be written to take any type of references, including &out and &inout, this makes it possible to register types like stream classes and other advanced objects. An optional compiler mode allow application developer to allow direct references that work exactly as C++ references. In this mode however the scripts can potentially write illegal code that uses invalid references with undefined behaviour. Debugging support has been improved as well. It is now possible to enumerate local stack variables and access their values if that is necessary. [edit]Released 2.5.0a[/edit] [edit]Released 2.5.0b[/edit] [edit]Released 2.5.0c[/edit] [Edited by - WitchLord on February 17, 2006 8:00:54 PM]

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Advertisement
Excelent! Congratulations on the continued development of AngelScript! It is quite something indeed. Keep up the good work. I will be looking forward to trying out the direct C++ references soon, although I'd like to see another option that is the same 'unsafe' way C++ has with pointers - just to make using AS easier with older libraries, such as SDL with minimal modifications. Wishful thinking, I know, it is OS so there's nothing stopping me from doing it [smile]
Great, angelscript makes things like this:

possible for me, our whole engine is mostly based off of angelscript, thanks for the continued development, it IS the best scripting library I have ever used =). I especially prefer the syntax to Lua and Python, and overall to gamemonkey. Well I'm just rambling =P.

Thanks

Edit: BTW It makes things possible, because it opens up the engine to the cleaner scripted interface that I like to work with more often than not, of course now I'm not using as much of the scripting, but it's moving over, as my new common object system/emoObject cache uses angelscript.

[Edited by - Deranged on January 15, 2006 9:11:53 PM]
Drew_Benton:

I'm planning on reintroducing pointers again using another flag: asALLOW_UNSAFE_POINTERS. But right now I'm concentrating on script declared classes with inheritance, etc, so I do not know when that will be. If you'd like to help me with it, you're welcome.

Deranged:

Cool! I'm really happy that you like AngelScript. I'll make sure to continue working on the library to make it even easier for you to make your game.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

I uploaded a release with a couple of bug fixes. Thanks to Deyja for notifying about one the bugs.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Wonderful! That bug fix was just what I needed.
Incidentally, it also happens to have fixed my bug too.
That's good to know. Thanks.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

have not been updating myself on AngelScript.
still using a version that supports pointer.

how much efforts to move my current scripts over to this v2.5 ?

for example:

void SpawnGeneric (Point3 &location, GameEngine *terrain, string &typeName)

void Collision (int entityNum, Entity *node, Entity *othernode, HitInfo *hit, GameEngine *terrain)

Pointers are not yet supported in version 2.x, though I plan to reintroduce them.

Compiling the library with the AS_ALLOW_UNSAFE_REFERENCES flag, might make it easier to port your code though. A reference is after all pretty much the same as a normal pointer.

You can easily represent a pointer by registering a type, e.g:

RegisterObjectType("EntityPtr", sizeof(Entity*), asOBJ_PRIMITIVE);

Then it would just be a matter of substituting Entity* for EntityPtr in your script declarations.

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement