Skip to content

Releases: zeta-group/zt-bcc

v0.10.0 alpha 2

02 Dec 19:47
Compare
Choose a tag to compare
v0.10.0 alpha 2 Pre-release
Pre-release

-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

12 Nov 21:07
Compare
Choose a tag to compare
v0.10.0 alpha 1 Pre-release
Pre-release
  • 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

17 Jan 03:54
Compare
Choose a tag to compare
  • 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.