fix: Lumina updates

This commit is contained in:
Kaz Wolfe 2025-03-25 09:28:57 -07:00
parent 12ce09870f
commit 67561af32f
No known key found for this signature in database
GPG key ID: 258813F53A16EBB4
10 changed files with 30 additions and 30 deletions

View file

@ -53,7 +53,7 @@ internal sealed unsafe class DalamudAtkTweaks : IInternalDisposableService
this.locDalamudSettings = Loc.Localize("SystemMenuSettings", "Dalamud Settings");
// this.contextMenu.ContextMenuOpened += this.ContextMenuOnContextMenuOpened;
this.hookAgentHudOpenSystemMenu.Enable();
this.hookUiModuleExecuteMainCommand.Enable();
this.hookAtkUnitBaseReceiveGlobalEvent.Enable();
@ -180,7 +180,7 @@ internal sealed unsafe class DalamudAtkTweaks : IInternalDisposableService
// about hooking the exd reader, thank god
var firstStringEntry = &atkValueArgs[5 + 18];
firstStringEntry->ChangeType(ValueType.String);
var secondStringEntry = &atkValueArgs[6 + 18];
secondStringEntry->ChangeType(ValueType.String);
@ -193,7 +193,7 @@ internal sealed unsafe class DalamudAtkTweaks : IInternalDisposableService
.Append($"{SeIconChar.BoxedLetterD.ToIconString()} ")
.Append(new UIForegroundPayload(0))
.Append(this.locDalamudSettings).Encode();
firstStringEntry->SetManagedString(strPlugins);
secondStringEntry->SetManagedString(strSettings);

View file

@ -193,7 +193,7 @@ internal class SheetRedirectResolver : IServiceType
colIndex = 43;
if (this.dataManager.GetExcelSheet<LSheets.InstanceContent>().TryGetRow(rowId, out var row))
rowId = row.Order;
rowId = row.SortKey;
break;
}

View file

@ -1595,7 +1595,7 @@ internal class SeStringEvaluator : IServiceType, ISeStringEvaluator
if (eColorTypeVal == 0)
context.Builder.PopColor();
else if (this.dataManager.GetExcelSheet<UIColor>().TryGetRow(eColorTypeVal, out var row))
context.Builder.PushColorBgra((row.UIForeground >> 8) | (row.UIForeground << 24));
context.Builder.PushColorBgra((row.Light >> 8) | (row.Light << 24));
return true;
}
@ -1609,7 +1609,7 @@ internal class SeStringEvaluator : IServiceType, ISeStringEvaluator
if (eColorTypeVal == 0)
context.Builder.PopEdgeColor();
else if (this.dataManager.GetExcelSheet<UIColor>().TryGetRow(eColorTypeVal, out var row))
context.Builder.PushEdgeColorBgra((row.UIForeground >> 8) | (row.UIForeground << 24));
context.Builder.PushEdgeColorBgra((row.Light >> 8) | (row.Light << 24));
return true;
}

View file

@ -201,7 +201,7 @@ public abstract partial class Payload
case SeStringChunkType.Icon:
payload = new IconPayload();
break;
default:
// Log.Verbose("Unhandled SeStringChunkType: {0}", chunkType);
break;
@ -306,7 +306,7 @@ public abstract partial class Payload
/// See the <see cref="NewLinePayload"/>.
/// </summary>
NewLine = 0x10,
/// <summary>
/// See the <see cref="IconPayload"/> class.
/// </summary>

View file

@ -74,13 +74,13 @@ public class UIForegroundPayload : Payload
/// Gets the Red/Green/Blue/Alpha values for this foreground color, encoded as a typical hex color.
/// </summary>
[JsonIgnore]
public uint RGBA => this.UIColor.Value.UIForeground;
public uint RGBA => this.UIColor.Value.Dark;
/// <summary>
/// Gets the ABGR value for this foreground color, as ImGui requires it in PushColor.
/// </summary>
[JsonIgnore]
public uint ABGR => Interface.ColorHelpers.SwapEndianness(this.UIColor.Value.UIForeground);
public uint ABGR => Interface.ColorHelpers.SwapEndianness(this.UIColor.Value.Dark);
/// <inheritdoc/>
public override string ToString()

View file

@ -71,13 +71,13 @@ public class UIGlowPayload : Payload
/// Gets the Red/Green/Blue/Alpha values for this glow color, encoded as a typical hex color.
/// </summary>
[JsonIgnore]
public uint RGBA => this.UIColor.Value.UIGlow;
public uint RGBA => this.UIColor.Value.Light;
/// <summary>
/// Gets the ABGR value for this glow color, as ImGui requires it in PushColor.
/// </summary>
[JsonIgnore]
public uint ABGR => Interface.ColorHelpers.SwapEndianness(this.UIColor.Value.UIGlow);
public uint ABGR => Interface.ColorHelpers.SwapEndianness(this.UIColor.Value.Light);
/// <summary>
/// Gets a Lumina UIColor object representing this payload. The actual color data is at UIColor.UIGlow.

View file

@ -43,10 +43,10 @@ internal sealed class SeStringColorStackSet
foreach (var row in uiColor)
{
// Contains ABGR.
this.colorTypes[row.RowId, 0] = row.UIForeground;
this.colorTypes[row.RowId, 1] = row.UIGlow;
this.colorTypes[row.RowId, 2] = row.Unknown0;
this.colorTypes[row.RowId, 3] = row.Unknown1;
this.colorTypes[row.RowId, 0] = row.Dark;
this.colorTypes[row.RowId, 1] = row.Light;
this.colorTypes[row.RowId, 2] = row.ClassicFF;
this.colorTypes[row.RowId, 3] = row.ClearBlue;
}
if (BitConverter.IsLittleEndian)

View file

@ -380,7 +380,7 @@ internal class InventoryWidget : IDataWindowWidget
var rowId = this.GetItemRarityColorType(item, isEdgeColor);
return this.dataManager.Excel.GetSheet<UIColor>().TryGetRow(rowId, out var color)
? BinaryPrimitives.ReverseEndianness(color.UIForeground) | 0xFF000000
? BinaryPrimitives.ReverseEndianness(color.Light) | 0xFF000000
: 0xFFFFFFFF;
}

View file

@ -93,34 +93,34 @@ internal class UiColorWidget : IDataWindowWidget
ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding();
ImGui.PushID($"row{id}_col1");
if (this.DrawColorColumn(row.UIForeground) &&
ImGui.PushID($"row{id}_dark");
if (this.DrawColorColumn(row.Dark) &&
adjacentRow.HasValue)
DrawEdgePreview(id, row.UIForeground, adjacentRow.Value.UIForeground);
DrawEdgePreview(id, row.Dark, adjacentRow.Value.Dark);
ImGui.PopID();
ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding();
ImGui.PushID($"row{id}_col2");
if (this.DrawColorColumn(row.UIGlow) &&
ImGui.PushID($"row{id}_light");
if (this.DrawColorColumn(row.Light) &&
adjacentRow.HasValue)
DrawEdgePreview(id, row.UIGlow, adjacentRow.Value.UIGlow);
DrawEdgePreview(id, row.Light, adjacentRow.Value.Light);
ImGui.PopID();
ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding();
ImGui.PushID($"row{id}_col3");
if (this.DrawColorColumn(row.Unknown0) &&
ImGui.PushID($"row{id}_classic");
if (this.DrawColorColumn(row.ClassicFF) &&
adjacentRow.HasValue)
DrawEdgePreview(id, row.Unknown0, adjacentRow.Value.Unknown0);
DrawEdgePreview(id, row.ClassicFF, adjacentRow.Value.ClassicFF);
ImGui.PopID();
ImGui.TableNextColumn();
ImGui.AlignTextToFramePadding();
ImGui.PushID($"row{id}_col4");
if (this.DrawColorColumn(row.Unknown1) &&
ImGui.PushID($"row{id}_blue");
if (this.DrawColorColumn(row.ClearBlue) &&
adjacentRow.HasValue)
DrawEdgePreview(id, row.Unknown1, adjacentRow.Value.Unknown1);
DrawEdgePreview(id, row.ClearBlue, adjacentRow.Value.ClearBlue);
ImGui.PopID();
}
}

View file

@ -10,7 +10,7 @@ namespace Dalamud.Utility;
/// A set of helpful utilities for working with <see cref="CStringPointer"/>s from ClientStructs.
/// </summary>
/// <remarks>
/// WARNING: Will break if a custom ClientStructs is used. These are here for CONVENIENCE ONLY!
/// WARNING: Will break if a custom ClientStructs is used. These are here for CONVENIENCE ONLY!.
/// </remarks>
public static class CStringExtensions
{