Dalamud 13

This commit is contained in:
Loporrit
2025-08-05 10:21:24 +00:00
parent 9d9ec9cafc
commit 9a5918110e
34 changed files with 50 additions and 52 deletions

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Dalamud.NET.Sdk/12.0.2"> <Project Sdk="Dalamud.NET.Sdk/13.0.0">
<PropertyGroup> <PropertyGroup>
<AssemblyName>LoporritSync</AssemblyName> <AssemblyName>LoporritSync</AssemblyName>
<Version>9.9.0</Version> <Version>9.9.0</Version>

View File

@@ -88,9 +88,11 @@ public class PluginWatcherService : MediatorSubscriberBase
Logger.LogError(e, "PluginWatcherService exception"); Logger.LogError(e, "PluginWatcherService exception");
} }
}); });
Update(publish: false);
} }
private void Update() private void Update(bool publish = true)
{ {
if (!ExposedPluginsEqual(_pluginInterface.InstalledPlugins, _prevInstalledPluginState)) if (!ExposedPluginsEqual(_pluginInterface.InstalledPlugins, _prevInstalledPluginState))
{ {
@@ -111,20 +113,20 @@ public class PluginWatcherService : MediatorSubscriberBase
foreach (var internalName in newDict.Keys.Except(oldDict.Keys, StringComparer.Ordinal)) foreach (var internalName in newDict.Keys.Except(oldDict.Keys, StringComparer.Ordinal))
{ {
var p = newDict[internalName].OrderBy(p => (!p.IsLoaded, p.Version)).First(); var p = newDict[internalName].OrderBy(p => (!p.IsLoaded, p.Version)).First();
Mediator.Publish(new PluginChangeMessage(internalName, p.Version, p.IsLoaded)); if (publish) Mediator.Publish(new PluginChangeMessage(internalName, p.Version, p.IsLoaded));
} }
foreach (var internalName in oldDict.Keys.Except(newDict.Keys, StringComparer.Ordinal)) foreach (var internalName in oldDict.Keys.Except(newDict.Keys, StringComparer.Ordinal))
{ {
var p = newDict[internalName].OrderBy(p => (!p.IsLoaded, p.Version)).First(); var p = newDict[internalName].OrderBy(p => (!p.IsLoaded, p.Version)).First();
Mediator.Publish(new PluginChangeMessage(p.InternalName, p.Version, p.IsLoaded)); if (publish) Mediator.Publish(new PluginChangeMessage(p.InternalName, p.Version, p.IsLoaded));
} }
foreach (var changedGroup in newDict.Where(p => oldDict.TryGetValue(p.Key, out var old) && !old.SequenceEqual(p.Value))) foreach (var changedGroup in newDict.Where(p => oldDict.TryGetValue(p.Key, out var old) && !old.SequenceEqual(p.Value)))
{ {
var internalName = changedGroup.Value.First().InternalName; var internalName = changedGroup.Value.First().InternalName;
var p = newDict[internalName].OrderBy(p => (!p.IsLoaded, p.Version)).First(); var p = newDict[internalName].OrderBy(p => (!p.IsLoaded, p.Version)).First();
Mediator.Publish(new PluginChangeMessage(p.InternalName, p.Version, p.IsLoaded)); if (publish) Mediator.Publish(new PluginChangeMessage(p.InternalName, p.Version, p.IsLoaded));
} }
} }
} }

View File

@@ -46,8 +46,8 @@ public sealed class XivDataAnalyzer
if ((nint)handle == nint.Zero) continue; if ((nint)handle == nint.Zero) continue;
var curBones = handle->BoneCount; var curBones = handle->BoneCount;
// this is unrealistic, the filename shouldn't ever be that long // this is unrealistic, the filename shouldn't ever be that long
if (handle->ResourceHandle.FileName.Length > 1024) continue; if (handle->FileName.Length > 1024) continue;
var skeletonName = handle->ResourceHandle.FileName.ToString(); var skeletonName = handle->FileName.ToString();
if (string.IsNullOrEmpty(skeletonName)) continue; if (string.IsNullOrEmpty(skeletonName)) continue;
outputIndices[skeletonName] = new(); outputIndices[skeletonName] = new();
for (ushort boneIdx = 0; boneIdx < curBones; boneIdx++) for (ushort boneIdx = 0; boneIdx < curBones; boneIdx++)

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.Services.CharaData.Models; using MareSynchronos.Services.CharaData.Models;
namespace MareSynchronos.UI; namespace MareSynchronos.UI;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface; using Dalamud.Interface;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Dto.CharaData; using MareSynchronos.API.Dto.CharaData;
using MareSynchronos.Services.CharaData.Models; using MareSynchronos.Services.CharaData.Models;
using System.Numerics; using System.Numerics;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface; using Dalamud.Interface;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using System.Numerics; using System.Numerics;
namespace MareSynchronos.UI; namespace MareSynchronos.UI;

View File

@@ -3,7 +3,7 @@ using Dalamud.Interface.Colors;
using Dalamud.Interface.ImGuiFileDialog; using Dalamud.Interface.ImGuiFileDialog;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Dto.CharaData; using MareSynchronos.API.Dto.CharaData;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using MareSynchronos.MareConfiguration.Models; using MareSynchronos.MareConfiguration.Models;

View File

@@ -9,7 +9,7 @@ using Dalamud.Interface.Components;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.API.Dto.User; using MareSynchronos.API.Dto.User;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;

View File

@@ -1,7 +1,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Components; using Dalamud.Interface.Components;
using Dalamud.Interface; using Dalamud.Interface;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.WebAPI; using MareSynchronos.WebAPI;

View File

@@ -1,5 +1,5 @@
using Dalamud.Interface; using Dalamud.Interface;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.UI.Handlers; using MareSynchronos.UI.Handlers;
using MareSynchronos.WebAPI; using MareSynchronos.WebAPI;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Components; using Dalamud.Interface.Components;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Interface; using Dalamud.Interface;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using System.Numerics; using System.Numerics;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Interface; using Dalamud.Interface;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.WebAPI; using MareSynchronos.WebAPI;
using System.Numerics; using System.Numerics;
using System.Globalization; using System.Globalization;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Components; using Dalamud.Interface.Components;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using MareSynchronos.UI.Handlers; using MareSynchronos.UI.Handlers;

View File

@@ -1,5 +1,5 @@
using Dalamud.Interface; using Dalamud.Interface;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Dto.Group; using MareSynchronos.API.Dto.Group;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.Services.Mediator; using MareSynchronos.Services.Mediator;

View File

@@ -1,7 +1,7 @@
using Dalamud.Interface; using Dalamud.Interface;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.Services; using MareSynchronos.Services;
using MareSynchronos.Services.Mediator; using MareSynchronos.Services.Mediator;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;

View File

@@ -1,7 +1,7 @@
using Dalamud.Interface; using Dalamud.Interface;
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.Services.Mediator; using MareSynchronos.Services.Mediator;
using MareSynchronos.WebAPI; using MareSynchronos.WebAPI;

View File

@@ -3,7 +3,7 @@ using Dalamud.Interface;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.UI.Handlers; using MareSynchronos.UI.Handlers;

View File

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

View File

@@ -1,7 +1,7 @@
using Dalamud.Interface; using Dalamud.Interface;
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Enum; using MareSynchronos.API.Data.Enum;
using MareSynchronos.Interop.Ipc; using MareSynchronos.Interop.Ipc;
using MareSynchronos.Services; using MareSynchronos.Services;

View File

@@ -1,5 +1,5 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using MareSynchronos.PlayerData.Handlers; using MareSynchronos.PlayerData.Handlers;
using MareSynchronos.Services; using MareSynchronos.Services;

View File

@@ -105,7 +105,7 @@ public sealed class DtrEntry : IDisposable, IHostedService
{ {
_logger.LogTrace("Creating new DtrBar entry"); _logger.LogTrace("Creating new DtrBar entry");
var entry = _dtrBar.Get("Loporrit"); var entry = _dtrBar.Get("Loporrit");
entry.OnClick = () => _mareMediator.Publish(new UiToggleMessage(typeof(CompactUi))); entry.OnClick = _ => _mareMediator.Publish(new UiToggleMessage(typeof(CompactUi)));
return entry; return entry;
} }

View File

@@ -3,7 +3,7 @@ using Dalamud.Interface.Colors;
using Dalamud.Interface.ImGuiFileDialog; using Dalamud.Interface.ImGuiFileDialog;
using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Textures.TextureWraps;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data; using MareSynchronos.API.Data;
using MareSynchronos.API.Dto.User; using MareSynchronos.API.Dto.User;
using MareSynchronos.Services; using MareSynchronos.Services;
@@ -89,14 +89,14 @@ public class EditProfileUi : WindowMediatorSubscriberBase
if (_pfpTextureWrap != null) if (_pfpTextureWrap != null)
{ {
ImGui.Image(_pfpTextureWrap.ImGuiHandle, ImGuiHelpers.ScaledVector2(_pfpTextureWrap.Width, _pfpTextureWrap.Height)); ImGui.Image(_pfpTextureWrap.Handle, ImGuiHelpers.ScaledVector2(_pfpTextureWrap.Width, _pfpTextureWrap.Height));
} }
var spacing = ImGui.GetStyle().ItemSpacing.X; var spacing = ImGui.GetStyle().ItemSpacing.X;
ImGuiHelpers.ScaledRelativeSameLine(256, spacing); ImGuiHelpers.ScaledRelativeSameLine(256, spacing);
using (_uiSharedService.GameFont.Push()) using (_uiSharedService.GameFont.Push())
{ {
var descriptionTextSize = ImGui.CalcTextSize(profile.Description, 256f); var descriptionTextSize = ImGui.CalcTextSize(profile.Description, hideTextAfterDoubleHash: false, 256f);
var childFrame = ImGuiHelpers.ScaledVector2(256 + ImGui.GetStyle().WindowPadding.X + ImGui.GetStyle().WindowBorderSize, 256); var childFrame = ImGuiHelpers.ScaledVector2(256 + ImGui.GetStyle().WindowPadding.X + ImGui.GetStyle().WindowBorderSize, 256);
if (descriptionTextSize.Y > childFrame.Y) if (descriptionTextSize.Y > childFrame.Y)
{ {
@@ -178,7 +178,7 @@ public class EditProfileUi : WindowMediatorSubscriberBase
using (_uiSharedService.GameFont.Push()) using (_uiSharedService.GameFont.Push())
{ {
var descriptionTextSizeLocal = ImGui.CalcTextSize(_descriptionText, 256f); var descriptionTextSizeLocal = ImGui.CalcTextSize(_descriptionText, hideTextAfterDoubleHash: false, 256f);
var childFrameLocal = ImGuiHelpers.ScaledVector2(256 + ImGui.GetStyle().WindowPadding.X + ImGui.GetStyle().WindowBorderSize, 200); var childFrameLocal = ImGuiHelpers.ScaledVector2(256 + ImGui.GetStyle().WindowPadding.X + ImGui.GetStyle().WindowBorderSize, 200);
if (descriptionTextSizeLocal.Y > childFrameLocal.Y) if (descriptionTextSizeLocal.Y > childFrameLocal.Y)
{ {

View File

@@ -4,7 +4,7 @@ using Dalamud.Interface.Components;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using MareSynchronos.Services; using MareSynchronos.Services;
using MareSynchronos.Services.Events; using MareSynchronos.Services.Events;

View File

@@ -1,10 +1,9 @@
using Dalamud.Interface; using Dalamud.Interface;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.Services.ServerConfiguration; using MareSynchronos.Services.ServerConfiguration;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using ImGuiScene;
using MareSynchronos.Services.Mediator; using MareSynchronos.Services.Mediator;
using MareSynchronos.UI.Components; using MareSynchronos.UI.Components;
@@ -22,7 +21,6 @@ public class UidDisplayHandler
private string _lastMouseOverUid = string.Empty; private string _lastMouseOverUid = string.Empty;
private bool _popupShown = false; private bool _popupShown = false;
private DateTime? _popupTime; private DateTime? _popupTime;
private TextureWrap? _textureWrap;
public UidDisplayHandler(MareMediator mediator, PairManager pairManager, public UidDisplayHandler(MareMediator mediator, PairManager pairManager,
ServerConfigurationManager serverManager, MareConfigService mareConfigService) ServerConfigurationManager serverManager, MareConfigService mareConfigService)
@@ -96,8 +94,6 @@ public class UidDisplayHandler
_mediator.Publish(new ProfilePopoutToggle(null)); _mediator.Publish(new ProfilePopoutToggle(null));
_lastMouseOverUid = string.Empty; _lastMouseOverUid = string.Empty;
_popupShown = false; _popupShown = false;
_textureWrap?.Dispose();
_textureWrap = null;
} }
} }

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.FileCache; using MareSynchronos.FileCache;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using MareSynchronos.MareConfiguration.Models; using MareSynchronos.MareConfiguration.Models;

View File

@@ -1,6 +1,6 @@
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Enum; using MareSynchronos.API.Data.Enum;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Enum; using MareSynchronos.API.Data.Enum;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.Interop.Ipc; using MareSynchronos.Interop.Ipc;

View File

@@ -1,7 +1,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Textures.TextureWraps;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
@@ -149,12 +149,12 @@ public class PopoutProfileUi : WindowMediatorSubscriberBase
_uiSharedService.GameFont.Push(); _uiSharedService.GameFont.Push();
var remaining = ImGui.GetWindowContentRegionMax().Y - ImGui.GetCursorPosY(); var remaining = ImGui.GetWindowContentRegionMax().Y - ImGui.GetCursorPosY();
var descText = mareProfile.Description; var descText = mareProfile.Description;
var textSize = ImGui.CalcTextSize(descText, 256f * ImGuiHelpers.GlobalScale); var textSize = ImGui.CalcTextSize(descText, hideTextAfterDoubleHash: false, 256f * ImGuiHelpers.GlobalScale);
bool trimmed = textSize.Y > remaining; bool trimmed = textSize.Y > remaining;
while (textSize.Y > remaining && descText.Contains(' ')) while (textSize.Y > remaining && descText.Contains(' '))
{ {
descText = descText[..descText.LastIndexOf(' ')].TrimEnd(); descText = descText[..descText.LastIndexOf(' ')].TrimEnd();
textSize = ImGui.CalcTextSize(descText + $"...{Environment.NewLine}[Open Full Profile for complete description]", 256f * ImGuiHelpers.GlobalScale); textSize = ImGui.CalcTextSize(descText + $"...{Environment.NewLine}[Open Full Profile for complete description]", hideTextAfterDoubleHash: false, 256f * ImGuiHelpers.GlobalScale);
} }
UiSharedService.TextWrapped(trimmed ? descText + $"...{Environment.NewLine}[Open Full Profile for complete description]" : mareProfile.Description); UiSharedService.TextWrapped(trimmed ? descText + $"...{Environment.NewLine}[Open Full Profile for complete description]" : mareProfile.Description);
@@ -167,12 +167,12 @@ public class PopoutProfileUi : WindowMediatorSubscriberBase
var newHeight = _textureWrap.Height * stretchFactor; var newHeight = _textureWrap.Height * stretchFactor;
var remainingWidth = (256f * ImGuiHelpers.GlobalScale - newWidth) / 2f; var remainingWidth = (256f * ImGuiHelpers.GlobalScale - newWidth) / 2f;
var remainingHeight = (256f * ImGuiHelpers.GlobalScale - newHeight) / 2f; var remainingHeight = (256f * ImGuiHelpers.GlobalScale - newHeight) / 2f;
drawList.AddImage(_textureWrap.ImGuiHandle, new Vector2(rectMin.X + padding + remainingWidth, rectMin.Y + spacing.Y + imagePos.Y + remainingHeight), drawList.AddImage(_textureWrap.Handle, new Vector2(rectMin.X + padding + remainingWidth, rectMin.Y + spacing.Y + imagePos.Y + remainingHeight),
new Vector2(rectMin.X + padding + remainingWidth + newWidth, rectMin.Y + spacing.Y + imagePos.Y + remainingHeight + newHeight)); new Vector2(rectMin.X + padding + remainingWidth + newWidth, rectMin.Y + spacing.Y + imagePos.Y + remainingHeight + newHeight));
if (_supporterTextureWrap != null) if (_supporterTextureWrap != null)
{ {
const float iconSize = 38; const float iconSize = 38;
drawList.AddImage(_supporterTextureWrap.ImGuiHandle, drawList.AddImage(_supporterTextureWrap.Handle,
new Vector2(rectMax.X - iconSize - spacing.X, rectMin.Y + (textPos / 2) - (iconSize / 2)), new Vector2(rectMax.X - iconSize - spacing.X, rectMin.Y + (textPos / 2) - (iconSize / 2)),
new Vector2(rectMax.X - spacing.X, rectMin.Y + iconSize + (textPos / 2) - (iconSize / 2))); new Vector2(rectMax.X - spacing.X, rectMin.Y + iconSize + (textPos / 2) - (iconSize / 2)));
} }

View File

@@ -4,7 +4,7 @@ using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data; using MareSynchronos.API.Data;
using MareSynchronos.API.Data.Comparer; using MareSynchronos.API.Data.Comparer;
using MareSynchronos.API.Dto.Account; using MareSynchronos.API.Dto.Account;

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Textures.TextureWraps; using Dalamud.Interface.Textures.TextureWraps;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.PlayerData.Pairs; using MareSynchronos.PlayerData.Pairs;
using MareSynchronos.Services; using MareSynchronos.Services;
@@ -79,7 +79,7 @@ public class StandaloneProfileUi : WindowMediatorSubscriberBase
ImGuiHelpers.ScaledDummy(new Vector2(256, 256 + spacing.Y)); ImGuiHelpers.ScaledDummy(new Vector2(256, 256 + spacing.Y));
var postDummy = ImGui.GetCursorPosY(); var postDummy = ImGui.GetCursorPosY();
ImGui.SameLine(); ImGui.SameLine();
var descriptionTextSize = ImGui.CalcTextSize(mareProfile.Description, 256f); var descriptionTextSize = ImGui.CalcTextSize(mareProfile.Description, hideTextAfterDoubleHash: false, 256f);
var descriptionChildHeight = rectMax.Y - pos.Y - rectMin.Y - spacing.Y * 2; var descriptionChildHeight = rectMax.Y - pos.Y - rectMin.Y - spacing.Y * 2;
if (descriptionTextSize.Y > descriptionChildHeight && !_adjustedForScrollBars) if (descriptionTextSize.Y > descriptionChildHeight && !_adjustedForScrollBars)
{ {
@@ -151,7 +151,7 @@ public class StandaloneProfileUi : WindowMediatorSubscriberBase
var newHeight = _textureWrap.Height * stretchFactor; var newHeight = _textureWrap.Height * stretchFactor;
var remainingWidth = (256f * ImGuiHelpers.GlobalScale - newWidth) / 2f; var remainingWidth = (256f * ImGuiHelpers.GlobalScale - newWidth) / 2f;
var remainingHeight = (256f * ImGuiHelpers.GlobalScale - newHeight) / 2f; var remainingHeight = (256f * ImGuiHelpers.GlobalScale - newHeight) / 2f;
drawList.AddImage(_textureWrap.ImGuiHandle, new Vector2(rectMin.X + padding + remainingWidth, rectMin.Y + spacing.Y + pos.Y + remainingHeight), drawList.AddImage(_textureWrap.Handle, new Vector2(rectMin.X + padding + remainingWidth, rectMin.Y + spacing.Y + pos.Y + remainingHeight),
new Vector2(rectMin.X + padding + remainingWidth + newWidth, rectMin.Y + spacing.Y + pos.Y + remainingHeight + newHeight)); new Vector2(rectMin.X + padding + remainingWidth + newWidth, rectMin.Y + spacing.Y + pos.Y + remainingHeight + newHeight));
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -2,7 +2,7 @@
using Dalamud.Interface.Colors; using Dalamud.Interface.Colors;
using Dalamud.Interface.Utility; using Dalamud.Interface.Utility;
using Dalamud.Interface.Utility.Raii; using Dalamud.Interface.Utility.Raii;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.API.Data.Enum; using MareSynchronos.API.Data.Enum;
using MareSynchronos.API.Data.Extensions; using MareSynchronos.API.Data.Extensions;
using MareSynchronos.API.Dto.Group; using MareSynchronos.API.Dto.Group;

View File

@@ -10,7 +10,7 @@ using Dalamud.Interface.Utility.Raii;
using Dalamud.Plugin; using Dalamud.Plugin;
using Dalamud.Plugin.Services; using Dalamud.Plugin.Services;
using Dalamud.Utility; using Dalamud.Utility;
using ImGuiNET; using Dalamud.Bindings.ImGui;
using MareSynchronos.FileCache; using MareSynchronos.FileCache;
using MareSynchronos.Interop.Ipc; using MareSynchronos.Interop.Ipc;
using MareSynchronos.MareConfiguration; using MareSynchronos.MareConfiguration;
@@ -237,7 +237,7 @@ public partial class UiSharedService : DisposableMediatorSubscriberBase
public static void DrawGroupedCenteredColorText(string text, Vector4 color, float? maxWidth = null) public static void DrawGroupedCenteredColorText(string text, Vector4 color, float? maxWidth = null)
{ {
var availWidth = ImGui.GetContentRegionAvail().X; var availWidth = ImGui.GetContentRegionAvail().X;
var textWidth = ImGui.CalcTextSize(text, availWidth).X; var textWidth = ImGui.CalcTextSize(text, hideTextAfterDoubleHash: false, availWidth).X;
if (maxWidth != null && textWidth > maxWidth * ImGuiHelpers.GlobalScale) textWidth = maxWidth.Value * ImGuiHelpers.GlobalScale; if (maxWidth != null && textWidth > maxWidth * ImGuiHelpers.GlobalScale) textWidth = maxWidth.Value * ImGuiHelpers.GlobalScale;
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + (availWidth / 2f) - (textWidth / 2f)); ImGui.SetCursorPosX(ImGui.GetCursorPosX() + (availWidth / 2f) - (textWidth / 2f));
DrawGrouped(() => DrawGrouped(() =>