From 61a17dac28b42987fa8210a435598ca8bb136817 Mon Sep 17 00:00:00 2001 From: Haselnussbomber Date: Mon, 21 Apr 2025 14:02:26 +0200 Subject: [PATCH] SeString Creator and Evaluator fixes (#2250) * Fix SeString Creator example * SeStringEvaluator: Don't print auto translation brackets for categories * SeStringEvaluator: Fix map id mask MapId is a ushort, not a byte. --- Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs | 8 ++++---- .../Windows/Data/Widgets/SeStringCreatorWidget.cs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs b/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs index e5bf1d7e6..05ad3c496 100644 --- a/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs +++ b/Dalamud/Game/Text/Evaluator/SeStringEvaluator.cs @@ -1066,8 +1066,8 @@ internal class SeStringEvaluator : IServiceType, ISeStringEvaluator if (!enu.MoveNext() || !this.TryResolveUInt(in context, enu.Current, out var placeNameIdInt)) return false; - var instance = packedIds >> 0x10; - var mapId = packedIds & 0xFF; + var instance = packedIds >> 16; + var mapId = packedIds & 0xFFFF; if (this.dataManager.GetExcelSheet(context.Language) .TryGetRow(territoryTypeId, out var territoryTypeRow)) @@ -1355,8 +1355,6 @@ internal class SeStringEvaluator : IServiceType, ISeStringEvaluator var group = (uint)(e0Val + 1); var rowId = (uint)e1Val; - using var icons = new SeStringBuilderIconWrap(context.Builder, 54, 55); - if (!this.dataManager.GetExcelSheet(context.Language).TryGetFirst( row => row.Group == group && !row.LookupTable.IsEmpty, out var groupRow)) @@ -1381,6 +1379,8 @@ internal class SeStringEvaluator : IServiceType, ISeStringEvaluator return true; } + using var icons = new SeStringBuilderIconWrap(context.Builder, 54, 55); + // CategoryDataCache if (lookupTable.Equals("#")) { diff --git a/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs b/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs index 2175b8be1..71d4277a7 100644 --- a/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs +++ b/Dalamud/Interface/Internal/Windows/Data/Widgets/SeStringCreatorWidget.cs @@ -135,8 +135,8 @@ internal class SeStringCreatorWidget : IDataWindowWidget new TextEntry(TextEntryType.Macro, ""), new TextEntry(TextEntryType.Macro, ""), new TextEntry(TextEntryType.String, "Dalamud"), - new TextEntry(TextEntryType.Macro, ""), - new TextEntry(TextEntryType.Macro, ""), + new TextEntry(TextEntryType.Macro, ""), + new TextEntry(TextEntryType.Macro, ""), new TextEntry(TextEntryType.Macro, " "), ];