update to api9
This commit is contained in:
@@ -64,7 +64,7 @@ public sealed class FileCompactor
|
||||
|
||||
public long GetFileSizeOnDisk(string filePath)
|
||||
{
|
||||
if (Dalamud.Utility.Util.IsLinux()) return new FileInfo(filePath).Length;
|
||||
if (Dalamud.Utility.Util.IsWine()) return new FileInfo(filePath).Length;
|
||||
|
||||
var clusterSize = GetClusterSize(filePath);
|
||||
if (clusterSize == -1) return new FileInfo(filePath).Length;
|
||||
@@ -75,9 +75,9 @@ public sealed class FileCompactor
|
||||
|
||||
public async Task WriteAllBytesAsync(string filePath, byte[] decompressedFile, CancellationToken token)
|
||||
{
|
||||
await File.WriteAllBytesAsync(filePath, decompressedFile, token);
|
||||
await File.WriteAllBytesAsync(filePath, decompressedFile, token).ConfigureAwait(false);
|
||||
|
||||
if (Dalamud.Utility.Util.IsLinux() || !_mareConfigService.Current.UseCompactor)
|
||||
if (Dalamud.Utility.Util.IsWine() || !_mareConfigService.Current.UseCompactor)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Dalamud.Logging;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Text;
|
||||
@@ -8,12 +8,14 @@ namespace MareSynchronos.Interop;
|
||||
internal sealed class DalamudLogger : ILogger
|
||||
{
|
||||
private readonly MareConfigService _mareConfigService;
|
||||
private readonly IPluginLog _pluginLog;
|
||||
private readonly string _name;
|
||||
|
||||
public DalamudLogger(string name, MareConfigService mareConfigService)
|
||||
public DalamudLogger(string name, MareConfigService mareConfigService, IPluginLog pluginLog)
|
||||
{
|
||||
_name = name;
|
||||
_mareConfigService = mareConfigService;
|
||||
_pluginLog = pluginLog;
|
||||
}
|
||||
|
||||
public IDisposable BeginScope<TState>(TState state) => default!;
|
||||
@@ -28,18 +30,18 @@ internal sealed class DalamudLogger : ILogger
|
||||
if (!IsEnabled(logLevel)) return;
|
||||
|
||||
if ((int)logLevel <= (int)LogLevel.Information)
|
||||
PluginLog.Information($"[{_name}]{{{(int)logLevel}}} {state}");
|
||||
_pluginLog.Information($"[{_name}]{{{(int)logLevel}}} {state}");
|
||||
else
|
||||
{
|
||||
StringBuilder sb = new();
|
||||
sb.AppendLine($"[{_name}]{{{(int)logLevel}}} {state}: {exception?.Message}");
|
||||
sb.AppendLine(exception?.StackTrace);
|
||||
if (logLevel == LogLevel.Warning)
|
||||
PluginLog.Warning(sb.ToString());
|
||||
_pluginLog.Warning(sb.ToString());
|
||||
else if (logLevel == LogLevel.Error)
|
||||
PluginLog.Error(sb.ToString());
|
||||
_pluginLog.Error(sb.ToString());
|
||||
else
|
||||
PluginLog.Fatal(sb.ToString());
|
||||
_pluginLog.Fatal(sb.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Concurrent;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
@@ -11,10 +12,12 @@ public sealed class DalamudLoggingProvider : ILoggerProvider
|
||||
new(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
private readonly MareConfigService _mareConfigService;
|
||||
private readonly IPluginLog _pluginLog;
|
||||
|
||||
public DalamudLoggingProvider(MareConfigService mareConfigService)
|
||||
public DalamudLoggingProvider(MareConfigService mareConfigService, IPluginLog pluginLog)
|
||||
{
|
||||
_mareConfigService = mareConfigService;
|
||||
_pluginLog = pluginLog;
|
||||
}
|
||||
|
||||
public ILogger CreateLogger(string categoryName)
|
||||
@@ -29,7 +32,7 @@ public sealed class DalamudLoggingProvider : ILoggerProvider
|
||||
catName = string.Join("", Enumerable.Range(0, 15 - catName.Length).Select(_ => " ")) + catName;
|
||||
}
|
||||
|
||||
return _loggers.GetOrAdd(catName, name => new DalamudLogger(catName, _mareConfigService));
|
||||
return _loggers.GetOrAdd(catName, name => new DalamudLogger(catName, _mareConfigService, _pluginLog));
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
@@ -6,11 +8,12 @@ namespace MareSynchronos.Interop;
|
||||
|
||||
public static class DalamudLoggingProviderExtensions
|
||||
{
|
||||
public static ILoggingBuilder AddDalamudLogging(this ILoggingBuilder builder)
|
||||
public static ILoggingBuilder AddDalamudLogging(this ILoggingBuilder builder, IPluginLog pluginLog)
|
||||
{
|
||||
builder.ClearProviders();
|
||||
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<ILoggerProvider, DalamudLoggingProvider>());
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<ILoggerProvider, DalamudLoggingProvider>
|
||||
(b => new DalamudLoggingProvider(b.GetRequiredService<MareConfigService>(), pluginLog)));
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
|
||||
namespace MareSynchronos.Interop.FFXIV;
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct CharaExt
|
||||
{
|
||||
[FieldOffset(0x0)] public Character Character;
|
||||
[FieldOffset(0x650)] public Character* Mount;
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
|
||||
namespace MareSynchronos.Interop.FFXIV;
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct HumanExt
|
||||
{
|
||||
[FieldOffset(0x0)] public Human Human;
|
||||
[FieldOffset(0x9E8)] public ResourceHandle* Decal;
|
||||
[FieldOffset(0x9F0)] public ResourceHandle* LegacyBodyDecal;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace MareSynchronos.Interop.FFXIV;
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct Material
|
||||
{
|
||||
[FieldOffset(0x10)]
|
||||
public ResourceHandle* ResourceHandle;
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace MareSynchronos.Interop.FFXIV;
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct MaterialData
|
||||
{
|
||||
[FieldOffset(0x0)]
|
||||
public byte* Data;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace MareSynchronos.Interop.FFXIV;
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public unsafe struct MtrlResource
|
||||
{
|
||||
[FieldOffset(0x00)]
|
||||
public ResourceHandle Handle;
|
||||
|
||||
[FieldOffset(0xD0)]
|
||||
public ushort* TexSpace; // Contains the offsets for the tex files inside the string list.
|
||||
|
||||
[FieldOffset(0xE0)]
|
||||
public byte* StringList;
|
||||
|
||||
[FieldOffset(0xF8)]
|
||||
public ushort ShpkOffset;
|
||||
|
||||
[FieldOffset(0xFA)]
|
||||
public byte NumTex;
|
||||
|
||||
public byte* ShpkString
|
||||
=> StringList + ShpkOffset;
|
||||
|
||||
public byte* TexString(int idx)
|
||||
=> StringList + *(TexSpace + 4 + idx * 8);
|
||||
}
|
||||
@@ -5,15 +5,14 @@ using FFXIVClientStructs.FFXIV.Client.System.Resource;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
using MareSynchronos.Interop;
|
||||
using Object = FFXIVClientStructs.FFXIV.Client.Graphics.Scene.Object;
|
||||
using Penumbra.String;
|
||||
using Weapon = MareSynchronos.Interop.FFXIV.Weapon;
|
||||
using MareSynchronos.FileCache;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Globalization;
|
||||
using MareSynchronos.PlayerData.Data;
|
||||
using MareSynchronos.PlayerData.Handlers;
|
||||
using MareSynchronos.Interop.FFXIV;
|
||||
using MareSynchronos.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Render;
|
||||
|
||||
namespace MareSynchronos.PlayerData.Factories;
|
||||
|
||||
@@ -112,7 +111,7 @@ public class PlayerDataFactory
|
||||
{
|
||||
var mainHandWeapon = weaponObject->WeaponRenderModel->RenderModel;
|
||||
|
||||
AddReplacementsFromRenderModel(mainHandWeapon, forwardResolve, reverseResolve);
|
||||
AddReplacementsFromRenderModel((Model*)mainHandWeapon, forwardResolve, reverseResolve);
|
||||
|
||||
foreach (var item in _transientResourceManager.GetTransientResources((IntPtr)weaponObject))
|
||||
{
|
||||
@@ -124,7 +123,7 @@ public class PlayerDataFactory
|
||||
{
|
||||
var offHandWeapon = ((Weapon*)weaponObject->NextSibling)->WeaponRenderModel->RenderModel;
|
||||
|
||||
AddReplacementsFromRenderModel(offHandWeapon, forwardResolve, reverseResolve);
|
||||
AddReplacementsFromRenderModel((Model*)offHandWeapon, forwardResolve, reverseResolve);
|
||||
|
||||
foreach (var item in _transientResourceManager.GetTransientResources((IntPtr)offHandWeapon))
|
||||
{
|
||||
@@ -134,10 +133,10 @@ public class PlayerDataFactory
|
||||
}
|
||||
}
|
||||
|
||||
AddReplacementSkeleton(((HumanExt*)human)->Human.RaceSexId, forwardResolve);
|
||||
AddReplacementSkeleton((human)->RaceSexId, forwardResolve);
|
||||
try
|
||||
{
|
||||
AddReplacementsFromTexture(new ByteString(((HumanExt*)human)->Decal->FileName()).ToString(), forwardResolve, reverseResolve, doNotReverseResolve: false);
|
||||
AddReplacementsFromTexture((human)->Decal->ResourceHandle.FileName.ToString(), forwardResolve, reverseResolve, doNotReverseResolve: false);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -145,7 +144,7 @@ public class PlayerDataFactory
|
||||
}
|
||||
try
|
||||
{
|
||||
AddReplacementsFromTexture(new ByteString(((HumanExt*)human)->LegacyBodyDecal->FileName()).ToString(), forwardResolve, reverseResolve, doNotReverseResolve: false);
|
||||
AddReplacementsFromTexture((human)->LegacyBodyDecal->ResourceHandle.FileName.ToString(), forwardResolve, reverseResolve, doNotReverseResolve: false);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -158,7 +157,7 @@ public class PlayerDataFactory
|
||||
string fileName;
|
||||
try
|
||||
{
|
||||
fileName = new ByteString(mtrl->ResourceHandle->FileName()).ToString();
|
||||
fileName = mtrl->MaterialResourceHandle->ResourceHandle.FileName.ToString();
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -171,13 +170,13 @@ public class PlayerDataFactory
|
||||
|
||||
reverseResolve.Add(mtrlPath);
|
||||
|
||||
var mtrlResourceHandle = (MtrlResource*)mtrl->ResourceHandle;
|
||||
for (var resIdx = 0; resIdx < mtrlResourceHandle->NumTex; resIdx++)
|
||||
var mtrlResourceHandle = mtrl->MaterialResourceHandle;
|
||||
for (var resIdx = 0; resIdx < mtrlResourceHandle->TextureCount; resIdx++)
|
||||
{
|
||||
string? texPath = null;
|
||||
try
|
||||
{
|
||||
texPath = new ByteString(mtrlResourceHandle->TexString(resIdx)).ToString();
|
||||
texPath = mtrlResourceHandle->TexturePathString(resIdx);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -191,7 +190,7 @@ public class PlayerDataFactory
|
||||
|
||||
try
|
||||
{
|
||||
var shpkPath = "shader/sm5/shpk/" + new ByteString(mtrlResourceHandle->ShpkString).ToString();
|
||||
var shpkPath = "shader/sm5/shpk/" + mtrlResourceHandle->ShpkNameString;
|
||||
_logger.LogTrace("Checking File Replacement for Shader {path}", shpkPath);
|
||||
forwardResolve.Add(shpkPath);
|
||||
}
|
||||
@@ -201,9 +200,9 @@ public class PlayerDataFactory
|
||||
}
|
||||
}
|
||||
|
||||
private unsafe void AddReplacementsFromRenderModel(RenderModel* mdl, HashSet<string> forwardResolve, HashSet<string> reverseResolve)
|
||||
private unsafe void AddReplacementsFromRenderModel(Model* mdl, HashSet<string> forwardResolve, HashSet<string> reverseResolve)
|
||||
{
|
||||
if (mdl == null || mdl->ResourceHandle == null || mdl->ResourceHandle->Category != ResourceCategory.Chara)
|
||||
if (mdl == null || mdl->ModelResourceHandle == null || mdl->ModelResourceHandle->ResourceHandle.Category != ResourceCategory.Chara)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -211,7 +210,7 @@ public class PlayerDataFactory
|
||||
string mdlPath;
|
||||
try
|
||||
{
|
||||
mdlPath = new ByteString(mdl->ResourceHandle->FileName()).ToString();
|
||||
mdlPath = mdl->ModelResourceHandle->ResourceHandle.FileName.ToString();
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -224,7 +223,7 @@ public class PlayerDataFactory
|
||||
|
||||
for (var mtrlIdx = 0; mtrlIdx < mdl->MaterialCount; mtrlIdx++)
|
||||
{
|
||||
var mtrl = (Material*)mdl->Materials[mtrlIdx];
|
||||
var mtrl = mdl->Materials[mtrlIdx];
|
||||
if (mtrl == null) continue;
|
||||
|
||||
AddReplacementsFromMaterial(mtrl, forwardResolve, reverseResolve);
|
||||
@@ -269,8 +268,8 @@ public class PlayerDataFactory
|
||||
var human = (Human*)((Character*)charaPointer)->GameObject.GetDrawObject();
|
||||
for (var mdlIdx = 0; mdlIdx < human->CharacterBase.SlotCount; ++mdlIdx)
|
||||
{
|
||||
var mdl = (RenderModel*)human->CharacterBase.ModelArray[mdlIdx];
|
||||
if (mdl == null || mdl->ResourceHandle == null || mdl->ResourceHandle->Category != ResourceCategory.Chara)
|
||||
var mdl = human->CharacterBase.Models[mdlIdx];
|
||||
if (mdl == null || mdl->ModelResourceHandle == null || mdl->ModelResourceHandle->ResourceHandle.Category != ResourceCategory.Chara)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Dalamud.Logging;
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Dto.User;
|
||||
using MareSynchronos.FileCache;
|
||||
using MareSynchronos.Interop;
|
||||
@@ -586,7 +585,7 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
PluginLog.Error(ex, "[BASE-{appBase}] Something went wrong during calculation replacements", applicationBase);
|
||||
Logger.LogError(ex, "[BASE-{appBase}] Something went wrong during calculation replacements", applicationBase);
|
||||
}
|
||||
if (hasMigrationChanges) _fileDbManager.WriteOutFullCsv();
|
||||
st.Stop();
|
||||
|
||||
@@ -5,7 +5,6 @@ using MareSynchronos.PlayerData.Handlers;
|
||||
using MareSynchronos.Services;
|
||||
using MareSynchronos.Services.Mediator;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Linq;
|
||||
|
||||
namespace MareSynchronos.PlayerData.Services;
|
||||
|
||||
|
||||
@@ -1,15 +1,8 @@
|
||||
using Dalamud.ContextMenu;
|
||||
using Dalamud.Data;
|
||||
using Dalamud.Game;
|
||||
using Dalamud.Game.ClientState;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.ClientState.Objects;
|
||||
using Dalamud.Game.Command;
|
||||
using Dalamud.Game.Gui;
|
||||
using Dalamud.Game.Gui.Dtr;
|
||||
using Dalamud.Interface.ImGuiFileDialog;
|
||||
using Dalamud.Interface.Windowing;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.FileCache;
|
||||
using MareSynchronos.Interop;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
@@ -35,16 +28,16 @@ public sealed class Plugin : IDalamudPlugin
|
||||
{
|
||||
private readonly CancellationTokenSource _pluginCts = new();
|
||||
|
||||
public Plugin(DalamudPluginInterface pluginInterface, CommandManager commandManager, DataManager gameData,
|
||||
Framework framework, ObjectTable objectTable, ClientState clientState, Condition condition, ChatGui chatGui,
|
||||
GameGui gameGui, DtrBar dtrBar)
|
||||
public Plugin(DalamudPluginInterface pluginInterface, ICommandManager commandManager, IDataManager gameData,
|
||||
IFramework framework, IObjectTable objectTable, IClientState clientState, ICondition condition, IChatGui chatGui,
|
||||
IGameGui gameGui, IDtrBar dtrBar, IPluginLog pluginLog)
|
||||
{
|
||||
_ = new HostBuilder()
|
||||
.UseContentRoot(pluginInterface.ConfigDirectory.FullName)
|
||||
.ConfigureLogging(lb =>
|
||||
{
|
||||
lb.ClearProviders();
|
||||
lb.AddDalamudLogging();
|
||||
lb.AddDalamudLogging(pluginLog);
|
||||
lb.SetMinimumLevel(LogLevel.Trace);
|
||||
})
|
||||
.ConfigureServices(collection =>
|
||||
@@ -119,7 +112,7 @@ public sealed class Plugin : IDalamudPlugin
|
||||
s.GetRequiredService<WindowSystem>(), s.GetServices<WindowMediatorSubscriberBase>(), s.GetRequiredService<Func<Pair, StandaloneProfileUi>>(),
|
||||
s.GetRequiredService<FileDialogManager>(), s.GetRequiredService<MareMediator>()));
|
||||
collection.AddScoped((s) => new CommandManagerService(commandManager, s.GetRequiredService<PerformanceCollectorService>(), s.GetRequiredService<UiService>(),
|
||||
s.GetRequiredService<ServerConfigurationManager>(), s.GetRequiredService<PeriodicFileScanner>(), s.GetRequiredService<ApiController>(),
|
||||
s.GetRequiredService<ServerConfigurationManager>(), s.GetRequiredService<PeriodicFileScanner>(), s.GetRequiredService<ApiController>(),
|
||||
s.GetRequiredService<MareMediator>()));
|
||||
collection.AddScoped((s) => new NotificationService(s.GetRequiredService<ILogger<NotificationService>>(),
|
||||
s.GetRequiredService<MareMediator>(), pluginInterface.UiBuilder, chatGui, s.GetRequiredService<MareConfigService>()));
|
||||
|
||||
@@ -5,7 +5,6 @@ using MareSynchronos.Services.Mediator;
|
||||
using MareSynchronos.UI;
|
||||
using MareSynchronos.Utils;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Lumina.Data;
|
||||
using Lumina.Data.Files;
|
||||
|
||||
namespace MareSynchronos.Services;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Dalamud.Game.Command;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.FileCache;
|
||||
using MareSynchronos.Services.Mediator;
|
||||
using MareSynchronos.Services.ServerConfiguration;
|
||||
@@ -12,14 +13,14 @@ public sealed class CommandManagerService : IDisposable
|
||||
private const string _commandName = "/mare";
|
||||
|
||||
private readonly ApiController _apiController;
|
||||
private readonly CommandManager _commandManager;
|
||||
private readonly ICommandManager _commandManager;
|
||||
private readonly MareMediator _mediator;
|
||||
private readonly PerformanceCollectorService _performanceCollectorService;
|
||||
private readonly PeriodicFileScanner _periodicFileScanner;
|
||||
private readonly ServerConfigurationManager _serverConfigurationManager;
|
||||
private readonly UiService _uiService;
|
||||
|
||||
public CommandManagerService(CommandManager commandManager, PerformanceCollectorService performanceCollectorService,
|
||||
public CommandManagerService(ICommandManager commandManager, PerformanceCollectorService performanceCollectorService,
|
||||
UiService uiService, ServerConfigurationManager serverConfigurationManager, PeriodicFileScanner periodicFileScanner,
|
||||
ApiController apiController, MareMediator mediator)
|
||||
{
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
using Dalamud.Game;
|
||||
using Dalamud.Game.ClientState;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.ClientState.Objects;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.ClientState.Objects.SubKinds;
|
||||
using Dalamud.Game.Gui;
|
||||
using Dalamud.Plugin.Services;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Character;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Control;
|
||||
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
|
||||
@@ -21,13 +18,13 @@ namespace MareSynchronos.Services;
|
||||
public class DalamudUtilService : IHostedService
|
||||
{
|
||||
private readonly List<uint> _classJobIdsIgnoredForPets = new() { 30 };
|
||||
private readonly ClientState _clientState;
|
||||
private readonly Condition _condition;
|
||||
private readonly Framework _framework;
|
||||
private readonly GameGui _gameGui;
|
||||
private readonly IClientState _clientState;
|
||||
private readonly ICondition _condition;
|
||||
private readonly IFramework _framework;
|
||||
private readonly IGameGui _gameGui;
|
||||
private readonly ILogger<DalamudUtilService> _logger;
|
||||
private readonly MareMediator _mediator;
|
||||
private readonly ObjectTable _objectTable;
|
||||
private readonly IObjectTable _objectTable;
|
||||
private readonly PerformanceCollectorService _performanceCollector;
|
||||
private uint? _classJobId = 0;
|
||||
private DateTime _delayedFrameworkUpdateCheck = DateTime.Now;
|
||||
@@ -37,8 +34,8 @@ public class DalamudUtilService : IHostedService
|
||||
private Dictionary<string, (string Name, nint Address)> _playerCharas = new(StringComparer.Ordinal);
|
||||
private bool _sentBetweenAreas = false;
|
||||
|
||||
public DalamudUtilService(ILogger<DalamudUtilService> logger, ClientState clientState, ObjectTable objectTable, Framework framework,
|
||||
GameGui gameGui, Condition condition, Dalamud.Data.DataManager gameData, MareMediator mediator, PerformanceCollectorService performanceCollector)
|
||||
public DalamudUtilService(ILogger<DalamudUtilService> logger, IClientState clientState, IObjectTable objectTable, IFramework framework,
|
||||
IGameGui gameGui, ICondition condition, IDataManager gameData, MareMediator mediator, PerformanceCollectorService performanceCollector)
|
||||
{
|
||||
_logger = logger;
|
||||
_clientState = clientState;
|
||||
@@ -394,7 +391,7 @@ public class DalamudUtilService : IHostedService
|
||||
}
|
||||
}
|
||||
|
||||
private void FrameworkOnUpdate(Framework framework)
|
||||
private void FrameworkOnUpdate(IFramework framework)
|
||||
{
|
||||
_performanceCollector.LogPerformance(this, "FrameworkOnUpdate", FrameworkOnUpdateInternal);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Dalamud.Game.Gui;
|
||||
using Dalamud.Game.Text.SeStringHandling;
|
||||
using Dalamud.Game.Text.SeStringHandling;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using MareSynchronos.MareConfiguration.Models;
|
||||
using MareSynchronos.Services.Mediator;
|
||||
@@ -11,11 +11,11 @@ namespace MareSynchronos.Services;
|
||||
|
||||
public class NotificationService : DisposableMediatorSubscriberBase
|
||||
{
|
||||
private readonly ChatGui _chatGui;
|
||||
private readonly IChatGui _chatGui;
|
||||
private readonly MareConfigService _configurationService;
|
||||
private readonly UiBuilder _uiBuilder;
|
||||
|
||||
public NotificationService(ILogger<NotificationService> logger, MareMediator mediator, UiBuilder uiBuilder, ChatGui chatGui, MareConfigService configurationService) : base(logger, mediator)
|
||||
public NotificationService(ILogger<NotificationService> logger, MareMediator mediator, UiBuilder uiBuilder, IChatGui chatGui, MareConfigService configurationService) : base(logger, mediator)
|
||||
{
|
||||
_uiBuilder = uiBuilder;
|
||||
_chatGui = chatGui;
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Reflection;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Components;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Utility;
|
||||
using ImGuiNET;
|
||||
using MareSynchronos.API.Data.Extensions;
|
||||
|
||||
@@ -9,6 +9,7 @@ using MareSynchronos.API.Dto.User;
|
||||
using MareSynchronos.UI.Handlers;
|
||||
using MareSynchronos.API.Dto.Group;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
using Dalamud.Interface.Utility;
|
||||
|
||||
namespace MareSynchronos.UI.Components;
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ using MareSynchronos.API.Data.Extensions;
|
||||
using MareSynchronos.WebAPI;
|
||||
using MareSynchronos.API.Dto.User;
|
||||
using MareSynchronos.UI.Handlers;
|
||||
using Dalamud.Interface.Utility;
|
||||
|
||||
namespace MareSynchronos.UI.Components;
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ using MareSynchronos.PlayerData.Pairs;
|
||||
using MareSynchronos.Services.ServerConfiguration;
|
||||
using MareSynchronos.UI.Components;
|
||||
using MareSynchronos.UI.Handlers;
|
||||
using Dalamud.Interface.Utility;
|
||||
|
||||
namespace MareSynchronos.UI;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Numerics;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Components;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Utility;
|
||||
using ImGuiNET;
|
||||
using MareSynchronos.PlayerData.Pairs;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Numerics;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Utility;
|
||||
using ImGuiNET;
|
||||
using MareSynchronos.PlayerData.Pairs;
|
||||
using MareSynchronos.UI.Handlers;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Raii;
|
||||
using Dalamud.Interface.Utility.Raii;
|
||||
using ImGuiNET;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
using MareSynchronos.Interop;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Dalamud.Game.Gui.Dtr;
|
||||
using Dalamud.Plugin.Services;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using MareSynchronos.MareConfiguration.Configurations;
|
||||
using MareSynchronos.PlayerData.Pairs;
|
||||
@@ -13,14 +14,14 @@ public sealed class DtrEntry : IDisposable, IHostedService
|
||||
private readonly ApiController _apiController;
|
||||
private readonly CancellationTokenSource _cancellationTokenSource = new();
|
||||
private readonly ILogger<DtrEntry> _logger;
|
||||
private readonly DtrBar _dtrBar;
|
||||
private readonly IDtrBar _dtrBar;
|
||||
private readonly ConfigurationServiceBase<MareConfig> _configService;
|
||||
private Lazy<DtrBarEntry> _entry;
|
||||
private readonly PairManager _pairManager;
|
||||
private Task? _runTask;
|
||||
private string? _text;
|
||||
|
||||
public DtrEntry(ILogger<DtrEntry> logger, DtrBar dtrBar, ConfigurationServiceBase<MareConfig> configService, PairManager pairManager, ApiController apiController)
|
||||
public DtrEntry(ILogger<DtrEntry> logger, IDtrBar dtrBar, ConfigurationServiceBase<MareConfig> configService, PairManager pairManager, ApiController apiController)
|
||||
{
|
||||
_logger = logger;
|
||||
_dtrBar = dtrBar;
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.GameFonts;
|
||||
using Dalamud.Interface.ImGuiFileDialog;
|
||||
using Dalamud.Interface.Internal;
|
||||
using Dalamud.Interface.Utility;
|
||||
using ImGuiNET;
|
||||
using ImGuiScene;
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Dto.User;
|
||||
using MareSynchronos.Services;
|
||||
@@ -23,7 +24,7 @@ public class EditProfileUi : WindowMediatorSubscriberBase
|
||||
private bool _adjustedForScollBarsLocalProfile = false;
|
||||
private bool _adjustedForScollBarsOnlineProfile = false;
|
||||
private string _descriptionText = string.Empty;
|
||||
private TextureWrap? _pfpTextureWrap;
|
||||
private IDalamudTextureWrap? _pfpTextureWrap;
|
||||
private string _profileDescription = string.Empty;
|
||||
private byte[] _profileImage = Array.Empty<byte>();
|
||||
private bool _showFileDialogError = false;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Utility;
|
||||
using ImGuiNET;
|
||||
using MareSynchronos.FileCache;
|
||||
@@ -49,7 +49,7 @@ public class IntroUi : WindowMediatorSubscriberBase
|
||||
Mediator.Subscribe<SwitchToMainUiMessage>(this, (_) => IsOpen = false);
|
||||
Mediator.Subscribe<SwitchToIntroUiMessage>(this, (_) =>
|
||||
{
|
||||
_configService.Current.UseCompactor = !Util.IsLinux();
|
||||
_configService.Current.UseCompactor = !Util.IsWine();
|
||||
IsOpen = true;
|
||||
});
|
||||
}
|
||||
@@ -174,7 +174,7 @@ public class IntroUi : WindowMediatorSubscriberBase
|
||||
{
|
||||
_uiShared.DrawFileScanState();
|
||||
}
|
||||
if (!Util.IsLinux())
|
||||
if (!Util.IsWine())
|
||||
{
|
||||
var useFileCompactor = _configService.Current.UseCompactor;
|
||||
if (ImGui.Checkbox("Use File Compactor", ref useFileCompactor))
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Dalamud.Interface.Colors;
|
||||
using ImGuiNET;
|
||||
using ImGuiScene;
|
||||
using MareSynchronos.PlayerData.Pairs;
|
||||
using MareSynchronos.Services;
|
||||
using MareSynchronos.Services.Mediator;
|
||||
@@ -9,7 +8,8 @@ using Microsoft.Extensions.Logging;
|
||||
using System.Numerics;
|
||||
using MareSynchronos.API.Data.Extensions;
|
||||
using MareSynchronos.MareConfiguration;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Interface.Internal;
|
||||
|
||||
namespace MareSynchronos.UI;
|
||||
|
||||
@@ -23,8 +23,8 @@ public class PopoutProfileUi : WindowMediatorSubscriberBase
|
||||
private byte[] _lastProfilePicture = Array.Empty<byte>();
|
||||
private byte[] _lastSupporterPicture = Array.Empty<byte>();
|
||||
private Pair? _pair;
|
||||
private TextureWrap? _supporterTextureWrap;
|
||||
private TextureWrap? _textureWrap;
|
||||
private IDalamudTextureWrap? _supporterTextureWrap;
|
||||
private IDalamudTextureWrap? _textureWrap;
|
||||
|
||||
public PopoutProfileUi(ILogger<PopoutProfileUi> logger, MareMediator mediator, UiSharedService uiBuilder,
|
||||
ServerConfigurationManager serverManager, MareConfigService mareConfigService,
|
||||
|
||||
@@ -437,7 +437,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
|
||||
_uiShared.DrawTimeSpanBetweenScansSetting();
|
||||
_uiShared.DrawCacheDirectorySetting();
|
||||
ImGui.Text($"Currently utilized local storage: {UiSharedService.ByteToString(_uiShared.FileCacheSize)}");
|
||||
bool isLinux = Util.IsLinux();
|
||||
bool isLinux = Util.IsWine();
|
||||
if (isLinux) ImGui.BeginDisabled();
|
||||
bool useFileCompactor = _configService.Current.UseCompactor;
|
||||
if (ImGui.Checkbox("Use file compactor", ref useFileCompactor))
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using Dalamud.Interface.Colors;
|
||||
using ImGuiNET;
|
||||
using ImGuiScene;
|
||||
using MareSynchronos.PlayerData.Pairs;
|
||||
using MareSynchronos.Services;
|
||||
using MareSynchronos.Services.Mediator;
|
||||
@@ -8,7 +7,8 @@ using MareSynchronos.Services.ServerConfiguration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System.Numerics;
|
||||
using MareSynchronos.API.Data.Extensions;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Interface.Internal;
|
||||
|
||||
namespace MareSynchronos.UI;
|
||||
|
||||
@@ -20,8 +20,8 @@ public class StandaloneProfileUi : WindowMediatorSubscriberBase
|
||||
private bool _adjustedForScrollBars = false;
|
||||
private byte[] _lastProfilePicture = Array.Empty<byte>();
|
||||
private byte[] _lastSupporterPicture = Array.Empty<byte>();
|
||||
private TextureWrap? _supporterTextureWrap;
|
||||
private TextureWrap? _textureWrap;
|
||||
private IDalamudTextureWrap? _supporterTextureWrap;
|
||||
private IDalamudTextureWrap? _textureWrap;
|
||||
|
||||
public StandaloneProfileUi(ILogger<StandaloneProfileUi> logger, MareMediator mediator, UiSharedService uiBuilder,
|
||||
ServerConfigurationManager serverManager, MareProfileManager mareProfileManager, Pair pair)
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.GameFonts;
|
||||
using Dalamud.Interface.ImGuiFileDialog;
|
||||
using Dalamud.Interface.Internal;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Plugin;
|
||||
using Dalamud.Utility;
|
||||
using ImGuiNET;
|
||||
using ImGuiScene;
|
||||
using MareSynchronos.FileCache;
|
||||
using MareSynchronos.Interop;
|
||||
using MareSynchronos.Localization;
|
||||
@@ -781,7 +782,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
|
||||
return _pluginInterface.UiBuilder.GetGameFontHandle(new GameFontStyle(GameFontFamilyAndSize.Axis12)).ImFont;
|
||||
}
|
||||
|
||||
internal TextureWrap LoadImage(byte[] imageData)
|
||||
internal IDalamudTextureWrap LoadImage(byte[] imageData)
|
||||
{
|
||||
return _pluginInterface.UiBuilder.LoadImage(imageData);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Utility;
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data.Enum;
|
||||
using MareSynchronos.PlayerData.Handlers;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using LZ4;
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Data;
|
||||
using MareSynchronos.API.Dto.Files;
|
||||
using MareSynchronos.API.Routes;
|
||||
using MareSynchronos.FileCache;
|
||||
|
||||
Reference in New Issue
Block a user