minor fixes

This commit is contained in:
rootdarkarchon
2023-05-03 22:54:17 +02:00
parent 4b52e60e7d
commit 8894795564
3 changed files with 39 additions and 22 deletions

View File

@@ -36,11 +36,11 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
private readonly ICallGateSubscriber<GameObject, object?> _heelsUnregisterPlayer; private readonly ICallGateSubscriber<GameObject, object?> _heelsUnregisterPlayer;
private readonly ICallGateSubscriber<(uint major, uint minor)> _honorificApiVersion; private readonly ICallGateSubscriber<(uint major, uint minor)> _honorificApiVersion;
private readonly ICallGateSubscriber<Character, object> _honorificClearCharacterTitle; private readonly ICallGateSubscriber<Character, object> _honorificClearCharacterTitle;
private readonly ICallGateSubscriber<object> _honorificDisposing;
private readonly ICallGateSubscriber<string> _honorificGetLocalCharacterTitle; private readonly ICallGateSubscriber<string> _honorificGetLocalCharacterTitle;
private readonly ICallGateSubscriber<string, object> _honorificLocalCharacterTitleChanged; private readonly ICallGateSubscriber<string, object> _honorificLocalCharacterTitleChanged;
private readonly ICallGateSubscriber<Character, string, object> _honorificSetCharacterTitle;
private readonly ICallGateSubscriber<object> _honorificDisposing;
private readonly ICallGateSubscriber<object> _honorificReady; private readonly ICallGateSubscriber<object> _honorificReady;
private readonly ICallGateSubscriber<Character, string, object> _honorificSetCharacterTitle;
private readonly ConcurrentQueue<Action> _normalQueue = new(); private readonly ConcurrentQueue<Action> _normalQueue = new();
private readonly ICallGateSubscriber<string> _palettePlusApiVersion; private readonly ICallGateSubscriber<string> _palettePlusApiVersion;
private readonly ICallGateSubscriber<Character, string> _palettePlusBuildCharaPalette; private readonly ICallGateSubscriber<Character, string> _palettePlusBuildCharaPalette;
@@ -155,6 +155,8 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
Mediator.Subscribe<CutsceneFrameworkUpdateMessage>(this, (_) => HandleGposeActionQueue()); Mediator.Subscribe<CutsceneFrameworkUpdateMessage>(this, (_) => HandleGposeActionQueue());
Mediator.Subscribe<ZoneSwitchEndMessage>(this, (_) => ClearActionQueue()); Mediator.Subscribe<ZoneSwitchEndMessage>(this, (_) => ClearActionQueue());
Mediator.Subscribe<DelayedFrameworkUpdateMessage>(this, (_) => PeriodicApiStateCheck()); Mediator.Subscribe<DelayedFrameworkUpdateMessage>(this, (_) => PeriodicApiStateCheck());
PeriodicApiStateCheck();
} }
public bool Initialized => CheckPenumbraApiInternal() && CheckGlamourerApiInternal(); public bool Initialized => CheckPenumbraApiInternal() && CheckGlamourerApiInternal();
@@ -337,6 +339,8 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
{ {
if (!CheckHonorificApi()) return; if (!CheckHonorificApi()) return;
Logger.LogTrace("Applying Honorific data to {chara}", character.ToString("X")); Logger.LogTrace("Applying Honorific data to {chara}", character.ToString("X"));
try
{
await _dalamudUtil.RunOnFrameworkThread(() => await _dalamudUtil.RunOnFrameworkThread(() =>
{ {
var gameObj = _dalamudUtil.CreateGameObject(character); var gameObj = _dalamudUtil.CreateGameObject(character);
@@ -354,6 +358,11 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
} }
}).ConfigureAwait(false); }).ConfigureAwait(false);
} }
catch (Exception e)
{
Logger.LogWarning(e, "Could not apply Honorific data");
}
}
public async Task<string> PalettePlusBuildPaletteAsync() public async Task<string> PalettePlusBuildPaletteAsync()
{ {
@@ -645,17 +654,17 @@ public sealed class IpcManager : DisposableMediatorSubscriberBase
Mediator.Publish(new CustomizePlusMessage()); Mediator.Publish(new CustomizePlusMessage());
} }
private void OnHonorificDisposing()
{
Mediator.Publish(new HonorificMessage(string.Empty));
}
private void OnHonorificLocalCharacterTitleChanged(string titleJson) private void OnHonorificLocalCharacterTitleChanged(string titleJson)
{ {
string titleData = string.IsNullOrEmpty(titleJson) ? string.Empty : Convert.ToBase64String(Encoding.UTF8.GetBytes(titleJson)); string titleData = string.IsNullOrEmpty(titleJson) ? string.Empty : Convert.ToBase64String(Encoding.UTF8.GetBytes(titleJson));
Mediator.Publish(new HonorificMessage(titleData)); Mediator.Publish(new HonorificMessage(titleData));
} }
private void OnHonorificDisposing()
{
Mediator.Publish(new HonorificMessage(string.Empty));
}
private void OnHonorificReady() private void OnHonorificReady()
{ {
_honorificAvailable = CheckHonorificApiInternal(); _honorificAvailable = CheckHonorificApiInternal();

View File

@@ -332,7 +332,15 @@ public class DalamudUtilService : IHostedService
private unsafe void FrameworkOnUpdateInternal() private unsafe void FrameworkOnUpdateInternal()
{ {
if (_clientState.LocalPlayer?.IsDead ?? false) return; if (_clientState.LocalPlayer == null)
{
return;
}
if (_clientState.LocalPlayer?.IsDead ?? false)
{
return;
}
IsAnythingDrawing = false; IsAnythingDrawing = false;
_playerCharas = _performanceCollector.LogPerformance(this, "ObjTableToCharas", _playerCharas = _performanceCollector.LogPerformance(this, "ObjTableToCharas",