🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

AngelScript 2.7.1 released

Started by
7 comments, last by WitchLord 17 years, 7 months ago
It's been longer than usual since the last update, but now it is finally here. I've uploaded version 2.7.1, the latest stable version. There are only a couple of new features for this version, but they are what was needed to make the library complete again. I've added support for explicit dynamic casts between object handles. This permit the script writer to cast an interface handle to it's base class, or even to another interface implemented by the object. If the cast is invalid, the operator returns a null handle thus permitting logic based on object type. The other new feature is the support for PPC and other big endian CPUs. A big thanks goes out to Edward Rudd who did a lot of work on getting this working. 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

Advertisement
Hi Andreas,
I've tried v2.7.1 on MacOS X. Both on X86 and on PPC (Rosetta). But it has some serious problems. One my my scripts which heavily used boolean logic returns very strange results. On both processor types. That script worked fine under v2.7.0 on X86.

But my linear algebra library and the rest seem to works fine on X86 and PPC. So my guess is that something changed with the boolean operations.

And also many thanks to Edward Rudd for helping you with the PPC port.

Bye,
Martin
I had to change the way the boolean was handled slightly due to it having different size on different compilers and OS. I was probably not able to configure it correctly for your compiler.

Would you mind checking the as_config.h and verify if the settings are correct for your compiler?

You need to verify the AS_SIZEOF_BOOL, and perhaps also VALUE_OF_BOOLEAN_TRUE.

What compiler are you using? Is the compiler detected correctly in as_config.h?

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

Hi,
I'm using the GNU compiler and the complier seem to be detected correctly. Also the AS_SIZEOF_BOOL is set correctly.

I'm mainly using bits8 for my boolean and binary operations. Is it possible that the bools and bits8 did mess up a little bit.

As I said the rest seem to work fine. The problem seem to come from the binary/boolean operations.

Bye,
Martin
If you say the bool is setup correctly, then it is more likely that the problem is only with the bits8 type. Would it be possible for you to confirm if you're indeed having trouble with the bool type?

It's possible that the bitwise operators for 8bit and 16bit types have been overlooked. I'll check out the script that you sent me, and perform tests with the same operations.

I recommend that you use the bits type instead of bits8. AngelScript is better optimized for 32bit types and from what I see in your script it shouldn't make a difference in the result.

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

That worked :) I've changed all bits8 to bits and now all my scripts work correctly. On x86 and PPC.

So I guess the bug is somewhere in the bits8 bitwise operations.

const bits8	cbits=1<<5;int	                erg=cbits;    print("erg=" + erg);


Returns "erg=0" but it should be "erg=32". So the bitwise shift of "const bits8" doesn't seem to work. But it works if I use non-constant bits8. It also works for bits.

I hope that helps.

Bye,
Martin
I've fixed the bug that made the constant bits8 and bits16 variables fail. Would you mind giving the new version a try with your original script before I release it? It's version 81 in the SVN.

What I don't understand is why the script didn't work on Mac OS X with Intel CPU. This bug should only have affected big endian CPUs. Are you emulating PPC?

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

Hi,
I've tried it but I'm not sure if I actually downloaded the latest version 81 since it still fails. I've tested it natively on Mac Intel and emulated on Mac PPC.

Do I get version 81 in the SVN when I use the following command? :

svn co https://svn.sourceforge.net/svnroot/angelscript/trunk angelscript


Bye,
Martin
Yes, that is the command to get the latest revision.

What is the value of the ANGELSCRIPT_VERSION_STRING (from angelscript.h)? It should be "2.7.1a" for revision 81.

Can you test the test_feature? If that is working, then you're still having problem with something that I'm not testing against. Which means I'll have to investigate more.

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

This topic is closed to new replies.

Advertisement