diff --git a/Changelog.md b/Changelog.md index 59ede2b..e5edd08 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,11 @@ # Changelog +[0.4.0] + +- First pass getting compiled IC10 to output along side the Slang source code + - IC10 side is currently not scrollable, and text might be cut off from the bottom, + requiring newlines to be added to the bottom of the Slang source if needed + [0.3.4] - Added support for `loadReagent`, which maps to the `lr` IC10 instruction diff --git a/ModData/About/About.xml b/ModData/About/About.xml index 5e0bd4d..a9e948d 100644 --- a/ModData/About/About.xml +++ b/ModData/About/About.xml @@ -2,7 +2,7 @@ Slang JoeDiertay - 0.3.4 + 0.4.0 [h1]Slang: High-Level Programming for Stationeers[/h1] @@ -23,6 +23,8 @@ Slang (Stationeers Language) brings modern programming to Stationeers. It allows [*] [b]Optimizations:[/b] Features like Constant Folding calculate math at compile time to save instructions. [*] [b]Device Aliasing:[/b] Simple mapping: device sensor = "d0". [*] [b]Temperature Literals:[/b] Don't worry about converting Celsius to Kelvin anymore. Define your temperatures as whatever you want and append the proper suffix at the end (ex. 20c, 68f, 293.15k) +[*] [b]Side-by-side IC10 output:[/b] Preview the compiled IC10 alongside the Slang source code. What you see is what you get. +[*] [b]Compiler Optimizations:[/b] Slang now does its best to safely optimize the output IC10, removing labels, unnecessary moves, etc. [/list] [h2]Installation[/h2] @@ -50,16 +52,12 @@ loop { [h2]Known Issues (Beta)[/h2] [list] -[*] [b]Code Size:[/b] Compiled output is currently more verbose than hand-optimized assembly. Optimization passes are planned. -[*] [b]Stack Access:[/b] Direct stack memory access is disabled to prevent conflicts with the compiler's internal memory management. +[*] [b]Stack Access:[/b] Direct stack memory access is disabled to prevent conflicts with the compiler's internal memory management. A workaround is being planned. [*] [b]Documentation:[/b] In-game tooltips for syscalls (like load, set) are WIP. Check the "Slang" entry in the Stationpedia (F1) for help. -[*] [b]Debugging:[/b] Runtime errors currently point to the compiled IC10 line number, not your Slang source line. Source mapping is coming soon. [/list] [h2]Planned Features[/h2] [list] -[*] Side-by-side view: Slang vs. Compiled IC10. -[*] Compiler optimizations (dead code elimination, smarter register allocation). [*] Enhanced LSP features (Autocomplete, Go to Definition). [*] Full feature parity with all IC10 instructions. [*] Tutorials and beginner script examples. diff --git a/csharp_mod/Plugin.cs b/csharp_mod/Plugin.cs index 75ed957..d33b721 100644 --- a/csharp_mod/Plugin.cs +++ b/csharp_mod/Plugin.cs @@ -41,7 +41,7 @@ namespace Slang { public const string PluginGuid = "com.biddydev.slang"; public const string PluginName = "Slang"; - public const string PluginVersion = "0.3.4"; + public const string PluginVersion = "0.4.0"; public static Mod MOD = new Mod(PluginName, PluginVersion); diff --git a/csharp_mod/stationeersSlang.csproj b/csharp_mod/stationeersSlang.csproj index e8210ec..e7aba92 100644 --- a/csharp_mod/stationeersSlang.csproj +++ b/csharp_mod/stationeersSlang.csproj @@ -5,7 +5,7 @@ enable StationeersSlang Slang Compiler Bridge - 0.3.2 + 0.4.0 true latest diff --git a/rust_compiler/Cargo.toml b/rust_compiler/Cargo.toml index 4bdc1b7..ac41a84 100644 --- a/rust_compiler/Cargo.toml +++ b/rust_compiler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "slang" -version = "0.3.4" +version = "0.4.0" edition = "2021" [workspace]