Releases: zeta-group/zt-bcc
v0.10.0 alpha 2
-Added pointer types, same syntax as references but using *
instead of &
/?
.
-Added support for references/pointers into world/global arrays. Example: (int[] world:10* test;
)
-Added void
array nullable reference/pointer type. This type can be implicitly converted to any other reference/pointer type.
-Added internal
keyword to replace current private
.
-Added PTR_SPC
macro to libbcs. When defined before including libbcs, it's pointers and functions will use the world/global array specified. Example: (#define PTR_SPC global:42
).
-Added alloca
to libbcs, which will automatically free the memory after one tic.
-libbcs malloc
will now return 0
when appropriate.
-libbcs memory allocation will now display an error when out of memory.
-libbcs local heap size is 4x bigger by default (65536 words).
-libbcs errors/warnings are now colored.
-Deprecated private
keyword for object visibility (except when applied to namespaces).
v0.10.0 alpha 1
- Added libbcs.bcs. Currently provides malloc/realloc/free, dynamic array and C-style printf functions.
- Added zcommon.acs, which simply imports zcommon.bcs.
- Nullable array/struct references can now be cast to/from int, allowing some rudimentary pointer arithmetic.
- "::" is now the namespace separator. [Positron, for BCC]
- Added "lengthof()" operator. [Positron, for BCC]
- Deprecated ".length()" array/string member functions. [Positron, for BCC]
- Deprecated "." as namespace separator. [Positron, for BCC]
- "lengthof()" can take in structure references now.
- Diagnostic messages are now written to stderr instead of stdout.
Version 0.9.0
- Added #pragma raw define on/off, which allows enabling/disabling C-like preprocessor macros.
- Added #pragma raw include on/off, which allows enabling/disabling preprocessor include (can appear at almost any point in the file).
- Preprocessor directives are now case insensitive like the rest of the language.
- Fixed broken runtime assert message (was supposed to be tinted red originally, but the code for it was buggy).
- zt-bcc can now be used with SLADE to compile BCS code. Doom Builders should work too, but currently untested.
- Removed ACS/ACS95 compilation modes. If needed, BCC 0.8 or ACC can still be used for this purpose.
- zcommon.bcs should be up to date with all new Zandronum, GZDoom and K8Vavoom functions.
Source changes:
- Removed all non-standard functions (hopefully).
- Fixed all warnings, at least when compiling under MSYS2 with MinGW.
NOTE: If you downloaded before 9:35PM - 17 January 2023 (UTC), please redownload, as the wrong zcommon.bcs was bundled in the win32 zip.