diff --git a/Dalamud/Dalamud.cs b/Dalamud/Dalamud.cs index f5e04cac6..e09c58717 100644 --- a/Dalamud/Dalamud.cs +++ b/Dalamud/Dalamud.cs @@ -84,7 +84,7 @@ namespace Dalamud { this.WinSock2 = new WinSockHandlers(); - this.InterfaceManager = new InterfaceManager(this.sigScanner); + this.InterfaceManager = new InterfaceManager(this, this.sigScanner); this.InterfaceManager.OnDraw += BuildDalamudUi; this.InterfaceManager.Enable(); } diff --git a/Dalamud/Interface/InterfaceManager.cs b/Dalamud/Interface/InterfaceManager.cs index 68f0eef74..6b08c4b5f 100644 --- a/Dalamud/Interface/InterfaceManager.cs +++ b/Dalamud/Interface/InterfaceManager.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Runtime.InteropServices; using Dalamud.Game; using Dalamud.Game.Internal.DXGI; @@ -35,6 +36,7 @@ namespace Dalamud.Interface private ISwapChainAddressResolver Address { get; } + private Dalamud dalamud; private RawDX11Scene scene; /// @@ -42,8 +44,10 @@ namespace Dalamud.Interface /// public event RawDX11Scene.BuildUIDelegate OnDraw; - public InterfaceManager(SigScanner scanner) + public InterfaceManager(Dalamud dalamud, SigScanner scanner) { + this.dalamud = dalamud; + try { var sigResolver = new SwapChainSigResolver(); sigResolver.Setup(scanner); @@ -109,6 +113,7 @@ namespace Dalamud.Interface if (this.scene == null) { this.scene = new RawDX11Scene(swapChain); + this.scene.ImGuiIniPath = Path.Combine(Path.GetDirectoryName(this.dalamud.StartInfo.ConfigurationPath), "dalamudUI.ini"); this.scene.OnBuildUI += Display; } diff --git a/lib/ImGuiScene b/lib/ImGuiScene index 4fcf95dcd..09dde468e 160000 --- a/lib/ImGuiScene +++ b/lib/ImGuiScene @@ -1 +1 @@ -Subproject commit 4fcf95dcd06524b278d42dfa8a9aa1853e375d94 +Subproject commit 09dde468ea8a6a1729fc8dd334379d1514264742