Latest updates
I've released 2.16.2. Most work in this release went towards preparing the library to support registration of template types.
A few other improvements were made though. First, the initialization of the global variables have been changed to make sure the primitive values are computed before the objects. This allows class constructors to access primitive global variables without having to worry about which will be initialized first.
Another improvement is that the script language is now fully supporting UTF8 encoding. This means that string literals may now include UTF8 encoded characters, and there is also the new escape sequences \uFFFF and \UFFFFFFFF to insert UTF8 encoded unicode points in the string. Note that as this may affect some existing code, there is also a new engine property asEP_SCRIPT_SCANNER for setting whether ASCII or UTF8 should be used.
Also, don't forget to check out the bug fixes.
New developer references
2009/06/07 GPU Gems 3
2009/05/19 Visual C++ 2008 Express Edition And 64-Bit Targets
2009/05/15 Layered Variance Shadow Maps
2009/05/12 View Frustum Culling Tutorial
I've released a new version of the scripting library. Most of the changes done for this version is transparent to the application, and is in preparation for the new template types, however there are a few improvements that applications can take advantage of.
The tokenizer now recognizes the UTF-8 byte order mark as whitespace, which allows the application to properly compile unicode scripts. The upcoming versions will improve the international support even further.
The script compiler now permits prefixing the enum constants with the enum name for the situations where multiple enums declare the same name.
The value cast behaviour can now be used by the compiler to instanciate objects during casts even if the appropriate constructor isn't registered. Some bugs with the implicit conversions have also been fixed.
The callstack is no longer cleaned up immediately upon catching a script exception, instead it's only cleaned up when the context is released, or reused. This allows for examination of the callstack upon exceptions without using the exception callback.
In addition to that several bugs have been fixed, and I recommend checking out the change list for the details.
New developer references
2009/05/08 Parallel-Split Shadow Maps for Large-scale Virtual Environments
2009/04/22 BIOS Update per bootable USB-Stick
2009/04/15 ResEdit
2009/04/15 Inigo Quilez - fractals, computer graphics, mathematics, demoscene and more
2009/04/03 Deferred Lighting
A new version has been released. As traditionally with each .0 release a lot of work has been done with the interface, both to clean up some old things that didn't work too well, and to add the ability to better enumerate the entities of the scripts and registered interface. I really recommend checking the change list for the full details.
I've also worked on some add-ons for the library. First, I've now added the std::string registration as a standard add-on to complement the reference counted CScriptString. The other add-ons are all compatible with both std::string and CScriptString. I've modified the CScriptBuilder to permit removing the metadata processing through a preprocessor directive.
Perhaps the biggest news is the addition of automatic generation of wrapper functions for when the native calling conventions are not supported. Big thanks to George Yohng from 4Front Technologies for writing that code.
Also, don't forget to check out all the bug fixes.
New developer references
2009/03/13 CPUID for x64 Platforms and Microsoft Visual Studio* .NET 2005
I've uploaded a new version of BMFont that brings a few bug fixes. The select chars from UTF16 encoded files was broken. Thanks goes to Dmitry Lymar from 4A Games for discovering that. In some rare situations the packing algorithm would overlap characters in the texture. Thanks goes to John for discovering that. And finally, a typo in the documentation was detected by Thomas Leibelt.
I'm working on some real improvements too, but I wanted to get these bug fixes out to the people first.
New developer references
2009/02/22 Creating Fire in a Particle Editor
Two important milestones have been reached with this release. The first is the support for class inheritance for script classes. The second is full support for native calling conventions on 64bit Linux.
With this, the script language now supports single inheritance and interfaces, very similar to how Java works. Multiple inheritance is not supported, but is rarely needed as interfaces can almost always be used instead.
Full support for 64bit Linux is a major milestone, because this is the first full 64bit platform supported. AngelScript already had the support for PlayStation 3 and XBox 360, but these are not full 64bit platforms because the pointer size is still only 32bits.
Now I hope someone will be able to contribute support for native calling conventions on 64bit Windows, and also Nintendo Wii, which are two major platforms that are still only supported with the generic calling convention.
I'd like to thank a few people that have an important role in getting this version out of the door: BornToCode and scypior for discovering critical bugs in the script class factory functions, _Vicious_ for getting CAtomic to work on Linux without the need for kernel functions, Ionut "gargltk" Leonte for implementing the support for 64bit native calling conventions on Linux and for showing me valgrind, Jeremy Harmon for letting me use his 64bit Linux VPS to fix some lingering bugs, and to SiCrane for providing useful insights and testing during implementation of the inheritance support.
New developer references
2009/02/20 Building a Million-Particle System
2009/02/19 Collada
2009/02/18 Graphviz
2009/02/17 Natural Docs
2009/02/15 Valgrind
2009/02/10 GIMP
2009/02/08 StarCraft II - Effects and Techniques
2009/02/08 DynCall library
2009/02/06 LogMeIn Free
2009/02/03 ShaderX
2009/02/03 Linear-Speed Vertex Cache Optimisation
2009/01/29 Jamendo.com
I've uploaded version 2.15.1 of AngelScript. This is a maintenance release with no new functionality. It brings several bug fixes and performance improvements in multithreaded applications.
New developer references
2009/01/21 C++ Templates Tutorial
2009/01/20 Google SketchUp
2009/01/05 Parallel-Split Shadow Maps on Programmable GPUs