feat(D.2b): data-driven channel menu chrome + greying + scroll-arrow fix Investigation found the menu popup is fully dat-driven (UIElement_Menu::MakePopup @0x46d310 reads LayoutDesc 0x21000006 elements 0x1000001C/1D/1E — the "stray" top-level elements). Render the popup from the real sprites instead of a flat rect: - panel 0x0600124C, item row 0x0600124E, selected row 0x0600124D; 191x17 rows, 2 cols. - drawing rows as SPRITES also fixes the z-order (a DrawRect bg composited OVER the labels; sprites share the labels submission bucket so text lands on top). - item greying: available channels white, unavailable salmon (colorPink) — static approximation (Say/General/Trade/LFG) with an AvailabilityProvider hook for live TurbineChat state; unavailable items are inert on click. Ports ResetAllTalkFocusMenuButtons. - scroll arrows: both dat sprites point down (export-confirmed); V-flip the top button so it points up. Tabs confirmed to have NO digits in retail (blank gold frames) — acdream already matches. Build + 392 App tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> @ |
||
|---|---|---|
| .. | ||
| Layout | ||
| ControlsIniTests.cs | ||
| MarkupDocumentTests.cs | ||
| UiChannelMenuTests.cs | ||
| UiChatInputTests.cs | ||
| UiChatScrollbarTests.cs | ||
| UiChatViewDatFontTests.cs | ||
| UiChatViewTests.cs | ||
| UiDatFontTests.cs | ||
| UiMeterTests.cs | ||
| UiNineSlicePanelTests.cs | ||
| UiRootInputTests.cs | ||
| UiScrollableTests.cs | ||