Advertisement

AngelScript 2.15.2 is here with support for inheritance

Started by February 22, 2009 08:38 AM
8 comments, last by WitchLord 15 years, 9 months ago
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 "droz" 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.

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

Congratulations! Nice to see this project is going so strongly
Advertisement
Thanks evolutional. AngelScript's 6th anniversary is next month, and it is still growing steadily. :)

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

Oh damn, more work for me :P.
Thanks for the update :).
regards.
If you say "pls", because it is shorter than "please", I will say "no", because it is shorter than "yes"
http://nightlight2d.de/
And that's just the moving from 2.15.1 to 2.15.2. Imagine what he must have planned for 2.16.
:)

Each release is approximately the same size in terms of work hours. I try to keep each release 1 or 2 months apart. The version number is only to give you a hint of what has changed. The third number is changed when new features have been implemented but no interface changes where made, the second number is changed when the interface has suffered changes, and the first number is changed when major philosophy changes are made. Sometimes I make a bug fix only release, in which case I append a letter to the version number, e.g 2.15.2a.

For 2.16.0 I don't have any major new features planned, but rather several smaller ones, some including interface changes. You can see what I've planned for the next release on the WIP page.


As always, requests for new features are always welcome or even requests to prioritize some already planned feature.

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
Well, the feature I'd like to see next is being able to register functions as properties for exposed classes. Basically, when registering .NET classes with AngelScript, it's impossible to register a variable as an offset. The type the AngelScript sees is actually a special smart pointer that holds a handle to the object on the managed heap. So if you register a point class with AngelScript, you need to use .get_x() and .set_x() rather than .x.
I'll see what I can do to get these implemented as soon as possible. I've recently seen the need for these in my own game as well.

Getters/Setters for properties are however not easy to implement. It will be a while before I can get this fully supported.

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

The feature I'd really like is template classes.
I'm quite close to implementing the template classes. Maybe I can complete them for 2.17.0.

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