You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.markdown
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
7
7
## 3.14.0 – Unreleased
8
8
9
9
> [!NOTE]
10
-
> [Atomic code execution](doc/syntax/REMOTE-CALLS.markdown#atomic-code-execution) are only guaranteed to execute correctly in the latest BE version (build 26658 or higher). The latest beta release (v154.3) doesn't provide necessary support for atomic code execution.
10
+
> [Atomic code execution](doc/syntax/REMOTE-CALLS.markdown#atomic-code-execution) are only guaranteed to execute correctly in the latest BE version (build 26658 or later). The latest beta release (v154.3) doesn't provide necessary support for atomic code execution.
11
11
12
12
> [!NOTE]
13
13
> The new [Mlog Watcher functionality](doc/syntax/TOOLS-MLOG-WATCHER.markdown) available with the tool app requires a new version of the Mlog Watcher mod. The new version has not yet been released, but a Mindustry 8-compatible build is available [here](https://github.com/Sharlottes/MlogWatcher/actions/runs/21562595822). To use that version, the `--watcher-version v1` command line argument must be specified.
@@ -26,7 +26,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
26
26
* Added support for nested atomic sections and atomic function calls from an atomic section. The entire topmost atomic section is executed atomically.
27
27
* Added support [atomic section merging](doc/syntax/REMOTE-CALLS.markdown#atomic-section-merging). The duration limit of a merged section can be specified using the [`atomic-merge-level` compiler option](/doc/syntax/SYNTAX-5-OTHER.markdown#option-atomic-merge-level) (one tick by default).
28
28
* Added a [`atomic-safety-margin` compiler option](/doc/syntax/SYNTAX-5-OTHER.markdown#option-atomic-safety-margin). No safety margin is necessary with the latest Mindustry BE build, though.
29
-
* Added support for the new version of [Mlog Watcher mod](/doc/syntax/TOOLS-MLOG-WATCHER.markdown) in the tool app. To use the new Mlog Watcher mod, the `--watcher-version v1` command-line argument needs to be specified.
29
+
* Added new tool app functionalities:
30
+
* Support for the new version of [Mlog Watcher mod](/doc/syntax/TOOLS-MLOG-WATCHER.markdown), providing several useful new ways to send or extract mlog code and schematics to/from a running game. To use the new Mlog Watcher mod, the `--watcher-version v1` command-line argument needs to be specified.
31
+
* Ability to execute mlog code loaded from a file on the processor emulator and for sending it to the Mlog Watcher. Use the new `pm` or `process-mlog` command-line argument.
32
+
* Ability to execute schematics loaded from a file on the processor emulator and for sending it to the new version of the Mlog Watcher. Use the new `ps` or `process-schematic` command-line argument.
30
33
* Added a validation step to the compiler to verify the generated code doesn't exceed the maximum number of instructions. The [`enforce-instruction-limit` compiler option](/doc/syntax/SYNTAX-5-OTHER.markdown#option-enforce-instruction-limit) can be used to control this behavior.
31
34
32
35
### Changed
@@ -1080,7 +1083,7 @@ Experimental features may contain bugs, break existing code or produce suboptima
1080
1083
* Added support for multiple loop variables in [list iteration loops](doc/syntax/SYNTAX-3-STATEMENTS.markdown#list-iteration-loops). Each iteration processes as many elements from the list as there are loop variables.
1081
1084
* Added an `out` keyword to be used with loop control variables in list iteration loop, allowing [list elements to be modified](doc/syntax/SYNTAX-3-STATEMENTS.markdown#modifications-of-variables-in-the-list).
1082
1085
* Added a new GUI option to choose an optimization level in the web app when compiling Mindcode or building Schemacode.
1083
-
* Added a capability to run the compiled code on an emulated processor, by using a `Compile and Run` button in the web app, or the [`--run` command line option](doc/syntax/TOOLS-CMDLINE.markdown#running-the-compiled-code). The output is shown in a separate control in the web app or written to the log when using the command line tool.
1086
+
* Added a capability to run the compiled code on an emulated processor, by using a `Compile and Run` button in the web app, or the [`--run` command line option](doc/syntax/TOOLS-CMDLINE.markdown#running-mlog-code-or-schematics). The output is shown in a separate control in the web app or written to the log when using the command line tool.
1084
1087
* Added a capability to the command line tool to compile several source files at once using the [`--append` command line argument](doc/syntax/TOOLS-CMDLINE.markdown#additional-input-files).
1085
1088
* Added new optimization level, `experimental`. When using this setting, the [Data Flow optimizer](doc/syntax/optimizations/DATA-FLOW-OPTIMIZATION.markdown) doesn't assume the assignments to global variables might be changed by editing the compiled code, allowing performing more optimizations on them. Program parameters must be used instead of global variables for program parametrization if this optimization level is used.
1086
1089
* Added [formattable string literals](doc/syntax/SYNTAX.markdown#formattable-string-literals), which allow formatting outputs of the `print` and `println` functions the same way as `printf` does.
@@ -1634,7 +1637,7 @@ Note: the bug fixed in this release only affects the command line tool. The web
1634
1637
and in the command line tool, so the change doesn't break existing code.
1635
1638
* Added support for the reintroduced `ucontrol pathfind` instruction. When issued, navigates the current unit to a given
1636
1639
location using AI to avoid obstacles. See [`ucontrol`](doc/syntax/FUNCTIONS-71.markdown#instruction-unit-control).
1637
-
* Added command line options for [Schematic Decompiler](doc/syntax/TOOLS-CMDLINE.markdown#decompile-schematic-action-help)
1640
+
* Added command line options for [Schematic Decompiler](doc/syntax/TOOLS-CMDLINE.markdown#process-schematic-action-help)
1638
1641
to specify order in which blocks are written to the schematic definition file and when to generate the `facing`
1639
1642
directive.
1640
1643
* Added support for [color configuration](doc/syntax/SCHEMACODE.markdown#color-configuration) and
Copy file name to clipboardExpand all lines: README.markdown
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Mindcode can generate code for several Mindustry versions. The target can be sel
30
30
At this moment, target `8` (or `8.1`) is also fully compatible with the latest Mindustry versions (154.3 Beta or BE build 26613).
31
31
32
32
> [!NOTE]
33
-
> The [atomic code blocks](doc/syntax/REMOTE-CALLS.markdown#atomic-code-execution) are only guaranteed to execute correctly in the latest BE version (build 26609 or higher). The latest beta release (v154.3) doesn't provide necessary support for atomic code blocks.
33
+
> The [atomic code blocks](doc/syntax/REMOTE-CALLS.markdown#atomic-code-execution) are only guaranteed to execute correctly in the latest BE version (build 26658 or later). The latest beta release (v154.3) doesn't provide necessary support for atomic code blocks.
34
34
35
35
[Here](/doc/syntax/MINDUSTRY-8.markdown#new-functionality-in-mindustry-8) is a summary of the new Logic content and corresponding Mindcode functionality in Mindustry 8.
36
36
@@ -54,7 +54,7 @@ The most important recent changes to Mindcode include:
54
54
55
55
* Mindustry Logic 8
56
56
* Complete support for [the latest Mindustry 8 pre-release](/doc/syntax/MINDUSTRY-8.markdown).
57
-
*[Atomic code blocks](doc/syntax/REMOTE-CALLS.markdown#atomic-code-execution) guaranteed to be executed atomically – without interruption.
57
+
*[Atomic code sections](doc/syntax/REMOTE-CALLS.markdown#atomic-code-execution) guaranteed to be executed atomically – without interruption.
58
58
* Full support for [remote functions and variables](doc/syntax/REMOTE-CALLS.markdown).
59
59
*[Array implementations](/doc/syntax/optimizations/ARRAY-OPTIMIZATION.markdown) using the Mindustry 8 Logic capabilities.
60
60
* New string/character-based instructions and character literals.
@@ -98,7 +98,7 @@ The [Mlog Assertions mod](https://github.com/cardillan/MlogAssertions), availabl
98
98
99
99
To learn more about Mindustry Logic, you can find more information about it here:
100
100
101
-
* Yruei's [Mlog Documentation](https://yrueii.github.io/MlogDocs/) (last updated December 2025)
101
+
* Yruei's [Mlog Documentation](https://yrueii.github.io/MlogDocs/) (last updated January 2026)
Copy file name to clipboardExpand all lines: doc/syntax/TOOLS-CMDLINE.markdown
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,9 @@ After building the project, an executable jar file is created at `compiler\targe
10
10
The command line tool supports three different actions. The action is specified by the first command line argument, which must be one of the following:
11
11
12
12
*`cm` or `compile-mindcode`: compiles a Mindcode source to mlog.
13
-
*`dm` or `decompile-mlog`: partially decompiles an mlog code into Mindcode. The resulting code needs to be manually edited to create loops and conditions present in the original mlog.
13
+
*`pm` or `process-mlog`: loads mlog code from a file or an in-game processor for further processing (partially decompiling into a Mindcode source, running on the internal emulator or sending to an in-game processor). In the case of decompilation, the resulting code needs to be manually edited to create loops and conditions present in the original mlog.
14
14
*`cs` or `compile-schematic`: builds a schematic from a Schemacode source into a binary `.msch` file.
15
-
*`ds` or `decompile-schematic`: decompiles a binary `.msch` file to a Schemacode source.
15
+
*`ps` or `process-schematic`: loads schematic from a binary `.msch` file or the in-game Schematics Library for further processing (decompiling into a Schemacode definition file, running on the internal emulator or sending to the in-game library).
16
16
17
17
Command-line arguments (e.g., `--remarks`) are case-sensitive. Values of command-line options (e.g., `none`) are generally case-insensitive. It is possible to use both `--remarks none` and `--remarks NONE`, although the lower-case specification is preferred. All multi-word command-ine options use _kebab-case_ convention.
18
18
@@ -38,7 +38,7 @@ The `-l` argument can be used to specify a log file, a file which receives messa
38
38
39
39
## Mlog Watcher integration
40
40
41
-
The command-line tool can send the compiled code directly into a processor in a running Mindustry game through the Mlog Watcher mod. See [Mlog Watcher](TOOLS-MLOG-WATCHER.markdown) for details.
41
+
The command-line tool can send the compiled code or schematic directly into a processor in a running Mindustry game through the Mlog Watcher mod. See [Mlog Watcher](TOOLS-MLOG-WATCHER.markdown) for details.
42
42
43
43
## Clipboard integration
44
44
@@ -47,15 +47,15 @@ When compiling Mindcode or building a schematic, the `-c` or `--clipboard` argum
47
47
*_Compile Mindcode_ action: clipboard contains mlog instructions which can be pasted into a processor on the processor configuration screen, by using **Edit/Import from clipboard** command.
48
48
*_Compile Schematic_ action: clipboard contains a schematic encoded into Mindustry Schematic string, which can be pasted as a new schematic on the Schematics screen, by using **Import schematic.../Import from clipboard** command.
49
49
50
-
## Running the compiled code
50
+
## Running mlog code or schematics
51
51
52
-
When performing the _Compile Mindcode_ action, it is possible to use the `--run` command line option to run the resulting mlog code on an emulated processor. The processor is much faster than Mindustry Logic processors but supports only very few operations that interact with the Mindustry World.
52
+
It is possible to use the `--run` command line option to run mlog code or schematic on a built-in processor/schematic emulator. The processor is much faster than Mindustry Logic processors but supports only very few operations that interact with the Mindustry World.
53
53
54
54
The behavior of the processor emulator can be further modified through the execution flags. For more details, refer to the [processor emulator](TOOLS-PROCESSOR-EMULATOR.markdown) documentation.
55
55
56
56
## Compiler options
57
57
58
-
Compiler options, such as target Mindustry Logic version and compiler optimizations, can be specified for _Compile Mindcode_and _Compile schema_ actions. See the command line help for more details.
58
+
Compiler options, such as target Mindustry Logic version and compiler optimizations, can be specified for the [Compile Mindcode](#compile-mindcode-action-help)and [Compile schematic](#compile-schematic-action-help) actions. See the command line help for more details.
59
59
60
60
# Command line help
61
61
@@ -425,7 +425,7 @@ Emulator options:
425
425
stop execution when a compiler-generated runtime check fails.
0 commit comments