0.5.0-pre3
Pre-release
Pre-release
This prerelease contains a highly experimental and extremely early version of truecl with support for TH06-TH095. (N.B. Th095 is missing signatures)
Instructions on how to run truecl can be found here: https://github.com/ExpHP/truth/releases/tag/0.5.0-pre1
Changes from 0.5.0-pre2:
- The old
_S
and_f
functions have been split into two types of operations:int(expr)
andfloat(expr)
for type-casts, and$(expr)
and%(expr)
to read a temporary as some type. (the two are the same in most languages, except EoSD ECL which does not auto-cast)- A patch can define intrinsics for these casts in EoSD ECL as
UnOp(int,float)
(cast to int) andUnOp(float,int)
(cast to float). Suggested signatures areSf
andSS
in line with other EoSD ops, butfS
should also work forfloat(...)
.
- A patch can define intrinsics for these casts in EoSD ECL as
- People strongly disliked the
.Name
syntax for unqualified enum consts so it is now simplyName
. - This unifies the concepts of automatic consts and enums, finally destroying the concept of automatic consts once and for all. The previously existing automatic const kinds are now builtin enums; e.g.
N
in a signature can now be equivalently written asS(enum="AnmScript")
. (this means you can now express e.g. a word-sized sprite)- The builtin enums are:
AnmScript
,AnmSprite
,MsgScript
,EclSub
,BitmapColorFormat
- The builtin enums are:
- An unqualified enum is now able to be used in a place without an enum type (e.g.
int x = Name
) provided that only one enum defines a const with that name. (this was necessary to continue supporting existing color format syntax in anm files, and just generally somehow felt appropriate given the change from.Name
toName
)