mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-15 05:04:15 +01:00
fix: reset UI hide state when login/logout (closes #734)
This commit is contained in:
parent
a0caea1545
commit
a94d39e2a9
2 changed files with 13 additions and 0 deletions
|
|
@ -11,6 +11,7 @@ using Dalamud.Game.ClientState.Keys;
|
||||||
using Dalamud.Game.ClientState.Objects;
|
using Dalamud.Game.ClientState.Objects;
|
||||||
using Dalamud.Game.ClientState.Objects.SubKinds;
|
using Dalamud.Game.ClientState.Objects.SubKinds;
|
||||||
using Dalamud.Game.ClientState.Party;
|
using Dalamud.Game.ClientState.Party;
|
||||||
|
using Dalamud.Game.Gui;
|
||||||
using Dalamud.Game.Network.Internal;
|
using Dalamud.Game.Network.Internal;
|
||||||
using Dalamud.Hooking;
|
using Dalamud.Hooking;
|
||||||
using Dalamud.IoC;
|
using Dalamud.IoC;
|
||||||
|
|
@ -164,12 +165,14 @@ namespace Dalamud.Game.ClientState
|
||||||
private void FrameworkOnOnUpdateEvent(Framework framework)
|
private void FrameworkOnOnUpdateEvent(Framework framework)
|
||||||
{
|
{
|
||||||
var condition = Service<Condition>.Get();
|
var condition = Service<Condition>.Get();
|
||||||
|
var gameGui = Service<GameGui>.Get();
|
||||||
if (condition.Any() && this.lastConditionNone == true)
|
if (condition.Any() && this.lastConditionNone == true)
|
||||||
{
|
{
|
||||||
Log.Debug("Is login");
|
Log.Debug("Is login");
|
||||||
this.lastConditionNone = false;
|
this.lastConditionNone = false;
|
||||||
this.IsLoggedIn = true;
|
this.IsLoggedIn = true;
|
||||||
this.Login?.Invoke(this, null);
|
this.Login?.Invoke(this, null);
|
||||||
|
gameGui.ResetUiHideState();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!condition.Any() && this.lastConditionNone == false)
|
if (!condition.Any() && this.lastConditionNone == false)
|
||||||
|
|
@ -178,6 +181,7 @@ namespace Dalamud.Game.ClientState
|
||||||
this.lastConditionNone = true;
|
this.lastConditionNone = true;
|
||||||
this.IsLoggedIn = false;
|
this.IsLoggedIn = false;
|
||||||
this.Logout?.Invoke(this, null);
|
this.Logout?.Invoke(this, null);
|
||||||
|
gameGui.ResetUiHideState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -459,6 +459,14 @@ namespace Dalamud.Game.Gui
|
||||||
this.handleActionOutHook.Dispose();
|
this.handleActionOutHook.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reset the stored "UI hide" state.
|
||||||
|
/// </summary>
|
||||||
|
internal void ResetUiHideState()
|
||||||
|
{
|
||||||
|
this.GameUiHidden = false;
|
||||||
|
}
|
||||||
|
|
||||||
private IntPtr HandleSetGlobalBgmDetour(ushort bgmKey, byte a2, uint a3, uint a4, uint a5, byte a6)
|
private IntPtr HandleSetGlobalBgmDetour(ushort bgmKey, byte a2, uint a3, uint a4, uint a5, byte a6)
|
||||||
{
|
{
|
||||||
var retVal = this.setGlobalBgmHook.Original(bgmKey, a2, a3, a4, a5, a6);
|
var retVal = this.setGlobalBgmHook.Original(bgmKey, a2, a3, a4, a5, a6);
|
||||||
|
|
@ -570,6 +578,7 @@ namespace Dalamud.Game.Gui
|
||||||
|
|
||||||
private IntPtr ToggleUiHideDetour(IntPtr thisPtr, byte unknownByte)
|
private IntPtr ToggleUiHideDetour(IntPtr thisPtr, byte unknownByte)
|
||||||
{
|
{
|
||||||
|
// TODO(goat): We should read this from memory directly, instead of relying on catching every toggle.
|
||||||
this.GameUiHidden = !this.GameUiHidden;
|
this.GameUiHidden = !this.GameUiHidden;
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue