🎉 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!

RegisterScriptArray fails

Started by
6 comments, last by WitchLord 10 years ago

i already posted on this on stackoverflow, but didn't get any reply there.

Here my original text:

i am trying to get an angelscript test running, however, calling RegisterScriptArray() fails


System function (1, 39) : ERR : Expected '<end of file>'
(0, 0) : ERR : Failed in call to function 'RegisterObjectBehaviour' with 'array' and 'array<T>@ f(int&in type, int&in list) {repeat T}' (Code: -10)

the code is:


engine = asCreateScriptEngine(ANGELSCRIPT_VERSION);

// message callback
int r = engine->SetMessageCallback(asFUNCTION(as_messageCallback), 0, asCALL_CDECL); assert( r >= 0 );

RegisterStdString(engine);
RegisterScriptArray(engine, false);

r = engine->RegisterGlobalFunction("void print(const string &in)", asFUNCTION(as_print), asCALL_CDECL); assert( r >= 0 );

What should i do? If i comment out the call it works, but thats obviously not what i want to archieve as i want arrays

So yeah, maybe i get an answer here. Maybe its actually a bug, i don't know

Advertisement

It would appear that you have a mismatching version of AngelScript and the add-on.

What version of AngelScript are you using?

Remove any previous versions of angelscript that you have and do a fresh compilation of both the library and your application.

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

i got myself the latest version from AUR (Arch Linux User Repository) which is 2.28.2-1, the plugins are self compiled, from 2.28.2. Compiling 2.28.2 core myself now, we'll see if that fixes it

EDIT:

So, now neither string registration nor array work. i get this error for string:


System function (1, 9) : ERR  : Expected '{'                                                                                                                                                   
System function (1, 9) : ERR  : Instead found '<end of file>'
 (0, 0) : ERR  : Failed in call to function 'RegisterObjectBehaviour' with 'string' and 'void f()' (Code: -10)
angelscript-standalone: scriptstdstring.cpp:553: void RegisterStdString_Native(asIScriptEngine*): Assertion `r >= 0' failed.

And this one for array:


 (0, 0) : ERR  : Failed in call to function 'RegisterObjectBehaviour' with 'array' and 'bool f(int&in, bool&out)' (Code: -7)
angelscript-standalone: scriptarray.cpp:254: void RegisterScriptArray_Native(asIScriptEngine*): Assertion `r >= 0' failed.

The add-ons and the library are definitely not using the same values for the asEBehaviours enum. Either you have a different version of angelscript.h somewhere in the system that the add-ons include, or you haven't done a clean build of your code so that the linker is still using the old .o files.

I don't know who maintains the Arch Linux User Repository and I can't vouch for the quality (though I doubt there is in anything wrong with it). You may also try getting the latest SDK from the official site instead. Or if you will, get the latest WIP version from the SVN.

I recommend the latest WIP, since it is what I'll release in a few days. I'm just updating the documentation with the new enhancements.

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

sure, gonna try WIP, will tell my results

EDIT: Umm.... how to compile addons again? don't find it on the documentation page anymore

You simply compile the source code for the add-ons together with the rest of your application. :)

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

Woot, thanks mate, it finally works \o/

Great! Good to know it was only a problem with mismatch in versions after all :)

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