mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-15 21:24:16 +01:00
feat: show error message if tier 3 load never happened
This commit is contained in:
parent
491a0acca9
commit
a819c72913
2 changed files with 19 additions and 0 deletions
|
|
@ -13,6 +13,7 @@ using Dalamud.Hooking;
|
|||
using Dalamud.Interface.Internal;
|
||||
using Dalamud.IoC;
|
||||
using Dalamud.IoC.Internal;
|
||||
using Dalamud.Utility;
|
||||
using Serilog;
|
||||
|
||||
namespace Dalamud.Game
|
||||
|
|
@ -27,6 +28,8 @@ namespace Dalamud.Game
|
|||
private static Stopwatch statsStopwatch = new();
|
||||
private Stopwatch updateStopwatch = new();
|
||||
|
||||
private DateTime timeSinceTier2;
|
||||
|
||||
private Hook<OnUpdateDetour> updateHook;
|
||||
private Hook<OnDestroyDetour> destroyHook;
|
||||
private Hook<OnRealDestroyDelegate> realDestroyHook;
|
||||
|
|
@ -174,11 +177,23 @@ namespace Dalamud.Game
|
|||
|
||||
// If this is the first time we are running this loop, we need to init Dalamud subsystems synchronously
|
||||
if (!dalamud.IsReady)
|
||||
{
|
||||
dalamud.LoadTier2();
|
||||
this.timeSinceTier2 = DateTime.Now;
|
||||
goto original;
|
||||
}
|
||||
|
||||
if (!dalamud.IsLoadedPluginSystem && (DateTime.Now - this.timeSinceTier2).TotalSeconds > 30)
|
||||
{
|
||||
Util.Fatal("The Dalamud plugin system could not initialize important subsystems.\nThis error may be caused by outdated ReShade or GShade installations.\n\nIf this error persists, please contact us.", "XIVLauncher Error");
|
||||
}
|
||||
|
||||
// Plugins expect the interface to be available and ready, so we need to wait with plugins until we have init'd ImGui
|
||||
if (!dalamud.IsLoadedPluginSystem && Service<InterfaceManager>.GetNullable()?.IsReady == true)
|
||||
{
|
||||
dalamud.LoadTier3();
|
||||
goto original;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
|
|
@ -254,6 +269,7 @@ namespace Dalamud.Game
|
|||
}
|
||||
}
|
||||
|
||||
original:
|
||||
return this.updateHook.Original(framework);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ using Dalamud.Configuration.Internal;
|
|||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Utility;
|
||||
using Newtonsoft.Json;
|
||||
using Serilog;
|
||||
|
||||
namespace Dalamud.Interface.Style
|
||||
{
|
||||
|
|
@ -83,6 +84,8 @@ namespace Dalamud.Interface.Style
|
|||
configuration.SavedStyles = new List<StyleModel>();
|
||||
configuration.SavedStyles.AddRange(configuration.SavedStylesOld);
|
||||
|
||||
Log.Information("Transferred {0} styles", configuration.SavedStyles.Count);
|
||||
|
||||
configuration.SavedStylesOld = null;
|
||||
configuration.Save();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue