From: Greg Burri Date: Sun, 3 Nov 2024 22:45:58 +0000 (+0100) Subject: Lot of changes (Update to MDK2) X-Git-Url: http://git.euphorik.ch/index.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fmaster;p=SEScripts.git Lot of changes (Update to MDK2) --- diff --git a/.gitignore b/.gitignore index e623aa7..87fcdba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. +*backup* + .vs # User-specific files diff --git a/AutoPilot/AutoPilot.csproj b/AutoPilot/AutoPilot.csproj index 23f7ce1..227ed1b 100644 --- a/AutoPilot/AutoPilot.csproj +++ b/AutoPilot/AutoPilot.csproj @@ -1,59 +1,31 @@ - - - - - Debug - AnyCPU - {141E1804-F644-48F8-A3D8-BEFEEE66ECBA} - Exe - IngameScript - AutoPilot - v4.8 - 512 - true - - - - true - bin\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - true - 6 - - - - - - - - - - - - - - - - - - Always - - - Always - - - - - - - - - - - - - \ No newline at end of file + + + + netframework48 + IngameScript + 6 + false + Release;Debug + x64 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + diff --git a/AutoPilot/AutoPilot.mdk.ini b/AutoPilot/AutoPilot.mdk.ini new file mode 100644 index 0000000..5add8f4 --- /dev/null +++ b/AutoPilot/AutoPilot.mdk.ini @@ -0,0 +1,22 @@ +; This file is project specific and should be checked in to source control. + +[mdk] +; This is a programmable block script project. +; You should not change this. +type=programmableblock + +; Toggle trace (on|off) (verbose output) +trace=off + +; What type of minification to use (none|trim|stripcomments|lite|full) +; none: No minification +; trim: Removes unused types (NOT members). +; stripcomments: trim + removes comments. +; lite: stripcomments + removes leading/trailing whitespace. +; full: lite + renames identifiers to shorter names. +minify=none + +; A list of files and folder to ignore when creating the script. +; This is a comma separated list of glob patterns. +; See https://code.visualstudio.com/docs/editor/glob-patterns +ignores=obj/**/*,MDK/**/*,**/*.debug.cs diff --git a/AutoPilot/AutoPilot.mdk.local.ini b/AutoPilot/AutoPilot.mdk.local.ini new file mode 100644 index 0000000..4b66820 --- /dev/null +++ b/AutoPilot/AutoPilot.mdk.local.ini @@ -0,0 +1,7 @@ +; This file is _local_ to your machine and should not be checked in to source control. + +[mdk] +; Where to output the script to (auto|specific path) +output=auto +; Override the default binary path (auto|specific path) +binarypath=auto \ No newline at end of file diff --git a/AutoPilot/MDK/Bootstrapper.cs b/AutoPilot/MDK/Bootstrapper.cs deleted file mode 100644 index dd86886..0000000 --- a/AutoPilot/MDK/Bootstrapper.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Malware.MDKUtilities; - -namespace IngameScript.MDK -{ - public class TestBootstrapper - { - // All the files in this folder, as well as all files containing the file ".debug.", will be excluded - // from the build process. You can use this to create utilites for testing your scripts directly in - // Visual Studio. - - static TestBootstrapper() - { - // Initialize the MDK utility framework - MDKUtilityFramework.Load(); - } - - public static void Main() - { - // In order for your program to actually run, you will need to provide a mockup of all the facilities - // your script uses from the game, since they're not available outside of the game. - - // Create and configure the desired program. - var program = MDKFactory.CreateProgram(); - MDKFactory.Run(program); - } - } -} \ No newline at end of file diff --git a/AutoPilot/MDK/MDK.options.props b/AutoPilot/MDK/MDK.options.props deleted file mode 100644 index 0a291ca..0000000 --- a/AutoPilot/MDK/MDK.options.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - - 1.5.17 - - no - - - None - - - mdk - - - \ No newline at end of file diff --git a/AutoPilot/MDK/MDK.paths.props b/AutoPilot/MDK/MDK.paths.props deleted file mode 100644 index 6cd170a..0000000 --- a/AutoPilot/MDK/MDK.paths.props +++ /dev/null @@ -1,81 +0,0 @@ - - - - - 1.4.14 - no - G:\SteamLibrary\SteamApps\common\SpaceEngineers\Bin64 - c:\users\lyssmetal\appdata\local\microsoft\visualstudio\17.0_6c02a30d\extensions\twejjmj5.r1e - C:\Users\LyssMetal\AppData\Roaming\SpaceEngineers\IngameScripts\local - - - - $(MDKGameBinPath)\Sandbox.Common.dll - false - - - $(MDKGameBinPath)\Sandbox.Game.dll - false - - - $(MDKGameBinPath)\Sandbox.Graphics.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.Game.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.ObjectBuilders.dll - false - - - $(MDKGameBinPath)\VRage.dll - false - - - $(MDKGameBinPath)\VRage.Audio.dll - false - - - $(MDKGameBinPath)\VRage.Game.dll - false - - - $(MDKGameBinPath)\VRage.Input.dll - false - - - $(MDKGameBinPath)\VRage.Library.dll - false - - - $(MDKGameBinPath)\VRage.Math.dll - false - - - $(MDKGameBinPath)\VRage.Render.dll - false - - - $(MDKGameBinPath)\VRage.Render11.dll - false - - - $(MDKGameBinPath)\VRage.Scripting.dll - false - - - $(MDKInstallPath)\MDKUtilities.dll - true - - - $(MDKGameBinPath)\System.Collections.Immutable.dll - false - - - - \ No newline at end of file diff --git a/AutoPilot/packages.config b/AutoPilot/packages.config new file mode 100644 index 0000000..0653ff6 --- /dev/null +++ b/AutoPilot/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/BaseMiner/BaseApp.csproj b/BaseMiner/BaseApp.csproj deleted file mode 100644 index 0681571..0000000 --- a/BaseMiner/BaseApp.csproj +++ /dev/null @@ -1,57 +0,0 @@ - - - - - Debug - AnyCPU - {22A83955-FE9B-4EBA-8980-D9DE01353C4C} - Exe - IngameScript - BaseApp - v4.8 - 512 - true - - - - true - bin\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - true - 6 - - - - - - - - - - - - - - - - - - Always - - - Always - - - - - - - - - - - \ No newline at end of file diff --git a/BaseMiner/BaseMiner.csproj b/BaseMiner/BaseMiner.csproj new file mode 100644 index 0000000..227ed1b --- /dev/null +++ b/BaseMiner/BaseMiner.csproj @@ -0,0 +1,31 @@ + + + + netframework48 + IngameScript + 6 + false + Release;Debug + x64 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + diff --git a/BaseMiner/BaseMiner.mdk.ini b/BaseMiner/BaseMiner.mdk.ini new file mode 100644 index 0000000..5add8f4 --- /dev/null +++ b/BaseMiner/BaseMiner.mdk.ini @@ -0,0 +1,22 @@ +; This file is project specific and should be checked in to source control. + +[mdk] +; This is a programmable block script project. +; You should not change this. +type=programmableblock + +; Toggle trace (on|off) (verbose output) +trace=off + +; What type of minification to use (none|trim|stripcomments|lite|full) +; none: No minification +; trim: Removes unused types (NOT members). +; stripcomments: trim + removes comments. +; lite: stripcomments + removes leading/trailing whitespace. +; full: lite + renames identifiers to shorter names. +minify=none + +; A list of files and folder to ignore when creating the script. +; This is a comma separated list of glob patterns. +; See https://code.visualstudio.com/docs/editor/glob-patterns +ignores=obj/**/*,MDK/**/*,**/*.debug.cs diff --git a/BaseMiner/BaseMiner.mdk.local.ini b/BaseMiner/BaseMiner.mdk.local.ini new file mode 100644 index 0000000..4b66820 --- /dev/null +++ b/BaseMiner/BaseMiner.mdk.local.ini @@ -0,0 +1,7 @@ +; This file is _local_ to your machine and should not be checked in to source control. + +[mdk] +; Where to output the script to (auto|specific path) +output=auto +; Override the default binary path (auto|specific path) +binarypath=auto \ No newline at end of file diff --git a/BaseMiner/MDK/Bootstrapper.cs b/BaseMiner/MDK/Bootstrapper.cs deleted file mode 100644 index dd86886..0000000 --- a/BaseMiner/MDK/Bootstrapper.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Malware.MDKUtilities; - -namespace IngameScript.MDK -{ - public class TestBootstrapper - { - // All the files in this folder, as well as all files containing the file ".debug.", will be excluded - // from the build process. You can use this to create utilites for testing your scripts directly in - // Visual Studio. - - static TestBootstrapper() - { - // Initialize the MDK utility framework - MDKUtilityFramework.Load(); - } - - public static void Main() - { - // In order for your program to actually run, you will need to provide a mockup of all the facilities - // your script uses from the game, since they're not available outside of the game. - - // Create and configure the desired program. - var program = MDKFactory.CreateProgram(); - MDKFactory.Run(program); - } - } -} \ No newline at end of file diff --git a/BaseMiner/MDK/MDK.options.props b/BaseMiner/MDK/MDK.options.props deleted file mode 100644 index 0a291ca..0000000 --- a/BaseMiner/MDK/MDK.options.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - - 1.5.17 - - no - - - None - - - mdk - - - \ No newline at end of file diff --git a/BaseMiner/MDK/MDK.paths.props b/BaseMiner/MDK/MDK.paths.props deleted file mode 100644 index 6cd170a..0000000 --- a/BaseMiner/MDK/MDK.paths.props +++ /dev/null @@ -1,81 +0,0 @@ - - - - - 1.4.14 - no - G:\SteamLibrary\SteamApps\common\SpaceEngineers\Bin64 - c:\users\lyssmetal\appdata\local\microsoft\visualstudio\17.0_6c02a30d\extensions\twejjmj5.r1e - C:\Users\LyssMetal\AppData\Roaming\SpaceEngineers\IngameScripts\local - - - - $(MDKGameBinPath)\Sandbox.Common.dll - false - - - $(MDKGameBinPath)\Sandbox.Game.dll - false - - - $(MDKGameBinPath)\Sandbox.Graphics.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.Game.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.ObjectBuilders.dll - false - - - $(MDKGameBinPath)\VRage.dll - false - - - $(MDKGameBinPath)\VRage.Audio.dll - false - - - $(MDKGameBinPath)\VRage.Game.dll - false - - - $(MDKGameBinPath)\VRage.Input.dll - false - - - $(MDKGameBinPath)\VRage.Library.dll - false - - - $(MDKGameBinPath)\VRage.Math.dll - false - - - $(MDKGameBinPath)\VRage.Render.dll - false - - - $(MDKGameBinPath)\VRage.Render11.dll - false - - - $(MDKGameBinPath)\VRage.Scripting.dll - false - - - $(MDKInstallPath)\MDKUtilities.dll - true - - - $(MDKGameBinPath)\System.Collections.Immutable.dll - false - - - - \ No newline at end of file diff --git a/BaseMiner/Program.cs b/BaseMiner/Program.cs index 0275435..23c6a6e 100644 --- a/BaseMiner/Program.cs +++ b/BaseMiner/Program.cs @@ -61,7 +61,7 @@ namespace IngameScript this.output.Print("Base system starting..."); this.InitMiningSystem(); - + this.minerConnector = this.GridTerminalSystem.GetBlockWithName("[Base] Connector Miner") as IMyShipConnector; if (this.minerConnector == null) this.output.Print($"Error: miner connector not found"); diff --git a/BaseMiner/packages.config b/BaseMiner/packages.config new file mode 100644 index 0000000..0653ff6 --- /dev/null +++ b/BaseMiner/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/MiningRover/MDK/Bootstrapper.cs b/MiningRover/MDK/Bootstrapper.cs deleted file mode 100644 index dd86886..0000000 --- a/MiningRover/MDK/Bootstrapper.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Malware.MDKUtilities; - -namespace IngameScript.MDK -{ - public class TestBootstrapper - { - // All the files in this folder, as well as all files containing the file ".debug.", will be excluded - // from the build process. You can use this to create utilites for testing your scripts directly in - // Visual Studio. - - static TestBootstrapper() - { - // Initialize the MDK utility framework - MDKUtilityFramework.Load(); - } - - public static void Main() - { - // In order for your program to actually run, you will need to provide a mockup of all the facilities - // your script uses from the game, since they're not available outside of the game. - - // Create and configure the desired program. - var program = MDKFactory.CreateProgram(); - MDKFactory.Run(program); - } - } -} \ No newline at end of file diff --git a/MiningRover/MDK/MDK.options.props b/MiningRover/MDK/MDK.options.props deleted file mode 100644 index 0a291ca..0000000 --- a/MiningRover/MDK/MDK.options.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - - 1.5.17 - - no - - - None - - - mdk - - - \ No newline at end of file diff --git a/MiningRover/MDK/MDK.paths.props b/MiningRover/MDK/MDK.paths.props deleted file mode 100644 index 6cd170a..0000000 --- a/MiningRover/MDK/MDK.paths.props +++ /dev/null @@ -1,81 +0,0 @@ - - - - - 1.4.14 - no - G:\SteamLibrary\SteamApps\common\SpaceEngineers\Bin64 - c:\users\lyssmetal\appdata\local\microsoft\visualstudio\17.0_6c02a30d\extensions\twejjmj5.r1e - C:\Users\LyssMetal\AppData\Roaming\SpaceEngineers\IngameScripts\local - - - - $(MDKGameBinPath)\Sandbox.Common.dll - false - - - $(MDKGameBinPath)\Sandbox.Game.dll - false - - - $(MDKGameBinPath)\Sandbox.Graphics.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.Game.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.ObjectBuilders.dll - false - - - $(MDKGameBinPath)\VRage.dll - false - - - $(MDKGameBinPath)\VRage.Audio.dll - false - - - $(MDKGameBinPath)\VRage.Game.dll - false - - - $(MDKGameBinPath)\VRage.Input.dll - false - - - $(MDKGameBinPath)\VRage.Library.dll - false - - - $(MDKGameBinPath)\VRage.Math.dll - false - - - $(MDKGameBinPath)\VRage.Render.dll - false - - - $(MDKGameBinPath)\VRage.Render11.dll - false - - - $(MDKGameBinPath)\VRage.Scripting.dll - false - - - $(MDKInstallPath)\MDKUtilities.dll - true - - - $(MDKGameBinPath)\System.Collections.Immutable.dll - false - - - - \ No newline at end of file diff --git a/MiningRover/MiningRover.csproj b/MiningRover/MiningRover.csproj index dd8931c..227ed1b 100644 --- a/MiningRover/MiningRover.csproj +++ b/MiningRover/MiningRover.csproj @@ -1,85 +1,31 @@ - - - - - Debug - AnyCPU - {DBCD62FE-F7AA-4A03-9241-0A4BE6952664} - Exe - IngameScript - MiningRover - v4.8 - 512 - true - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - true - bin\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - true - 6 - - - - - - - - - - - - - - - - - - Always - - - Always - - - - - - - - - False - Microsoft .NET Framework 4.8 %28x86 and x64%29 - true - - - False - .NET Framework 3.5 SP1 - false - - - - - - - - \ No newline at end of file + + + + netframework48 + IngameScript + 6 + false + Release;Debug + x64 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + diff --git a/MiningRover/MiningRover.csproj.old b/MiningRover/MiningRover.csproj.old new file mode 100644 index 0000000..560d61c --- /dev/null +++ b/MiningRover/MiningRover.csproj.old @@ -0,0 +1,97 @@ + + + + + + Debug + AnyCPU + {DBCD62FE-F7AA-4A03-9241-0A4BE6952664} + Exe + IngameScript + MiningRover + v4.8 + 512 + true + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + + true + bin\ + DEBUG;TRACE + full + x64 + prompt + MinimumRecommendedRules.ruleset + true + 6 + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + + + + + False + Microsoft .NET Framework 4.8 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/MiningRover/MiningRover.mdk.ini b/MiningRover/MiningRover.mdk.ini new file mode 100644 index 0000000..5add8f4 --- /dev/null +++ b/MiningRover/MiningRover.mdk.ini @@ -0,0 +1,22 @@ +; This file is project specific and should be checked in to source control. + +[mdk] +; This is a programmable block script project. +; You should not change this. +type=programmableblock + +; Toggle trace (on|off) (verbose output) +trace=off + +; What type of minification to use (none|trim|stripcomments|lite|full) +; none: No minification +; trim: Removes unused types (NOT members). +; stripcomments: trim + removes comments. +; lite: stripcomments + removes leading/trailing whitespace. +; full: lite + renames identifiers to shorter names. +minify=none + +; A list of files and folder to ignore when creating the script. +; This is a comma separated list of glob patterns. +; See https://code.visualstudio.com/docs/editor/glob-patterns +ignores=obj/**/*,MDK/**/*,**/*.debug.cs diff --git a/MiningRover/MiningRover.mdk.local.ini b/MiningRover/MiningRover.mdk.local.ini new file mode 100644 index 0000000..4b66820 --- /dev/null +++ b/MiningRover/MiningRover.mdk.local.ini @@ -0,0 +1,7 @@ +; This file is _local_ to your machine and should not be checked in to source control. + +[mdk] +; Where to output the script to (auto|specific path) +output=auto +; Override the default binary path (auto|specific path) +binarypath=auto \ No newline at end of file diff --git a/MiningRover/packages.config b/MiningRover/packages.config new file mode 100644 index 0000000..0653ff6 --- /dev/null +++ b/MiningRover/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/MissileController/.gitignore b/MissileController/.gitignore new file mode 100644 index 0000000..354bf1e --- /dev/null +++ b/MissileController/.gitignore @@ -0,0 +1,2 @@ +# MDK +MissileController.csproj.mdk.local.ini \ No newline at end of file diff --git a/MissileController/MDK/Bootstrapper.cs b/MissileController/MDK/Bootstrapper.cs deleted file mode 100644 index dd86886..0000000 --- a/MissileController/MDK/Bootstrapper.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Malware.MDKUtilities; - -namespace IngameScript.MDK -{ - public class TestBootstrapper - { - // All the files in this folder, as well as all files containing the file ".debug.", will be excluded - // from the build process. You can use this to create utilites for testing your scripts directly in - // Visual Studio. - - static TestBootstrapper() - { - // Initialize the MDK utility framework - MDKUtilityFramework.Load(); - } - - public static void Main() - { - // In order for your program to actually run, you will need to provide a mockup of all the facilities - // your script uses from the game, since they're not available outside of the game. - - // Create and configure the desired program. - var program = MDKFactory.CreateProgram(); - MDKFactory.Run(program); - } - } -} \ No newline at end of file diff --git a/MissileController/MDK/MDK.options.props b/MissileController/MDK/MDK.options.props deleted file mode 100644 index 0a291ca..0000000 --- a/MissileController/MDK/MDK.options.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - - 1.5.17 - - no - - - None - - - mdk - - - \ No newline at end of file diff --git a/MissileController/MDK/MDK.paths.props b/MissileController/MDK/MDK.paths.props deleted file mode 100644 index 6cd170a..0000000 --- a/MissileController/MDK/MDK.paths.props +++ /dev/null @@ -1,81 +0,0 @@ - - - - - 1.4.14 - no - G:\SteamLibrary\SteamApps\common\SpaceEngineers\Bin64 - c:\users\lyssmetal\appdata\local\microsoft\visualstudio\17.0_6c02a30d\extensions\twejjmj5.r1e - C:\Users\LyssMetal\AppData\Roaming\SpaceEngineers\IngameScripts\local - - - - $(MDKGameBinPath)\Sandbox.Common.dll - false - - - $(MDKGameBinPath)\Sandbox.Game.dll - false - - - $(MDKGameBinPath)\Sandbox.Graphics.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.Game.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.ObjectBuilders.dll - false - - - $(MDKGameBinPath)\VRage.dll - false - - - $(MDKGameBinPath)\VRage.Audio.dll - false - - - $(MDKGameBinPath)\VRage.Game.dll - false - - - $(MDKGameBinPath)\VRage.Input.dll - false - - - $(MDKGameBinPath)\VRage.Library.dll - false - - - $(MDKGameBinPath)\VRage.Math.dll - false - - - $(MDKGameBinPath)\VRage.Render.dll - false - - - $(MDKGameBinPath)\VRage.Render11.dll - false - - - $(MDKGameBinPath)\VRage.Scripting.dll - false - - - $(MDKInstallPath)\MDKUtilities.dll - true - - - $(MDKGameBinPath)\System.Collections.Immutable.dll - false - - - - \ No newline at end of file diff --git a/MissileController/MissileController.csproj b/MissileController/MissileController.csproj index bfd62ec..227ed1b 100644 --- a/MissileController/MissileController.csproj +++ b/MissileController/MissileController.csproj @@ -1,59 +1,31 @@ - - - - - Debug - AnyCPU - {F902E413-8F1A-423D-98A5-F26B684E28BA} - Exe - IngameScript - MissileController - v4.8 - 512 - true - - - - true - bin\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - true - 6 - - - - - - - - - - - - - - - - - - Always - - - Always - - - - - - - - - - - - - \ No newline at end of file + + + + netframework48 + IngameScript + 6 + false + Release;Debug + x64 + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + diff --git a/MissileController/MissileController.mdk.ini b/MissileController/MissileController.mdk.ini new file mode 100644 index 0000000..5add8f4 --- /dev/null +++ b/MissileController/MissileController.mdk.ini @@ -0,0 +1,22 @@ +; This file is project specific and should be checked in to source control. + +[mdk] +; This is a programmable block script project. +; You should not change this. +type=programmableblock + +; Toggle trace (on|off) (verbose output) +trace=off + +; What type of minification to use (none|trim|stripcomments|lite|full) +; none: No minification +; trim: Removes unused types (NOT members). +; stripcomments: trim + removes comments. +; lite: stripcomments + removes leading/trailing whitespace. +; full: lite + renames identifiers to shorter names. +minify=none + +; A list of files and folder to ignore when creating the script. +; This is a comma separated list of glob patterns. +; See https://code.visualstudio.com/docs/editor/glob-patterns +ignores=obj/**/*,MDK/**/*,**/*.debug.cs diff --git a/MissileController/MissileController.mdk.local.ini b/MissileController/MissileController.mdk.local.ini new file mode 100644 index 0000000..4b66820 --- /dev/null +++ b/MissileController/MissileController.mdk.local.ini @@ -0,0 +1,7 @@ +; This file is _local_ to your machine and should not be checked in to source control. + +[mdk] +; Where to output the script to (auto|specific path) +output=auto +; Override the default binary path (auto|specific path) +binarypath=auto \ No newline at end of file diff --git a/MissileController/Program.cs b/MissileController/Program.cs index 3fcc33c..dc0e79c 100644 --- a/MissileController/Program.cs +++ b/MissileController/Program.cs @@ -34,7 +34,7 @@ namespace IngameScript const float EPSILON = 0.05f; const double DELAY_BEFORE_TRAVELLING_MODE = 3000; // [ms]. - const double AUTO_DESTRUCTION_AFTER = 60000; // [ms] (1 min). + const double AUTO_DESTRUCTION_AFTER = 60000; // [ms] (1 min). Or if the hydrogen tank is empty. enum State diff --git a/MissileController/packages.config b/MissileController/packages.config new file mode 100644 index 0000000..0653ff6 --- /dev/null +++ b/MissileController/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/MissileLauncher/.gitignore b/MissileLauncher/.gitignore new file mode 100644 index 0000000..b6f50b2 --- /dev/null +++ b/MissileLauncher/.gitignore @@ -0,0 +1,2 @@ +# MDK +MissileLauncher.csproj.mdk.local.ini \ No newline at end of file diff --git a/MissileLauncher/MDK/Bootstrapper.cs b/MissileLauncher/MDK/Bootstrapper.cs deleted file mode 100644 index dd86886..0000000 --- a/MissileLauncher/MDK/Bootstrapper.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Malware.MDKUtilities; - -namespace IngameScript.MDK -{ - public class TestBootstrapper - { - // All the files in this folder, as well as all files containing the file ".debug.", will be excluded - // from the build process. You can use this to create utilites for testing your scripts directly in - // Visual Studio. - - static TestBootstrapper() - { - // Initialize the MDK utility framework - MDKUtilityFramework.Load(); - } - - public static void Main() - { - // In order for your program to actually run, you will need to provide a mockup of all the facilities - // your script uses from the game, since they're not available outside of the game. - - // Create and configure the desired program. - var program = MDKFactory.CreateProgram(); - MDKFactory.Run(program); - } - } -} \ No newline at end of file diff --git a/MissileLauncher/MDK/MDK.options.props b/MissileLauncher/MDK/MDK.options.props deleted file mode 100644 index 0a291ca..0000000 --- a/MissileLauncher/MDK/MDK.options.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - - 1.5.17 - - no - - - None - - - mdk - - - \ No newline at end of file diff --git a/MissileLauncher/MDK/MDK.paths.props b/MissileLauncher/MDK/MDK.paths.props deleted file mode 100644 index 6cd170a..0000000 --- a/MissileLauncher/MDK/MDK.paths.props +++ /dev/null @@ -1,81 +0,0 @@ - - - - - 1.4.14 - no - G:\SteamLibrary\SteamApps\common\SpaceEngineers\Bin64 - c:\users\lyssmetal\appdata\local\microsoft\visualstudio\17.0_6c02a30d\extensions\twejjmj5.r1e - C:\Users\LyssMetal\AppData\Roaming\SpaceEngineers\IngameScripts\local - - - - $(MDKGameBinPath)\Sandbox.Common.dll - false - - - $(MDKGameBinPath)\Sandbox.Game.dll - false - - - $(MDKGameBinPath)\Sandbox.Graphics.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.Game.dll - false - - - $(MDKGameBinPath)\SpaceEngineers.ObjectBuilders.dll - false - - - $(MDKGameBinPath)\VRage.dll - false - - - $(MDKGameBinPath)\VRage.Audio.dll - false - - - $(MDKGameBinPath)\VRage.Game.dll - false - - - $(MDKGameBinPath)\VRage.Input.dll - false - - - $(MDKGameBinPath)\VRage.Library.dll - false - - - $(MDKGameBinPath)\VRage.Math.dll - false - - - $(MDKGameBinPath)\VRage.Render.dll - false - - - $(MDKGameBinPath)\VRage.Render11.dll - false - - - $(MDKGameBinPath)\VRage.Scripting.dll - false - - - $(MDKInstallPath)\MDKUtilities.dll - true - - - $(MDKGameBinPath)\System.Collections.Immutable.dll - false - - - - \ No newline at end of file diff --git a/MissileLauncher/MissileLauncher.csproj b/MissileLauncher/MissileLauncher.csproj index 1e05b49..462908c 100644 --- a/MissileLauncher/MissileLauncher.csproj +++ b/MissileLauncher/MissileLauncher.csproj @@ -1,59 +1,34 @@ - - - - - Debug - AnyCPU - {761F968E-CE71-404B-A20A-7C1458D6C014} - Exe - IngameScript - MissileLauncher - v4.8 - 512 - true - - - - true - bin\ - DEBUG;TRACE - full - x64 - prompt - MinimumRecommendedRules.ruleset - true - 6 - - - - - - - - - - - - - - - - - - Always - - - Always - - - - - - - - - - - - - \ No newline at end of file + + + + netframework48 + IngameScript + 6 + false + Release;Debug + x64 + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + diff --git a/MissileLauncher/MissileLauncher.mdk.ini b/MissileLauncher/MissileLauncher.mdk.ini new file mode 100644 index 0000000..5add8f4 --- /dev/null +++ b/MissileLauncher/MissileLauncher.mdk.ini @@ -0,0 +1,22 @@ +; This file is project specific and should be checked in to source control. + +[mdk] +; This is a programmable block script project. +; You should not change this. +type=programmableblock + +; Toggle trace (on|off) (verbose output) +trace=off + +; What type of minification to use (none|trim|stripcomments|lite|full) +; none: No minification +; trim: Removes unused types (NOT members). +; stripcomments: trim + removes comments. +; lite: stripcomments + removes leading/trailing whitespace. +; full: lite + renames identifiers to shorter names. +minify=none + +; A list of files and folder to ignore when creating the script. +; This is a comma separated list of glob patterns. +; See https://code.visualstudio.com/docs/editor/glob-patterns +ignores=obj/**/*,MDK/**/*,**/*.debug.cs diff --git a/MissileLauncher/MissileLauncher.mdk.local.ini b/MissileLauncher/MissileLauncher.mdk.local.ini new file mode 100644 index 0000000..4b66820 --- /dev/null +++ b/MissileLauncher/MissileLauncher.mdk.local.ini @@ -0,0 +1,7 @@ +; This file is _local_ to your machine and should not be checked in to source control. + +[mdk] +; Where to output the script to (auto|specific path) +output=auto +; Override the default binary path (auto|specific path) +binarypath=auto \ No newline at end of file diff --git a/MissileLauncher/Program.cs b/MissileLauncher/Program.cs index 130d36d..3c50631 100644 --- a/MissileLauncher/Program.cs +++ b/MissileLauncher/Program.cs @@ -4,6 +4,7 @@ using Sandbox.Game.GameSystems; using Sandbox.ModAPI.Ingame; using Sandbox.ModAPI.Interfaces; +using SpaceEngineers.Game.Entities.Blocks; using SpaceEngineers.Game.ModAPI.Ingame; using System; @@ -21,141 +22,290 @@ using VRage.Game.GUI.TextPanel; using VRage.Game.ModAPI.Ingame; using VRage.Game.ModAPI.Ingame.Utilities; using VRage.Game.ObjectBuilders.Definitions; +using VRage.GameServices; using VRageMath; -using static VRageRender.Utils.MyWingedEdgeMesh; +// using static VRageRender.Utils.MyWingedEdgeMesh; namespace IngameScript { - enum State - { - NORMAL, - STARTING_SEQUENCE, - FILLING_TANK, - LAUNCHING, - } - class Missile { - string prefix; - readonly string tankName = "Hydrogen Tank"; - readonly string connectorName = "Connector"; - readonly string mergeBlockName = "Merge Block"; - readonly string programmableBlockName = "Programmable Block"; + //string prefix; + //readonly string tankName = "Hydrogen Tank"; + //readonly string connectorName = "Connector"; + //readonly string mergeBlockName = "Merge Block"; + //readonly string programmableBlockName = "Programmable Block"; - State currentState = State.NORMAL; + //State currentState = State.NOMINAL; - IMyGridTerminalSystem gridTerminalSystem; + //IMyGridTerminalSystem gridTerminalSystem; - IMyGasTank tank = null; - IMyShipConnector connector = null; - IMyShipMergeBlock mergeBlock = null; - IMyProgrammableBlock programmableBlock = null; + public IMyGasTank Tank { get; } + public IMyShipConnector Connector { get; } + public IMyShipMergeBlock MergeBlock { get; } + public IMyProgrammableBlock ProgrammableBlock { get; } - // bool loop = false; // Not used for the moment. - public Missile(string prefix, IMyGridTerminalSystem gridTerminalSystem) + public Missile(IMyGasTank tank, IMyShipConnector connector, IMyShipMergeBlock mergeBlock, IMyProgrammableBlock programmableBlock) { - this.prefix = prefix; - this.gridTerminalSystem = gridTerminalSystem; + this.Tank = tank; + this.Connector = connector; + this.MergeBlock = mergeBlock; + this.ProgrammableBlock = programmableBlock; } } - partial class Program : MyGridProgram + class Launcher { - const string GRID_PREFIX = "[PML]"; - const string MISSILE_GRID_PREFIX = "[PM]"; - const double HYDRO_TANK_FILLED_PERCENT = 20; + enum State + { + NOMINAL, + STARTING_SEQUENCE, + FILLING_TANK, + LAUNCHING, + } - const float EPSILON = 0.05f; + int number; + IMyCubeGrid grid; + Output output; - readonly Output output; + Missile missile; - public Program() + State currentState = State.NOMINAL; + + IMyGridTerminalSystem gridTerminal; + IMyShipConnector connector; + + //IReadOnlyList welders; + + /// + /// + /// + /// + /// + /// + /// To output some text + /// Connector of the launcher (not the missile) + public Launcher(int number, IMyGridTerminalSystem gridTerminal, IMyCubeGrid grid, Output output, IMyShipConnector connector) { - var output = this.Me.GetSurface(0); - this.output = new Output(output); - this.output.Print("Missile launcher system starting..."); + this.number = number; + this.grid = grid; + this.gridTerminal = gridTerminal; + this.output = output; + this.connector = connector; + + //this.connector = this.gridTerminal.GetBlockWithName(String.Format("{0} {1}", Program.GRID_PREFIX, String.Format(LAUNCHER_SMALL_CONNECTOR_NAME, number))) as IMyShipConnector; + //output.Print($"{this.connector}"); + } - this.Runtime.UpdateFrequency = UpdateFrequency.Update100; + public void Launch() + { + if (this.currentState == State.NOMINAL) + this.currentState = State.STARTING_SEQUENCE; + } - this.output.Print("Missile launcher system started"); + void Print(string message) + { + this.output.Print(String.Format("{0:00} {1}", this.number, message)); } - void UpdateState() + public void UpdateState() { switch (this.currentState) { case State.STARTING_SEQUENCE: - this.tank = this.GridTerminalSystem.GetBlockWithName("[PM] Hydrogen Tank") as IMyGasTank; - if (this.tank == null) + var missileConnector = this.connector.OtherConnector; + if (missileConnector == null) { - this.output.Print("Cannot find the missile hydrogen tank"); + this.Print("Cannot find the missile connector"); break; } - this.connector = this.GridTerminalSystem.GetBlockWithName("[PM] Connector") as IMyShipConnector; - if (this.connector == null) + var missileGrid = missileConnector.CubeGrid; + + IMyGasTank tank = this.gridTerminal.GetBlock("[PM] Hydrogen Tank", missileGrid); //Utils.GetBlock( this.gridTerminal.GetBlockWithName("[PM] Hydrogen Tank") as IMyGasTank; + this.output.Print($"tank: {tank}"); + if (tank == null) { - this.output.Print("Cannot find the missile connector"); + this.Print("Cannot find the missile hydrogen tank"); break; } - this.mergeBlock = this.GridTerminalSystem.GetBlockWithName("[PM] Merge Block") as IMyShipMergeBlock; - if (this.mergeBlock == null) + IMyShipMergeBlock mergeBlock = this.gridTerminal.GetBlock("[PM] Merge Block", missileGrid); + if (mergeBlock == null) { - this.output.Print("Cannot find the missile merge block"); + this.Print("Cannot find the missile merge block"); break; } - this.programmableBlock = this.GridTerminalSystem.GetBlockWithName("[PM] Programmable Block") as IMyProgrammableBlock; - if (this.programmableBlock == null) + IMyProgrammableBlock programmableBlock = this.gridTerminal.GetBlock("[PM] Programmable Block", missileGrid); + + if (programmableBlock == null) { - this.output.Print("Cannot find the missile programmable block"); + this.Print("Cannot find the missile programmable block"); break; } - this.tank.Stockpile = true; - this.connector.Connect(); + tank.Stockpile = true; + + this.missile = new Missile(tank, connector, mergeBlock, programmableBlock); this.currentState = State.FILLING_TANK; - break; ; + break; case State.FILLING_TANK: - this.output.Print("Waiting missile tank filled..."); - if (this.tank.FilledRatio >= HYDRO_TANK_FILLED_PERCENT / 100) + this.Print("Waiting missile tank filled..."); + + if (this.missile.Tank.FilledRatio >= Program.HYDRO_TANK_FILLED_PERCENT / 100) { - this.tank.Stockpile = false; + this.missile.Tank.Stockpile = false; this.currentState = State.LAUNCHING; } break; case State.LAUNCHING: - this.output.Print("Launching missile..."); + this.Print("Launching missile..."); - if (this.programmableBlock.TryRun("START")) - this.output.Print("Missile launched!"); + if (this.missile.ProgrammableBlock.TryRun("START")) + this.Print("Missile launched!"); else - this.output.Print("ERROR: Can't send START command to missile"); + this.Print("ERROR: Can't send START command to missile"); - this.mergeBlock.Enabled = false; + this.missile.MergeBlock.Enabled = false; this.connector.Disconnect(); - - if (this.loop) - this.currentState = State.STARTING_SEQUENCE; - else - this.currentState = State.NORMAL; + this.currentState = State.NOMINAL; break; - case State.NORMAL: + case State.NOMINAL: break; // Nothing; } + } + } + + partial class Program : MyGridProgram + { + enum State + { + NOMINAL, + LAUNCHING_ONE, + LAUNCHING_ALL, + LAUNCHING_CONTINUOUS, + } + + public const string GRID_PREFIX = "[PML]"; + public const string MISSILE_GRID_PREFIX = "[PM]"; + public const double HYDRO_TANK_FILLED_PERCENT = 20; + + const string LAUNCHER_GRID_NAME = "Launcher"; // Following by a number: "01", "02", etc. + const string LAUNCHER_SMALL_CONNECTOR_NAME = "Connector Launcher"; // Following by a number: "01", "02", etc. + //const string WELDER_NAME_GROUP = "Welder {0:00}"; // Example for group 1: ["Welder 01A", "Welder 01B", "Welder 01C"]. + + const float EPSILON = 0.05f; + + readonly Output output; + + IMyCubeGrid grid; + + List launchers = new List(); + int nbLaunched = 0; + int nextToLaunch = 0; + + State currentState = State.NOMINAL; + + //bool continuous_launching = false; + + public Program() + { + var output = this.Me.GetSurface(0); + this.output = new Output(output); + this.output.Print("Missile launcher system starting..."); + + this.grid = this.Me.CubeGrid; + + var connectorNamePrefix = String.Format("{0} {1} ", GRID_PREFIX, LAUNCHER_SMALL_CONNECTOR_NAME); + + // Find all launcher sub-grid and create the associated launcher. + var launcherConnectors = new List(); + this.GridTerminalSystem.GetBlocksOfType( + launcherConnectors, + (IMyShipConnector connector) => connector.CustomName.StartsWith(connectorNamePrefix) + ); + + this.output.Print($"launcherConnectors.Count = {launcherConnectors.Count}"); + + foreach (var connector in launcherConnectors) + //for (int i = 0; i < launcherConnectors.Count; i++) + { + var n = int.Parse(connector.CustomName.Substring(connectorNamePrefix.Length)); + this.output.Print($"n = {n}"); + + //var n = i + 1; + //var connector = launcherConnectors[i]; + + // Find associated welders. + //var welders = new List(); + //this.GridTerminalSystem.GetBlocksOfType( + // welders, + // (IMyShipWelder welder) => welder.CustomName.StartsWith(String.Format("{0} {1}", GRID_PREFIX, String.Format(WELDER_NAME_GROUP, n))) + //); + + this.launchers.Add(new Launcher(n, this.GridTerminalSystem, connector.CubeGrid, this.output, connector)); + } + + this.Runtime.UpdateFrequency = UpdateFrequency.Update100; + + this.output.Print("Missile launcher system started"); + } + + void LaunchNext() + { + if (this.launchers.Count > 0) + { + this.launchers[this.nextToLaunch].Launch(); + this.nextToLaunch = (this.nextToLaunch + 1) % this.launchers.Count; + } + } + void Reset() + { + this.nbLaunched = 0; + this.currentState = State.NOMINAL; + } + + void UpdateState() + { + switch (this.currentState) + { + case State.LAUNCHING_ONE: + this.LaunchNext(); + this.Reset(); + break; + + case State.LAUNCHING_ALL: + if (this.nbLaunched >= launchers.Count) + { + this.Reset(); + } + else + { + this.LaunchNext(); + } + break; + + case State.LAUNCHING_CONTINUOUS: + this.LaunchNext(); + break; + } + + foreach (var launcher in this.launchers) + launcher.UpdateState(); } public void Save() { + } public void Main(string argument, UpdateType updateSource) @@ -164,23 +314,28 @@ namespace IngameScript { this.UpdateState(); } - else if ((updateSource & (UpdateType.Terminal | UpdateType.Trigger)) != 0) + else if ((updateSource & (UpdateType.Terminal | UpdateType.Trigger)) != 0) { switch (argument) { case "LAUNCH ONE": - this.loop = false; - this.currentState = State.STARTING_SEQUENCE; + this.output.Print("Launching one missile..."); + this.currentState = State.LAUNCHING_ONE; + break; + + case "LAUNCH ALL": + this.output.Print("Launching all missiles..."); + this.currentState = State.LAUNCHING_ALL; break; - case "LAUNCH SOME": - this.loop = true; - this.currentState = State.STARTING_SEQUENCE; + case "LAUNCH CONTINUOUS": + this.output.Print("Launching missiles in continous..."); + this.currentState = State.LAUNCHING_CONTINUOUS; break; case "STOP": - this.loop = false; - this.currentState = State.NORMAL; + this.output.Print("Stopping lauching..."); + this.currentState = State.NOMINAL; break; default: diff --git a/MissileLauncher/README.md b/MissileLauncher/README.md new file mode 100644 index 0000000..dfa5bc6 --- /dev/null +++ b/MissileLauncher/README.md @@ -0,0 +1,2 @@ +# Missile launcher + diff --git a/MissileLauncher/packages.config b/MissileLauncher/packages.config new file mode 100644 index 0000000..0653ff6 --- /dev/null +++ b/MissileLauncher/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..87366ae --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# SDK for Space Engineers scripts +* https://github.com/malforge/mdk2 + * Wiki: https://github.com/malforge/mdk2/wiki +* API Doc: https://github.com/malware-dev/MDK-SE/wiki/Namespace-Index + +# Modules + +AutoPilot: Automatic control of piloting on planet. +SSPifou: The main control for the spaceship SSPifou. +MissileController: Run in the missile computer to pilot it to its target. +MissileLauncher: Can launch multiple missiles. + +# MissileController + +## Elements + +* \ No newline at end of file diff --git a/SECommon/SECommon.projitems b/SECommon/SECommon.projitems index ab9ad4d..6efd50c 100644 --- a/SECommon/SECommon.projitems +++ b/SECommon/SECommon.projitems @@ -10,5 +10,6 @@ + \ No newline at end of file diff --git a/SECommon/Utils.cs b/SECommon/Utils.cs new file mode 100644 index 0000000..393c175 --- /dev/null +++ b/SECommon/Utils.cs @@ -0,0 +1,24 @@ + +using Sandbox.ModAPI.Ingame; + +using System.Collections.Generic; +using System.Linq; + +using VRage.Game.ModAPI.Ingame; + +namespace IngameScript +{ + static class Utils + { + public static T GetBlock(this IMyGridTerminalSystem gridTerminal, string name, IMyCubeGrid grid) + where T: class, IMyTerminalBlock + { + var l = new List(); + gridTerminal.GetBlocksOfType(l, (T block) => block.CustomName == name && block.CubeGrid == grid); + if (l.Count > 0) + return l.First(); + else + return null; + } + } +} \ No newline at end of file diff --git a/SEScripts.sln b/SEScripts.sln index f75f310..2951aed 100644 --- a/SEScripts.sln +++ b/SEScripts.sln @@ -3,39 +3,51 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.7.34024.191 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BaseApp", "BaseMiner\BaseApp.csproj", "{22A83955-FE9B-4EBA-8980-D9DE01353C4C}" -EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SECommon", "SECommon\SECommon.shproj", "{9E97399C-4FE6-495B-AA87-ACC2213647CD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoPilot", "AutoPilot\AutoPilot.csproj", "{141E1804-F644-48F8-A3D8-BEFEEE66ECBA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoPilot", "AutoPilot\AutoPilot.csproj", "{141E1804-F644-48F8-A3D8-BEFEEE66ECBA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiningRover", "MiningRover\MiningRover.csproj", "{DBCD62FE-F7AA-4A03-9241-0A4BE6952664}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiningRover", "MiningRover\MiningRover.csproj", "{DBCD62FE-F7AA-4A03-9241-0A4BE6952664}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A3A0A2EE-BB1F-426A-80EA-3B19273EDCCD}" ProjectSection(SolutionItems) = preProject .gitignore = .gitignore + README.md = README.md TODO.md = TODO.md EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MissileController", "MissileController\MissileController.csproj", "{F902E413-8F1A-423D-98A5-F26B684E28BA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MissileController", "MissileController\MissileController.csproj", "{F902E413-8F1A-423D-98A5-F26B684E28BA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MissileLauncher", "MissileLauncher\MissileLauncher.csproj", "{761F968E-CE71-404B-A20A-7C1458D6C014}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MissileLauncher", "MissileLauncher\MissileLauncher.csproj", "{761F968E-CE71-404B-A20A-7C1458D6C014}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BaseMiner", "BaseMiner\BaseMiner.csproj", "{1C2F7DB3-26AD-4C5E-B6C5-D6715B3CFB36}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {22A83955-FE9B-4EBA-8980-D9DE01353C4C}.Debug|x64.ActiveCfg = Debug|x64 - {22A83955-FE9B-4EBA-8980-D9DE01353C4C}.Debug|x64.Build.0 = Debug|x64 {141E1804-F644-48F8-A3D8-BEFEEE66ECBA}.Debug|x64.ActiveCfg = Debug|x64 {141E1804-F644-48F8-A3D8-BEFEEE66ECBA}.Debug|x64.Build.0 = Debug|x64 + {141E1804-F644-48F8-A3D8-BEFEEE66ECBA}.Release|x64.ActiveCfg = Debug|x64 + {141E1804-F644-48F8-A3D8-BEFEEE66ECBA}.Release|x64.Build.0 = Debug|x64 {DBCD62FE-F7AA-4A03-9241-0A4BE6952664}.Debug|x64.ActiveCfg = Debug|x64 {DBCD62FE-F7AA-4A03-9241-0A4BE6952664}.Debug|x64.Build.0 = Debug|x64 + {DBCD62FE-F7AA-4A03-9241-0A4BE6952664}.Release|x64.ActiveCfg = Debug|x64 + {DBCD62FE-F7AA-4A03-9241-0A4BE6952664}.Release|x64.Build.0 = Debug|x64 {F902E413-8F1A-423D-98A5-F26B684E28BA}.Debug|x64.ActiveCfg = Debug|x64 {F902E413-8F1A-423D-98A5-F26B684E28BA}.Debug|x64.Build.0 = Debug|x64 + {F902E413-8F1A-423D-98A5-F26B684E28BA}.Release|x64.ActiveCfg = Debug|x64 + {F902E413-8F1A-423D-98A5-F26B684E28BA}.Release|x64.Build.0 = Debug|x64 {761F968E-CE71-404B-A20A-7C1458D6C014}.Debug|x64.ActiveCfg = Debug|x64 {761F968E-CE71-404B-A20A-7C1458D6C014}.Debug|x64.Build.0 = Debug|x64 + {761F968E-CE71-404B-A20A-7C1458D6C014}.Release|x64.ActiveCfg = Debug|x64 + {761F968E-CE71-404B-A20A-7C1458D6C014}.Release|x64.Build.0 = Debug|x64 + {1C2F7DB3-26AD-4C5E-B6C5-D6715B3CFB36}.Debug|x64.ActiveCfg = Debug|x64 + {1C2F7DB3-26AD-4C5E-B6C5-D6715B3CFB36}.Debug|x64.Build.0 = Debug|x64 + {1C2F7DB3-26AD-4C5E-B6C5-D6715B3CFB36}.Release|x64.ActiveCfg = Release|x64 + {1C2F7DB3-26AD-4C5E-B6C5-D6715B3CFB36}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -44,10 +56,11 @@ Global SolutionGuid = {F4600B8D-80EE-4075-8A61-BE8847A00BD7} EndGlobalSection GlobalSection(SharedMSBuildProjectFiles) = preSolution - SECommon\SECommon.projitems*{141e1804-f644-48f8-a3d8-befeee66ecba}*SharedItemsImports = 4 - SECommon\SECommon.projitems*{22a83955-fe9b-4eba-8980-d9de01353c4c}*SharedItemsImports = 4 - SECommon\SECommon.projitems*{761f968e-ce71-404b-a20a-7c1458d6c014}*SharedItemsImports = 4 + SECommon\SECommon.projitems*{141e1804-f644-48f8-a3d8-befeee66ecba}*SharedItemsImports = 5 + SECommon\SECommon.projitems*{1c2f7db3-26ad-4c5e-b6c5-d6715b3cfb36}*SharedItemsImports = 5 + SECommon\SECommon.projitems*{761f968e-ce71-404b-a20a-7c1458d6c014}*SharedItemsImports = 5 SECommon\SECommon.projitems*{9e97399c-4fe6-495b-aa87-acc2213647cd}*SharedItemsImports = 13 - SECommon\SECommon.projitems*{f902e413-8f1a-423d-98a5-f26b684e28ba}*SharedItemsImports = 4 + SECommon\SECommon.projitems*{dbcd62fe-f7aa-4a03-9241-0a4be6952664}*SharedItemsImports = 5 + SECommon\SECommon.projitems*{f902e413-8f1a-423d-98a5-f26b684e28ba}*SharedItemsImports = 5 EndGlobalSection EndGlobal diff --git a/TODO.md b/TODO.md index 9d74dee..2dd8bc9 100644 --- a/TODO.md +++ b/TODO.md @@ -1,3 +1,15 @@ -* Make procedure to deploy tank + button -* Make procedure to pack tank + button -* Security system for Loir: Can't \ No newline at end of file +# Active +## SSPifou + +* Missile autodestruction (after 1min or when tank empty) +* Finish missile launchers +* Add external lights + commands +* Command to stop thrusters +* Add weapons rack +* Embedded computer: + * Auto landing + auto stabilization + * Display of ore, ingot, ammo status + * Autocraft of some element: ammo + components + + +# Finished \ No newline at end of file