From a2907890a89ed442473ec3ebf01c6f9e06852ef6 Mon Sep 17 00:00:00 2001 From: Anairkoen Schno Date: Sat, 8 Sep 2018 20:16:38 -0500 Subject: [PATCH] Added libraries; updater works with dependencies + Microsoft.CSharp + SemVer --- .gitignore | 1 + IPA.Injector/IPA.Injector.csproj | 10 + IPA.Injector/Properties/AssemblyInfo.cs | 4 +- IPA.Injector/WtfThisDoesntNeedToExist.cs | 21 + IPA.Loader/IPA.Loader.csproj | 2 + IPA.Loader/Loader/PluginManager.cs | 4 +- IPA.Loader/Updating/Backup/BackupUnit.cs | 4 +- IPA.Loader/Updating/ModsaberML/ApiEndpoint.cs | 6 +- IPA.Loader/Updating/ModsaberML/Updater.cs | 454 ++++++++++++------ IPA.Loader/Updating/SelfPlugin.cs | 2 + IPA.Loader/Utilities/BeatSaber.cs | 52 ++ IPA.Loader/Utilities/Ref.cs | 78 +++ IPA.Loader/Utilities/SteamCheck.cs | 3 +- Libs/Microsoft.CSharp.dll | Bin 0 -> 320512 bytes 14 files changed, 485 insertions(+), 156 deletions(-) create mode 100644 IPA.Injector/WtfThisDoesntNeedToExist.cs create mode 100644 IPA.Loader/Utilities/BeatSaber.cs create mode 100644 IPA.Loader/Utilities/Ref.cs create mode 100644 Libs/Microsoft.CSharp.dll diff --git a/.gitignore b/.gitignore index f1e3d20e..988a2bcd 100644 --- a/.gitignore +++ b/.gitignore @@ -250,3 +250,4 @@ paket-files/ # JetBrains Rider .idea/ *.sln.iml +/MigrationBackup/d2a2abe6/IPA.Injector diff --git a/IPA.Injector/IPA.Injector.csproj b/IPA.Injector/IPA.Injector.csproj index e8e044a1..3b616354 100644 --- a/IPA.Injector/IPA.Injector.csproj +++ b/IPA.Injector/IPA.Injector.csproj @@ -50,6 +50,7 @@ + @@ -70,11 +71,20 @@ Libraries\Mono\I18N.West.dll Always + + Libraries\Mono\Microsoft.CSharp.dll + Always + Libraries\Mono\System.Runtime.Serialization.dll Always + + + 1.2.0 + + diff --git a/IPA.Injector/Properties/AssemblyInfo.cs b/IPA.Injector/Properties/AssemblyInfo.cs index 4519cca1..3646f1f1 100644 --- a/IPA.Injector/Properties/AssemblyInfo.cs +++ b/IPA.Injector/Properties/AssemblyInfo.cs @@ -1,4 +1,5 @@ -using System.Reflection; +using IPA.Injector; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -22,6 +23,7 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("2a1af16b-27f1-46e0-9a95-181516bc1cb7")] [assembly: InternalsVisibleTo("IPA.Loader")] +[assembly: ForceAssemblyReference(typeof(SemVer.Version))] // Version information for an assembly consists of the following four values: // diff --git a/IPA.Injector/WtfThisDoesntNeedToExist.cs b/IPA.Injector/WtfThisDoesntNeedToExist.cs new file mode 100644 index 00000000..b8514af2 --- /dev/null +++ b/IPA.Injector/WtfThisDoesntNeedToExist.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IPA.Injector +{ + [AttributeUsage(AttributeTargets.Assembly)] + internal class ForceAssemblyReferenceAttribute : Attribute + { + public ForceAssemblyReferenceAttribute(Type forcedType) + { + //not sure if these two lines are required since + //the type is passed to constructor as parameter, + //thus effectively being used + Action noop = _ => { }; + noop(forcedType); + } + } +} diff --git a/IPA.Loader/IPA.Loader.csproj b/IPA.Loader/IPA.Loader.csproj index 46a172a7..b14f2b89 100644 --- a/IPA.Loader/IPA.Loader.csproj +++ b/IPA.Loader/IPA.Loader.csproj @@ -72,6 +72,8 @@ + + diff --git a/IPA.Loader/Loader/PluginManager.cs b/IPA.Loader/Loader/PluginManager.cs index 1f25869c..c661a703 100644 --- a/IPA.Loader/Loader/PluginManager.cs +++ b/IPA.Loader/Loader/PluginManager.cs @@ -156,7 +156,7 @@ namespace IPA.Loader var selfPlugin = new BSPluginMeta { Filename = Path.Combine(Environment.CurrentDirectory, "IPA.exe"), - Plugin = new SelfPlugin() + Plugin = SelfPlugin.Instance }; selfPlugin.ModsaberInfo = selfPlugin.Plugin.ModInfo; @@ -173,7 +173,7 @@ namespace IPA.Loader Logger.log.Info(exeName); Logger.log.Info($"Running on Unity {UnityEngine.Application.unityVersion}"); - Logger.log.Info($"Game version {UnityEngine.Application.version}"); + Logger.log.Info($"Game version {BeatSaber.GameVersion}"); Logger.log.Info("-----------------------------"); Logger.log.Info($"Loading plugins from {LoneFunctions.GetRelativePath(pluginDirectory, Environment.CurrentDirectory)} and found {_bsPlugins.Count + _ipaPlugins.Count}"); Logger.log.Info("-----------------------------"); diff --git a/IPA.Loader/Updating/Backup/BackupUnit.cs b/IPA.Loader/Updating/Backup/BackupUnit.cs index efd96db7..f5b8f2e7 100644 --- a/IPA.Loader/Updating/Backup/BackupUnit.cs +++ b/IPA.Loader/Updating/Backup/BackupUnit.cs @@ -73,9 +73,11 @@ namespace IPA.Updating.Backup /// public void Add(FileInfo file) { - var relativePath = LoneFunctions.GetRelativePath(Environment.CurrentDirectory, file.FullName); + var relativePath = LoneFunctions.GetRelativePath(file.FullName, Environment.CurrentDirectory); var backupPath = new FileInfo(Path.Combine(_BackupPath.FullName, relativePath)); + Logger.updater.Debug($"rp={relativePath}, bp={backupPath}"); + if (_Files.Contains(relativePath)) { Logger.updater.Debug($"Skipping backup of {relativePath}"); diff --git a/IPA.Loader/Updating/ModsaberML/ApiEndpoint.cs b/IPA.Loader/Updating/ModsaberML/ApiEndpoint.cs index 7c1934b7..db302142 100644 --- a/IPA.Loader/Updating/ModsaberML/ApiEndpoint.cs +++ b/IPA.Loader/Updating/ModsaberML/ApiEndpoint.cs @@ -21,7 +21,7 @@ namespace IPA.Updating.ModsaberML public const string GetApprovedEndpoint = "updater_test.json"; #else public const string ApiBase = "https://www.modsaber.ml/"; - public const string GetApprovedEndpoint = "registry/{0}"; + public const string GetApprovedEndpoint = "registry/{0}/{1}"; #endif class HexArrayConverter : JsonConverter @@ -117,6 +117,7 @@ namespace IPA.Updating.ModsaberML { [JsonProperty("steam")] public PlatformFile Steam = null; + [JsonProperty("oculus")] public PlatformFile Oculus = null; } @@ -133,6 +134,9 @@ namespace IPA.Updating.ModsaberML [JsonProperty("dependsOn", ItemConverterType = typeof(ModsaberDependencyConverter))] public Dependency[] Dependencies = new Dependency[0]; + [JsonProperty("oldVersions", ItemConverterType = typeof(SemverVersionConverter))] + public Version[] OldVersions = new Version[0]; + public override string ToString() { return $"{{\"{Title} ({Name})\"v{Version} for {GameVersion} by {Author} with \"{Files.Steam}\" and \"{Files.Oculus}\"}}"; diff --git a/IPA.Loader/Updating/ModsaberML/Updater.cs b/IPA.Loader/Updating/ModsaberML/Updater.cs index 4b171813..d6719c38 100644 --- a/IPA.Loader/Updating/ModsaberML/Updater.cs +++ b/IPA.Loader/Updating/ModsaberML/Updater.cs @@ -15,9 +15,13 @@ using System.Threading; using System.Threading.Tasks; using UnityEngine; using UnityEngine.Networking; +using SemVer; using Logger = IPA.Logging.Logger; using Version = SemVer.Version; using IPA.Updating.Backup; +using System.Runtime.Serialization; +using System.Reflection; +using static IPA.Loader.PluginManager; namespace IPA.Updating.ModsaberML { @@ -43,124 +47,327 @@ namespace IPA.Updating.ModsaberML } } - public void CheckForUpdates() + private void CheckForUpdates() { StartCoroutine(CheckForUpdatesCoroutine()); } - private class ParsedPluginMeta : PluginManager.BSPluginMeta + private class DependencyObject { - private Version _verCache = null; - public Version ModVersion - { - get - { - if (_verCache == null) - _verCache = new Version(ModsaberInfo.CurrentVersion); - return _verCache; - } - } + public string Name { get; set; } + public Version Version { get; set; } = null; + public Version ResolvedVersion { get; set; } = null; + public Range Requirement { get; set; } = null; + public bool Resolved { get; set; } = false; + public bool Has { get; set; } = false; + public HashSet Consumers { get; set; } = new HashSet(); - public ParsedPluginMeta(PluginManager.BSPluginMeta meta) + public BSPluginMeta LocalPluginMeta { get; set; } = null; + + public override string ToString() { - this.Plugin = meta.Plugin; - this.ModsaberInfo = meta.ModsaberInfo; - this.Filename = meta.Filename; + return $"{Name}@{Version}{(Resolved ? $" -> {ResolvedVersion}" : "")} - ({Requirement}) {(Has ? $" Already have" : "")}"; } } - private struct UpdateStruct + private Dictionary requestCache = new Dictionary(); + private IEnumerator DownloadModInfo(string name, string ver, Ref result) { - public ParsedPluginMeta plugin; - public ApiEndpoint.Mod externInfo; - } - - IEnumerator CheckForUpdatesCoroutine() - { - Logger.updater.Info("Checking for mod updates..."); - - var toUpdate = new List(); - var GameVersion = new Version(Application.version); + var uri = ApiEndpoint.ApiBase + string.Format(ApiEndpoint.GetApprovedEndpoint, name, ver); - foreach (var _plugin in PluginManager.BSMetas) + if (requestCache.TryGetValue(uri, out ApiEndpoint.Mod value)) { - var plugin = new ParsedPluginMeta(_plugin); - var info = plugin.ModsaberInfo; - if (info == null) continue; - - using (var request = UnityWebRequest.Get(ApiEndpoint.ApiBase + string.Format(ApiEndpoint.GetApprovedEndpoint, info.InternalName))) + result.Value = value; + yield break; + } + else + { + using (var request = UnityWebRequest.Get(uri)) { yield return request.SendWebRequest(); if (request.isNetworkError) { - Logger.updater.Error("Network error while trying to update mods"); - Logger.updater.Error(request.error); - continue; + result.Error = new NetworkException($"Network error while trying to download: {request.error}"); + yield break; } if (request.isHttpError) { if (request.responseCode == 404) { - Logger.updater.Error($"Mod {plugin.Plugin.Name} not found under name {info.InternalName}"); - continue; + result.Error = new NetworkException("Not found"); + yield break; } - Logger.updater.Error($"Server returned an error code while trying to update mod {plugin.Plugin.Name}"); - Logger.updater.Error(request.error); - continue; + result.Error = new NetworkException($"Server returned error {request.error} while getting data"); + yield break; } - var json = request.downloadHandler.text; - - ApiEndpoint.Mod modRegistry; try { - modRegistry = JsonConvert.DeserializeObject(json); - Logger.updater.Debug(modRegistry.ToString()); + result.Value = JsonConvert.DeserializeObject(request.downloadHandler.text); + + requestCache[uri] = result.Value; } catch (Exception e) { - Logger.updater.Error($"Parse error while trying to update mods"); + result.Error = new Exception("Error decoding response", e); + yield break; + } + } + } + } + + private IEnumerator CheckForUpdatesCoroutine() + { + var depList = new Ref>(new List()); + + foreach (var plugin in BSMetas) + { // initialize with data to resolve (1.1) + if (plugin.ModsaberInfo != null) + { // updatable + var msinfo = plugin.ModsaberInfo; + depList.Value.Add(new DependencyObject { + Name = msinfo.InternalName, + Version = new Version(msinfo.CurrentVersion), + Requirement = new Range($">={msinfo.CurrentVersion}"), + LocalPluginMeta = plugin + }); + } + } + + foreach (var dep in depList.Value) + Logger.updater.Debug($"Phantom Dependency: {dep.ToString()}"); + + yield return DependencyResolveFirstPass(depList); + + foreach (var dep in depList.Value) + Logger.updater.Debug($"Dependency: {dep.ToString()}"); + + yield return DependencyResolveSecondPass(depList); + + foreach (var dep in depList.Value) + Logger.updater.Debug($"Dependency: {dep.ToString()}"); + + DependendyResolveFinalPass(depList); + } + + private IEnumerator DependencyResolveFirstPass(Ref> list) + { + for (int i = 0; i < list.Value.Count; i++) + { // Grab dependencies (1.2) + var dep = list.Value[i]; + + var mod = new Ref(null); + + #region TEMPORARY get latest // SHOULD BE GREATEST OF VERSION + yield return DownloadModInfo(dep.Name, "", mod); + #endregion + + try { mod.Verify(); } + catch (Exception e) + { + Logger.updater.Error($"Error getting info for {dep.Name}"); + Logger.updater.Error(e); + continue; + } + + list.Value.AddRange(mod.Value.Dependencies.Select(d => new DependencyObject { Name = d.Name, Requirement = d.VersionRange, Consumers = new HashSet() { dep.Name } })); + } + + var depNames = new HashSet(); + var final = new List(); + + foreach (var dep in list.Value) + { // agregate ranges and the like (1.3) + if (!depNames.Contains(dep.Name)) + { // should add it + depNames.Add(dep.Name); + final.Add(dep); + } + else + { + var toMod = final.Where(d => d.Name == dep.Name).First(); + + toMod.Requirement = toMod.Requirement.Intersect(dep.Requirement); + foreach (var consume in dep.Consumers) + toMod.Consumers.Add(consume); + } + } + + list.Value = final; + } + + private IEnumerator DependencyResolveSecondPass(Ref> list) + { + IEnumerator GetGameVersionMap(string modname, Ref> map) + { // gets map of mod version -> game version (2.0) + map.Value = new Dictionary(); + + var mod = new Ref(null); + yield return DownloadModInfo(modname, "", mod); + try { mod.Verify(); } + catch (Exception) + { + map.Value = null; + map.Error = new Exception($"Error getting info for {modname}", mod.Error); + yield break; + } + + map.Value.Add(mod.Value.Version, mod.Value.GameVersion); + + foreach (var ver in mod.Value.OldVersions) + { + yield return DownloadModInfo(modname, ver.ToString(), mod); + try { mod.Verify(); } + catch (Exception e) + { + Logger.updater.Error($"Error getting info for {modname}v{ver}"); Logger.updater.Error(e); continue; } + map.Value.Add(mod.Value.Version, mod.Value.GameVersion); + } + } + + foreach(var dep in list.Value) + { + dep.Has = dep.Version != null;// dep.Version is only not null if its already installed + + var dict = new Ref>(null); + yield return GetGameVersionMap(dep.Name, dict); + try { dict.Verify(); } + catch (Exception e) + { + Logger.updater.Error($"Error getting map for {dep.Name}"); + Logger.updater.Error(e); + continue; + } + + var ver = dep.Requirement.MaxSatisfying(dict.Value.Where(kvp => kvp.Value == BeatSaber.GameVersion).Select(kvp => kvp.Key)); // (2.1) + if (dep.Resolved = ver != null) dep.ResolvedVersion = ver; // (2.2) + dep.Has = dep.Version == dep.ResolvedVersion && dep.Resolved; // dep.Version is only not null if its already installed + } + } - Logger.updater.Debug($"Found Modsaber.ML registration for {plugin.Plugin.Name} ({info.InternalName})"); - Logger.updater.Debug($"Installed version: {plugin.ModVersion}; Latest version: {modRegistry.Version}"); - if (modRegistry.Version > plugin.ModVersion) + private void DependendyResolveFinalPass(Ref> list) + { // also starts download of mods + var toDl = new List(); + + foreach (var dep in list.Value) + { // figure out which ones need to be downloaded (3.1) + if (dep.Resolved) + { + Logger.updater.Debug($"Resolved: {dep.ToString()}"); + if (!dep.Has) { - Logger.updater.Debug($"{plugin.Plugin.Name} needs an update!"); - if (modRegistry.GameVersion == GameVersion) - { - Logger.updater.Debug($"Queueing update..."); - toUpdate.Add(new UpdateStruct - { - plugin = plugin, - externInfo = modRegistry - }); - } - else - { - Logger.updater.Warn($"Update avaliable for {plugin.Plugin.Name}, but for a different Beat Saber version!"); - } + Logger.updater.Debug($"To Download: {dep.ToString()}"); + toDl.Add(dep); } } + else if (!dep.Has) + { + Logger.updater.Warn($"Could not resolve dependency {dep}"); + } } - Logger.updater.Info($"{toUpdate.Count} mods need updating"); - - if (toUpdate.Count == 0) yield break; + Logger.updater.Debug($"To Download {string.Join(", ", toDl.Select(d => $"{d.Name}@{d.ResolvedVersion}"))}"); string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + Path.GetRandomFileName()); Directory.CreateDirectory(tempDirectory); - foreach (var item in toUpdate) - { + + Logger.updater.Debug($"Temp directory: {tempDirectory}"); + + foreach (var item in toDl) StartCoroutine(UpdateModCoroutine(item, tempDirectory)); + } + + private IEnumerator UpdateModCoroutine(DependencyObject item, string tempDirectory) + { // (3.2) + Logger.updater.Debug($"Release: {BeatSaber.ReleaseType}"); + + var mod = new Ref(null); + yield return DownloadModInfo(item.Name, item.ResolvedVersion.ToString(), mod); + try { mod.Verify(); } + catch (Exception e) + { + Logger.updater.Error($"Error occurred while trying to get information for {item}"); + Logger.updater.Error(e); + yield break; + } + + ApiEndpoint.Mod.PlatformFile platformFile; + if (BeatSaber.ReleaseType == BeatSaber.Release.Steam || mod.Value.Files.Oculus == null) + platformFile = mod.Value.Files.Steam; + else + platformFile = mod.Value.Files.Oculus; + + string url = platformFile.DownloadPath; + + Logger.updater.Debug($"URL = {url}"); + + const int MaxTries = 3; + int maxTries = MaxTries; + while (maxTries > 0) + { + if (maxTries-- != MaxTries) + Logger.updater.Debug($"Re-trying download..."); + + using (var stream = new MemoryStream()) + using (var request = UnityWebRequest.Get(url)) + using (var taskTokenSource = new CancellationTokenSource()) + { + var dlh = new StreamDownloadHandler(stream); + request.downloadHandler = dlh; + + Logger.updater.Debug("Sending request"); + //Logger.updater.Debug(request?.downloadHandler?.ToString() ?? "DLH==NULL"); + yield return request.SendWebRequest(); + Logger.updater.Debug("Download finished"); + + if (request.isNetworkError) + { + Logger.updater.Error("Network error while trying to update mod"); + Logger.updater.Error(request.error); + taskTokenSource.Cancel(); + continue; + } + if (request.isHttpError) + { + Logger.updater.Error($"Server returned an error code while trying to update mod"); + Logger.updater.Error(request.error); + taskTokenSource.Cancel(); + continue; + } + + stream.Seek(0, SeekOrigin.Begin); // reset to beginning + + var downloadTask = Task.Run(() => + { // use slightly more multithreaded approach than coroutines + ExtractPluginAsync(stream, item, platformFile, tempDirectory); + }, taskTokenSource.Token); + + while (!(downloadTask.IsCompleted || downloadTask.IsCanceled || downloadTask.IsFaulted)) + yield return null; // pause coroutine until task is done + + if (downloadTask.IsFaulted) + { + Logger.updater.Error($"Error downloading mod {item.Name}"); + Logger.updater.Error(downloadTask.Exception); + continue; + } + + break; + } } + + if (maxTries == 0) + Logger.updater.Warn($"Plugin download failed {MaxTries} times, not re-trying"); + else + Logger.updater.Debug("Download complete"); } - class StreamDownloadHandler : DownloadHandlerScript + internal class StreamDownloadHandler : DownloadHandlerScript { public MemoryStream Stream { get; set; } @@ -205,9 +412,9 @@ namespace IPA.Updating.ModsaberML } } - private void ExtractPluginAsync(MemoryStream stream, UpdateStruct item, ApiEndpoint.Mod.PlatformFile fileInfo, string tempDirectory) - { - Logger.updater.Debug($"Extracting ZIP file for {item.plugin.Plugin.Name}"); + private void ExtractPluginAsync(MemoryStream stream, DependencyObject item, ApiEndpoint.Mod.PlatformFile fileInfo, string tempDirectory) + { // (3.3) + Logger.updater.Debug($"Extracting ZIP file for {item.Name}"); var data = stream.GetBuffer(); SHA1 sha = new SHA1CryptoServiceProvider(); @@ -216,7 +423,7 @@ namespace IPA.Updating.ModsaberML throw new Exception("The hash for the file doesn't match what is defined"); var newFiles = new List(); - var backup = new BackupUnit(tempDirectory, $"backup-{item.plugin.ModsaberInfo.InternalName}"); + var backup = new BackupUnit(tempDirectory, $"backup-{item.Name}"); try { @@ -248,7 +455,7 @@ namespace IPA.Updating.ModsaberML FileInfo targetFile = new FileInfo(Path.Combine(Environment.CurrentDirectory, entry.FileName)); Directory.CreateDirectory(targetFile.DirectoryName); - if (targetFile.FullName == item.plugin.Filename) + if (targetFile.FullName == item.LocalPluginMeta?.Filename) shouldDeleteOldFile = false; // overwriting old file, no need to delete if (targetFile.Exists) @@ -258,6 +465,7 @@ namespace IPA.Updating.ModsaberML Logger.updater.Debug($"Extracting file {targetFile.FullName}"); + targetFile.Delete(); var fstream = targetFile.Create(); ostream.CopyTo(fstream); } @@ -265,17 +473,17 @@ namespace IPA.Updating.ModsaberML } } - if (item.plugin.Plugin is SelfPlugin) + if (item.LocalPluginMeta?.Plugin is SelfPlugin) { // currently updating self Process.Start(new ProcessStartInfo { - FileName = item.plugin.Filename, - Arguments = $"--waitfor={Process.GetCurrentProcess().Id} --nowait", + FileName = item.LocalPluginMeta.Filename, + Arguments = $"-nw={Process.GetCurrentProcess().Id}", UseShellExecute = false }); } - else if (shouldDeleteOldFile) - File.Delete(item.plugin.Filename); + else if (shouldDeleteOldFile && item.LocalPluginMeta != null) + File.Delete(item.LocalPluginMeta.Filename); } catch (Exception) { // something failed; restore @@ -289,82 +497,28 @@ namespace IPA.Updating.ModsaberML backup.Delete(); - Logger.updater.Debug("Downloader exited"); + Logger.updater.Debug("Extractor exited"); } + } - IEnumerator UpdateModCoroutine(UpdateStruct item, string tempDirectory) + [Serializable] + internal class NetworkException : Exception + { + public NetworkException() { - Logger.updater.Debug($"Steam avaliable: {SteamCheck.IsAvailable}"); - - ApiEndpoint.Mod.PlatformFile platformFile; - if (SteamCheck.IsAvailable || item.externInfo.Files.Oculus == null) - platformFile = item.externInfo.Files.Steam; - else - platformFile = item.externInfo.Files.Oculus; - - string url = platformFile.DownloadPath; - - Logger.updater.Debug($"URL = {url}"); - - const int MaxTries = 3; - int maxTries = MaxTries; - while (maxTries > 0) - { - if (maxTries-- != MaxTries) - Logger.updater.Info($"Re-trying download..."); - - using (var stream = new MemoryStream()) - using (var request = UnityWebRequest.Get(url)) - using (var taskTokenSource = new CancellationTokenSource()) - { - var dlh = new StreamDownloadHandler(stream); - request.downloadHandler = dlh; - - Logger.updater.Debug("Sending request"); - //Logger.updater.Debug(request?.downloadHandler?.ToString() ?? "DLH==NULL"); - yield return request.SendWebRequest(); - Logger.updater.Debug("Download finished"); - - if (request.isNetworkError) - { - Logger.updater.Error("Network error while trying to update mod"); - Logger.updater.Error(request.error); - taskTokenSource.Cancel(); - continue; - } - if (request.isHttpError) - { - Logger.updater.Error($"Server returned an error code while trying to update mod"); - Logger.updater.Error(request.error); - taskTokenSource.Cancel(); - continue; - } - - stream.Seek(0, SeekOrigin.Begin); // reset to beginning - - var downloadTask = Task.Run(() => - { // use slightly more multithreaded approach than coroutines - ExtractPluginAsync(stream, item, platformFile, tempDirectory); - }, taskTokenSource.Token); - - while (!(downloadTask.IsCompleted || downloadTask.IsCanceled || downloadTask.IsFaulted)) - yield return null; // pause coroutine until task is done + } - if (downloadTask.IsFaulted) - { - Logger.updater.Error($"Error downloading mod {item.plugin.Plugin.Name}"); - Logger.updater.Error(downloadTask.Exception); - continue; - } + public NetworkException(string message) : base(message) + { + } - break; - } - } + public NetworkException(string message, Exception innerException) : base(message, innerException) + { + } - if (maxTries == 0) - Logger.updater.Warn($"Plugin download failed {MaxTries} times, not re-trying"); - else - Logger.updater.Debug("Download complete"); + protected NetworkException(SerializationInfo info, StreamingContext context) : base(info, context) + { } } + } diff --git a/IPA.Loader/Updating/SelfPlugin.cs b/IPA.Loader/Updating/SelfPlugin.cs index 57fe3bf1..4d1b7bd0 100644 --- a/IPA.Loader/Updating/SelfPlugin.cs +++ b/IPA.Loader/Updating/SelfPlugin.cs @@ -13,6 +13,8 @@ namespace IPA.Updating internal const string IPA_Name = "Beat Saber IPA"; internal const string IPA_Version = "3.10.0"; + public static SelfPlugin Instance { get; set; } = new SelfPlugin(); + public string Name => IPA_Name; public string Version => IPA_Version; diff --git a/IPA.Loader/Utilities/BeatSaber.cs b/IPA.Loader/Utilities/BeatSaber.cs new file mode 100644 index 00000000..bb6c9427 --- /dev/null +++ b/IPA.Loader/Utilities/BeatSaber.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SemVer; +using Version = SemVer.Version; + +namespace IPA.Utilities +{ + /// + /// Provides some basic utility methods and properties of Beat Saber + /// + public static class BeatSaber + { + private static Version _gameVersion = null; + /// + /// Provides the current game version + /// + public static Version GameVersion => _gameVersion ?? (_gameVersion = new Version(UnityEngine.Application.version)); + + /// + /// The different types of releases of the game. + /// + public enum Release + { + /// + /// Indicates a Steam release. + /// + Steam, + /// + /// Indicates an Oculus release. + /// + Oculus + } + private static Release? _releaseCache = null; + /// + /// Gets the type of this installation of Beat Saber + /// + public static Release ReleaseType => (_releaseCache ?? (_releaseCache = FindSteamVRAsset() ? Release.Steam : Release.Oculus)).Value; + + private static bool FindSteamVRAsset() + { + // these require assembly qualified names.... + var SteamVRCamera = Type.GetType("SteamVR_Camera, Assembly-CSharp-firstpass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", false); + var SteamVRExternalCamera = Type.GetType("SteamVR_ExternalCamera, Assembly-CSharp-firstpass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", false); + var SteamVRFade = Type.GetType("SteamVR_Fade, Assembly-CSharp-firstpass, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", false); + + return SteamVRCamera != null && SteamVRExternalCamera != null && SteamVRFade != null; + } + } +} diff --git a/IPA.Loader/Utilities/Ref.cs b/IPA.Loader/Utilities/Ref.cs new file mode 100644 index 00000000..bd9fdd63 --- /dev/null +++ b/IPA.Loader/Utilities/Ref.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace IPA.Utilities +{ + /// + /// A class to store a reference for passing to methods which cannot take ref parameters. + /// + /// the type of the value + public class Ref + { + private T _value; + /// + /// The value of the reference + /// + public T Value + { + get + { + if (Error != null) throw Error; + return _value; + } + set => _value = value; + } + + private Exception _error = null; + /// + /// An exception that was generated while creating the value. + /// + public Exception Error + { + get + { + return _error; + } + set + { + value.SetStackTrace(new StackTrace(1)); + _error = value; + } + } + /// + /// Constructor. + /// + /// the initial value of the reference + public Ref(T reference) + { + _value = reference; + } + + /// + /// Throws error if one was set. + /// + public void Verify() + { + if (Error != null) throw new Exception("Found error", Error); + } + } + + internal static class ExceptionUtilities + { + private static readonly FieldInfo STACK_TRACE_STRING_FI = typeof(Exception).GetField("_stackTraceString", BindingFlags.NonPublic | BindingFlags.Instance); + private static readonly Type TRACE_FORMAT_TI = Type.GetType("System.Diagnostics.StackTrace").GetNestedType("TraceFormat", BindingFlags.NonPublic); + private static readonly MethodInfo TRACE_TO_STRING_MI = typeof(StackTrace).GetMethod("ToString", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { TRACE_FORMAT_TI }, null); + + public static Exception SetStackTrace(this Exception target, StackTrace stack) + { + var getStackTraceString = TRACE_TO_STRING_MI.Invoke(stack, new object[] { Enum.GetValues(TRACE_FORMAT_TI).GetValue(0) }); + STACK_TRACE_STRING_FI.SetValue(target, getStackTraceString); + return target; + } + } +} diff --git a/IPA.Loader/Utilities/SteamCheck.cs b/IPA.Loader/Utilities/SteamCheck.cs index 8f5f0dc8..c3976806 100644 --- a/IPA.Loader/Utilities/SteamCheck.cs +++ b/IPA.Loader/Utilities/SteamCheck.cs @@ -9,7 +9,8 @@ namespace IPA.Utilities /// /// Provides a utility to test if this is a Steam build of Beat Saber. /// - public static class SteamCheck + [Obsolete("Use BeatSaber.ReleaseType == BeatSaber.Release.Steam")] + internal static class SteamCheck { private static Type SteamVRCamera; private static Type SteamVRExternalCamera; diff --git a/Libs/Microsoft.CSharp.dll b/Libs/Microsoft.CSharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..bb34ef16a6a5c6dae974e92cfc9465069f856c9d GIT binary patch literal 320512 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

>NoxK*f-F_%q*1{v^@ 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