fix #385: Options dropdowns — white centered text + size-to-content popup

User gate report (Campaign OP happy-testing round, 2026-08-13): every
Config-tab dropdown drew its text gold + left-aligned and its popup a
fixed 6 rows regardless of item count. All three were unmeasured styling
divergences — the authored data (new probe menuprobe3, live DAT) says:

- button label child 0x10000355: fontColor white, hJustify=Center
- row template 0x1000035A: fontColor white, hJustify=Center
- popup ListBox 0x10000358: edge-docked L=T=R=B=1, the authored condition
  arming retail UIElement_Menu::RecalculatePopupSize @0x0046caf0 —
  popup resizes to the ListBox's summed content height, uncapped
  (0x0046e5f4..0046e66c via ResizeScrollableArea's 0x32 broadcast)

UiMenu gains three opt-in properties (ButtonTextCentered,
ItemTextCentered, PopupSizeToContent) plus retail Open @0x0046cc42's
empty-list gate; chat + vendor keep the class defaults, so their shipped
behavior is untouched. ConfigOptionsPageController.ApplyMenuChrome wires
all four corrections for the 8 Config menus with the probe citation.

The same probe found vendor's authored popup ListBox is ALSO docked while
our vendor dropdown ships G5's fixed 6-row window — filed as #386 +
register row AD-88 (UNCLEAR: the G5 retail screenshot and the decomp
mechanism conflict) instead of silently reworking a user-gated surface.

The "resolution change resizes the window" observation from the same
report is #374's designed windowed-mode behavior (display-mode switching
is #376/#377) — no change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-13 08:51:57 +02:00
parent 028920420d
commit a9b6435f55
8 changed files with 422 additions and 9 deletions

View file

@ -314,6 +314,21 @@ public static class ConfigOptionsPageController
// glyph to clear space for (see MenuChromeSprites' own doc).
menu.TextIndent = 0f;
menu.ButtonTextIndent = 0f;
// User gate report 2026-08-13 (happy-testing round): dropdown text
// drew gold + left-aligned and the popup a fixed 6 rows. All four
// corrections below are MEASURED authored facts (menuprobe3,
// OptionsPanelLiveMountProbeTests.ProbeMenuPopupSizingAndTextStyle),
// not styling choices:
// - button label child 0x10000355: fontColor white, hJustify=Center;
// - row template 0x1000035A: fontColor white, hJustify=Center;
// - popup ListBox 0x10000358: edges L=T=R=B=1 (docked), which arms
// retail's RecalculatePopupSize @0x0046caf0 size-to-content path
// (see UiMenu.PopupSizeToContent's own doc for the mechanism).
menu.TextColor = Vector4.One;
menu.ButtonTextCentered = true;
menu.ItemTextCentered = true;
menu.PopupSizeToContent = true;
}
/// <summary>The live read/write seam every row on this page writes/reads