update to api9

This commit is contained in:
rootdarkarchon
2023-10-02 14:13:08 +02:00
parent 99f8060798
commit f89f6c1216
33 changed files with 94 additions and 163 deletions

View File

@@ -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;
}

View File

@@ -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());
}
}
}

View File

@@ -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()

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -1,10 +0,0 @@
using System.Runtime.InteropServices;
namespace MareSynchronos.Interop.FFXIV;
[StructLayout(LayoutKind.Explicit)]
public unsafe struct Material
{
[FieldOffset(0x10)]
public ResourceHandle* ResourceHandle;
}

View File

@@ -1,10 +0,0 @@
using System.Runtime.InteropServices;
namespace MareSynchronos.Interop.FFXIV;
[StructLayout(LayoutKind.Explicit)]
public unsafe struct MaterialData
{
[FieldOffset(0x0)]
public byte* Data;
}

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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();

View File

@@ -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;

View File

@@ -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 =>

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -1,5 +1,6 @@
using System.Numerics;
using Dalamud.Interface;
using Dalamud.Interface.Utility;
using ImGuiNET;
using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.UI.Handlers;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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))

View File

@@ -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,

View File

@@ -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))

View File

@@ -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)

View File

@@ -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);
}

View File

@@ -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;

View File

@@ -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;