AngelScript 2.24.0 is here (+ bug fix in 2.24.0a)

Started by
6 comments, last by TechRogue 11 years, 9 months ago
[color=#000000][font=Arial]

This release has been in the works for quite some time, far longer than I had planned originally. There seems to have been an increase in the number of new users of the library, and this brought to light a number of unknown bugs that had to be squashed.[/font]

[color=#000000][font=Arial]

Besides all the bug fixes, there are of course new improvements to the library. The most notable one is that I've finally done away with the methods that work with function ids. Some may complain a bit at first, but using the asIScriptFunction pointers directly is more efficient and it has allowed me to clean up the API a bit.[/font]

[color=#000000][font=Arial]

I've implemented nested call support in the asIScriptContext interface, so now it is possible to reuse the active context when calling a second script from the current script via an application function. This will avoid the need to create an extra context, and thus improve performance. The nesting is done by calling PushState() and PopState() on the context.[/font]

[color=#000000][font=Arial]

The multithreading support in the library has been improved with new supporting functions, i.e. asPrepareMultithread, asAcquireExclusiveLock, asAcquireSharedLock, etc. Not everyone uses the library in a multithreaded fashion, but those who do will welcome these and other internal improvements.[/font]

[color=#000000][font=Arial]

The engine and object types can now store multiple different user data. The add-ons take advantage of this to cache information in the user data without impacting the application's own user data. Especially the array and string add-ons should gain significant performance from this.[/font]

[color=#000000][font=Arial]

Other add-ons have also received some updates based on community feedback. As always, check out the full change list for the details.[/font]

[color=#000000][font=Arial]

Regards,[/font]
[color=#000000][font=Arial]

Andreas[/font]

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
Keep up the awesome work man, When I release my project, i hope that angel script will get even more notice as my game will be heavily modifiable.
Awesome work, indeed.
format c: /q
Wow!
It is a pity that I am now involved in developing the material editor, particle editor...unsure.png !
But even a little bit, and again all create scripts!smile.png
A critical bug slipped into version 2.24.0 with the implementation of the nested call functionality. As contexts were reused they would eventually cause memory invasions (leading to all sorts of unpredictable behaviour) as the VM would write outside of the allocated stackspace.

Version 2.24.0a is available now that fixes this problem, and two minor parser bugs dealing with namespaces.

Thanks goes to virious for spotting the problem and helping me reproduce it so I could get it fixed.

Regards,
Andreas

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

Are function IDs gone completely, or just deprecated? I'm wondering if it's a good idea to upgrade to this release...my entity system uses funcids pretty heavily based on the Game sdk example.
In this version they are just deprecated. So it is still possible to use them with AS_DEPRECATED. They will be completely removed in a later release (probably in 2.26.0).

Still, I don't think changing the code to use asIScriptFunction* instead of the function ids will be a lot of work. You can use the asIScriptFunction* the same way you have been using the function id. There is no need to call addref/release on the pointer, as all engine methods that return an asIScriptFunction* will return it without adding a reference first (except when clearly stated otherwise in the manual).

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

Okay cool, I think I'll give it a try. Thanks for all the great work!

This topic is closed to new replies.

Advertisement