Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


- - - - -

AngelScript 2.26.0 is out


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 Andreas Jonsson   Moderators   -  Reputation: 3452

Like
5Likes
Like

Posted 03 February 2013 - 10:16 AM

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 threadsafe 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 types arguments 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.

 

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

Sponsor:

#2 Jake Albano   Members   -  Reputation: 649

Like
0Likes
Like

Posted 03 February 2013 - 08:16 PM

register class methods as global functions without the need for wrappers.

 

I like the sound of that! Does this just mean we can use asMETHOD() instead of asFUNCTION() when registering global functions? That's going to make my life a lot easier.

 

Initialization at declaration is another thing I've been looking forward to. Thanks as always for all your work. :)



#3 Andre Santee   Members   -  Reputation: 227

Like
0Likes
Like

Posted 04 February 2013 - 06:15 AM

It is nice to see companies like Frictional games contributing to the development of AngelScript.


...

#4 Andreas Jonsson   Moderators   -  Reputation: 3452

Like
1Likes
Like

Posted 04 February 2013 - 07:52 AM

@Jake,

 

Yes, to register a class method (not static) as global function, you will use asMETHOD. In order for it to work the object pointer must also be informed at registration.

 

Example:

 

 

Object obj;
engine->RegisterGlobalFunction("void func()", asMETHOD(Object, Func), asCALL_THISCALL_ASGLOBAL, &obj);

 

See also the manual.

 

@André,

 

It is. It would appear that smaller independent developers that manages to get success are much more likely to support open source projects, than the larger developers that have more regular successes. My guess is that it is because these smaller developers are much more likely to know how it is to be short of funds, and thus more likely to sympathize with other small independent developers. smile.png


Edited by Andreas Jonsson, 04 February 2013 - 07:52 AM.

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

#5 saejox   Members   -  Reputation: 714

Like
0Likes
Like

Posted 04 February 2013 - 05:22 PM

Thank you Frictional Games and Thank you Andreas Jonsson.



#6 thd.MM   Members   -  Reputation: 208

Like
1Likes
Like

Posted 06 February 2013 - 02:36 AM

It seems the new version doesn't compile on Mac OSX (tested with 2 different systems):

 

c++ -g -Wall -fPIC -arch i386 -arch x86_64 -o obj/as_atomic.o -c ../../source/as_atomic.cpp
../../source/as_atomic.cpp:149: error: prototype for 'int asCAtomic::atomicDec(int&)' does not match any in class 'asCAtomic'
../../source/as_atomic.cpp:61: error: candidate is: asDWORD asCAtomic::atomicDec()
../../source/as_atomic.cpp:149: error: prototype for 'int asCAtomic::atomicDec(int&)' does not match any in class 'asCAtomic'
../../source/as_atomic.cpp:61: error: candidate is: asDWORD asCAtomic::atomicDec()
lipo: can't figure out the architecture type of: /var/tmp//ccdlDTNp.out

 

-EDIT-

 

Fixed!

Seemed like a typo at line 149 in as_atomic.cpp, should be:

 

int asAtomicDec(int &value)


Edited by thd.MM, 06 February 2013 - 03:40 AM.


#7 Andreas Jonsson   Moderators   -  Reputation: 3452

Like
0Likes
Like

Posted 06 February 2013 - 07:02 AM

Thanks. I'll have this fixed.

 

[edit] Checked in to revision 1546. 


Edited by Andreas Jonsson, 06 February 2013 - 04:05 PM.

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

#8 BClarenbach   Members   -  Reputation: 130

Like
1Likes
Like

Posted 06 February 2013 - 07:49 AM

* CScriptBuilder::AddSectionFromMemory() now requires a name and an optional length for the buffer in case it is not null terminated (Thanks Paril101)

 

was a dangerous change because it swaps the order of parameters but because of the new default parameter, its not obvious when you update. :)


Working with STL makes a lot more sense if you think about the "std::" as referring to Sexually Transmitted Diseases.

#9 Andreas Jonsson   Moderators   -  Reputation: 3452

Like
0Likes
Like

Posted 06 February 2013 - 09:24 AM

Yes, I had another user reporting problem because of that too. Sorry about that.


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

#10 FDsagizi   Members   -  Reputation: 514

Like
0Likes
Like

Posted 08 February 2013 - 12:19 AM

Thank you Frictional Games and Thank you Andreas Jonsson.smile.png 



#11 FDsagizi   Members   -  Reputation: 514

Like
0Likes
Like

Posted 08 February 2013 - 09:59 PM

The major new enhancement in this version is the support for initializing script class members directly in the declaration.

 

Using it for 2 days and it is very cool! I'm happy! 






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS