diff --git a/src/AcDream.App/UI/Layout/PaperdollController.cs b/src/AcDream.App/UI/Layout/PaperdollController.cs
index 77d5f9c4..4d454270 100644
--- a/src/AcDream.App/UI/Layout/PaperdollController.cs
+++ b/src/AcDream.App/UI/Layout/PaperdollController.cs
@@ -122,12 +122,13 @@ public sealed class PaperdollController : IItemListDragHandler
{
slotsBtn.OnClick = () => { _viewState.Toggle(); ApplyView(); };
// The dat element has no face sprite, so without a label the button is invisible. Give it a
- // "Slots" caption (gold, like the chat Send button) so it's findable + clickable.
+ // left-aligned WHITE "Slots" caption (retail is white, not gold) so it's findable + clickable.
if (datFont is not null)
{
slotsBtn.Label = "Slots";
slotsBtn.LabelFont = datFont;
- slotsBtn.LabelColor = new System.Numerics.Vector4(1f, 0.92f, 0.72f, 1f);
+ slotsBtn.LabelColor = System.Numerics.Vector4.One; // white (was gold)
+ slotsBtn.LabelAlign = UiButton.LabelAlignment.Left; // sit at the left, before the slots
}
}
diff --git a/src/AcDream.App/UI/UiButton.cs b/src/AcDream.App/UI/UiButton.cs
index 4936ada4..440b848c 100644
--- a/src/AcDream.App/UI/UiButton.cs
+++ b/src/AcDream.App/UI/UiButton.cs
@@ -47,6 +47,13 @@ public sealed class UiButton : UiElement
/// Label color (default white).
public Vector4 LabelColor { get; set; } = Vector4.One;
+ /// Horizontal alignment of . Center (default) for normal buttons;
+ /// Left for the paperdoll "Slots" caption that sits at the left edge, before the slots.
+ public LabelAlignment LabelAlign { get; set; } = LabelAlignment.Center;
+
+ /// Label horizontal alignment options.
+ public enum LabelAlignment { Center, Left }
+
///
/// Active state name, runtime-settable (e.g. Max/Min toggling Normal ↔ Minimized).
/// Matches .
@@ -106,8 +113,10 @@ public sealed class UiButton : UiElement
if (Label is { Length: > 0 } label && LabelFont is { } lf)
{
- float tx = (Width - lf.MeasureWidth(label)) * 0.5f;
- float ty = (Height - lf.LineHeight) * 0.5f;
+ float tx = LabelAlign == LabelAlignment.Left
+ ? 3f // small left pad (room for a future checkbox box)
+ : (Width - lf.MeasureWidth(label)) * 0.5f; // centered (default)
+ float ty = (Height - lf.LineHeight) * 0.5f;
ctx.DrawStringDat(lf, label, tx, ty, LabelColor);
}
}