AngelScript 2.26.2

Started by
7 comments, last by WitchLord 11 years ago

This is a rather small release. I have been a bit wary about making bigger changes in the library the last few weeks because of the many bug reports that I had been receiving. While it's true that no software is never free of bugs, it's also not very pleasant when the number of reports coming in seems to be more than you can handle.

Luckily, it seems I've managed to get passed this phase as it's been quite a while since I've received any new valid bug reports and all the known bugs have been fixed. So I'm now ready to get started on new features again.

As a result of this phase this new release should be one of the best releases ever, with the least amount of bugs to trouble the users.

Even though the most of my time was spent on bug fixes, some new changes made it in. Probably the most notable addition is the new GetTypeTraits helper function. This is an add-on function that takes advantage of C++11 features to automatically determine the correct flags to use when registering a value type with the application. Thanks goes to Heuristics for contributing the initial implementation.

Another minor change is the ability to turn off compiler warnings by setting the engine property asEP_COMPILER_WARNINGS to false. It also possible to make the compiler treat warnings as errors, if so should be desired.

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

No worries, you're doing great. Thanks for this release!

KAG DEVLOG: http://kagdev.tumblr.com/

It appears that character literals are now treated as signed (most likely per rev 1600), but scriptstdstring addon's index operators still use uint8. This forces a rather awkward syntax needed for working with literals of high ASCII codes without getting any warnings:

somestring[5] == uint8('?');

I think character literals should stay unsigned, but in any case their sign should match that of the addon.

You're right. This was an oversight from my side. I'll have it corrected as soon as possible.

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

Actually, character literals are still unsigned. This was not changed when I changed integer numbers to be signed.

What settings do you have for the following engine properties?

asEP_SCRIPT_SCANNER

asEP_USE_CHARACTER_LITERALS

asEP_STRING_ENCODING

What is the compiler warning you get? And for what expression do you get them?

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

Indeed they are. I just realized that it is our preprocessor that converts the character literals into integers, as a normal step of preprocessing. We don't even have asEP_USE_CHARACTER_LITERALS enabled. Another false alarm!

Ah, you edited the message :)

So, your pre-processor is the one that treats the character literals as signed chars? Is this a home grown pre-processor?

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

It is an improved version of the good old preprocessor by Anthony Casteel (also known as Deyja), from sources dating back to 2005 or so. I was going to mention it in relation to the other topic: http://www.gamedev.net/topic/640629-cc-like-define-directive-patch-attached/

It is built over version 0.5 of that preprocessor. I couldn't find any newer version (if it ever existed), in fact I can't seem to find the original sources whatsoever, anywhere. In addition to the features from 0.5, our version includes:

- multiline macros,

- recursive macro expansion,

- token concatenation with ## operator,

- evaluation of constant expressions (somewhat incomplete),

- additional features for #pragmas,

- minor things such as #warning and #error,

- incidentally, character literals are now converted to unsigned integers.

It is still independent from AngelScritpt and is platform-agnostic, and features a working line number translation between sources and the preprocessed file. And it is still pretty lightweight.

I have hopes to release (or should I say re-release) it soon, although that's not entirely up to me. And following that, discuss a possibility of including it in AngelScript sdk in some way (probably as an addon).

Yes, I remember Deyja's pre-processor. I don't think he ever released a newer version than 0.5.

Perhaps rather than making it a part of the AngelScript SDK, it warrants being its own separate distribution? Similar to Blind Mind's JIT compiler and saejox' asPEEK debugger

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