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

View File

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