Skip to content

3.6.1

Latest
Compare
Choose a tag to compare
@cardillan cardillan released this 06 Jun 15:47
· 1 commit to main since this release

3.6.1 - 2025-06-06

Fixed

  • Fixed the compiler refusing compile-time expressions with unrepresentable values (#262).
  • Fixed the Data Flow optimization producing unrepresentable mlog values (#263).
  • Fixed the Print Merging optimization merging prints across function calls (#264).
  • Fixed wrong evaluation of compile-time expressions with character literals (#265).
  • Fixed erroneous loop unrolling optimization (#266).
  • Fixed internal error in Schemacode builder on missing link name (#267).

Added

  • Added support for the >>> (unsigned right shift) operator to the compiler for targets preceding 8. In these earlier targets, the operation is emulated by a sequence of up to seven instructions.
  • Several compiler-defined constants were added.
  • The printExactBinary and printExactHex functions were added to the printing system library. The functions print all digits (64 or 16, respectively) of the input number, without a prefix. Negative numbers are printed without a minus sign, but with the sign bit set.
  • Added missing support for new Mindustry 8 blocks to Schemacode (e.g., @landing-pad including support for configuration, and @tile-logic-display).

Changed

  • Inactive branches in if expressions with compile-time constant conditions are now omitted from compiling, effectively amounting to conditional compilation. Note: this feature was already implemented in past versions, but got meanwhile deactivated due to a bug.
  • The formatBinaryNumber, printBinaryNumber, formatHexNumber and printHexNumber functions in the printing system library were updated to support formatting/printing negative numbers. A minus sign is printed in front of a negative number, including its prefix.

Assets