fix(ui): restore retail vitals and window interactions
All checks were successful
CI / linux-portable (push) Successful in 3m16s
CI / windows-gate (push) Successful in 5m41s
CI / release (push) Successful in 2m5s

This commit is contained in:
Erik 2026-08-20 13:26:35 +02:00
parent 4d84456c21
commit 1bd2b30291
36 changed files with 1462 additions and 86 deletions

View file

@ -29,6 +29,13 @@ public class UiNineSlicePanel : UiPanel
/// </summary>
public bool DrawCenterFill { get; set; } = true;
/// <summary>
/// Whether to paint the live gold resize edges and corner studs over the
/// ordinary retail bevel. UI lock disables only this affordance layer;
/// the frame and optional center fill remain visible.
/// </summary>
public bool DrawResizeAffordances { get; set; } = true;
public UiNineSlicePanel(System.Func<uint, (uint, int, int)> resolve)
{
_resolve = resolve;
@ -90,6 +97,9 @@ public class UiNineSlicePanel : UiPanel
DrawStretched(ctx, RetailChromeSprites.CornerBL, r.BL);
DrawStretched(ctx, RetailChromeSprites.CornerBR, r.BR);
if (!DrawResizeAffordances)
return;
// Resize-grip overlay (gold ridged edges + square corner studs) on top of the
// bevel — the second border layer the vitals LayoutDesc carries (0x1000063B0x10000642).
DrawTiled(ctx, RetailChromeSprites.GripTop, r.Top);