Advertisement

AngelScript 1.10.0 FINAL (2004/11/02)

Started by November 02, 2004 03:42 PM
44 comments, last by jetro 20 years ago
This is the largest update ever made in one release, during the AngelScript history. A very shortened list of updates that were made is:
  • Further optimized the VM with perhaps 1.5x average performance improvement
  • Quite a few bug fixes
  • A new boolean operator, xor, was added
  • The library interface was improved, especially functions that returned strings
  • ExecuteStep() now works as before (if the correct compile time flags are set)
  • ExecuteString() has gotten a much needed overhaul. It's now possible to call it recursively, and also from multiple threads at the same time.
  • The much awaited native support for arrays have finally been implemented. Now script writers can enjoy the full power of arrays in their functions. Application writers can easily register the exact array objects that they need for their functions, which makes the interaction very easy.
  • Basic support for multithreading has been added, though it can be disabled at compile time for those who need the extra performance. Those are the most important points. You can read the complete list on the AngelScript site. Enjoy!
  • AngelCode.com - game development and more - Reference DB - game developer references
    AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

    Aaaargh! All these updates, and No time to implement!
    Jayanth.KRaptor Entertainment Pvt. Ltd.http://www.raptorentertainment.com---------------------------------------------------------Why Mr. Anderson? Why? ...Why keep fighting? Do you think you're fighting for something - for more than your survival? Can you tell me what it is? Do you even know? Is it freedom, or truth, perhaps peace, could it be for love? Illusions Mr. Anderson, vagaries of perception. Temporary constructs of a feeble human intellect trying desperately to justify an existence without meaning or purpose.
    Advertisement
    No worries [wink]

    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 finally got some time to mess with AngelScript again, and it seems that the threading is causing crashes all over. None of the tests ran for me, they all crashed at ENTERCRITICALSECTION(criticalSection);

    The crashes went away when I declared NO_THREADS in the project. I believe multi-threading is still not working fully yet, but they are on by default in MSVC project found in angelscript\projects\msvc6. Also the "compiling and linking with the library" link at the top of http://www.angelcode.com/angelscript/ is broken.

    Not griping here, I LOVE angelscript. Just pointing out the problems I ran into just loading it up after a long break.

    Forgot to mention I am using MSVC 7 with MSVC 6 libraries if that had anything to do with it.

    [Edited by - lxnyce on November 4, 2004 10:21:25 AM]
    The problem is most likely because you're using MSVC7. The library works just fine in all my tests with multithreading turned on.

    Still I will set the NO_THREADS flag as on by default, since multithreading is not yet stable.

    Thanks for pointing out the broken link as well.

    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

    andreas
    take a look at http://softwire.sourceforge.net, it might help with the performance issues uve havin
    Cartman's definition of sexual harrasement:"When you are trying to have intercourse with a lady friend, and some other guy comes up and tickles your balls from behind"(watch South Park, it rocks)
    Advertisement
    1. Congratulations! What's next on the agenda? :)

    2. So, just to be clear:

    int a[5](6);

    would be the proper syntax in C++ to create an array of five floats initialized to the value 6. What is the syntax in angelscript?

    3. I'm glad that you added the output message to Build(), but now I get an "Invalid Configuration" and an asINVALID_CONFIGURATION with no idea as to *why* it is invalid.
    Dan Royer, OwnerMarginally Clever Games
    ceasar4:

    I'm aware of SoftWire, but AngelScript hasn't come so far as to compile directly to native code yet. Once it does I will most likely use SoftWire though.

    Thanks anyway.

    Aggrav8d:

    1. Thanks. What's next is AS2, with the slightly changed syntax. AS1 will also be improved with a few things, like initialization lists, -> operator overload, better compile speed, etc.

    2. AS still don't support automatic initialization of arrays, so in this case you'll have to write a loop to initialize each of the elements.

    int[] a(5);
    for( int n = 0; n < 5; n++ ) a[n] = 6;

    3. AS doesn't store the function call that failed during configuration. You'll have to verify each of the return codes. I recommend doing it like this:

    r = engine->RegisterObjectType(...); assert( r >= 0 );
    r = engine->RegisterObjectMethod(...); assert( r >= 0 );
    r = engine->RegisterObjectMethod(...); assert( r >= 0 );
    r = engine->RegisterGlobalFunction(...); assert( r >= 0 );

    This doesn't polute the code with lots of if statements, and it will let you easily find the problem in debug mode. In release mode the return codes aren't verified but they won't fail if they don't fail in debug mode (unless I made a mistake somewhere).

    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 manage to hit the assert(false) at the end of Dereference() without getting any kind of error message or code. What should I be looking for?

    Digging a little further I see that it is trying to do a conversion but the type->dataType.GetSizeInMemoryDWords() is equal to 16 (!!)


    [Edited by - Aggrav8d on November 5, 2004 1:44:23 PM]
    Dan Royer, OwnerMarginally Clever Games
    You have probably stumbled upon a bug. I'm guessing it is related to registered types and the way asCDataType changed for 1.10.0. Is it possible for you to give me a sample code that reproduces the assert failure?

    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