diff --git a/IPA.Loader/Loader/DisabledConfig.cs b/IPA.Loader/Loader/DisabledConfig.cs index b06bc8a6..a8adcfe1 100644 --- a/IPA.Loader/Loader/DisabledConfig.cs +++ b/IPA.Loader/Loader/DisabledConfig.cs @@ -51,6 +51,8 @@ namespace IPA.Loader Reset = false; } + if (!PluginLoader.IsFirstLoadComplete) return; // if the first load isn't complete, skip all of this + var referToState = unchecked(++updateState); var copy = DisabledModIds.ToArray(); if (disableUpdateTask == null || disableUpdateTask.IsCompleted) @@ -83,6 +85,8 @@ namespace IPA.Loader try { + if (transaction.WillNeedRestart) + Logger.loader.Warn("Runtime disabled config reload will need game restart to apply"); return transaction.Commit().ContinueWith(t => { if (t.IsFaulted) diff --git a/IPA.Loader/Loader/PluginLoader.cs b/IPA.Loader/Loader/PluginLoader.cs index 1155efaa..f86014ba 100644 --- a/IPA.Loader/Loader/PluginLoader.cs +++ b/IPA.Loader/Loader/PluginLoader.cs @@ -865,6 +865,8 @@ namespace IPA.Loader return exec; } + internal static bool IsFirstLoadComplete { get; private set; } = false; + internal static List LoadPlugins() { InitFeatures(); @@ -882,6 +884,9 @@ namespace IPA.Loader } } + // TODO: should this be somewhere else? + IsFirstLoadComplete = true; + return list; } }