fix(ui): night-round review — F9/F10/F12 register + structure riders
F9: filed register row AD-108 for MapPageController.ResolveSwallowedIcon — the standalone re-import of the Map tab's player/house icons, which m_pMap's own Type-1 UiButton authoring swallows as dat children (UiButton.ConsumesDatChildren). This adaptation was implemented but never had a register row. F10: extracted the popup-locator pair (0x10000395/0x21000041), previously duplicated as three separately-cited private constants across UiItemSlot.cs, RetailTooltipPresenter.cs, and MapPageController.cs, into ONE public pair on RetailTooltipPresenter (SharedPopupSkinRootElementId/SharedPopupSkinLayoutDid) with a single canonical citation. The other two sites now reference it instead of carrying their own copy. F12: fixed TS-85's SetTooltip-site arithmetic. The register (and a mirrored ISSUES.md log entry) claimed "15 known sites, all accounted for" — recounting the row's own enumerated list finds 17 distinct sites (the tally had dropped gmPaperDollUI::UpdateItemSlotTooltip @0x004A52EF and undercounted by one more), of which 16 are ported and one — UIElement_Text::RecalculateTruncation @0x00466F80, the headline highest-volume site sub-mechanism (1) itself named as deliberately deferred — was never actually closed. The "all 15 accounted for" close was wrong twice over: wrong count, and a site the row's own text already scoped as open. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
df062d2eda
commit
c403f57815
6 changed files with 64 additions and 49 deletions
|
|
@ -200,22 +200,6 @@ public sealed class MapPageController
|
|||
return lines;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Live-DAT-confirmed 2026-08-17: the SAME shared popup skin
|
||||
/// <see cref="UiItemSlot"/> hardcodes for its own runtime-text tooltips
|
||||
/// (its own class doc has the full "one of the four popup skins
|
||||
/// RetailTooltipPresenter already mounts" citation). The map-note
|
||||
/// template (<c>0x100001F0</c>) authors no individual tooltip-popup
|
||||
/// locator of its own (a plain 10x10 hotspot dot), so
|
||||
/// <c>RetailTooltipPresenter.OnTooltipShow</c>'s unconditional
|
||||
/// <c>AuthoredTooltipRootElementId == 0 -> return</c> guard needs one
|
||||
/// supplied — reusing the item catalog's proven-working skin is the
|
||||
/// same "best-evidenced inference, not a measured retail value" shape
|
||||
/// TS-85's own <c>UpdateWorldHoverTooltip</c> fallback already uses.
|
||||
/// </summary>
|
||||
private const uint MarkerTooltipRootElementId = 0x10000395u;
|
||||
private const uint MarkerTooltipLayoutDid = 0x21000041u;
|
||||
|
||||
/// <summary>
|
||||
/// Instantiates the 53 static town hotspots (<c>gmMapUI::AddMapNote</c>)
|
||||
/// from <c>m_pMap</c>'s own <c>0x47</c>/<c>0x48</c> template attrs. A
|
||||
|
|
@ -250,11 +234,17 @@ public sealed class MapPageController
|
|||
// authored text (closes register row TS-85's last item,
|
||||
// gmMapUI::AddMapNote @0x004A1C51). AuthoredTooltipRootElementId/
|
||||
// LayoutDid still gate the popup SKIN unconditionally even on
|
||||
// the runtime-text path — see MarkerTooltipRootElementId's doc.
|
||||
// the runtime-text path — the map-note template (0x100001F0)
|
||||
// authors no individual tooltip-popup locator of its own (a
|
||||
// plain 10x10 hotspot dot), so RetailTooltipPresenter's popup
|
||||
// needs one supplied; RetailTooltipPresenter.SharedPopupSkinRootElementId/
|
||||
// SharedPopupSkinLayoutDid (see that class's own single
|
||||
// canonical citation, night-round review F10) is the same
|
||||
// proven-working skin UiItemSlot already hardcodes.
|
||||
if (marker is UiButton markerButton)
|
||||
markerButton.TooltipText = loc.Name;
|
||||
marker.AuthoredTooltipRootElementId = MarkerTooltipRootElementId;
|
||||
marker.AuthoredTooltipLayoutDid = MarkerTooltipLayoutDid;
|
||||
marker.AuthoredTooltipRootElementId = RetailTooltipPresenter.SharedPopupSkinRootElementId;
|
||||
marker.AuthoredTooltipLayoutDid = RetailTooltipPresenter.SharedPopupSkinLayoutDid;
|
||||
_map!.AddChild(marker);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue