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