search on Google
internet angelcode.com

Latest updates

New developer references

2010/01/24   Fixing Pathfinding Once and For All

2010/01/17 - AngelScript 2.18.1

I've released version 2.18.1. As I had imagined in the previous release, I wasn't able to implement the support for function pointers for this release, but I have it pretty much planned out now so hopefully the actual implementation should be quite quick now.

I was however able to implement the support for initialization lists for registered types. This means that the application can now register a template type with the exact same capabilities of the built-in array type, without the need for any modifications to the library. This also means that in the near future I will remove the built-in array type in favor of the add-on, just as was done with the string type a long time ago.

Another feature that made it into this release is the support for property accessors for global properties, i.e. global functions with the prefixes get_ and set_ now act as property accessors. This is especially useful for those application properties that you want to expose, but that doesn't use an internal representation that you expose to AngelScript, e.g. char* strings.

I also finally got around to implement the support for native calling conventions on Win64 that I've been putting off for so long. Now I just need the 64bit Mac OS X support and then all major platforms are supported. Hopefully someone with access to a 64bit Mac OS X would be willing to contribute that code.

Even if the above feature are not of immediate intestest to you, you should really consider upgrading to this version. There were a few important bug fixes, and I also spent some time doing some optimizations that should hopefully have a noticeable impact on your application.

Thanks to the following people for submitting bug reports and helping me fix them: Samuel E. Henley, Gibbon_99, Friggle, kk, Thy Reaper.

2009/12/16 - AngelScript 2.18.0

This new release took a while to get out because there were a lot of structural changes to make internally in order to prepare the library for the upcoming features. Script entities are now less tightly tied to each other so that they can more easily be modified dynamically without having to recompile the full module. This required adding them to the garbage collector to resolve circular references, so don't get surprised by the increase of objects in the GC statistics.

The immediate benefit of these changes is the ability to dynamically add new functions and variables to an already existing script module, and also to remove them. I've implemented this support in the console sample so you can easily see how that works.

Another side effect is that now the functionality that the ExecuteString method provided can now just as easily be implemented by the application, so I decided to deprecate that one. Don't worry, I've added a new helper function in the add-on that implements it for you if you relied on it. However, you do well looking into that one, as you may see ways to make this function even better suited for your needs, e.g. by adding parameters and return values to it.

Some other improvements have also been contributed by the community:

  • Fredrik Ehnbom took the time out of his busy schedule to implement full support for native calling conventions on the iPhone platform.
  • Jubok Kim sent me some changes that adds official support for UTF-16 encoded string literals. If you prefer that over UTF-8 encoded strings, then you can turn that on by setting the engine property asEP_STRING_ENCODING to 1.
  • Jeremy Harmon improved the compiler messages when no matching function was found.

I also took some time to make some optimizations, especially to the function calling in the asIScriptContext, so hopefully you should see a noticeable performance gain if you have a lot of calls to script functions. I have some more ideas for optimizations that I hope to try out for 2.18.1 so if all goes as planned you should soon see another gain.

For 2.18.1 I plan on implementing support for initialization lists to registered types by adding a special behaviour. This is the final piece to be able to fully move the built-in array type out of the core library, so the applications will have even better control over how the arrays work. I also plan on adding support global property accessors which have been asked for.

Another major feature that I would like to implement for 2.18.1, is the addition of function pointers to the script language, so that things like callbacks and even function closures can be used. This is a big feature, so I may not be able to fit it into the 2.18.1 release, but I should at least be able to get started on it.

At last, I would like to mention that Arroy One have provided a Russian translation of the AngelScript manual, so if that's your native language you can head on over to 13D Labs for that. Hopefully Arroy will be able to keep the manual up to date with new releases of the library. If anyone else have written translations, I invite you to add a link to them on the AngelScript wiki.

New developer references

2009/12/14   Procedural Content Generation

2009/10/18 - AngelScript 2.17.2

I've released version 2.17.2 of AngelScript. This is a minor release that mainly contains bug fixes. The only new feature is the template callback behaviour, that can be used to do compile time validations of template instances so that unsupported templates cannot be created by the scripts.

The next release, 2.18.0, is going to have a lot of internal changes, in order to add support for modifiable scripts through addition/removal of individual functions and globals in already compiled modules. This will eventually permit the addition of function pointers and other interesting features.

New developer references

2009/10/16   Rasterization on Larrabee
2009/10/13   Make a Particle Explosion Effect
2009/09/25   Manuel's relief texture mapping page

2009/09/16 - AngelScript 2.17.1

I've released yet another version of AngelScript. The major new feature in the version is the support for property accessors for object properties, a.k.a. getters and setters. These work for both application registered types and script classes in a unified way. To add them to the classes it is just a matter of implementing methods that follow a specific naming standard, i.e. prefix the property name with get_ and set_. You can read the details in the manual.

I've also made some minor improvements to the template classes, so that they can now be instanciated with another template class as subtype, e.g. array<array<int>>.

Another improvement that may be interesting to users is the support for custom processing of include directives in the CScriptBuilder add-on. This is accomplished through callbacks and allow the application to locate the included script file anyway it wants, e.g. from a memory buffer, or completely different path on the disc.

And finally I want to let you guys know that AngelScript is now working with support for native calling conventions on the Android platform with ARM processors. Thanks to darktemplar216 and sliao for that work, and also to Fredrik Ehnbom again as they based their work on his previous contribution.

Perhaps someone would like to give the IPhone a try? Since it also uses the ARM processor, I'm sure it can't be much work to get it up and running. AngelScript already works on the IPhone, but not yet with support for native calling conventions.


support the site
make a donation

link to site


sponsor links
your site here