Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


We're also offering banner ads on our site from just $5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


- - - - -

RegisterScriptArray fails


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
7 replies to this topic

#1 Kilobyte22   Members   -  Reputation: 105

Like
0Likes
Like

Posted 31 May 2014 - 08:41 AM

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


Edited by Kilobyte22, 31 May 2014 - 08:42 AM.


Sponsor:

#2 Andreas Jonsson   Moderators   -  Reputation: 3415

Like
0Likes
Like

Posted 31 May 2014 - 03:03 PM

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

#3 Kilobyte22   Members   -  Reputation: 105

Like
0Likes
Like

Posted 07 June 2014 - 11:25 AM

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.

Edited by Kilobyte22, 07 June 2014 - 11:43 AM.


#4 Andreas Jonsson   Moderators   -  Reputation: 3415

Like
0Likes
Like

Posted 07 June 2014 - 12:31 PM

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

#5 Kilobyte22   Members   -  Reputation: 105

Like
0Likes
Like

Posted 07 June 2014 - 12:47 PM

sure, gonna try WIP, will tell my results

 

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


Edited by Kilobyte22, 07 June 2014 - 12:58 PM.


#6 Andreas Jonsson   Moderators   -  Reputation: 3415

Like
0Likes
Like

Posted 07 June 2014 - 02:06 PM

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

#7 Kilobyte22   Members   -  Reputation: 105

Like
0Likes
Like

Posted 07 June 2014 - 02:38 PM

Woot, thanks mate, it finally works \o/



#8 Andreas Jonsson   Moderators   -  Reputation: 3415

Like
0Likes
Like

Posted 07 June 2014 - 03:25 PM

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




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