# AngelScript 2.26.2

This topic is 1751 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

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

##### Share on other sites

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.

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

##### Share on other sites

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?

##### Share on other sites

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!

Edited by TheAtom

##### Share on other sites

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?

Edited by Andreas Jonsson

##### Share on other sites

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),

- 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).

##### Share on other sites

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