Welcome to AngelCode.com. Here you'll find resources for game development and more.

The most popular visits here are to the following pages: AngelScript - a powerful and free scripting library, BMFont - a free bitmap font generator, or RefDB - a database of useful developer resources. But feel free to browse the site for more resources.

AngelCode.com is maintained by Andreas Jönsson since 2001. Please help the continued maintainance and further development of the resources here with a donation.

Latest updates

2013-05-08   AngelScript 2.26.3

In this release I've implemented support for delegates, which is an extension of the previously available function handles. With delegates it is now possible to pass class methods as callbacks where an ordinary function handle is expected.

I've also finally taken the time to implement recursive search for symbols in parent namespaces. This should make the namespace feature much easier to use as you'll no longer have to prefix all the global symbols when compiling a function in a namespace.

The engine has a new property to allow an application to disable support for value assignments for reference types. While this may sound like a something bad, it is actually making the language less ambiguous when dealing with reference types. Too often do script writers make a value assignment when they actually intended to make a handle assignment.

The script builder add-on now also have methods to enumerate the script sections that were included in a module. This is an useful feature when caching the compiled bytecode, as you'll now know which files to check for updates in.

And finally I added a couple of add-on functions for doing a direct conversion from float to int, called fpToIEEE and fpFromIEEE. These are meant to be platform agnostic so they'll work even if the CPU where the script is running isn't using the IEEE standard natively to represent floating point values.

2013-03-31   AngelScript 2.26.2

This is a rather small release. I have been a bit wary about making bigger changes in the library the last few weeks because of the many bug reports that I had been receiving. While it's true that no software is never free of bugs, it's also not very pleasant when the number of reports coming in seems to be more than you can handle.

Luckily, it seems I've managed to get passed this phase as it's been quite a while since I've received any new valid bug reports and all the known bugs have been fixed. So I'm now ready to get started on new features again.

As a result of this phase this new release should be one of the best releases ever, with the least amount of bugs to trouble the users.

Even though the most of my time was spent on bug fixes, some new changes made it in. Probably the most notable addition is the new GetTypeTraits helper function. This is an add-on function that takes advantage of C++11 features to automatically determine the correct flags to use when registering a value type with the application. Thanks goes to Heuristics for contributing the initial implementation.

Another minor change is the ability to turn off compiler warnings by setting the engine property asEP_COMPILER_WARNINGS to false. It also possible to make the compiler treat warnings as errors, if so should be desired.

2013-03-03   AngelScript 2.26.1

This new release brings several important bug fixes to problems that could cause crashes and other unexpected behaviours in some situations. It's highly recommended that the upgrade is made as soon as possible.

Besides the bug fixes this version also brings support for multiple subtypes in templates (Thanks Amer Koleci), support for native calling conventions with Linux and arm processors (Thanks Carlos Luna), and support for octal and binary literals (Thanks ketmar).

The script compiler has been enhanced to finally support implicit conversion from primitive types to registered value types by allowing the compiler to call the appropriate constructor. This has been a frequent request from users.

New developer references

2013-02-24   Raster to Vector conversion in a Local, Exact and Near optimal manner
2013-02-24   Raster to Vector Conversion of Images for Efficient SVG Representation

2013-02-03   AngelScript 2.26.0

It's been a while, a little over 2 months in fact, but a new version is now available.

The major new enhancement in this version is the support for initializing script class members directly in the declaration. The initialization expressions will then automatically be compiled in the constructors without the need for additional code. This is a feature that has been on my to-do list for a very long time, but thanks to a generous sponsorship from Frictional Games I had it implemented now, so you should all thank them for this enhancement.

Another feature that was added, and that has often been asked for, is the ability to register class methods as global functions without the need for wrappers.

Support for multithreading has also been enhanced a bit. The internal threadmanager can now be shared between multiple application modules with separate memory spaces (dlls). The library also exposes the functions asAtomicInc and asAtomicDec to make it easier to write thread safe add-ons.

Besides this a rather long list of minor enhancements and bug fixes have been included.

Unfortunately, a couple of important contributions from the community didn't make it into this version. Namely, support for multiple sub types in the script templates contributed by Amer Koleci, and support for native calling conventions on Linux with ARM processors contributed by Carlos Luna. I will have these added in the next release.