Advertisement

Angelscript on flascc

Started by December 29, 2012 02:07 PM
5 comments, last by omkar 11 years, 9 months ago

I have successfully compiled Angelscript with max portability mode on flascc (new flash c++ compiler) and everything works fine but when i compile anything in Angelscript using build command it takes 6+ sec to compile even if that code is just of 4 lines.

This problem stops flash's swf file from executing further giving error in debug mode that script is executing for long time,
If i load byte code i get error saying stack recalculation required (this error is only in flascc compiled code not in windows or android).


There is one last thing that native Calling Conventions work for SetMessageCallback so i think it means all library doesn't need to be compiled with max portability mode, I didn't tried this yet but will see later.
So if someone knows why build takes so long time please tell me and i think its good idea to add official support for flascc as it only requires makefile from gnuc folder to compile thought there is configuration for this compiler in config file.

using Angelscript version : 22401

Native calling convention works for SetMessageCallback because AngelScript doesn't use the assembler routines to call the message callback. Instead the callback is called as a normal function pointer (or class method). This can be done because the argument types are known at the time of compiling the library.

I imagine the flash c++ compiler converts the C++ code into some intermediate code that flash understands, but this code is most likely not efficient enough for a complex application like a compiler. As for the stack recalculation error, it sounds like the stack size that flash provides isn't big enough to run the bytecode loader. You may want to check if there is a setting in flash c++ to increase the stack size.

I wasn't aware that flascc existed, but it's great to hear that it is capable of compiling AngelScript for flash, even though it would seem the performance still needs to be greatly improved. I'm sure as the flascc gains popularity it will be improved to generate better optimized code. Who knows, maybe soon you'll be able to compile ordinary C++ application into flash and run them where ever flash is available. smile.png

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 thanks for quick reply and this great library.

i think you are right it converts c++ code into some intermediate byte code but i will see what else can be done though i noticed one thing this long compilation time only occurs at first compilation but when compiling next time with same code build command only takes only few ms.
I have used angelscript for my game engine which i might release soon as zlib license like angelscript.
engine works on windows, android, flash and has good built in angelscript code editor with auto completion, syntax highlighting, auto formatting, on fly error checking when user is writing code, auto updating code completion list etc. maybe this one will be helpful for angelscript community but my code isn't clean and documents so i will think about this.

angelscript code editor with auto completion, syntax highlighting, auto formatting, on fly error checking when user is writing code, auto updating code completion list

You got one follower :D

I am always interested in productivity increasing code.

I agree. I think there will be a lot of people interested in seeing this. :)

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 look ver very interesting.... awaiting for more news!

Advertisement

I have released all code here.
binaries are in binaries folder just get binary folder and start GameEditor.exe and then click on script editor.
Although angel script editor cant be separated as it populates auto completion from functions/classes/variables registered in game.

This topic is closed to new replies.

Advertisement