Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
850b313269 | ||
![]() |
fe985e1a9c | ||
![]() |
aeea192860 | ||
![]() |
b8be5b2dce | ||
![]() |
ea08d60d58 | ||
![]() |
6493a305f7 | ||
![]() |
bc0a2b89b8 | ||
![]() |
846c2aa42e |
6
.github/workflows/release.yaml
vendored
6
.github/workflows/release.yaml
vendored
@@ -21,12 +21,6 @@ jobs:
|
|||||||
name: Setup dotnet
|
name: Setup dotnet
|
||||||
with:
|
with:
|
||||||
dotnet-version: '7.0.x'
|
dotnet-version: '7.0.x'
|
||||||
- uses: actions/cache@v1
|
|
||||||
with:
|
|
||||||
path: ~/.nuget/packages
|
|
||||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-nuget-
|
|
||||||
- name: Add Gh Packages Nuget Source
|
- name: Add Gh Packages Nuget Source
|
||||||
run: dotnet nuget add source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github
|
run: dotnet nuget add source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json" --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text --name github
|
||||||
- name: Restore dependencies
|
- name: Restore dependencies
|
||||||
|
@@ -3,11 +3,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Microsoft.Diagnostics.Runtime;
|
using Microsoft.Diagnostics.Runtime;
|
||||||
using NLog;
|
using NLog;
|
||||||
using PropertyChanged;
|
using PropertyChanged;
|
||||||
@@ -21,8 +20,6 @@ using Torch.API.Session;
|
|||||||
using Torch.Commands;
|
using Torch.Commands;
|
||||||
using Torch.Managers.PatchManager;
|
using Torch.Managers.PatchManager;
|
||||||
using Torch.Mod;
|
using Torch.Mod;
|
||||||
using Torch.Mod.Messages;
|
|
||||||
using Torch.Patches;
|
|
||||||
using Torch.Server.Commands;
|
using Torch.Server.Commands;
|
||||||
using Torch.Server.Managers;
|
using Torch.Server.Managers;
|
||||||
using Torch.Utils;
|
using Torch.Utils;
|
||||||
@@ -211,7 +208,7 @@ namespace Torch.Server
|
|||||||
Environment.Exit(0);
|
Environment.Exit(0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
var exe = Assembly.GetExecutingAssembly().Location.Replace("dll", "exe");
|
var exe = Path.Combine(AppContext.BaseDirectory, "Torch.Server.exe");
|
||||||
|
|
||||||
var args = Environment.GetCommandLineArgs();
|
var args = Environment.GetCommandLineArgs();
|
||||||
|
|
||||||
@@ -229,6 +226,8 @@ namespace Torch.Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
Process.Start(exe, $"--waitForPid {Environment.ProcessId} --tempAutostart true {string.Join(" ", args)}");
|
Process.Start(exe, $"--waitForPid {Environment.ProcessId} --tempAutostart true {string.Join(" ", args)}");
|
||||||
|
|
||||||
|
Environment.Exit(0);
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
Name = "Restart thread"
|
Name = "Restart thread"
|
||||||
|
@@ -162,10 +162,10 @@
|
|||||||
},
|
},
|
||||||
"HarmonyX": {
|
"HarmonyX": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "2.10.2-prerelease",
|
"resolved": "2.10.2-prerelease.1",
|
||||||
"contentHash": "a9wXURpkmi5aGTHEQiNCWv9DSKugpQLgT315wC1+zcnuxy5iUqgm7y7seH9IGDsWv7I33o6sGCUcGFAECsKusw==",
|
"contentHash": "5hbH0ENhQ+JV7tk63fQ2ab7MtplRHKJYH1JfIjG39rlltHNXxAcGJh05an+SQbVRV4EoP/+Qm9w9BrLc3RwRMA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MonoModReorg.RuntimeDetour": "22.11.17-prerelease.1",
|
"MonoModReorg.RuntimeDetour": "22.11.21-prerelease.2",
|
||||||
"System.Reflection.Emit": "4.7.0",
|
"System.Reflection.Emit": "4.7.0",
|
||||||
"System.Reflection.Emit.Lightweight": "4.7.0"
|
"System.Reflection.Emit.Lightweight": "4.7.0"
|
||||||
}
|
}
|
||||||
@@ -308,11 +308,6 @@
|
|||||||
"resolved": "7.0.0",
|
"resolved": "7.0.0",
|
||||||
"contentHash": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q=="
|
"contentHash": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q=="
|
||||||
},
|
},
|
||||||
"Microsoft.NETCore.Platforms": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "2.1.0",
|
|
||||||
"contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA=="
|
|
||||||
},
|
|
||||||
"Microsoft.Xaml.Behaviors.Wpf": {
|
"Microsoft.Xaml.Behaviors.Wpf": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.1.31",
|
"resolved": "1.1.31",
|
||||||
@@ -325,58 +320,63 @@
|
|||||||
},
|
},
|
||||||
"MonoModReorg.Backports": {
|
"MonoModReorg.Backports": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "MZXad6VJQgkFd5d4MqRcBI0EPhSDFlCl590L1rFKBJC2BqZR6DO2ZjAsRNtP8JyomFp+JzDJIqOIR+YgoWkhAg==",
|
"contentHash": "69T6jjA5nx29jLkdqtfXKlJ8sMqIlc6czNDTomy0rbM68W0xo2JRJBgsu2mroBuqx7nvUdX+zIU6k1edS/pPbw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1"
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MonoModReorg.Core": {
|
"MonoModReorg.Core": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "2I3CRne3mAPW+z46/fmallENRCBD6ufa4sZnF7V5FleKFEwSxLkejZQfuvB/Jt4DaHo8b9ktly5UGpgcYpAOIQ==",
|
"contentHash": "gDoxu4aAF6TeOo8rsrj5prq2X36i12ch6NeRHu/Ct0H3qoPDHuEQ6JMJN/Eiy45YrLNEN7C5+Ku4BrNX4nwVQg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Mono.Cecil": "0.11.4",
|
"Mono.Cecil": "0.11.4",
|
||||||
"MonoModReorg.Backports": "22.11.17-prerelease.1",
|
"MonoModReorg.Backports": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1",
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.Utils": "22.11.17-prerelease.1"
|
"MonoModReorg.Utils": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MonoModReorg.ILHelpers": {
|
"MonoModReorg.ILHelpers": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "waeN4kdsQf2cXnXJd6SpqEfp4p+8kvcftcwijkSpq8I4fPGOagfCKNKRtDo5raRsi6PuCTK+dpljRsSOYQX6vg=="
|
"contentHash": "JtOKHJR4DEyq3HxmdEVXIxhqNQnu1KmjGFXuEQrNHoPbzi8Yr9465VKVXdsoAF0Lm8StdyJHQ03efjv3+OlonA=="
|
||||||
},
|
},
|
||||||
"MonoModReorg.RuntimeDetour": {
|
"MonoModReorg.RuntimeDetour": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "gOFDFz88Lr/H5G6pQOejjvyq2lh63jLS8Fmajk0s3bt54BlW4v0pa+b3rI4ZPDOTmGdxAi1yZtREX20j6ewzqQ==",
|
"contentHash": "Qv1h4rW03LrHwxwVuw5R6hbL8X78l8Lfnxe5tMlyVAe+AK0HnwsRzjsTwzFF57wxWUwq12NbLflkzV6T+hIhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Mono.Cecil": "0.11.4",
|
"Mono.Cecil": "0.11.4",
|
||||||
"MonoModReorg.Backports": "22.11.17-prerelease.1",
|
"MonoModReorg.Backports": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.Core": "22.11.17-prerelease.1",
|
"MonoModReorg.Core": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1",
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.Utils": "22.11.17-prerelease.1"
|
"MonoModReorg.Utils": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MonoModReorg.Utils": {
|
"MonoModReorg.Utils": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "i/F1vekXLt7jHGWqM05naWIsp5cQ5L3tCP4efcpAT3O/lrtPL6nmL7/9u+FV4Ip/jp5HNKqMHR67CdMWNh9aOA==",
|
"contentHash": "TX+vlgg2/x8rzEOqwiAy2qv61FjlJsr4u10WGTekCkulZVmmC+xxDmK+4Do9noXF/4RlgFN6sR3m9/W8KvJq3g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Mono.Cecil": "0.11.4",
|
"Mono.Cecil": "0.11.4",
|
||||||
"MonoModReorg.Backports": "22.11.17-prerelease.1",
|
"MonoModReorg.Backports": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1"
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"protobuf-net": {
|
"protobuf-net": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "2.4.7",
|
"resolved": "3.1.26",
|
||||||
"contentHash": "0+zS9IjL7DIcnJ1tz0KQ3luhS4BlmvGzX04dju7ejhX3P91AZ33AMF3nL6z3Hh2bB5+JW6U/Fmo8PrmheKnm4g==",
|
"contentHash": "iy+VROYtWZEqDvkUjS6FfzKZNpWRoVGc5h0cupGQT/37Ox0LxPblRKLnw6V0RT1MPclLo8nZp7E2M0f7PNn/Tw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.ServiceModel.Primitives": "4.5.3"
|
"protobuf-net.Core": "3.1.26"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"protobuf-net.Core": {
|
||||||
|
"type": "Transitive",
|
||||||
|
"resolved": "3.1.26",
|
||||||
|
"contentHash": "fuKoDWgAf5ju+ixbJoasVFhnUaT0oWUgrWh1AZ5D0Y5keKHpA93vQB5g6aQNtB4zgeQ4hGEeh0MY9bIbAUPgEw=="
|
||||||
|
},
|
||||||
"SemanticVersioning": {
|
"SemanticVersioning": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "2.0.2",
|
"resolved": "2.0.2",
|
||||||
@@ -413,21 +413,6 @@
|
|||||||
"resolved": "4.5.5",
|
"resolved": "4.5.5",
|
||||||
"contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw=="
|
"contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw=="
|
||||||
},
|
},
|
||||||
"System.Private.ServiceModel": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.3",
|
|
||||||
"contentHash": "ancrQgJagx+yC4SZbuE+eShiEAUIF0E1d21TRSoy1C/rTwafAVcBr/fKibkq5TQzyy9uNil2tx2/iaUxsy0S9g==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "2.1.0",
|
|
||||||
"System.Reflection.DispatchProxy": "4.5.0",
|
|
||||||
"System.Security.Principal.Windows": "4.5.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.DispatchProxy": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.0",
|
|
||||||
"contentHash": "+UW1hq11TNSeb+16rIk8hRQ02o339NFyzMc4ma/FqmxBzM30l1c2IherBB4ld1MNcenS48fz8tbt50OW4rVULA=="
|
|
||||||
},
|
|
||||||
"System.Reflection.Emit": {
|
"System.Reflection.Emit": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.7.0",
|
"resolved": "4.7.0",
|
||||||
@@ -464,22 +449,6 @@
|
|||||||
"System.Security.Cryptography.Pkcs": "7.0.0"
|
"System.Security.Cryptography.Pkcs": "7.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Security.Principal.Windows": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.0",
|
|
||||||
"contentHash": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.ServiceModel.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.3",
|
|
||||||
"contentHash": "Wc9Hgg4Cmqi416zvEgq2sW1YYCGuhwWzspDclJWlFZqY6EGhFUPZU+kVpl5z9kAgrSOQP7/Uiik+PtSQtmq+5A==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Private.ServiceModel": "4.5.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.Encoding.CodePages": {
|
"System.Text.Encoding.CodePages": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "6.0.0",
|
"resolved": "6.0.0",
|
||||||
@@ -511,16 +480,16 @@
|
|||||||
"type": "Project",
|
"type": "Project",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ControlzEx": "[5.0.2, )",
|
"ControlzEx": "[5.0.2, )",
|
||||||
"HarmonyX": "[2.10.2-prerelease, )",
|
"HarmonyX": "[2.10.2-prerelease.1, )",
|
||||||
"MahApps.Metro": "[2.4.9, )",
|
"MahApps.Metro": "[2.4.9, )",
|
||||||
"Microsoft.CodeAnalysis.CSharp": "[4.4.0, )",
|
"Microsoft.CodeAnalysis.CSharp": "[4.4.0, )",
|
||||||
"Microsoft.CodeAnalysis.Common": "[4.4.0, )",
|
"Microsoft.CodeAnalysis.Common": "[4.4.0, )",
|
||||||
"MonoModReorg.RuntimeDetour": "[22.11.17-prerelease.1, )",
|
"MonoModReorg.RuntimeDetour": "[22.11.21-prerelease.2, )",
|
||||||
"NLog": "[5.1.0, )",
|
"NLog": "[5.1.0, )",
|
||||||
"System.ComponentModel.Annotations": "[5.0.0, )",
|
"System.ComponentModel.Annotations": "[5.0.0, )",
|
||||||
"Torch.API": "[1.0.0, )",
|
"Torch.API": "[1.0.0, )",
|
||||||
"Torch.SixLabors.ImageSharp": "[1.0.0-beta6, )",
|
"Torch.SixLabors.ImageSharp": "[1.0.0-beta6, )",
|
||||||
"protobuf-net": "[2.4.7, )"
|
"protobuf-net": "[3.1.26, )"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"torch.api": {
|
"torch.api": {
|
||||||
@@ -548,16 +517,6 @@
|
|||||||
"System.CodeDom": "7.0.0"
|
"System.CodeDom": "7.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Private.ServiceModel": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.3",
|
|
||||||
"contentHash": "ancrQgJagx+yC4SZbuE+eShiEAUIF0E1d21TRSoy1C/rTwafAVcBr/fKibkq5TQzyy9uNil2tx2/iaUxsy0S9g==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "2.1.0",
|
|
||||||
"System.Reflection.DispatchProxy": "4.5.0",
|
|
||||||
"System.Security.Principal.Windows": "4.5.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Security.Cryptography.Pkcs": {
|
"System.Security.Cryptography.Pkcs": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "7.0.0",
|
"resolved": "7.0.0",
|
||||||
@@ -566,14 +525,6 @@
|
|||||||
"System.Formats.Asn1": "7.0.0"
|
"System.Formats.Asn1": "7.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"System.Security.Principal.Windows": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.0",
|
|
||||||
"contentHash": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.Encoding.CodePages": {
|
"System.Text.Encoding.CodePages": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "6.0.0",
|
"resolved": "6.0.0",
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using NLog;
|
using NLog;
|
||||||
@@ -9,7 +10,7 @@ using Torch.API;
|
|||||||
|
|
||||||
namespace Torch.Managers
|
namespace Torch.Managers
|
||||||
{
|
{
|
||||||
public class FilesystemManager : Manager
|
public partial class FilesystemManager : Manager
|
||||||
{
|
{
|
||||||
private static readonly Logger _log = LogManager.GetCurrentClassLogger();
|
private static readonly Logger _log = LogManager.GetCurrentClassLogger();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -51,19 +52,27 @@ namespace Torch.Managers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Move the given file (if it exists) to a temporary directory that will be cleared the next time the application starts.
|
|
||||||
/// </summary>
|
|
||||||
public void SoftDelete(string path, string file)
|
public void SoftDelete(string path, string file)
|
||||||
{
|
{
|
||||||
string source = Path.Combine(path, file);
|
var source = Path.Combine(path, file);
|
||||||
if (!File.Exists(source))
|
if (!File.Exists(source))
|
||||||
return;
|
return;
|
||||||
var rand = Path.GetRandomFileName();
|
|
||||||
var dest = Path.Combine(TempDirectory, rand);
|
var tempFilePath = Path.Combine(path, file + ".old");
|
||||||
File.Move(source, rand);
|
if (File.Exists(tempFilePath))
|
||||||
string rsource = Path.Combine(path, rand);
|
File.Delete(tempFilePath);
|
||||||
File.Move(rsource, dest);
|
|
||||||
}
|
var errorCode = Rename(source, tempFilePath);
|
||||||
|
if (Marshal.GetExceptionForHR(errorCode) is { } exception)
|
||||||
|
throw exception;
|
||||||
|
}
|
||||||
|
|
||||||
|
[LibraryImport("msvcrt", SetLastError = true, EntryPoint = "rename")]
|
||||||
|
[UnmanagedCallConv(CallConvs = new[] { typeof(System.Runtime.CompilerServices.CallConvCdecl) })]
|
||||||
|
private static partial int Rename(
|
||||||
|
[MarshalAs(UnmanagedType.LPWStr)]
|
||||||
|
string oldpath,
|
||||||
|
[MarshalAs(UnmanagedType.LPWStr)]
|
||||||
|
string newpath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -100,9 +100,18 @@ namespace Torch.Managers
|
|||||||
|
|
||||||
_log.Debug($"Unzipping {file.FullName}");
|
_log.Debug($"Unzipping {file.FullName}");
|
||||||
var targetFile = Path.Combine(extractPath, file.FullName);
|
var targetFile = Path.Combine(extractPath, file.FullName);
|
||||||
|
|
||||||
|
// if its a directory
|
||||||
|
if (Path.GetFileName(targetFile).Length == 0)
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(targetFile);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
_fsManager.SoftDelete(extractPath, file.FullName);
|
_fsManager.SoftDelete(extractPath, file.FullName);
|
||||||
file.ExtractToFile(targetFile, true);
|
file.ExtractToFile(targetFile, true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//zip.ExtractToDirectory(extractPath); //throws exceptions sometimes?
|
//zip.ExtractToDirectory(extractPath); //throws exceptions sometimes?
|
||||||
}
|
}
|
||||||
|
@@ -1,10 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Sandbox;
|
using Sandbox;
|
||||||
using Sandbox.Game.Entities;
|
using Sandbox.Game.Entities;
|
||||||
using Torch.Utils;
|
using Torch.Utils;
|
||||||
@@ -69,6 +66,8 @@ namespace Torch.Patches
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MyEntities.Orchestrator = new MyParallelEntityUpdateOrchestrator();
|
||||||
|
|
||||||
// static MyObjectPoolManager()
|
// static MyObjectPoolManager()
|
||||||
// Render, so should be fine.
|
// Render, so should be fine.
|
||||||
}
|
}
|
||||||
|
@@ -429,7 +429,7 @@ namespace Torch.Managers
|
|||||||
if (a.Version is null || b.Version is null)
|
if (a.Version is null || b.Version is null)
|
||||||
return a.Name == b.Name;
|
return a.Name == b.Name;
|
||||||
|
|
||||||
return a.Name == b.Name && a.Version.Major == b.Version.Major && a.Version.Minor == b.Version.Minor;
|
return a.Name == b.Name && b.Version >= a.Version;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InstantiatePlugin(PluginManifest manifest, IEnumerable<Assembly> assemblies)
|
private void InstantiatePlugin(PluginManifest manifest, IEnumerable<Assembly> assemblies)
|
||||||
|
@@ -23,15 +23,15 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ControlzEx" Version="5.0.2" />
|
<PackageReference Include="ControlzEx" Version="5.0.2" />
|
||||||
<PackageReference Include="HarmonyX" Version="2.10.2-prerelease" />
|
<PackageReference Include="HarmonyX" Version="2.10.2-prerelease.1" />
|
||||||
<PackageReference Include="InfoOf.Fody" Version="2.1.1" PrivateAssets="all" />
|
<PackageReference Include="InfoOf.Fody" Version="2.1.1" PrivateAssets="all" />
|
||||||
<PackageReference Include="MahApps.Metro" Version="2.4.9" />
|
<PackageReference Include="MahApps.Metro" Version="2.4.9" />
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.4.0" />
|
<PackageReference Include="Microsoft.CodeAnalysis.Common" Version="4.4.0" />
|
||||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.4.0" />
|
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.4.0" />
|
||||||
<PackageReference Include="MonoModReorg.RuntimeDetour" Version="22.11.17-prerelease.1" />
|
<PackageReference Include="MonoModReorg.RuntimeDetour" Version="22.11.21-prerelease.2" />
|
||||||
<PackageReference Include="NLog" Version="5.1.0" />
|
<PackageReference Include="NLog" Version="5.1.0" />
|
||||||
<PackageReference Include="PropertyChanged.Fody" Version="4.1.0" PrivateAssets="all" />
|
<PackageReference Include="PropertyChanged.Fody" Version="4.1.0" PrivateAssets="all" />
|
||||||
<PackageReference Include="protobuf-net" Version="2.4.7" />
|
<PackageReference Include="protobuf-net" Version="3.1.26" />
|
||||||
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
||||||
<PackageReference Include="Torch.SixLabors.ImageSharp" Version="1.0.0-beta6" />
|
<PackageReference Include="Torch.SixLabors.ImageSharp" Version="1.0.0-beta6" />
|
||||||
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.201.13">
|
<PackageReference Include="SpaceEngineersDedicated.ReferenceAssemblies" Version="1.201.13">
|
||||||
|
@@ -240,6 +240,7 @@ namespace Torch
|
|||||||
|
|
||||||
_log.Info("Services initialized");
|
_log.Info("Services initialized");
|
||||||
MySandboxGame.InitMultithreading();
|
MySandboxGame.InitMultithreading();
|
||||||
|
MyVRage.Platform.System.OnThreadpoolInitialized();
|
||||||
// MyInitializer.InitCheckSum();
|
// MyInitializer.InitCheckSum();
|
||||||
|
|
||||||
|
|
||||||
@@ -309,6 +310,7 @@ namespace Torch
|
|||||||
_getVRagePluginList().Remove(_torch);
|
_getVRagePluginList().Remove(_torch);
|
||||||
|
|
||||||
MyInitializer.InvokeAfterRun();
|
MyInitializer.InvokeAfterRun();
|
||||||
|
MyVRage.Done();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DoStart()
|
private void DoStart()
|
||||||
|
@@ -14,11 +14,11 @@
|
|||||||
},
|
},
|
||||||
"HarmonyX": {
|
"HarmonyX": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[2.10.2-prerelease, )",
|
"requested": "[2.10.2-prerelease.1, )",
|
||||||
"resolved": "2.10.2-prerelease",
|
"resolved": "2.10.2-prerelease.1",
|
||||||
"contentHash": "a9wXURpkmi5aGTHEQiNCWv9DSKugpQLgT315wC1+zcnuxy5iUqgm7y7seH9IGDsWv7I33o6sGCUcGFAECsKusw==",
|
"contentHash": "5hbH0ENhQ+JV7tk63fQ2ab7MtplRHKJYH1JfIjG39rlltHNXxAcGJh05an+SQbVRV4EoP/+Qm9w9BrLc3RwRMA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MonoModReorg.RuntimeDetour": "22.11.17-prerelease.1",
|
"MonoModReorg.RuntimeDetour": "22.11.21-prerelease.2",
|
||||||
"System.Reflection.Emit": "4.7.0",
|
"System.Reflection.Emit": "4.7.0",
|
||||||
"System.Reflection.Emit.Lightweight": "4.7.0"
|
"System.Reflection.Emit.Lightweight": "4.7.0"
|
||||||
}
|
}
|
||||||
@@ -67,15 +67,15 @@
|
|||||||
},
|
},
|
||||||
"MonoModReorg.RuntimeDetour": {
|
"MonoModReorg.RuntimeDetour": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[22.11.17-prerelease.1, )",
|
"requested": "[22.11.21-prerelease.2, )",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "gOFDFz88Lr/H5G6pQOejjvyq2lh63jLS8Fmajk0s3bt54BlW4v0pa+b3rI4ZPDOTmGdxAi1yZtREX20j6ewzqQ==",
|
"contentHash": "Qv1h4rW03LrHwxwVuw5R6hbL8X78l8Lfnxe5tMlyVAe+AK0HnwsRzjsTwzFF57wxWUwq12NbLflkzV6T+hIhJw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Mono.Cecil": "0.11.4",
|
"Mono.Cecil": "0.11.4",
|
||||||
"MonoModReorg.Backports": "22.11.17-prerelease.1",
|
"MonoModReorg.Backports": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.Core": "22.11.17-prerelease.1",
|
"MonoModReorg.Core": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1",
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.Utils": "22.11.17-prerelease.1"
|
"MonoModReorg.Utils": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NLog": {
|
"NLog": {
|
||||||
@@ -95,11 +95,11 @@
|
|||||||
},
|
},
|
||||||
"protobuf-net": {
|
"protobuf-net": {
|
||||||
"type": "Direct",
|
"type": "Direct",
|
||||||
"requested": "[2.4.7, )",
|
"requested": "[3.1.26, )",
|
||||||
"resolved": "2.4.7",
|
"resolved": "3.1.26",
|
||||||
"contentHash": "0+zS9IjL7DIcnJ1tz0KQ3luhS4BlmvGzX04dju7ejhX3P91AZ33AMF3nL6z3Hh2bB5+JW6U/Fmo8PrmheKnm4g==",
|
"contentHash": "iy+VROYtWZEqDvkUjS6FfzKZNpWRoVGc5h0cupGQT/37Ox0LxPblRKLnw6V0RT1MPclLo8nZp7E2M0f7PNn/Tw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"System.ServiceModel.Primitives": "4.5.3"
|
"protobuf-net.Core": "3.1.26"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SpaceEngineersDedicated.ReferenceAssemblies": {
|
"SpaceEngineersDedicated.ReferenceAssemblies": {
|
||||||
@@ -142,11 +142,6 @@
|
|||||||
"resolved": "3.3.3",
|
"resolved": "3.3.3",
|
||||||
"contentHash": "j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ=="
|
"contentHash": "j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ=="
|
||||||
},
|
},
|
||||||
"Microsoft.NETCore.Platforms": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "2.1.0",
|
|
||||||
"contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA=="
|
|
||||||
},
|
|
||||||
"Microsoft.Xaml.Behaviors.Wpf": {
|
"Microsoft.Xaml.Behaviors.Wpf": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "1.1.31",
|
"resolved": "1.1.31",
|
||||||
@@ -159,38 +154,43 @@
|
|||||||
},
|
},
|
||||||
"MonoModReorg.Backports": {
|
"MonoModReorg.Backports": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "MZXad6VJQgkFd5d4MqRcBI0EPhSDFlCl590L1rFKBJC2BqZR6DO2ZjAsRNtP8JyomFp+JzDJIqOIR+YgoWkhAg==",
|
"contentHash": "69T6jjA5nx29jLkdqtfXKlJ8sMqIlc6czNDTomy0rbM68W0xo2JRJBgsu2mroBuqx7nvUdX+zIU6k1edS/pPbw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1"
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MonoModReorg.Core": {
|
"MonoModReorg.Core": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "2I3CRne3mAPW+z46/fmallENRCBD6ufa4sZnF7V5FleKFEwSxLkejZQfuvB/Jt4DaHo8b9ktly5UGpgcYpAOIQ==",
|
"contentHash": "gDoxu4aAF6TeOo8rsrj5prq2X36i12ch6NeRHu/Ct0H3qoPDHuEQ6JMJN/Eiy45YrLNEN7C5+Ku4BrNX4nwVQg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Mono.Cecil": "0.11.4",
|
"Mono.Cecil": "0.11.4",
|
||||||
"MonoModReorg.Backports": "22.11.17-prerelease.1",
|
"MonoModReorg.Backports": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1",
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.Utils": "22.11.17-prerelease.1"
|
"MonoModReorg.Utils": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MonoModReorg.ILHelpers": {
|
"MonoModReorg.ILHelpers": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "waeN4kdsQf2cXnXJd6SpqEfp4p+8kvcftcwijkSpq8I4fPGOagfCKNKRtDo5raRsi6PuCTK+dpljRsSOYQX6vg=="
|
"contentHash": "JtOKHJR4DEyq3HxmdEVXIxhqNQnu1KmjGFXuEQrNHoPbzi8Yr9465VKVXdsoAF0Lm8StdyJHQ03efjv3+OlonA=="
|
||||||
},
|
},
|
||||||
"MonoModReorg.Utils": {
|
"MonoModReorg.Utils": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "22.11.17-prerelease.1",
|
"resolved": "22.11.21-prerelease.2",
|
||||||
"contentHash": "i/F1vekXLt7jHGWqM05naWIsp5cQ5L3tCP4efcpAT3O/lrtPL6nmL7/9u+FV4Ip/jp5HNKqMHR67CdMWNh9aOA==",
|
"contentHash": "TX+vlgg2/x8rzEOqwiAy2qv61FjlJsr4u10WGTekCkulZVmmC+xxDmK+4Do9noXF/4RlgFN6sR3m9/W8KvJq3g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Mono.Cecil": "0.11.4",
|
"Mono.Cecil": "0.11.4",
|
||||||
"MonoModReorg.Backports": "22.11.17-prerelease.1",
|
"MonoModReorg.Backports": "22.11.21-prerelease.2",
|
||||||
"MonoModReorg.ILHelpers": "22.11.17-prerelease.1"
|
"MonoModReorg.ILHelpers": "22.11.21-prerelease.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"protobuf-net.Core": {
|
||||||
|
"type": "Transitive",
|
||||||
|
"resolved": "3.1.26",
|
||||||
|
"contentHash": "fuKoDWgAf5ju+ixbJoasVFhnUaT0oWUgrWh1AZ5D0Y5keKHpA93vQB5g6aQNtB4zgeQ4hGEeh0MY9bIbAUPgEw=="
|
||||||
|
},
|
||||||
"SemanticVersioning": {
|
"SemanticVersioning": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "2.0.2",
|
"resolved": "2.0.2",
|
||||||
@@ -217,21 +217,6 @@
|
|||||||
"resolved": "4.5.5",
|
"resolved": "4.5.5",
|
||||||
"contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw=="
|
"contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw=="
|
||||||
},
|
},
|
||||||
"System.Private.ServiceModel": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.3",
|
|
||||||
"contentHash": "ancrQgJagx+yC4SZbuE+eShiEAUIF0E1d21TRSoy1C/rTwafAVcBr/fKibkq5TQzyy9uNil2tx2/iaUxsy0S9g==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "2.1.0",
|
|
||||||
"System.Reflection.DispatchProxy": "4.5.0",
|
|
||||||
"System.Security.Principal.Windows": "4.5.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Reflection.DispatchProxy": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.0",
|
|
||||||
"contentHash": "+UW1hq11TNSeb+16rIk8hRQ02o339NFyzMc4ma/FqmxBzM30l1c2IherBB4ld1MNcenS48fz8tbt50OW4rVULA=="
|
|
||||||
},
|
|
||||||
"System.Reflection.Emit": {
|
"System.Reflection.Emit": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "4.7.0",
|
"resolved": "4.7.0",
|
||||||
@@ -252,22 +237,6 @@
|
|||||||
"resolved": "6.0.0",
|
"resolved": "6.0.0",
|
||||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||||
},
|
},
|
||||||
"System.Security.Principal.Windows": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.0",
|
|
||||||
"contentHash": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"Microsoft.NETCore.Platforms": "2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.ServiceModel.Primitives": {
|
|
||||||
"type": "Transitive",
|
|
||||||
"resolved": "4.5.3",
|
|
||||||
"contentHash": "Wc9Hgg4Cmqi416zvEgq2sW1YYCGuhwWzspDclJWlFZqY6EGhFUPZU+kVpl5z9kAgrSOQP7/Uiik+PtSQtmq+5A==",
|
|
||||||
"dependencies": {
|
|
||||||
"System.Private.ServiceModel": "4.5.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"System.Text.Encoding.CodePages": {
|
"System.Text.Encoding.CodePages": {
|
||||||
"type": "Transitive",
|
"type": "Transitive",
|
||||||
"resolved": "6.0.0",
|
"resolved": "6.0.0",
|
||||||
|
Reference in New Issue
Block a user